セキュリティ対策の心得、基礎の基礎5カ条

第4回:不正プログラムの入り口(USBメモリ編)


 2009年上半期(1月~6月)に日本のトレンドマイクロサポートセンターに寄せられたウイルス感染被害数のランキングを見てみると、HTTP通信を悪用した「Webからの脅威」に該当するウイルスが数多くランクインしています(2009年11月末現在)。

 そうした中、USBメモリを悪用して感染を広げる「MAL_OTORUN」が1位となっています。報告件数は、2位の「WORM_DOWNAD」(993件)と大きく差を開けた2484件。「MAL_OTORUN」の感染被害報告は2008年8月以降継続して1位となっており、その被害の広がりは企業、個人ユーザーにとって大きな問題となっています。

ウイルス感染被害報告数ランキング(2009年上半期)

 「MAL_OTORUN」(オートラン)は、USBメモリなどの外部記憶媒体内に作成される不正なautorun.infファイルの検出名です。autorun.infファイルは、プログラムの自動実行を行うための設定ファイルで、ソフトウェアのインストールCDなどに含まれています。

 CDをコンピュータに挿入するとインストールプログラムが自動的に起動するのは、このautorun.infファイルの仕組みを利用しています。ユーザーは、わざわざCD内に含まれるインストールプログラムをダブルクリックで実行する必要がなく、とても便利な機能です。

 しかし、ユーザーに便利な機能は、不正プログラムの作成者にとっても便利な機能となってしまいます。「MAL_OTORUN」は、このプログラムの自動実行の機能を悪用し、ユーザーのダブルクリックなしに、不正プログラムを実行する手口なのです。

 具体的には、不正プログラムがUSBメモリに感染する際に、不正プログラムのコピーとともに、そのコピーを自動実行するためのコマンドを含むautorun.infファイルを作成します。感染したUSBメモリを他のコンピュータに接続すると、autorun.inf内のコマンドが読み取られ、不正プログラムのコピーが自動実行される仕組みになっています。

autorun.infを悪用した不正プログラムの動作

 昨今、USBメモリの大容量化、低価格化が急速に進んでいます。最近では2GB容量のUSBメモリが1000円台、32GBでも1万数千円で購入できるようです。手軽に大きなファイルの移動が可能で、持ち運びも苦にならないUSBメモリは、仕事、プライベートともに活躍していることと思われます。

 今回の基礎の基礎では、このUSBメモリを安全に使用するための5カ条を紹介します。

第1条 ウイルスチェックがされていないUSBメモリを自分のコンピュータ上で使用しない
第2条 不特定多数の人が使用するコンピュータ上で、自分のUSBメモリを使用しない
第3条 Windowsの自動実行機能を無効にする
第4条 セキュリティ機能付きのUSBメモリを使用する
第5条 USBメモリのNTFSフォーマットで、プログラムの実行を禁止する

第1条 ウイルスチェックがされていないUSBメモリを自分のコンピュータ上で使用しない

 autorun.infを悪用した不正プログラムの増加に伴い、各ウイルス対策製品では、不正な目的で作成されたautorun.infファイルを検出するウイルスパターンファイルが提供されています。このため、最新のパターンファイルが適用されたウイルス対策製品でUSBメモリをスキャンすることにより、不正なautorun.infファイルを検出することが可能です。

 なお、不正なautorun.infファイルを検出するには、ウイルス対策製品のリアルタイム検索機能を有効にする必要があります。これにより、万が一、不正なautorun.infファイルを含むUSBメモリをコンピュータに接続した場合でも、autorun.infファイルが読み込まれるタイミングでリアルタイム検出が行われ、autorun.infが不正プログラムを自動実行するのを防いでくれます。

第2条 不特定多数の人が使用するコンピュータ上で、自分のUSBメモリを使用しない

 インターネットカフェなどの公共のコンピュータや友人のコンピュータであっても、十分なウイルス対策が行われていることが確認できないコンピュータ上では、自分のUSBメモリを使用するべきではありません。

 一部の企業ユーザーからは、社員が海外の工場に出張した際に、ウイルス対策が不十分なコンピュータでUSBメモリを使用したところウイルスに感染し、帰国後に社内でもウイルス感染が広がった、というケースが報告されています。

 自らがウイルスの「運び屋」になってしまわないためにも、セキュリティが担保されたコンピュータ上以外でのUSBメモリの使用は避けましょう。

第3条 Windowsの自動実行機能を無効にする

 「MAL_OTORUN」が悪用する「Windowsの自動実行機能」を無効にするのも、ウイルス感染を防止する上で有効です。

 まず、一番手軽な方法としては、USBメモリをコンピュータに接続する際、「Shift」キーを押し続ける方法が挙げられます。これにより、Windowsの自動実行機能を一時的に無効にすることが可能です。ただし、この方法はUSBメモリを接続するたびに実施する必要があるため、少々面倒かもしれません。

 そこで、ここではWindowsの「コントロールパネル」から外部記憶媒体の設定を変更することにより、自動実行機能を無効にする方法を紹介します。

・Windows Vista を使用している場合
1)[スタート]→[コントロールパネル]をクリックし、[ハードウェアとサウンド]を選択します

2)[すべてのメディアとデバイスで自動再生を使う]オプションのチェックをはずし、[保存]をクリック

 上記設定を行っても、Windows Vistaに「Windows エクスプローラの脆弱性により、リモートでコードが実行される(MS08-038)」と呼ばれる脆弱性が存在している場合、 autorun.infファイルによる不正プログラムの自動実行が行われてしまうことが確認されています。

 以下のMicrosoft社のWebサイト内「マイクロソフト セキュリティ情報 MS08-038 - 重要」を参照のうえ、あらかじめ更新プログラムを適用してください。

◆マイクロソフト セキュリティ情報 MS08-038 - 重要
http://www.microsoft.com/japan/technet/security/bulletin/ms08-038.mspx

・Windows XPを使用している場合
1)[マイコンピュータ]からUSBメモリが割り当てられたドライブ(リムーバブルディスク)を右クリック→[プロパティ]

2)[自動再生]→[実行する動作を選択]→[何もしない]を選択

3)それぞれのファイルタイプに[何もしない]を設定

 上記の設定を行うことにより、USBメモリ内の不正プログラムが自動実行され、コンピュータがウイルスに感染する可能性を低下させることができます。

 ここまでの全3条では、ユーザーの心がけや簡単な設定を行うことで実行できる「基礎の基礎」を紹介してきましたが、第4条についてはさらにセキュリティを強化したいという人、第5条についてはPCに詳しい人にお勧めする方法を紹介します。

第4条 セキュリティ機能付きUSBメモリを使用する

 不特定多数の人が使用するコンピュータ上で、自分のUSBメモリを使用するべきではない点は第2条で記載しましたが、USBメモリなどの外部記憶媒体の主な使用用途は、データを持ち運ぶことにあり、USBメモリを自身の管理しているコンピュータ上でのみの使用に制限することは、USBメモリの本来の目的を果たせない可能性もあります。

 この問題を解決するために、現在ではセキュリティ機能付きのUSBメモリが販売されています。これらのUSBメモリには、紛失・盗難などによる情報漏えいを防止するためにデータを暗号化する機能がありますが、これに加え、ウイルススキャン機能を持ったものが有効です。

 コンピュータ上のウイルス対策製品によるウイルススキャンではなく、USBメモリ自身がスキャン機能を持っていることにより、自身の管理外のコンピュータでUSBメモリを使用する際も安心です。

第5条 USBメモリのNTFSフォーマットで、プログラムの実行を禁止する

 現在、Windows OSが使用するファイルシステム(ハードディスク等の記憶装置に記録されたデータの管理方式)には「FAT32」と「NTFS」があります。USBメモリは、FAT32でフォーマットされていますが、NTFSでフォーマットすることによりUSBメモリからプログラムが直接実行できなくする方法をご紹介します。

■■注意■■
    USBメモリをNTFSでフォーマットすると書き込みキャッシュが有効になり、「ハードウェアの安全な取り外し」を使用せずに、USBをコンピュータから取り外すと、ファイルが破損する危険があります。このため、Microsoft社では、USBメモリのNTFSでのフォーマットを推奨していないようです。
    ◆リムーバブルメディアのNTFSフォーマットについて
    http://support.microsoft.com/kb/418751/ja

 USBメモリは、通常の設定ではNTFSでのフォーマットが選択できません。以下の手順で、NTFSでのフォーマットを可能にします。

1)USBメモリが割り当てられたドライブ(リムーバブルディスク)を右クリック→[プロパティ]→[ハードウェア]→USBメモリを選択

2)[プロパティ]→[ポリシー]で[パフォーマンスのために最適化する(P)]を選択→[OK]

3)USBメモリでNTFSのフォーマットが選択可能になります

 次に、NTFSのアクセス権設定機能を使用して、USBメモリからプログラムが直接実行できないように設定します。

1)USBメモリが割り当てられたドライブ(リムーバブルディスク)を右クリック→[プロパティ]→[セキュリティ]を選択
2)[グループ名またはユーザ名(G):]で[Everyone]を選択後、[詳細設定(V)]をクリック

3)[アクセス許可]内の[アクセス許可エントリ(T):]で[Everyone]を選択し、[編集(E)]をクリック

4)[アクセス許可(P):]内の[フォルダのスキャン/ファイルの実行]を[拒否]に設定。[適用先(O):]を[このフォルダ、サブフォルダおよびファイル]に設定し、[OK]をクリック

5)上記の設定により、USBメモリ内のプログラムをダブルクリックしても、以下のメッセージが表示され、プログラムの実行が阻止されます

 「MAL_OTORUN」がUSBメモリ内の不正プログラムを自動実行してしまうのを回避する効果があります。

 なお、この設定は、上記の手順を実施したコンピュータとUSBメモリの組み合わせでのみ有効です。

 USBメモリは手軽にデータの移動ができて便利な反面、ウイルス感染、紛失・盗難による情報漏えいなどのリスクも存在します。企業内では、USBの使用、管理ポリシーが厳格に設定されていて、個人のUSBメモリの使用を禁止している環境も多いと思われます。

 ウイルス作成者は、USBメモリの手軽さ、便利さを悪用して、ウイルスの配布を試みます。autorun.infファイルを悪用したウイルスの感染被害が報告され続ける中、USBメモリの安全な使用について、今一度考え、自己防衛を図っていただければと思います。


関連情報

2009/12/8 06:00


小松 優介
トレンドマイクロ株式会社サポートサービス本部コアテクノロジーサポートグループのThreat Monitoring CenterでSenior Threat Research Engineerを務める。国内のセキュリティ脅威動向の監視・調査のほか、顧客向け分析レポート作成にも携わる。