5月中旬に世界的な騒動を引き起こしたマルウェア「Wannacry」が拡散する手口の一つに、Windowsの脆弱性を突く「EternalBlue」と呼ばれるエクスプロイトが用いられた。米EternalBlueは米国家安全保障局(NSA)から流出したとされ、Wannacry以外にもさまざまなマルウェアの拡散手法に使われた。
EternalBlueについて解析したトレンドマイクロのブログによれば、EternalBlueは、WindowsのSMB 1.0(SMB v1)のコード内のカーネル関数「srv!SrvOs2FeaListToNt」によって「File ExtendedAttribute(FEA)」を処理する際に、「Large Non-PagedPool」領域でバッファオーバーフローが発生するセキュリティ上の欠陥(脆弱性)となる。
脆弱性を悪用するために攻撃者は、まずリモートからSMBが使用するポート445/TCPなどをスキャンしてネットワーク上の端末を探索し、問題を抱えた端末に接続する。端末でバッファオーバーフローを引き起こし、任意のコードを実行できる状態にさせる。さらに、バックドアなどの別の不正なプログラムやコードを送り込む。Wannacryの場合では、EternalBlueから「DoublePulsar」と呼ばれるバックドアなどが仕掛けられる。
アンチウイルスが手を出せない
EternalBlueは、Windowsのカーネル領域に近い部分で発生する脆弱性であり、Microsoftは3月にリリースしたセキュリティ更新プログラム「MS17-010」で、これに対処した。またDoublePulsarは、実行形式型などのファイルなどを伴うことなく感染端末のメモリ上で活動する「ファイルレスマルウェア」とされる。
セキュリティ機関の技術責任者は、こうした点がWannacryの騒動で露呈したセキュリティ対策におけるやっかいな点の1つだと指摘する。
というのも、今回のケースではDoublePulsarが活動するメモリ領域に対して、アンチウイルスなどのセキュリティソフトが積極的に関与できない事情がある。メモリ領域では、コンピュータの正常な稼働プロセスが無数に実行されているため、サードパーティーのセキュリティソフトの関与が正常な稼働プロセスに影響して、クラッシュしたり、ブルースクリーンのような稼働不能状態に陥ったりするリスクがあるためだ。
「何か問題が起きればセキュリティソフトの責任になり、ベンダー側はアクションを起こしづらい。DoublePulsarのような脅威に対しては、迅速なパッチの適用をアドバイスするといったことしかできず、Wannacryなどの別のマルウェアが出現して、ようやく検知などの対応に移れる」(前述の技術責任者)
攻撃者は、逆にこの点を突いてファイルレスマルウェアのような手法を使い始めているという。
今回のWannacry騒動では、身代金を要求するランサムウェア攻撃によって脅威が明るみになったが、そこに至るまでにはOSの脆弱性を悪用する手法の流出と、脆弱性を突いて感染する対応が困難なファイルレスマルウェアの出現という"ステップ"があった。つまり、Wannacryを検知・駆除するだけでは、問題の本質に対処したとは言い切れない。
「アンチウイルスが有効に機能するのは、ファイルタイプのマルウェアやサードパーティーアプリケーションの脆弱性といったものが中心であり、OSの脆弱性のような問題には、やはりベンダーのパッチを適用する基本的な対策を徹底するしかない」(前述の技術責任者)
一方で、パッチ適用によるシステム停止などの問題は過去に幾度となく発生し、特に企業や組織ではその影響が大きいだけに、どうしてもパッチ適用を敬遠してしまう。とはいえ、パッチを適用せず脆弱性を放置すればマルウェアによる被害を受けかねない。
サイバー攻撃の手口は常に変化しているといわれるだけに、パッチ適用という基本的な対策をどのように運用していくか――そこには「リスク管理」という視点も不可欠だ。