マルウェア データサイエンス サイバー攻撃の検出と分析

マルウェア データサイエンス サイバーコウゲキノケンシュツトブンセキ

マルウェア データサイエンス サイバー攻撃の検出と分析の表紙
ハードウェア
著者:
Joshua Saxe / Hillary Sanders / 株式会社クイープ(ジョシュア サックス / ヒラリー サンダース / カブシキガイシャクイープ)
出版社:
マイナビ出版
出版日:
2019年10月23日頃
ISBN:
9784839968069
在庫:
在庫あり
0
中級者向け
Python機械学習深層学習scikit-learnニューラルネットワークセキュリティサイバーセキュリティデータサイエンス統計データ可視化

なぜ注目されているか

総合1403位 ↑ 3 ランクアップ

書籍紹介

悪意を持つソフトであるウイルス・マルウェア (malware) は年々増え続けその手口も高度化しつつあります。

本書ではマルウェアの検出・分析に、機械学習、統計、ソーシャルネットワーク分析、データ可視化など「データサイエンス」の手法を導入・活用する方法を伝授。scikit-learn、Keras で独自のマルウェア検出器を構築する方法を解説します。

・コード分析で "同じ攻撃者" が作成する "新しいマルウェア"を特定
・独自の機械学習検出システムを構築し、ゼロデイ攻撃・マルウェアを捉える

・マルウェア検出器の精度を ROC 曲線で測定し、セキュリティの最善アプローチを選択

・データの視覚化で、マルウェアの傾向を特定・調査

・DNN (ディープニューラルネットワーク) ベースの検出システムを Python で実装

データサイエンティストを目指す方、悪意を持つソフトウェア撃退のためデータサイエンス、ディープラーニングを活用したい方には最適の書籍となるでしょう!

no starch press『Malware Data Science:Attack Detection and Attribution』の翻訳書。

1 章 マルウェアの静的解析の基礎
2 章 静的解析の応用: x86 逆アセンブリ

3 章 速習: 動的解析

4 章 マルウェアネットワークを使った攻撃キャンペーンの特定

5 章 共有コード解析

6 章 機械学習に基づくマルウェア検出器の概要

7 章 機械学習に基づくマルウェア検出器の評価

8 章 機械学習に基づくマルウェア検出器の構築

9 章 マルウェアの傾向を可視化する

10 章 ディープラーニングの基礎

11 章 Keras を使ってニューラルネットワークマルウェア検出器を構築する

12 章 データサイエンティストになろう

A 付録: データセットとツール

技書の森解説

マルウェアの検出と分析に、機械学習、統計、ソーシャルネットワーク分析、データ可視化といったデータサイエンスの手法を持ち込む方法を、Python のコードで示した翻訳書です。『マルウェア データサイエンス サイバー攻撃の検出と分析』は Joshua Saxe、Hillary Sanders 著、株式会社クイープ 訳で、マイナビ出版から 2019 年 10 月 23 日に発売されました。原書は no starch press の『Malware Data Science: Attack Detection and Attribution』です。刊行時の著者プロフィールでは、Saxe はセキュリティソフトウェアベンダー Sophos のチーフ・データサイエンティスト、Sanders は同社のシニアソフトウェアエンジニア & データサイエンティストと紹介されています。版元の紹介文は、データサイエンティストを目指す人と、マルウェア対策にデータサイエンスやディープラーニングを活用したい人を読者に挙げています。

全 12 章の構成、PE ファイルの解析から Keras の検出器まで

本書は全 12 章と付録 A で構成されます。第 1 章から第 3 章は分析の下ごしらえで、第 1 章で Windows の PE フォーマットを pefile で読み、画像や文字列を調べ、第 2 章で pefile と capstone を使った x86 の逆アセンブル、第 3 章で動的解析の基本ツールとその制限を扱います。第 4 章は NetworkX と GraphViz で検体どうしの関係をネットワークとして組み、攻撃キャンペーンの特定に使う章です。第 5 章では検体から抽出した特徴をジャカール係数で比べて類似度を数量化し、永続的な類似度検索システムの構築まで進みます。第 6 章から第 8 章は機械学習による検出器の概要、評価、構築の順で、第 8 章は決定木による単純な検出器から sklearn を使った実用的な検出器へと段階を踏みます。第 9 章は matplotlib と seaborn による傾向の可視化、第 10 章と第 11 章はディープラーニングの基礎と Keras でのニューラルネットワーク検出器の構築です。第 12 章「データサイエンティストになろう」はキャリアパスや仕事の 1 日を扱い、付録 A がデータセットの概要とツールの実装ガイドにあてられています。

検出器の評価で基準率が効く理由

パターンファイルに頼る従来型の検出は、既知の検体に一致する特徴を人手で書き足していく方式なので、少しずつ姿を変えた亜種には追いつきにくい面があります。機械学習 による検出は、大量の検体と正常なファイルから特徴を取り出し、両者を分ける決定境界を学ばせることで、見たことのない検体にも判定を広げようとする考え方です。ここで難しいのは、精度の数字の読み方です。現実のファイルの大半は正常なので、誤検出の割合がわずかでも、全体では正常なファイルへの警告が大量に出ます。本書の第 7 章は検出結果を 4 種類に分け、評価の基準率という節を置いています。版元の紹介文にある ROC 曲線も、検出できる割合と誤検出の割合の兼ね合いを一枚で見比べるための道具であり、どこにしきい値を置くかは運用側の判断になります。第 6 章には過学習と学習不足の節があります。

共有コード解析と類似度の比較、ネットワークの可視化

検体を 1 つずつ見るだけでは、同じ攻撃者が作った別の検体どうしのつながりは見えません。共通する文字列やコード片、画像を特徴の集合として扱い、集合どうしの重なりで類似度を測ると、手作業では追いきれない数の検体を系統ごとにまとめられます。検体が増えるほど総当たりの比較は重くなるため、第 5 章には類似度の比較のスケーリングを扱う節があります。こうした関係をネットワークや図にして眺める作業は、統計とプログラミングを組み合わせてデータから知見を引き出す データサイエンス の典型的な進め方でもあります。

目次に並ぶ Python の道具と、2019 年の刊行時点

目次に並ぶ pefile、capstone、NetworkX、sklearn、matplotlib、seaborn、Keras は、いずれも Python から使う道具です。第 10 章は ニューラルネットワーク の仕組みと訓練から説明を始めます。本書は 2019 年の刊行で、ライブラリの版や呼び出し方は刊行時点の環境のものです。逆アセンブルや動的解析は、第 1 章から第 3 章で分析の下ごしらえとして扱われます。

本書は、検体の解析から検出器の構築と評価、傾向の可視化までを全 12 章で扱います。

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: