サイバーセキュリティ企業enSiloの研究チームは米国時間10月27日、「AtomBombing」という名称のコードインジェクション手法を明らかにした。この手法は、「Windows」の全バージョンに対して適用可能であり、マルウェアの感染を防ぐために現在利用されているセキュリティソリューションでは防ぐことができないという。

この手法は、Windowsが内部で使用しているアトムテーブルと呼ばれる領域を悪用する。

enSiloの研究チームによると、アトムテーブルに悪意のあるコードを書き込み、（マルウェアに感染していない）正当なプログラムに対してそのコードを読み込むよう強制することができるという。そして、こうした手法を用いた場合、セキュリティソフトウェアでは攻撃を検知できないという。

また同チームは、こういったコードを読み込んだ正当なプログラムに対して指示を与えることで、悪意のあるコードを実行するよう仕向けることもできると述べている。

なお、研究者らはコードインジェクションについて、以下のように説明している。

例えば、攻撃者がevil.exeという悪意のある実行可能ファイルを用意し、それをユーザーに実行させることに成功したと考えてほしい。こうした場合でも、アプリケーションレベルのファイアウォールがコンピュータ上にインストールされていれば、それがどのようなものであっても、この実行可能ファイルからの通信をブロックできるはずだ。 evil.exeはこういった問題を乗り越えるために、ウェブブラウザなどの正当なプログラムに自らの通信を肩代わりさせられるよう、正当なプログラムを操る方法を見つけ出さなければならない。

攻撃者はAtomBombing手法を用いることで、セキュリティ対策製品をう回し、機密情報を盗んだり、スクリーンショットを取得できるほか、パスワードが暗号化されていたとしてもアクセスすることすら可能になるという。

パスワードへのアクセスが可能になるのは、例えば「Google Chrome」のようなアプリケーションがパスワードを保存する際の暗号化にWindowsの「Data Protection API」（DPAPI）を使用しているためだ。カレントユーザーのコンテキストで稼働するプロセスにマルウェアが注入された場合、これらのパスワードは平文で読めるようになる。というのも、同APIはカレントユーザーのデータを用いて、こういったパスワードへのアクセスや、情報の暗号化と復号化を行うためだ。

コードインジェクションの手法は既知のものや確立したものが多数存在するが、ウイルス対策ソフトベンダーは、シグネチャをアップデートして、エンドポイントの侵害を防いでいる。しかしAtomBombingは、新たな手法として、現在のウイルス対策ソフトだけでなく、すべての現在のエンドポイント侵害防止ソリューションを迂回可能になっているとenSiloは述べる。

AtomBombingは、攻撃するのにセキュリティ脆弱性や破損したコードではなく、Windowsの内部の仕組みを利用することから、パッチや修正が手に入らない。

研究チームが述べているように、ツールを使って攻撃を緩和できる可能性のある唯一の手段は、APIを把握して疑わしい変更を監視することだ。