3章ファイルのメタデータを特徴量にしたマルウェア検出

情報セキュリティで最も厄介な脅威のひとつに、悪意あるプログラム(マルウェア)があげられる。マルウェアによる情報漏洩やサイバー攻撃に関するニュースを、毎日のように耳にしているだろう。攻撃者は開発スキルを強化しており、企業のセキュリティ対策手段やウイルス対策製品を迂回できる新しいマルウェアを作成しているのだ。この章では、最先端のデータサイエンス、Pythonライブラリ、機械学習アルゴリズムを駆使して、マルウェアを撃退するための新しい手法とソリューションを紹介していく。

この章では次の内容を取り扱う。

  • マルウェア解析の手法
  • 実践的かつ現実的なPythonによる開発で、マルウェア解析の手法を手助けする機械学習技術

3.1 マルウェアの概要

マルウェアとは、利用者の同意なしに情報システムに侵入し、被害を与えるように設計された悪意あるソフトウェアである。マルウェアという用語には、次のような多くのサブカテゴリが含まれる。

  • 狭義のコンピュータウイルス
  • ランサムウェア
  • ワーム
  • トロイの木馬
  • バックドア
  • スパイウェア
  • キーロガー
  • アドウェアやボット、ルートキット

3.1.1 マルウェア解析

マルウェア解析者の仕事は、システムに何が起こったのかを正確に確認し、悪意あるソフトウェアによって被害を受けたPCが組織のネットワークから隔離されるようにすることである。マルウェア解析には、表層解析、動的解析、メモリ解析†1の3つの手法がある。それらをひとつずつ説明する。

[†1] 訳注:さらにもうひとつ、アセンブリレベルでマルウェアの感染活動を確認していく静的解析がある。静的解析には、マルウェアの挙動に関する知識だけではなく、OSや低レイヤーに関する知識、プログラミング経験などの技術知識が必要になる。静的解析で使用するマルウェアのディスアセンブル結果は、機械学習においても、オペコードやオペランドのn-gramを特徴量にすることなどで、マルウェア検出に利用できる。 ...

Get セキュリティエンジニアのための機械学習 ―AI技術によるサイバーセキュリティ対策入門 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.