
拓海先生、お時間よろしいですか。部下から『最近の論文でWindows向けマルウェア検出を簡単に欺く手法が出ている』と聞いて怖くなりました。うちの工場の製造PCは大丈夫でしょうか。

素晴らしい着眼点ですね!大丈夫です、順を追って説明しますよ。最近の研究は学習型(machine learning: ML/ディープラーニング: DL)を使う検出器を、現実的な条件で回避できるかを調べています。要点は三つですから、まず全体像をつかみましょう。

その三つとは何でしょうか。現場に導入する場合の投資対効果(ROI)が気になります。検出器をすり抜ける具体的方法があるのですか。

要点一つ目は『現実的なブラックボックス攻撃(black-box attack: ブラックボックス攻撃)』です。これは攻撃者が検出器の中身を知らなくても、検出を回避するファイルを作れることを示します。例えるなら、工場の検査機械の仕様を知らずに、製品の外観だけを変えて検査をパスするようなものです。

これって要するに、検出器の内部仕様を知らなくても同じ悪さができるということですか?それだと対策が難しい気がします。

その通りです、素晴らしい確認です!要点二は『実際に動くマルウェアファイルを保ちながら回避する技術』です。ここでは制御フローグラフ(control-flow graph: CFG、制御フローグラフ)を細かく操作して、プログラムの見た目を変えつつ機能は維持します。工場で言えば内部の配線を変えずに、検査カメラの映像だけをすり替えるような工夫です。

なるほど。具体的にはどんな操作をするのですか。うちのIT部が手作業で修正できる範囲の話でしょうか。

ここが要点三になります。彼らは”call-based redividing”という細分化手法で、CFGのノード(命令ブロック)とエッジ(制御のつながり)を再編して特徴を変えます。実務的には自動化されたツールで実行可能で、人手では難しい調整を行うため、単純なパッチでは追いつきにくいのです。

自動化ツールか…。攻撃成功率はどの程度ですか。うちのセキュリティ投資を増やすべきか判断したいのです。

評価では攻撃成功率が非常に高く、学術的な検出器に対しては95%を超える例が報告されています。商用のアンチウイルス製品に対しても11%から75%程度で成功するケースが示されています。したがって投資判断は、既存の検出層だけで守れるか否かを見極めることが鍵になります。

それを聞くと不安ですが、では具体的に我々は何をすればいいですか。検出器の入れ替えだけで対応できる話なのですか。

大丈夫です、一緒に整理しましょう。対応は三層です。第一に検出器の多様化、第二に振る舞い解析(behavioral analysis: 行動解析)を併用すること、第三に学習モデルの堅牢化(robustness: ロバストネス)です。つまり検出技術の重ね合わせと、検出器の学習過程での対策が必要になります。

なるほど、要するに多層防御を整えてモデル自体を強くするということですね。私なりに整理すると、まず監視と検出層を増やし、次に疑わしい挙動を検査し、最後に検出モデルに攻撃想定を組み込む、と。

完璧です、その通りですよ。短くまとめると三点です。対策は層を重ねること、検出は静的解析だけでなく動的解析も必要なこと、そしてセキュリティ評価で定期的に攻撃シナリオをテストすることです。大丈夫、一緒に計画を立てられるんですよ。

ありがとうございました。私の言葉で整理します。学習型検出器は中身を知られなくても欺かれる可能性がある。だから検出器を一つに頼らず、挙動の監視を増やし、モデルを強化することでリスクを下げる、という理解でよろしいですね。


