IPAは、コンピュータウィルスや不正プログラムの状況分析から、「今月の呼びかけ」を発表している。今月は、ファイル名を細工したウイルスが多数検出された。その手口や対策を紹介する。
ファイル名を偽装する手口
IPAによると、2011年9月にはRLTrapというウイルスの検出報告が約5万件もあったとのことである。このウイルスの特徴は、ファイル名を偽装している点である。まずは実際に見てみよう。このウイルスは、オフィスのプリンタがスキャンが完了したことを知らせるメールに添付される(注意深く考えれば、このようなことはありえない)。
ZIP形式で圧縮されているので圧縮・解凍ソフトを使い、中身を確認すると図2のように、あたかもPDFファイルのように表示される。
なぜこのようにに見えるのか?これは特殊な方法ではなく、Unicodeの制御文字を使ったものである。アラビア語などのように、文字を右から左に読む言語に使われるもので、RLO(Right-to-Left Override)である。実際に、「cod.exe」というファイル名の先頭にそのRLOを挿入すると、
exe.doc
となる。いかにも文書ファイルのように装う。この手口により、ユーザーには安全なファイルと思いこませ、解凍させようとする。図2をよく注意してみれば、ファイルの種類は、アプリケーションとなっていることがわかる。さらにこの手口が通用しない圧縮・解凍ソフトもある(図3)。
図3のように、exeファイルとして表示されてしまう。確実に騙せる手口ではないし、注意深く見れば、メール自体がおかしく、文書ファイルでないこともわかる。しかし、ちょっとした油断から、実行してしまう可能性もあるのだ。そこを攻撃者は狙っているのである。IPAは、RLTrapウイルスの解析を行ったところ、Windows 7環境でのみ動作し、感染すると、ロシアのWebサイトと通信を試み(解析を行った時点では既に当該サイトは存在していない)、別のウイルスをダウンロードして感染させる可能性があるとのことだ(他にも、自身のコピーを作成するなどを行う)。
RLTrapウイルスへの対策
まずは、セキュリティ対策ソフトの導入、脆弱性の速やかな解消を行うべきであろう。IPAでは、さらにRLOが施されたファイルの実行をブロックする方法を紹介している。本稿でも、その手順を紹介しよう。まずは、スタートメニューの下部に「secpol.msc」と入力する(Windows XPの場合には、[ファイル名を指定して実行]から行う)。
ローカルセキュリティポリシーが起動するので、左のペインの[ソフトウェアの制限のポリシー]を右クリックし、コンテキストメニューの[新しいソフトウェアの制限のポリシー]をクリックする。
オブジェクトの種類から、[追加の規則]を右クリックし、コンテキストメニューから[新しいパスの規則]をクリックする。
[新しいパスの規則]の画面で、[パス]に「**」
を入力し、「*」と「*」
の間にカーソルを合わせ右クリックし、[Unicode制御文字の挿入]→[RLO Start of right-to-left override]を選択する。
セキュリティレベルが[許可しない]になっていることを確認して、[OK]クリックする。
PCを再起動すると、この設定が有効になる。実際に、RLOが挿入されたファイルをクリックすると、図9の警告メッセージが表示され、実行が制限される。
当然であるが、もし、文字を「右→左」の順番で読むアラビア語などを扱うPCにこの設定をしてはいけない(あまり多くはないと思うが)。Unicodeの制御文字を使ったファイル名の偽装は、2006年ころから悪用されており、決して新しいものではない。逆にいえば、このような単純な手口こそ、いつの時代も脅威となることを示すものであろう。RLOを使った手口で、もう1つ注意しておきたいことがある。エクスプローラで拡張子を常時表示している場合である。これは、2重拡張子やアイコンの偽装などを見抜く防御策として有効な方法である。しかし、RLOを使った手口では、逆に図10のように、偽装された状態でファイルが見えてしまう。
これは、ワードパッドの実行ファイルを偽装したのであるが、いかにも、文書ファイルのように見えてしまう。これも、種類はアプリケーションになっていることがわかるであろう(ダブルクリックで、起動する)。単純であるが、非常に騙されやすいのも事実である。ここであげた対策の導入を検討してほしい。