
拓海先生、最近うちの現場でも「マルウェア対策を強化しろ」と言われまして、何から手を付ければいいのか途方に暮れております。要するに、今の対策で本当に足りているのか知りたいのです。

素晴らしい着眼点ですね!大丈夫、一緒に整理すれば必ずできますよ。今日はAndroidのマルウェア研究で重要な論文を、投資対効果の観点も踏まえて平易に解説しますよ。

論文というと構えてしまいますが、結局何が分かったのですか?現場で使える要点を3つくらいで教えてください。

いい質問ですよ。要点は3つです。1) 大量のサンプル解析からマルウェアの振る舞いが短期間で変わると分かったこと、2) 正規アプリに悪意をくっつける“リパッケージ(repackaging)”が安価な攻撃手法であること、3) 解析では差分抽出(differential analysis)で悪性部分を切り分けると有効だという点です。専門用語は後で一つずつ身近な例で説明しますよ。

差分抽出というのは要するに「良い部分と悪い部分を引き算して見る」ということですか?それなら現場でも直感的に分かりそうです。

その通りですよ。差分抽出は「類似した複数アプリを比較して、共通する追加部分を悪性ライダー(rider)として特定する」方法です。経営で言えば、複数の商品パッケージの中から最近追加された不審な成分だけを取り出す作業に似ていますよ。

なるほど。しかし、うちの投資でそこまで解析基盤を作る価値はありますか。短期間で変わるなら、投資が無駄になりませんか。

大丈夫、投資対効果の観点を忘れてはいけませんよ。要点は三つです。1) データを継続的に更新することで検出モデルの陳腐化を避けられる、2) 差分抽出の基盤は最初に作れば新しい変化にも応用できる、3) 検出は機械学習だけで完結せず、特徴設計(feature engineering)と組み合わせることで費用対効果が高まりますよ。

特徴設計って何でしたっけ。難しそうですね。うちでできる範囲の運用はどういうイメージになりますか。

特徴設計(feature engineering)は、機械学習に与える「入力」を作る作業ですよ。身近な例で言えば、販売データから「月間の返品率」「初回購入からの期間」などを人が設計してモデルに渡す作業です。マルウェアなら「特定API呼び出しの有無」「リソースに組み込まれた暗号化された文字列の存在」などを指標にします。最初は小さな指標群で始め、効果が出れば徐々に増やしていけばよいのです。

わかりました。最後に、研究のインパクトを一言で言うと何になりますか。これを部長会で使いたいのです。

素晴らしい視点ですね!一言で言えば「マルウェアは速く変わるから、最新データと差分抽出で狙い撃ちする検出基盤を持つことが要件だ」ですね。大丈夫、一緒に要点を資料に落とし込めますよ。

承知しました。では、自分の言葉でまとめます。今回の研究は「大量の最新サンプルで解析し、正規アプリに付けられた悪い部分だけを差分で抽出して監視すべきだ」ということですね。これで発表します。


