メモリ監視だけではダメ

昔、いわゆるコンピュータウイルスが生まれました。
これらはコンピュータ上のファイルとして、通常利用者が望まない動作をするものでした。

次に、いわゆるファイルレス攻撃というものが出てきました。
これらはコンピュータ上のメモリに置かれたコードとして、通常利用者が望まない動作をするものでした。

前者は通常のアンチウイルスソフトでカバーできると思われます。
後者は最近の攻撃検出できるツールでメモリの監視ができるものがあります。

たぶんいままではこれらの対策でカバーできる範囲は大きかったのだと思います。
しかしここに新しいジャンルが生まれてしまっています。
「コンピュータの中のGPU(いわゆるグラフィックカード)の中のメモリに置かれたコードとして、通常利用者が望まない動作をするもの」です。
ここはいままで注目されてきていませんので、まだ対策を提供してくれるものはないのかもしれません。

しかし、すでにこの方式のPoC(Proof of Concept、概念実証)のコードが作成され、ハッカーフォーラムで販売されています。
GPUメモリバッファにアドレス空間を割り当てて悪意のあるコードを格納し、そこから実行することで機能するというものになっています。
コードはOpenCL2.0以降をサポートするWindowsPCでのみ機能するものとなっており、AMDのRadeon RX5700とNvidiaのGeForceGTX740MおよびGTX1650グラフィックスカードで動作することを確認済みであるというのです。
IntelのUHD620 / 630統合グラフィックスでも動作してしまいます。

このPoCコードでは、ページテーブル以外のカーネルのコードとデータ構造にフックや変更を加えることなく、DMA [ダイレクトメモリアクセス]を介してGPUから直接システムのキーボードバッファを監視するという方式が選択されています。
この方法はこれまでは確認されていなかった実装方式です。
もはや「メインメモリ監視だけではダメ」な時代が来ているということなのかもしれません。

どんどん新しい方法が生み出されていきます。
防御側も新しい取り組みが必要になってきていると感じます。

参考記事(外部リンク):Hacker sells tool for hiding malware inside graphics card
VRAM

www.techspot.com/news/91053-hacker-sells-tool-hiding-malware-inside-graphics-card.html