FFR とってもキケンなWindows 2000セミナーの内容 第2部
FFRさんのセミナーの続きです。
第2部は「Windows 2000へのゼロデイ攻撃」 でした。
青字は私の思ったことです。
Windows 2000発売直後、ウィルスが大流行し、MSの売り上げが落ちたため、セキュリティ対策に重点的に取り組み、XPSP2はセキュリティ機能搭載が売り文句となった。
・XPと 2000のAPIの類似性を netapi32.dll を取り上げて紹介。
・バッファーオーバーフローの仕組みを紹介したうえで、MS10-046は機能上の仕様であるので異なるものであると説明。
・また、SHELL32.DLLも、XPで追加された機能があるが、ほとんど同じであることを紹介。
バッファーオーバーフローを引き起こした後の動作。
・リバースシェルの起動
・ボット起動
・偽セキュリティ対策ソフトのインストール
・情報の搾取
XPSP2で実装されたDEPはページ単位でコードの実行の可否を設定できる。
元々セクション単位で、読み書き、実行の設定ができるので、それのページバージョンみたいなものか?
DEPを回避する悪意のあるソフトの手法。
・Ret-To-Libcは既にロードされているAPIを呼び出す仕組み。
・ZwProtectVirtualMemoryでメモリ属性の変更をしてしまう。
セクション単位でも似たようなことが可能ですね。
・ZwSetInformationProcessでプロセス属性を変更しDEPの有効・無効を切り替えてしまう。
→これに対して、DEP Permanentで対抗。(IE8などに実装)
PEB/TEBはWindows 2000では RWEの属性がありプログラムが置けてしまう。
XPはこのセクションに実行権限がないので置くことができない。
ここに実は、OSに関するシステム情報等も置かれている。
ASLR Vista以降で実装された、コードをロードするアドレスをランダムにする技術。→ Ret-To-Libcが難しくなる。
・アドレス総当たりで、ASLR へのブルートフォース攻撃すれば破れる。
・ASLR されていないライブラリもある。
WindowsXPSP2以降には、ヒープマネージャーにバウンダリチェックやSafeUnlink といった機能がある
メタデータ暗号化や完全性の検査、LookAsideList等を使用。
LALは XP以前のヒープ管理方式で、VistaからはLow Fragmentationを採用してるんだっけか?
最近のWindows にはDEP,ASLR,UAC,ヒープ管理(SafeSEH(Stractured Exception Handling))、ファイアーウォール等のセキュリティ対策機能があり、最近は脆弱性=攻撃可能とは限らなくなってきた。
SafeSEHは Windows そのものにある例外処理の機能だと思う。
しかし、Windows 2000は脆弱性≒攻撃可能。
・(ネット上で調べると、新たなセキュリティホールが発表されるまで、安全と書かれてるサイトもあるが)Windows 2000にゼロデイは既に存在する。
うちのことですか><?
・今後のWindows 2000の脆弱性はXPを参考に作成可能である。
・セキュリティ機能が少ないので攻撃しやすい。
・修正パッチが出ないので、攻撃しやすい。
とこんな感じでした。
さらに続きます。
関連記事:
FFRセミナー受付締切迫る
Windows 2000 セミナー
FFR とってもキケンなWindows 2000セミナーの内容 第1部
Comments