画像: フィンランド 、 CC BY-SA 2.0
Linux、OpenBSD、NetBSD、FreeBSD、およびSolarisオペレーティングシステムのメモリ管理メカニズムに重大な脆弱性が発見されました 。これにより、スーパーユーザーレベルへの権限昇格と任意のコード実行が可能になります。 セキュリティの問題は、スタッククラッシュと呼ばれます。
問題は何ですか
この問題は、Qualysの情報セキュリティ研究者によって発見されました。 この脆弱性は2005年に最初に発見され、その後修正されました。 しかし、2010年に、研究者はリリースされたパッチが悪用の可能性を完全にブロックしないことを発見しました。 Linux開発者はパッチを再度リリースしましたが、保護をバイパスできることが判明しました。
脆弱性の本質は、スタックとヒープが隣接している場合、オーバーフローしたヒープの内容がスタック領域に現れる可能性があるという状況が排除されないことです。 。 このような状況を防ぐために、Linuxおよびその他のオペレーティングシステムは、スタックガードページセキュリティ技術を使用します。
調査中、専門家は「ガードページ」(ガードページ)の実装に複数の脆弱性を特定し、次の3種類の攻撃を特定しました。
- スタックと別のメモリ領域の交差点:スタックが別のメモリ領域に到達するか、メモリがスタックに到達するまでメモリが割り当てられます。
- 監視ページを「飛ぶ」:この場合、スタックポインタは、メモリ保護ページに影響を与えることなく、スタックから別のメモリ領域に移動します。
- スタックまたは別のメモリ領域のパーティション分割:スタックは、別のメモリ領域またはスタックの内容で別のメモリ領域の内容で上書きされます。
研究者は、さまざまなオペレーティングシステム用のPoCエクスプロイトのセットを準備しました。 説明されているセキュリティ問題を使用するには、コンピューターへのローカルアクセスが必要ですが、専門家は、たとえばHTTP要求やJavaScriptなどのリモート操作の可能性を排除しません。
自分を守る方法
研究者の報告によると、彼らは以前、脆弱なオペレーティングシステムの開発者に発見された問題について通知していました。 脆弱性をカバーするパッチが開発されています。 Red Hatはすでにセキュリティ情報を公開していますが、そこに記載されているセキュリティ慣行はシステムのパフォーマンスに悪影響を及ぼす可能性があります。 開発者はこの問題を後で修正することを約束します。
研究者によると 、彼らはオペレーティングシステムFreeBSD、NetBSD、OpenBSD、Solaris、および人気のあるLinuxディストリビューションであるRed Hat、SuSE、Debian、Ubuntuの問題をチェックしました。 ユーザーは、ディストリビューションの更新を確認することをお勧めします。 現在、AndroidモバイルOSが脆弱かどうかは不明です。
一時的な手段として、特定のOSのパッチがリリースされる前に、そのユーザーはローカルアカウントとリモートサービスのRLIMIT_STACKおよびRLIMIT_ASオプションの設定を変更して、デフォルト値を下げることができます。 ただし、この方法では完全に自分自身を保護することはできません-低すぎる値を選択すると、多くの信頼できるアプリケーションが動作できなくなります。