書籍概要

Software Design plus

セキュリティのためのログ分析入門 サイバー攻撃の痕跡を見つける技術

著者
発売日
更新日

概要

2020年の東京オリンピックはサイバー犯罪者には格好の標的。日本ではこの1,2年間にシステムへのサイバー攻撃や不正アクセスが急増すると言われています。本書で解説するログ分析は,コンピュータシステム(とくにインターネットにつながっているWebシステム)で記録されているログ(操作や処理の記録)から,サイバー攻撃の兆候をできるだけ早く見つけ出すための手法です。
本書は,企業のシステム担当者や,情報セキュリティの専門家をめざしている若手エンジニア・学生向けに,ログの監視・分析手法を解説します。ログ分析は継続的に行ってこそ意味のあるものです。そのため,できるだけ費用や手間をかけずに無理なく実践するためのノウハウも紹介します。自分で対策するにしろ,専門家に頼むにしろ,本書が対策を 考えるきっかけになるはずです。

こんな方におすすめ

  • 自社のセキュリティ対策について迷っている人
  • 自社へのサイバー攻撃をすぐに検知したい人
  • ログ分析の手法を知りたい人

サンプル

目次

第1部 ログ分析とセキュリティ
第1章 ログとは何か

  • 1.1 世の中にあふれるログ
  • 1.2 ログの役割
  • 1.3 ログ分析の変遷
  • 1.4 ますます重要になるログ分析
  • 1.5 本書の構成

第2章 サイバー攻撃とセキュリティログ分析

  • 2.1 身近になったサイバー攻撃の脅威
  • 2.2 何が攻撃にさらされているのか
  • 2.3 どのような攻撃にさらされているのか
  • 2.4 どのように防御していくのか?
  • 2.5 セキュリティログ分析の特徴
  • 2.6 セキュリティログ分析の流れ

第2部 ログ分析に使えるツールやコマンド
第3章 ログ分析に使えるおもなツール

  • 3.1 OS標準コマンド
  • 3.2 ログ分析ツール
  • 3.3 SIEM
  • 3.4 Splunk

第4章 Linux標準コマンドによるログ分析

  • 4.1 grep
  • 4.2 集約して数え上げ:uniq -c
  • 4.3 Process Substitutionとgrepの合わせ技

第5章 Windows標準コマンドとPowerShellによるログ分析

  • 5.1 find/findstr
  • 5.2 sort
  • 5.3 fc
  • 5.4 PowerShell
  • 5.5 Windows Subsystem for Linux(WSL)

第3部 Webサーバのログ分析
第6章 Apache httpdのログの設定

  • 6.1 Webサーバの概要
  • 6.2 設定ファイルとおもな設定項目
  • 6.3 combinedログ形式
  • 6.4 分析に必要なログ項目
  • 6.5 mod_dumpio

第7章 Webサーバのログが示す攻撃の痕跡とその分析

  • 7.1 攻撃者の検知回避テクニック
  • 7.2 調査行為を伴う攻撃
  • 7.3 侵入された痕跡の発見
  • 7.4 User-Agentによる不審クライアント調査

第4部 Webサーバ以外のログ分析
第8章 プロキシログの概要

  • 8.1 プロキシサーバの概要
  • 8.2 標準的なプロキシログの形式

第9章 IPSログの概要

  • 9.1 IPSの概要
  • 9.2 標準的なIPSログの形式

第10章 プロキシ/IPSログに現れる攻撃の痕跡とその分析

  • 10.1 プロキシログとIPSログとの決定的な違い
  • 10.2 プロキシログ分析の重要性
  • 10.3 具体的な事例に基づくログの活用方法

第11章 ファイアウォール・ログを利用した解析

  • 11.1 ファイアウォールの概要とネットワークの構成例
  • 11.2 ファイアウォールで得られるログ
  • 11.3 ファイアウォール・ログを利用した解析例

第5部 アクセスログに現れない攻撃の検知と防御
第12章 システムコールログが示す攻撃の痕跡

  • 12.1 OSのシステムコールとは
  • 12.2 Linux Auditとは
  • 12.3 Linux Auditの設定
  • 12.4 Linux Auditに含まれる各種ツール
  • 12.5 監査ログの見方
  • 12.6 Apache Struts 2 DMIの脆弱性を悪用した攻撃
  • 12.7 ImageMagickの脆弱性を悪用した攻撃

第13章 関数トレースログが示す攻撃の痕跡

  • 13.1 SystemTapとは
  • 13.2 SystemTapの設定
  • 13.3 OpenSSL Heartbeatの脆弱性を悪用した攻撃
  • 13.4 システムコールログや関数トレースログを用いるメリット/デメリット

第14章 仮想パッチ(Virtual Patching)による攻撃の防御

  • 14.1 ImageMagickの脆弱性に対する仮想パッチ
  • 14.2 OpenSSL Heartbeatの脆弱性に対する仮想パッチ
  • 14.3 仮想パッチによる攻撃防御のメリット/デメリット

第6部 さらに分析を深めるために
第15章 分析の自動化

  • 15.1 運用の現場,壁にぶち当たる――筆者が分析を自動化した理由
  • 15.2 ログ分析自動化はどうやるのか?――すぐにできる自動化のレシピ
  • 15.3 R言語を使用したログ分析――可視化と自動化まで

第16章 ログ分析のTIPS

  • 16.1 ログ分析にまつわる素朴な疑問
  • 16.2 ログ分析用の環境を準備する
  • 16.3 ログ分析用スクリプトを自作するときのヒント
  • 16.4 ログ改ざんを防ぐには

サポート

ダウンロード

(2018年8月30日更新)

第6部「さらに分析を深めるために」に掲載しているサンプルコードを以下からダウンロードできます。「SecurityLog_samplecode.zip」は圧縮ファイルです。解凍したうえでご利用ください。

サンプルコードの詳細については,圧縮ファイル内の「README.txt」を参照してください。

ダウンロード
サンプルコード(SecurityLog_samplecode.zip)

免責:本サンプルを使用することによって,使用者が受けたあらゆる不利益に対して,原著者および技術評論社はその責任を負いません。

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2019年5月31日最終更新)

P.154,3行目

"5min ago"のあとの半角空白が抜けていました。

/usr/bin/detect_dos.sh `date --date "5min ago""+%Y-%m-%d-%H:%M"`
/usr/bin/detect_dos.sh `date --date "5min ago" "+%Y-%m-%d-%H:%M"`

P.154,7行目

"5min ago"のあとの半角空白が抜けていました。また,%を\でエスケープする必要がありました。

*/5 * * * * /usr/bin/detect_dos.sh `date --date "5min ago""+%Y-%m-%d-%H:%M"` > /dev/null 2>&1
*/5 * * * * /usr/bin/detect_dos.sh `date --date "5min ago" "+\%Y-\%m-\%d-\%H:\%M"` > /dev/null 2>&1

商品一覧