連載
» 2014年04月07日 10時00分 公開

制御システム技術者のためのセキュリティ基礎講座(5):制御システム向けの端末防御技術「ホワイトリスト型ウイルス対策」とは? (2/3)

[佐々木 弘志 / マカフィー,MONOist]

USBメモリでのマルウェア感染を防ぐ

 ホワイトリスト対策による「USBメモリでのマルウェア感染」への対策について、もう少し詳しく説明しよう。第2回『制御システムを狙ったマルウェア「Stuxnet」って何?』では、イランの核施設の制御システムを狙ったマルウェア「Stuxnet(スタックスネット)」について紹介した。スタックスネットはUSBメモリを介してクローズドネットワークのパソコンに感染したことで注目を集めた。

 仮にStuxnetのような未知のマルウェアがUSBメモリを介してパソコンに侵入しようとするとどうなるだろうか。図2に、Stuxnetがパソコンに感染しようとした場合に、ホワイトリスト型の対策によってその感染が防止される仕組みを示した。

図2 図2:USBメモリからのマルウェア感染を防ぐ仕組み。3番目、4番目のマルウェアからの影響を防ぐことが可能だ(出典:マカフィー)

 ポイントとなるのは3番目の動作である。Stuxnetが起動しようとしても、ホワイトリストにStuxnetが登録されていないので起動することができない。Stuxnetのような標的型の攻撃でなくとも、USBメモリがマルウェアの感染源となる例は非常に多い※3)が、ホワイトリスト型の対策であれば、このような感染を防止できる。

※3)McAfee社2014年2月の脅威レポートより。リムーバブルメディアを用いて感染を広げる種類のマルウェアが多く検知されている。

ただの「ホワイトリスト型」だけでは「ウイルス対策」にならない

 ここまで、ホワイトリスト型の対策が「制御システムに向いている」と述べてきたが、注意してほしいのは「ホワイトリスト型の対策をやっていれば何が起こっても安心」ということにはならない点だ。単純なホワイトリスト型の採用だけではウイルス対策ソリューションとしては不十分だ。実際にマルウェアからの攻撃を防御する「ホワイトリスト型ウイルス対策」として機能させるには、少なくとも以下の3つの機能が必要だと考えられる。

  • EXEファイルだけでなく、DLL※4)やドライバファイル※5)など全ての実行ファイルを対象にする
  • ホワイトリストに登録されたファイルは変更禁止とする
  • メモリに対する保護を行う

※4)DLL(Dynamic Link Library)。複数のEXEから共通して使用される処理をモジュール化したもの

※5)ドライバファイル:USBドライバやプリンタドライバなどパソコンのI/Oを制御するための実行ファイル

 Stuxnetにおけるハッキング対象がDLLであったことから全ての実行ファイルを対象とするのは安全のためには、当然の機能といえるだろう。

 また、せっかくホワイトリストに実行ファイルを登録しても、元のEXEやDLLが悪意を持って書き換えられてしまっては意味がない。ホワイトリストに登録されたファイルの変更禁止こそ「ホワイトリスト型対策」を「ホワイトリスト型ウイルス対策」と呼ぶために必要な機能といえるだろう。

 メモリの保護も、ホワイトリスト型対策だけではカバーできないウイルス対策の重要な機能である。例えば、Microsoft WordやAcrobat Readerのように、ホワイトリストで許可されたアプリケーションが読み込んだファイル内にマルウェアが含まれていた場合、大抵は、プロセスのメモリ上の弱点を突いた攻撃が行われる。このような攻撃に対処するために、メモリを保護する機能が必要になる。

古いOSへの対応と安全な更新方法

 また、ホワイトリスト型ウイルス対策を実際に運用することを考えると、以下の2つの特徴を持っていることも重要になってくる。

  • 古いOS(Windows 2000、Windows NTなど)や組み込みOS(Windows Embedded、Linux、Androidなど)に対応している
  • ホワイトリストを安全に更新できる

 制御システムが10年単位の寿命であることが多く、新しいOSに移行することができないケースがあることを考えると、幅広いOS対応は備えておきたい特徴といえるだろう。2014年4月9日(日本時間)のWindows XPのサポート終了に伴い、アンチウイルスベンダー各社も自社のウイルス対策ソフトのWindows XPサポート終了時期を公表している。これには攻撃の進化に伴い、検知技術を追加する必要があることが主な理由だ(関連記事:Windows XPサポート終了問題、移行しないとなぜ駄目なの?)。

 しかし、ホワイトリスト型のウイルス対策ならば、ホワイトリストで使用するアプリケーションを固定したままシステムを変更しないで使い続ける選択肢を取ることも可能だ。新OS移行が難しい場合も多い制御システムでは、有力な選択肢となるだろう。

 ホワイトリストの安全な更新については、ホワイトリスト型対策の思想に反するように思えるかもしれない。しかし、実際の制御システムでは、メンテナンスなどのタイミングで制御用のソフトウェア更新を行う場合がある。ホワイトリストを導入したはいいが、一度防御状態を解除してからでなければ、ソフトウェア更新が安全に行えないのでは、製造現場としては非常に使いにくいものになってしまう。制御システムセキュリティを考えた場合、ホワイトリストを安全に更新ができる手段が何らかの形で提供されていることが望ましい。

Copyright © ITmedia, Inc. All Rights Reserved.