Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
しろおびから始める!ログ活用の第一歩
Search
Shumei Ito
October 10, 2026
Technology
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
しろおびから始める!ログ活用の第一歩
2026年10月9日 情報セキュリティワークショップ in 越後湯沢 車座会議資料
Shumei Ito
October 10, 2026
More Decks by Shumei Ito
See All by Shumei Ito
【インシデント入門】サイバー攻撃を受けた現場って何してるの?
shumei_ito
1
2.4k
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
950
Other Decks in Technology
See All in Technology
「とりあえず動く」の先へ。 AI時代のチーム開発と内部設計/2026-slsdays
slsops
0
150
SREでアラート疲れを 解決しよう!
kairim0
1
200
freeeらしさをAIとともに作る / Creating the freee Experience with AI
ymrl
0
210
【データ横丁主催】AI Agentがコンテキストを使って仕事をした後、何が残るのか― 組織の経験を次の判断に引き継ぐ「Agent Memory」
shisyu_gaku
2
330
IR Today: Theory, Practice, and Agents
dtunkelang
0
350
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
520
生成AIと進める探索的データ分析(2026.10.03 第122回Tokyo.R勉強会)
tatamiya
2
1.4k
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
120
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
150
転んだ話が背中を預ける理由になる / A_story_about_falling_down_gives_you_a_reason_to_watch_each_other_s_backs.pdf
pauli
3
310
[2026-09-30]ロックンロールは鳴り止まないっ - 信頼性かまってちゃん - 「データ駆動を投げ捨ててまで。」追いかける信頼性改善に向けた取り組みの話
tosite
0
210
今こそ知りたいAmplifyGen2
mkdev10
2
150
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Six Lessons from altMBA
skipperchong
29
4.5k
Are puppies a ranking factor?
jonoalderson
2
4k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
350
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
550
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
910
The Limits of Empathy - UXLibs8
cassininazir
1
710
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Transcript
1 しろおび セキュリティ しろおびから始める!! ログの活用 情報セキュリティワークショップ in 後湯沢車座会議
自己紹介 いとう しゅうめい 酔いどれセキュリティコンサルタント。 ログが流れる画面を見ながらお酒を飲むのが好き。 ツマミはダッシュボード。 X:@beer_nomu_nomu 趣味 : 飲み会、宴会、酒席、二次会
資格:CISSP / 情報処理安全確保支援士(登録番号:023313) / PMP
今日のゴール ログの "読み方・集め方・守り方" の 勘どころを持ち帰る 「自社のログが “使える” 状態か確認する」 を 月曜日のタスクに追加する
目次 1 2 3 ログとは何か ログを正しく 使うための条件 攻撃者が狙うログ ログは単なる記録で はなく、重要な証拠で
す。 ログは出すだけ、取る だけで終わりではあ りません。 ログは重要だからこ そ攻撃者にも狙われ ています。 実際の攻撃ログを読 んで重要性を理解し ましょう。 正しく使えるようにす るためのポイントを説 明します。 ログに対する攻撃手 法、それに対する防御 方法を解説します。
その1 ログとは何か
セキュリティにおけるログとは ログと は何か ログを 正しく使 う条件 攻撃者 が狙う ログ コンピュータの利用状況やデータ通信など履歴や情報の記録
PC Web サーバー ファイア ウォール ・監査ログ ・アクセスログ ・アクセスログ ・プロセスログ ・認証ログ ・許可/拒否ログ ・操作ログ ・アプリケー ションログ ・管理操作ログ ・アプリケー ションログ インターネット
ログを読んでみよう① Webサーバーの例 通信元 日時 リクエスト内容 処理結果 通信量 ログと は何か ログを
正しく使 う条件 攻撃者 が狙う ログ 203.0.113.255 [10/Jul/2026:14:23:51 +0900] "GET /admin/login.php?id=1' OR '1'='1 HTTP/1.1" 200 284712213 実際のログは1行で記録される 203.0.113.255 - - [10/Jul/2026:14:23:51 +0900] "GET /admin/login.php?id=1' OR '1'='1 HTTP/1.1" 200 284712213 通信元 日時 リクエスト内容 処理結果 通信量
ログを読んでみよう① Webサーバーの例 通信元 日時 リクエスト内容 処理結果 通信量 ログと は何か ログを
正しく使 う条件 攻撃者 が狙う ログ 203.0.113.255 [10/Jul/2026:14:23:51 +0900] "GET /admin/login.php?id=1' OR '1'='1 HTTP/1.1" 200 login.phpに対して、 284712213 id=1 ‘ OR ‘1’ = ‘1 という クエリを投げている リクエストに対する処理結果 (HTTPステータス) 200は成功したことを意味する 1回のリクエストで、272 MBの 通信が発生している (普通は数十~数百KB) id=1 ‘ OR ‘1’ = ‘1 は、「SQLインジェクション」という攻撃手法。 ログを読むことで攻撃が成功しているということが分かる。
ログを読んでみよう② 怪しい箇所は? ログと は何か ログを 正しく使 う条件 攻撃者 が狙う ログ
198.51.100.23 - - [10/Jul/2026:14:15:08 +0900] "GET / HTTP/1.1" 200 5124 198.51.100.44 - - [10/Jul/2026:14:15:33 +0900] "GET /products HTTP/1.1" 200 16044 198.51.100.44 - - [10/Jul/2026:14:15:34 +0900] "GET /js/app.js HTTP/1.1" 200 24518 203.0.113.14 - - [10/Jul/2026:14:16:52 +0900] "GET /products?page=1 HTTP/1.1" 200 15102 198.51.100.90 - - [10/Jul/2026:14:18:20 +0900] "GET /about.html HTTP/1.1" 200 6002 198.51.100.23 - - [10/Jul/2026:14:19:02 +0900] "GET /index.html HTTP/1.1" 200 5124 198.51.100.23 - - [10/Jul/2026:14:19:03 +0900] "GET /css/style.css HTTP/1.1" 200 8341 203.0.113.14 - - [10/Jul/2026:14:20:11 +0900] "GET /products?page=2 HTTP/1.1" 200 15230 192.0.2.88 - - [10/Jul/2026:14:21:34 +0900] "POST /contact HTTP/1.1" 302 0 203.0.113.255 - - [10/Jul/2026:14:22:47 +0900] "GET /admin/ HTTP/1.1" 403 512 203.0.113.255 - - [10/Jul/2026:14:22:58 +0900] "GET /phpmyadmin/ HTTP/1.1" 404 431 203.0.113.255 - - [10/Jul/2026:14:23:12 +0900] "GET /wp-login.php HTTP/1.1" 404 431 203.0.113.255 - - [10/Jul/2026:14:23:29 +0900] "GET /admin/login.php?id=1 HTTP/1.1" 200 3187 203.0.113.255 - - [10/Jul/2026:14:23:40 +0900] "GET /admin/login.php?id=1' HTTP/1.1" 500 617 203.0.113.255 - - [10/Jul/2026:14:23:51 +0900] "GET /admin/login.php?id=1' OR '1'='1 HTTP/1.1" 200 284712213 198.51.100.76 - - [10/Jul/2026:14:24:03 +0900] "GET /favicon.ico HTTP/1.1" 200 1150 203.0.113.14 - - [10/Jul/2026:14:24:19 +0900] "GET /products?page=3 HTTP/1.1" 200 14988 192.0.2.150 - - [10/Jul/2026:14:25:02 +0900] "GET /../../etc/passwd HTTP/1.1" 400 0 198.51.100.23 - - [10/Jul/2026:14:25:44 +0900] "GET /about.html HTTP/1.1" 200 6002 198.51.100.201 - - [10/Jul/2026:14:26:31 +0900] "POST /newsletter HTTP/1.1" 200 934 203.0.113.60 - - [10/Jul/2026:14:27:10 +0900] "GET /.env HTTP/1.1" 404 431 203.0.113.60 - - [10/Jul/2026:14:27:22 +0900] "GET /.git/config HTTP/1.1" 404 431 198.51.100.44 - - [10/Jul/2026:14:28:05 +0900] "GET /products?page=4 HTTP/1.1" 200 14760 198.51.100.112 - - [10/Jul/2026:14:29:18 +0900] "GET /contact HTTP/1.1" 200 7213 198.51.100.23 - - [10/Jul/2026:14:30:41 +0900] "GET /index.html HTTP/1.1" 200 5124
ログを読んでみよう② 答え ログと は何か ログを 正しく使 う条件 攻撃者 が狙う ログ
198.51.100.23 - - [10/Jul/2026:14:15:08 +0900] "GET / HTTP/1.1" 200 5124 198.51.100.44 - - [10/Jul/2026:14:15:33 +0900] "GET /products HTTP/1.1" 200 16044 198.51.100.44 - - [10/Jul/2026:14:15:34 +0900] "GET /js/app.js HTTP/1.1" 200 24518 203.0.113.14 - - [10/Jul/2026:14:16:52 +0900] "GET /products?page=1 HTTP/1.1" 200 15102 198.51.100.90 - - [10/Jul/2026:14:18:20 +0900] "GET /about.html HTTP/1.1" 200 6002 198.51.100.23 - - [10/Jul/2026:14:19:02 +0900] "GET /index.html HTTP/1.1" 200 5124 198.51.100.23 - - [10/Jul/2026:14:19:03 +0900] "GET /css/style.css HTTP/1.1" 200 8341 203.0.113.14 - - [10/Jul/2026:14:20:11 +0900] "GET /products?page=2 HTTP/1.1" 200 15230 192.0.2.88 - - [10/Jul/2026:14:21:34 +0900] "POST /contact HTTP/1.1" 302 0 203.0.113.255 - - [10/Jul/2026:14:22:47 +0900] "GET /admin/ HTTP/1.1" 403 512 203.0.113.255 - - [10/Jul/2026:14:22:58 +0900] "GET /phpmyadmin/ HTTP/1.1" 404 431 203.0.113.255 - - [10/Jul/2026:14:23:12 +0900] "GET /wp-login.php HTTP/1.1" 404 431 203.0.113.255 - - [10/Jul/2026:14:23:29 +0900] "GET /admin/login.php?id=1 HTTP/1.1" 200 3187 203.0.113.255 - - [10/Jul/2026:14:23:40 +0900] "GET /admin/login.php?id=1' HTTP/1.1" 500 617 203.0.113.255 - - [10/Jul/2026:14:23:51 +0900] "GET /admin/login.php?id=1' OR '1'='1 HTTP/1.1" 200 284712213 198.51.100.76 - - [10/Jul/2026:14:24:03 +0900] "GET /favicon.ico HTTP/1.1" 200 1150 203.0.113.14 - - [10/Jul/2026:14:24:19 +0900] "GET /products?page=3 HTTP/1.1" 200 14988 192.0.2.150 - - [10/Jul/2026:14:25:02 +0900] "GET /../../etc/passwd HTTP/1.1" 400 0 198.51.100.23 - - [10/Jul/2026:14:25:44 +0900] "GET /about.html HTTP/1.1" 200 6002 198.51.100.201 - - [10/Jul/2026:14:26:31 +0900] "POST /newsletter HTTP/1.1" 200 934 203.0.113.60 - - [10/Jul/2026:14:27:10 +0900] "GET /.env HTTP/1.1" 404 431 203.0.113.60 - - [10/Jul/2026:14:27:22 +0900] "GET /.git/config HTTP/1.1" 404 431 198.51.100.44 - - [10/Jul/2026:14:28:05 +0900] "GET /products?page=4 HTTP/1.1" 200 14760 198.51.100.112 - - [10/Jul/2026:14:29:18 +0900] "GET /contact HTTP/1.1" 200 7213 198.51.100.23 - - [10/Jul/2026:14:30:41 +0900] "GET /index.html HTTP/1.1" 200 5124 通信元 203.0.113.255 が複数の ページにアクセスをして、探索している SQLインジェクション成功
ログを何に使うか ログと は何か ログを 正しく使 う条件 攻撃者 が狙う ログ 同じログでも、「いつを見るか」で、取り方・残し方が変わる
過去 いま 事後調査 事後対応 リアルタイム 見逃していないか? 何が、どこまで起きたのか? 攻撃されてないか? • 潜んでいる痕跡を掘 り出す • 発生事象を突き止める • 攻撃されている最中 に気づく • アラートが出なくて も、自分から探しに行 く • 影響範囲を特定する • 事実を証跡として示し、 求めに応じて提出する • 人が見ていなくても、 自動でアラートを出す
ログがある・ない場合 ログと は何か ログを 正しく使 う条件 攻撃者 が狙う ログ ログが無いと、「何も起きなかった」
ことすら証明できない 局面 ログがある ログがない 平時 ◦ 誰が何をしたか、追える ✕ 追えない。障害の原因も不明 攻撃の最中 ◦ 異常や侵害に、気づける ✕ 気づけない 事件の後 ◦ 影響範囲を特定・説明できる ✕ 特定できず、説明もできない その先 ◦ 原因を掴み、再発を防げる ✕ 原因不明のまま、また起きる 抑止 ◦ 見られている=やりにくい ✕ 見られていない=やりたい放題
その2 ログを正しく使うための条件
ログが「使える」状態とは ログと は何か ログを 正しく使 う条件 攻撃者 が狙う ログ どれか一つでもコケると、その先がすべて無効になる
1 漏れなく集める 2 使える形に 整える 3 使える形を 保ち続ける ログを取るべき機器が把握 別々の機器のログでも 過去のログが決めた期間ぶ できており、送信でも受信で フォーマットが揃っており、 ん残っており、今も変わらず も欠落が起きていない 横断的に検索できる 利用できる
× 出している ◦ 届いている 漏れなく集める 1 出力する 使える形に整える 2 転送する
ログと は何か ログを 正しく使 う条件 攻撃者 が狙う ログ 使える形を保ち続ける 3 受信する ログが出力されるよう 設定する。デフォルト設 定では出力しない機器 もある。 ログを収集側へ転送す る。送る設定と経路が 要る。 送られたログを、受信し て保存する。受け側に も設定が要る。 ✕ 出力設定がオフのまま ✕ 平時のログは出力しない ✕ 輻輳時に捨てられる ✕ 経路変更で届かなくなる ✕ バッファが溢れて欠ける ✕ 受信側の設定漏れ 合格ライン ログを取るべき機器が把握できており、送信でも受信でも欠落が起きていない やること 出力設定を有効にして機器を一覧管理 / 再送できる方式で送る / 受信件数を監視 確かめ方 受信件数を機器ごとに時間軸でグラフ化し、ゼロや急減がないか目で見る
機器をまたいで追えるようにする 漏れなく集める ログと は何か 使える形に整える Before ログを 正しく使 う条件 攻撃者
が狙う ログ 使える形を保ち続ける After 2026-07-10T05:23:51Z web01 status=200 Jul 10 14:23:51 fw01 ACCEPT src=203.0.113.255 10/Jul/2026:14:23:51 +0900 proxy1 client=... 2026-10-09 14:23:51 +0900 web01 src=203.0.113.255 2026-10-09 14:23:51 +0900 fw01 src=203.0.113.255 2026-10-09 14:23:51 +0900 proxy1 src=203.0.113.255 → 表記もタイムゾーンもバラバラ → 同じ時刻に並び、同じ名前で引ける 合格ライン 別々の機器のログでもフォーマットが揃っており、横断的に検索できる やること 時刻を同期する / 項目名を共通化する / 文字コードをUTF-8に揃える 確かめ方 わざとログイン失敗を1回起こし、全機器のログが同じ時刻に並ぶかを見る
1年後も、同じように読めるようにする 漏れなく集める 導入直後 ログと は何か 使える形に整える 3か月後 ログを 正しく使 う条件
使える形を保ち続ける 1年後 正しい状態 全部見えている 残容量を監視し、 消える前に対処 する 担当が変わっても 管理できている 放置された状態 全部見えている 容量が埋まり 古い順に消え始める 攻撃者 が狙う ログ 担当が代わると 誰も見なくなる 当時のログが 見られる 見たい時期の ログがもう無い 合格ライン 過去のログが決めた期間ぶん残っており、今も変わらず利用できる やること 保存期間を目的から決める / 残容量と増加ペースを監視する / 担当を決める 確かめ方 半年前の日付で当時のログを検索し、出てくるか・読めるかを見る
点から線に、線から面にする 漏れなく集める ログと は何か 使える形に整える 1つのログだけでは「そ の瞬間」しか分からない 線 ログを時系列に並べる と、動きの流れが見える
面 複数機器のログを重ね ると、全体像と関連が見 える 攻撃者 が狙う ログ 使える形を保ち続ける SIEM = 3条件を仕組みで担保する ログの価値は、並べ方で決まる 点 ログを 正しく使 う条件 集める 転送先を1か所にまと め、到達状況を見張る 2 整える 機器ごとに違う形式 を、取り込むときに自動 で揃える 3 保存期間・権限・容量 保ち続ける を、1か所でまとめて管 理する 1 SIEMを入れれば解決、ではない。 3つの条件が分かった上で使うことで、初めて効果が出る。
その3 攻撃者が狙うログ
ログに残らない箇所に攻撃コードを入れる ログと は何か ログを 正しく使 う条件 攻撃者 が狙う ログ 記録・検査できる文字列の長さには上限があるため、
攻撃コードを上限値を超えた箇所に隠す。 攻撃者が送ったリクエスト /admin/login.php?id=1&pad=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA …(約8000字)… 記録‧検査の上限 ' OR '1'='1 ← 本命の攻撃コード ログでの見え方 203.0.113.255 - - [10/Jul/2026:14:23:51 +0900] "GET /admin/login.php?id=1&pad=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ここで切れている(攻撃コードは残っていない)↑ クエリ文が “異常に長い” という事実そのものを記録・検知する 対策 上限超過は通さず弾く(fail-closed) アクセスログ以外(アプリケーション, 通信量)とも突き合わせる
ログそのものを消しに来る ログと は何か ログを 正しく使 う条件 攻撃者 が狙う ログ 管理者権限が取られると、ログ自体を消される
✕ まるごと消す ✕ 自分の行だけ削除 ✕ 時刻を狂わせる ログファイルを削除、ま たは中身を空にする 侵入の痕跡だけを1行 ずつ選んで取り除く タイムスタンプを改ざん し、前後関係を分からな くする 例)ログファイル自体、 イベントログを消去 例)自分のIPを含む行 を消去 例)ファイル日時を偽 装、時刻を巻き戻す 退避する 生成と同時に別サーバへ転送する。端末の権限では届かない場所に移す 守る 追記のみ許可し、書き換え不可状態で保存する。ログファイルの編集をできなくする 残す 保存期間を十分に取る。侵入が数か月気づかれなくても、当時の記録が残る
まとめ
持ち帰っていただきたいこと 4つのキーワード 集める 整える 保ち続ける 読む 何を残すか 目的から決める 時刻と形式を 合わせる
消える前に対処し、 改竄からも守る 並べ直して 点を線にする 立場ごとの、まずやる一歩 まず見る 調べることになったら 管理側になったら • 自分のPCのログを1 行、5W1Hで説明して みる • 原因を探す前に、まず時 系列に「並べる」 • 目的から逆算して「何を 残すか」を決める • 複数ログの時刻ズレを、 最初に確認する • 別の場所へ逃がす/消 せない形で保存する • 「無い」ことも情報。欠け た時間帯に注目する • 取れているか、定期的に 自分の目で確かめる • 「読める」感覚を、小さく 何度もつくる
【参考】 優先的に取っておきたいログ 左の5つが、「誰が・どこから・何をしたか」の土台になる 優先的に取るべきログ 1 認証ログ 誰が入ったか Windows 4624/4625、auth.log 2
通信ログ どこと通信したか ファイアウォール、プロキシ 3 Webアクセスログ 攻撃の入口になりやすい Apache / nginx の access_log 4 操作・実行ログ 端末で何が動いたか プロセス生成、EDR、sysmon 5 管理操作ログ 攻撃者が必ず触る 権限付与、アカウント作成 余裕ができたら ・ クラウド監査ログ 今やインシデントの主戦場 ・ DNSログ C2通信・持ち出し先の手がかり ・ メール関連ログ 侵入の入口(最初の1通)を追う ・ DBアクセスログ “何件出たか”を裏付ける ・ VPN・リモートアクセス 外からの侵入経路として要注目
【再掲】 今日のゴール ログの "読み方・集め方・守り方" の 勘どころを持ち帰る 「自社のログが “使える” 状態か確認する」 を
月曜日のタスクに追加する