マイクロソフト、セキュアなコード実現に向けプログラミング言語「Rust」評価

Catalin Cimpanu (Special to ZDNET.com) 翻訳校正: 村上雅章 野崎裕子

2019-07-24 07:30

 プログラミング言語Rustの人気が高まってきているなか、Microsoftはその可能性を見極めようとしている。


 Microsoftは、RustがCやC++などの代替となり、同社や他社のアプリのセキュリティを強化するうえでの方策になるかどうかを調査しようと計画している。

 この情報は、Microsoft Security Response Center(MSRC)の主席セキュリティエンジニアリングマネージャーであるGavin Thomas氏が米国時間7月16日に同組織のブログ上で明らかにしたものだ。

 Thomas氏は「MSRCがインシデントや脆弱性への対応組織だと考えている人もいるだろう」と述べたうえで、「われわれは対応組織でもあるが、積極的な役割も担っている。このため、ブログ上の新シリーズではより安全なシステムプログラミング言語に向けたMicrosoftの探求を取り扱っていきたい。手始めはRustだ」と続けた。

 その目標は、誕生から時間が経っているCやC++といったプログラミング言語から「メモリーセーフな言語」と呼ばれるものに移行していくための道を開発者らに示すことにある。

 Rustのようなメモリーセーフな言語は、バッファーオーバーフローや競合状態、メモリーリーク、解放後の使用、メモリーポインター関連のバグといった、メモリー破壊の脆弱性からの保護を目的としてゼロから設計されたものだ。

 Microsoftが開発したC#というプログラミング言語も、メモリーアクセスに関してある程度の改善がなされているが、Rustほど高度なレベルには達していない。

Microsoftがリリースしたパッチのうちの70%はメモリー関連の問題修正

 MicrosoftのセキュリティエンジニアであるMatt Miller氏は、2月にイスラエルで開催したセキュリティカンファレンス「BlueHat IL」で、過去12年にわたって同社が毎年公開してきたパッチのうち、およそ70%はメモリーの安全性に関するものだったと報告している。


提供:Matt Miller氏

 その割合の高さは、「Windows」をはじめとするMicrosoftの製品群がCやC++で記述されているためだ。こういったプログラミング言語によって、開発者はメモリーアドレスや実行場所をきめ細かく制御できるようになるものの、言語自体は「メモリーセーフではない」のだ。

 メモリーまわりの実行コードで開発者が1カ所でもミスをおかすと、リモート環境からのコード実行や特権の昇格を許してしまう脆弱性といった破壊的な結果を引き起こすために攻撃者が悪用できる、メモリーの安全を脅かすおびただしい数のエラーが生み出されることになる。

 Rustのようなメモリーセーフな言語の利用を検討することで、より安全なMicrosoftアプリを開発するための新たな道が開かれるだろう。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    ISMSとPマークは何が違うのか--第三者認証取得を目指す企業が最初に理解すべきこと

  2. セキュリティ

    情報セキュリティに対する懸念を解消、「ISMS認証」取得の検討から審査当日までのTo Doリスト

  3. 運用管理

    IT管理者ほど見落としがちな「Chrome」設定--ニーズに沿った更新制御も可能に

  4. セキュリティ

    シャドーITも見逃さない!複雑化する企業資産をさまざまな脅威から守る新たなアプローチ「EASM」とは

  5. セキュリティ

    従来型のセキュリティでは太刀打ちできない「生成AIによるサイバー攻撃」撃退法のススメ

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]