「偽のバグを大量に埋め込む」ことでソフトウェアのセキュリティがアップすると研究者が指摘
ソフトウェア開発では、バグの数をゼロに近づければ近づけるほど、セキュリティが高くなるとされています。しかし、かなり特殊な条件下でしか発生しないバグについては発見するのも困難で、バグを全てつぶすことは不可能とも言われています。ニューヨーク大学タンドン工科校で計算機科学の助教を務めるブレンダン・ドーラン=ギャビット氏らの研究チームは、ソフトウェアのセキュリティを高める方法としてバグを減らすのではなく、「偽のバグ」をプログラム内に大量に埋め込む方法があることを示しました。
[1808.00659] Chaff Bugs: Deterring Attackers by Making Software Buggier
https://arxiv.org/abs/1808.00659
Cramming Software With Thousands of Fake Bugs Could Make It More Secure - Motherboard
https://motherboard.vice.com/en_us/article/43p7dm/software-chaff-bugs-could-make-it-more-secure
実際に開発中のソフトウェアに人為的にバグを埋め込む手法は既に存在しており、ソフトウェアテストの「バグ埋め込み法」が知られています。これは、デバッグ後に発見された人為的なバグの数(割合)から、残り何個のバグが存在するかを予測するために使用されています。
ドーラン=ギャビット氏は、この人為的なバグを埋め込む方法が別の用途にも利用できないかと考えるようになり、その友人はドーラン=ギャビット氏に対して「バグを見つけ、次に悪用できるバグかどうかを調査し、実際に悪用できるようになるまでにはとても時間がかかる」と漏らしていたそうです。
ドーラン=ギャビット氏は「本物のバグと見分けのつかない偽物のバグを大量に埋め込んでしまえば、ハッカーはバグの調査だけで絶大な時間をかける必要が生じてしまい、最終的に攻撃を諦める可能性が高まるのではないか」と考えました。そこで、同氏ら研究チームは人為的なバグを埋め込むソフトウェアを開発に着手し、実際に数千人規模で開発するソフトウェアに悪用不可能な人為的なバグを埋め込むことに成功。セキュリティを高めるために意図的に大量のバグを埋め込んだとしても、ソフトウェアの実行速度が必要以上に遅くならないことなどが示され、実用性を損なわないことが示されました。
しかし、研究チームは「この手法が適用できる場面は大きく限られてしまう」と述べており、課題があると指摘。たとえば、多くの人がソースコードを読めてしまうオープンソースソフトウェアではバグの内容も読み取れてしまうため、効果はありません。また、埋め込んだ偽のバグは実際にソフトウェアをクラッシュさせるなど、実際のバグと同じような動作をする必要があることから、一切の停止や遅延が許されない金融機関や交通機関などのミッションクリティカルシステムへの適用は不可能です。サービスレベルを落とすとしても、「サービス稼働中のシステムダウンを容認する」レベルにまで運用ポリシーを下げる必要があり、このような用途のソフトウェアはほとんど存在しません。
ドーラン=ギャビット氏は「このアイデアはまだ調査の価値があると考えており、新たな用途を見いだしていきたい」と述べており、この手法が適用可能なソフトウェアの調査を継続するとしています。
・関連記事
Samsung製のスマホで撮影した写真が無断で送信されるバグが発生 - GIGAZINE
たった1文字でiPhoneをクラッシュさせるバグ発覚、無限再起動ループの危険もあり - GIGAZINE
macOS High SierraにAPFSドライブの暗号化パスワードが平文で保存されるバグの存在が発覚 - GIGAZINE
誰でもドナルド・トランプ大統領になりすましてつぶやけるバグがTwitterには存在していたと判明 - GIGAZINE
Google Chromeのデジタルコンテンツ保護機能に「保護されたコンテンツ」を保存可能なバグ - GIGAZINE
・関連コンテンツ