Ahnlab 製品 の解析から分かった SaAT Netizenの脅威のまとめ(3/10更新)
脆弱性深刻度
インストール時 | オプションインストーラ | 更新時 | |
定義ファイルの検証の脆弱性 | 深刻 | 論外 検証機構自体がなかった |
軽度(最初にダウンロードするサーバー定義、ダウンロードファイルなどは作成可能) |
定義ファイルのバイナリファイルの偽装の脆弱性 | 深刻 (定義ファイル自体が改ざんできるので、偽装する必要がない) |
深刻 (定義ファイル自体が改ざんできるので、偽装する必要がない) |
重大 (32bit のCRCなので計算が有限時間で可能) |
攻撃条件の複雑さ | 中 DNSやProxyやWifiネットワークの乗っ取りが条件 |
中 DNSやProxyやWifiネットワークの乗っ取りが条件 |
中 DNSやProxyやWifiネットワークの乗っ取りが条件 |
攻撃の準備 | 単純 | 単純 | 偽装するファイルの準備に計算が必要 |
攻撃可能な時 | インストール時 | インストール後のオプションコンポーネントアップデート時
実証コードはOTPコンポーネントで確認 |
自動でアップデートが実行されたとき |
攻撃ファイルの場所 | ファイル名固定 | system32フォルダの任意のファイル | ファイル名固定? |
コードの実行 | 論外
確実に管理者権限で実行する |
深刻 任意のシステムファイル名で保存できるのでタイミングは任意ではないがほぼ実行させられる。 |
SaAT Netizen実行時? |
権限 | 管理者権限 | 管理者権限~システム権限 | 管理者権限以上? |
攻撃される可能性 | 容易に攻撃可能 実証済み |
容易に攻撃可能 実証済み |
未実証 |
SaAT Netizen は手動で更新できないため、実証することが困難でしたが、V3 インターネットセキュリティのアップデートの挙動や作った暗号化されたログファイルのデコーダなどから SaAT Netizen の更新の仕組みもほぼ同じであり、ダウンロードリストの定義ファイル自体はSHA-256で保護されていることが分かりました。
しかし、定義ファイルに記述されているファイルが、32bit のCRC でしかチェックされていないため、Ahnlabの証明書のない実行ファイルを置換されて攻撃されたり、関連DLLを悪意のあるものに置き換えられて攻撃される可能性があります。(試しにパッチサーバーからダウンロードしてみたところ、Ahnlabの署名で上書きされているということはありませんでした)
また、圧縮されたDLL単体については、CABファイルに署名がなく、圧縮前後のCRCが付加されているだけでした(要するに 33bit 相当のCRC 保護)
Comments