
拓海さん、最近部下から『国家が関わる高度なマルウェア(APT)が増えている』って言われて、うちも対策を考えないとまずいと言われたんですけど、正直何から手をつけていいか分かりません。そもそも『帰属(どの国が作ったか)』って本当にわかるんですか?

素晴らしい着眼点ですね!大丈夫、可能性はありますよ。要点を3つで説明すると、1) 生の挙動ログ(サンドボックスの記録)を使う、2) 深層ニューラルネットワーク(DNN)で特徴を自動抽出する、3) 少ないデータでも有効に学習させる工夫です。順番に噛み砕いて説明できますよ。

まず『サンドボックスの記録』って何ですか。社内で見たことない言葉ですし、それをどう使うんですか?

良い質問です。サンドボックス(sandbox、動的解析環境)とは、安全な箱の中でマルウェアを実行し、ファイル操作やネットワーク通信などの『挙動ログ』を記録する仕組みです。イメージは試作工場で試作品を動かして挙動を観察するようなものですよ。原データをそのまま機械に食わせることで人手の特徴設計を減らすのです。

なるほど。で、DNNって結局何が違うんですか?今までも特徴を人が作って分類する方法はあったはずですよね。

素晴らしい着眼点ですね!従来は専門家が『これは指標だ』と特徴量を設計してから学習に回していました。DNN(Deep Neural Networks、深層ニューラルネットワーク)は、生データから高次の特徴を自動で学習できます。つまり『どの挙動の組み合わせが国ごとに特徴的か』を人手なしで見つけられるのです。

しかし問題はデータ量です。国家レベルのAPTはサンプル数が少ないはず。少ないデータで学習しても意味があるのですか?

その懸念も的確です。論文ではデータの扱い方を工夫しています。まず、個々のサンプルを原文そのまま(raw sandbox reports)で扱い、手作業の前処理を減らすことで情報の損失を抑えます。次に訓練とテストで『別の開発組織』のサンプルを分けることで、過学習(学習対象に特化しすぎること)を防いでいます。結果的に少数でも有効なモデルが作れるのです。

これって要するに『挙動の生データを食わせて深層学習に任せれば、どの国の手口かをかなり高精度で当てられる』ということですか?

その理解でほぼ合っていますよ。論文では中国製とロシア製のAPTを使ったテストで約94.6%の精度を報告しています。ただし、これは万能ではなく、組織の開発手法や運用方針が変われば性能は落ちます。だからこそ継続的なデータ収集とモデル更新が重要です。

導入コストと運用を考えると、うちのような中小企業が取り入れる価値はありますか。投資対効果の目線で教えてください。

大丈夫、一緒にやれば必ずできますよ。要点を3つで整理します。1) 最初は外部の分析サービスを使い、サンドボックス録を収集する。2) 既存のモデルやプレプリント研究を活用してPoC(概念実証)を短期間で回す。3) 自社に見合った継続運用とガバナンスルールを設定する。こうすれば初期投資を抑えつつ効果検証ができるんです。

分かりました。では最後に、私の言葉でまとめさせてください。あの、要するに『マルウェアの振る舞いを生の記録で学習させると、国ごとの作り方の違いが機械的に見えてきて、ある程度の精度で帰属できる。小規模でも外部リソースを使いPoCで効果を確かめれば現実的だ』という理解で合っていますか?

その理解で完璧ですよ。大変良いまとめです。これで次の会議資料も作れますよね?


