LAC WATCH

セキュリティとITの最新情報

RSS

株式会社ラック

メールマガジン

サイバーセキュリティや
ラックに関する情報をお届けします。

ラックピープル | 

旧バージョンの「Lhaplus」に脆弱性、その問題と対策を脆弱性発見者が解説(JVN#57842148)

エンタープライズシステム部の安藤です。2018年1月11日に、JPCERTコーディネーションセンター※1と情報処理推進機構(IPA)が共同で運営する脆弱性対策情報ポータルサイトJVN(Japan Vulnerability Notes)において、「Lhaplus」の脆弱性に関する情報が公開されました。Lhaplus はファイルを圧縮・展開するために用いられる無料のソフトウェアで、このたび公開された脆弱性は、旧バージョンの Lhaplus(1.73 以前)では、細工されたアーカイブ(ZIP)を処理するとユーザの意図しないファイルが生成されるという問題です。開発者のSchezo氏が2017年5月に公開した Version 1.74 ですでに修正対応はなされていますが、Lhaplusは一般の利用者も多いため、JVNでの公開を機に、本脆弱性を発見したエンジニアの立場から具体的に何が問題なのか、利用者はどうすればよいかを解説します。

旧バージョンの Lhaplus(1.73 以前)には、細工されたZIPファイルを開いた際に、本来とは異なる内容をファイルのコンテンツとして展開してしまう問題があります。実際に細工されたZIPファイル hello.zip を用意し、このファイルを開いた際にどのような挙動になるかを説明します。

次に示すのは、Windowsの標準機能を使って hello.zip を展開した場合の動作です。

図1 Windowsの標準機能による展開(hello.zipを右クリック > 「展開」または「すべて展開」)

図1 Windowsの標準機能による展開(hello.zipを右クリック > 「展開」または「すべて展開」)

図2 展開されたファイル

図2 展開されたファイル

図3 展開されたファイルの内容

図3 展開されたファイルの内容

展開された hello.bat は「echo hello&pause」で、無害な内容です。他の圧縮・展開ソフトを使った場合も、展開されるのはこの内容のファイルです。

次に示すのは、同一のファイルを脆弱性のあるバージョンである Lhaplus 1.73 を使って展開した場合の動作です。

図4 Lhaplus 1.73による展開(hello.zipを右クリック > 「ここに解凍」)

図4 Lhaplus 1.73による展開(hello.zipを右クリック > 「ここに解凍」)

図5 展開されたファイル

図5 展開されたファイル

図6 展開されたファイルの内容

図6 展開されたファイルの内容

同一のファイルを展開したにもかかわらず、展開された hello.bat の内容は先ほどとは異なる「start calc」となっています。気付かずにこのファイルを実行してしまった場合、意図しないアプリケーション(電卓)が起動されてしまいます。

同様に無害なEXEファイルやDLLファイルをマルウェアに差し換えることも可能です。また、ZIPファイルの展開時にはCRCによるチェックが行われますが、有害なコンテンツと元のコンテンツのCRCを一致させることは比較的容易なため、CRCエラーが検出されなかった場合でもその内容を信用すべきではありません。

別のファイルが展開される問題は、Lhaplus 1.73 以前で開いた場合のみ発生します。そのため、例えばウイルスチェックにより内容に問題がないとされるZIPファイルであっても、Lhaplus が実際に展開するファイルがウイルスになるよう細工されることが考えられます。場合によっては、旧バージョンの Lhaplus を利用している組織への標的型攻撃に用いられることも考えられますので、Lhaplus を 1.74 にバージョンアップすることを推奨します。もしバージョンアップが難しい場合には、ZIPファイルはWindows標準機能を使って展開(右クリック >「展開」または「すべて展開」)してください。

参考URL

この記事は役に立ちましたか?

はい いいえ