ms10-054 の解析 をしてみた

Windows 2000でセキュリティパッチの出なかった MS10-054について、影響を受ける個所がどのくらいあるか、アセンブラレベルでパッチの差分解析をしてみました。


Fix1 整数バッファーオーバーフローの実装2
Windows XP SP3 ms10-054 0001E95D
Windows XP SP3 ms10-012 実装なし
Windows 2000 ms10-012 実装なし
→Fix3の影響を受ける

Fix2 KeBugCheckEx用のフラグ保存
Windows XP SP3 ms10-054 0001E99C
Windows XP SP3 ms10-012 0001E96A
Windows 2000 ms10-012  00018455
→恐らく影響なし

Fix3 整数バッファーオーバーフローチェック追加x2
Windows XP SP3 ms10-054 0001EC95
Windows XP SP3 ms10-012 0001EC62
Windows 2000 ms10-012  000185F1
→影響あり

Fix4 KeBugCheckEx用のチェック
Windows XP SP3 ms10-054 0001F1E9
Windows XP SP3 ms10-012 0001F159
Windows 2000 ms10-012 00018AC4
→恐らく影響なし

Fix5 IoCheckQuerySetVolumeInformationによる事前チェック
Windows XP SP3 ms10-054 00041027
Windows XP SP3 ms10-012  00040F2A
Windows 2000 ms10-012  0002A0BB
→影響あり

Fix5 IoCheckQuerySetVolumeInformationによる事前チェック
Windows XP SP3 ms10-054 000410F3
Windows XP SP3 ms10-012  00040FD3
Windows 2000 ms10-012  0002A12D
→影響あり

Fix6 SrvQueryOs2FeaListのバッファチェック

Windows XP SP3 ms10-054 000463BB
Windows XP SP3 ms10-012 0004623B
Windows 2000 ms10-012  実装なし
→影響なし

Fix7 IoCheckQuerySetVolumeInformationのチェック
Windows XP SP3 ms10-054 0004CCBF
Windows XP SP3 ms10-012 000464E2
Windows 2000 ms10-012 0003AE2E
→影響あり

Fix8 IoCheckQuerySetVolumeInformationのチェック強化
Windows XP SP3 ms10-054  00051DFA
Windows XP SP3 ms10-012 00051C52
Windows 2000 ms10-012 0003D9B0
→影響あり

で、差分解析してて気づいたんですが、

Windows 2000の 000234F0
Windows XP SP3 ms10-012の 0003CBC9
Windows XP SP3 ms10-054の 0003CCC9
に該当する箇所の整数バッファーオーバーフローに該当するチェックが甘いような気がします。

ただ、XPのバイナリにはデバッグ用のコードが大量に含まれてるのに対して、何故か Windows 2000のコードはコンパクトになっているので、修正するのはちょっと難しそうです。
500バイト位フリーエリアがあればパッチ当てれそうなんですけどね。

関連サイト:
マイクロソフト セキュリティ情報 MS10-054 - 緊急 : SMB サーバーの脆弱性により、リモートでコードが実行される (982214)

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です