マイクロソフト、セキュアなコード実現に向けプログラミング言語「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. 運用管理

    メールアラートは廃止すべき時が来た! IT運用担当者がゆとりを取り戻す5つの方法

  2. ビジネスアプリケーション

    新規アポ率が従来の20倍になった、中小企業のDX奮闘記--ツール活用と効率化がカギ

  3. セキュリティ

    AIサイバー攻撃の増加でフォーティネットが提言、高いセキュリティ意識を実現するトレーニングの重要性

  4. セキュリティ

    「どこから手を付ければよいかわからない」が約半数--セキュリティ運用の自動化導入に向けた実践ガイド

  5. ビジネスアプリケーション

    改めて知っておきたい、生成AI活用が期待される業務と3つのリスク

ZDNET Japan クイックポール

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

NEWSLETTERS

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

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

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