Zimperium が Stagefright の脆弱性を公表したとき (Google にすでに開示してから数か月後)、Google は、これは重大な脆弱性であるものの、ほとんどの Android 4.0 以降のデバイスは ASLR 保護のおかげでかなり安全であるはずだと述べました。
AndroidのStagefrightメディアライブラリに発見された脆弱性は、ほぼ10億人のユーザー、つまりAndroid 2.3以降のスマートフォンを持つほぼすべてのユーザーに影響を与えます。さらに悪いことに、最初の一連のパッチによって新たな脆弱性が生まれ、後に別のセキュリティ企業であるExodus Intelligenceによって発見されました。
ASLR保護はAndroid 4.0で部分的に実装され、Android 4.1で完全に実装されました。バッファオーバーフローなどの一部のメモリ破損バグから保護することを目的としています。ASLRは、アプリのメモリ内でエクスプロイトが配置される場所をランダム化するため、既存のバグを悪用することが困難になります。エクスプロイトがバグを見つけられない場合、システムの乗っ取りではなく、アプリのクラッシュのみが発生します。
Googleのエンジニアは当初、これでStagefrightの脆弱性に対する十分な保護策になるはずだと述べていました。しかし、Project Zeroの研究者は、AndroidのASLR機能はエントロピーをほとんど使用せず、メモリ内に作成できる場所は256箇所しかないことを発見しました。これは、攻撃者がメモリバグを発見することを非常に困難にしようとする場合、それほど多くはありません。
AndroidのStagefrightライブラリはクラッシュ後にリロードされるため、エクスプロイトはバグを見つけるまで何度もリロードを繰り返し、Android ASLRを総当たり攻撃できるという状況が、この状況を悪化させています。アドレス空間は試行ごとに再ランダム化されるため、バグの発見はより困難になりますが、それでも比較的少ない試行回数で済む可能性があります。Googleの研究者は、攻撃者が毎分約4%の確率でエクスプロイトを成功させる可能性があると述べています。
Stagefrightライブラリをこのように悪用する最も簡単な方法の一つは、ユーザーがアクセスしたマルウェアに感染したウェブページを利用し、成功するまでリロードを繰り返してマルウェアの注入を試みることです。また、WebView組み込みブラウザを使用したアプリ内広告を通じても、同様の攻撃が行われる可能性があります。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
セキュリティ専門家は以前から、Androidの32ビットASLR保護は弱すぎる可能性があると指摘しており、今、その弱さが明らかになりました。また、64ビットスマートフォンの方が優れているかどうかもまだ明らかではありません。64ビットシステムのASLRは通常、はるかに強力ですが、Googleはパフォーマンス上の理由から、64ビットデバイスでもASLRを同程度に弱く保っている可能性があります。
@tomshardware 、 Facebook 、 Google+でフォローしてください。
ルシアン・アルマスは、Tom's Hardware USの寄稿ライターです。ソフトウェア関連のニュースやプライバシーとセキュリティに関する問題を取り上げています。