複数のアーカイブソフトにおけるバイナリ・プランティング問題(情報元のブックマーク数)

塩月さんのバイナリ・プランティング問題についての記事。

                                                                                                                                              • -

複数のアーカイブソフトにおけるバイナリ・プランティング問題

2010.10.18

塩月 誠人

          • -

概要

          • -

以下のアーカイブソフトにはバイナリ・プランティングの脆弱性が存在します。

- Lhaplus 1.57 およびそれ以前 [1]
- Lhasa 0.19 およびそれ以前 [2]
- XacRett #49 およびそれ以前 [3]

この脆弱性により、攻撃者が用意した不正なバイナリファイルを実行してしまう
危険性があるため、これらのソフトウェアの利用者は最新版にアップデートする
ことが推奨されます。

http://www.st.rim.or.jp/~shio/advisories/binary_planting/bp_archiver.txt

PATHにプログラムが存在しないと、同一ファイル名がカレントディレクトリに存在するとDLLをロードしたり実行したりするそうです。

                                                          • -

バイナリ・プランティングとは

                                                          • -

プログラムがDLLファイルをロードまたは他のEXEファイルを実行する際に、その
ファイルをパス名なしで指定していた場合、プログラムは使用するAPIの仕様に
基づき特定のディレクトリ(Windowsのシステムディレクトリや当該プログラムが
存在するディレクトリなど)を特定の順序で検索して一致するファイル名のDLLや
EXEを探し出します。その検索箇所には通常、カレントディレクトリも含まれま
す。そのため、システムディレクトリやプログラムのインストールディレクト
等の標準的な場所にそのファイルがなかったり、APIの仕様上カレントディレク
トリが先に検索されたりした場合、プログラムはカレントディレクトリに存在す
る同一名称のDLLやEXEをロードあるいは実行してしまいます。

この性質を利用して不正なDLLやEXEファイルを実行させる攻撃手法のことを「バ
イナリ・プランティング(バイナリの植え付け)」といいます(DLLプリローディン
グ、DLLハイジャッキングともいう)。バイナリ・プランティングは決して新しい
攻撃手法ではなく、古くからその問題点は指摘されてきたのですが、今年の8月
頃から多くのソフトウェアにこの脆弱性が存在することが取りざたされ話題に
なっています[4]。

http://www.st.rim.or.jp/~shio/advisories/binary_planting/bp_archiver.txt

screenshot