検索
ニュース

Microsoft、安全で高効率のプログラミング言語として「Rust」を高く評価メモリ破壊バグを避けるには

Microsoft Security Response Center(MSRC)は、ソフトウェアのセキュリティ確保と効率性の両方の要件を満たす最も有望なシステムプログラミング言語の一つとして、「Rust」を高く評価した。メモリ破壊バグをそもそも作り込まないことでセキュリティを確保できるという。

Share
Tweet
LINE
Hatena

 Microsoft Security Response Center(MSRC)は2019年7月16日(米国時間)、ソフトウェアのセキュリティを確保しつつ、効率性も保ちたい場合、利用可能なシステムプログラミング言語として、「Rust」を高く評価した。

 MSRCによれば、「CVE(共通脆弱性識別子)」を割り当てられ、Microsoftが修正してきた同社ソフトウェアのセキュリティ脆弱(ぜいじゃく)性の大部分は1つの要因から起こっている。開発者がC/C++コードにうっかりメモリ破壊バグを作り込んでしまったことだ。

 近年、Microsoftのコードベースはますます増加している。同社はオープンソースソフトウェアの利用を拡大しているが、メモリ破壊バグは依然として減っていない。MSRCは、このような脆弱性は、Microsoftだけに限られた問題ではないとも述べている。


Microsoftが毎年CVEを割り当てる脆弱性のうち70%程度が、メモリの安全性に関わるもの(濃い色の部分)だ(出典:Microsoft

解決策はこれまでもあったが……

 開発者が安全なコードを作成できるよう支援するツールは多い。学習に1〜2カ月は必要となるような複雑な静的分析ツールや、クラッシュした場合の優先順位を決めることが可能な大規模なファジング、テイント解析、制約ソルバーなどだ。

 開発者が安全なプラクティスを採用するためのガイダンスもある。セキュアな開発ライフサイクルや、コーディングガイドライン、何時間ものコードレビュー、トレーニング、脅威モデリングのガイダンスなどだ。

 Microsoftによる改善もある。「Visual Studio」は潜在的な欠陥を強調する表示を出力する。同社はコンパイラを改善し、メモリ破壊を起こすようなエラーから開発者を守ろうとしてきた。

そもそもプログラミング言語がマズいのでは?

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る