TOP > 研究成果 > 電源を切っても消えない持続感染型IoTマルウェアについて
Miraiのような初期型のIoTマルウェアは,機器の電源を再起動することにより駆除可能でした.近年,機器の電源を消しても消えない,持続的感染をするマルウェアが登場しています.我々は,国立研究開発法人 情報通信研究機構 NICTERプロジェクトの協力のもと,持続的感染型マルウェアに感染した機器を調査することにより,持続的感染型マルウェアの感染メカニズムを調査しました.
検体:5377e8f2ebdb280216c37a6195da9d6c (MD5)
検体収集日:2018年10月17日
感染機器:ルーター
2.1.通信パケット解析
通信パケットを解析した結果, 'Chimay Red'[2]と呼ばれるリモートコマンド実行のエクスプロイトの特徴を持った一連のパケットを発見しました.これらのパケットの抜粋を図 1~図 4 に示します.
図 4のシェルコードは,インターネット上に公開されている攻撃コードが一部改変されたものでした.リバースエンジニアリングの結果,機器上で実行されるOSコマンド部分を難読化する処理が追加されていることが分かりました.難読化されていたOSコマンドは,図 5に示すとおり,ダウンロードサーバーからマルウェアをダウンロードし実行する処理でした.
本攻撃で悪用された脆弱性の対策として,2017年3月にメーカーよりファームウェア更新データ(Release 6.38.5)が公開されています.そのため,ファームウェアを最新に保つ運用が行われている機器は影響を受けなかったものと考えられます.一方で,対策が行われてから1年半が経過した脆弱性が今なお狙われ攻撃を受けていることを示しています.
2.2.感染の再現実験
再現実験として,通信パケットから抽出したマルウェアのバイナリを未感染の機器上で実行し挙動を観測したところ,マルウェアにより以下の3ファイルが生成されました.
(i) /flash/etc/rc.d/run.d/S99telnetd
(ii) /flash/bin/.telnetd
(iii) /flash/bin/.p/atk.mipseb
ファイル(i)~(iii)はいずれも機器の不揮発領域に格納されており,機器を再起動してもファイルが残り続けていました.ファイル(i)(ii)はtelnetのサービスを装った名称であるものの,マルウェアの持続的感染を目的としたファイルであり,隠ぺいを試みたものと考えられます.ファイル(i)はOS起動時に実行されるスクリプトであり,以下のように機器の起動時にファイル(ii)を起動するものでした.ファイル(ii)は,最初にダウンロードサーバーからダウンロードしたファイルと同一のものでした.これらの2つのファイルを用いて持続的感染を行っていることが分かりました.
・/flash/etc/rc.d/run.d/S99telnetd
なお,ファイル(iii)は持続的感染の仕組みには影響しないものの,ファイル名よりマルウェア"Hajime"に関連したファイルと推測されます[3].
ファイル(i)~(iii)が格納された"/flash"はLinuxのファイルシステム階層標準[6]に規定されたものではないことから,機器特有のディレクトリ構造と考えられます.本機器のベースのファイルシステムは読み取り専用ファイルシステムを用いていますが,"/flash"を含むいくつかのディレクトリは読み書き可能ファイルシステムとしてマウントされていました.攻撃者はこうした機器の特徴を調べたうえで攻撃を行ったと考えられます.
本稿では,実際にマルウェアの持続的感染をした機器を調査することにより,持続的感染のメカニズムを解明しました.今回のマルウェア感染では,機器内部の不揮発領域を悪用して,機器の電源をOFFにしてもファイルが消えない仕組みを実現していました.さらに,Linuxの起動時に実行されるスクリプトを悪用することにより,機器の起動時にマルウェアのバイナリを自動実行していました.
マルウェアの解析にはSandboxが用いられることが多いですが,従来のSandboxは汎用的な環境であることが多く,本稿で調査したような機器独自の特徴を悪用するマルウェアを正しく観測できない問題があります.我々はこの課題を解決するために,実機に近いSandboxの実現にむけて研究を行っております.
This is a joint work between Yokohama National University, Japan and the National Institute of Information and Communications Technology (NICT), Japan