セキュリティ特化

セキュリティ入門
+ AIセキュリティ

基礎(マルウェア/脆弱性/防御)→ 後半で LLM/RAG/Agent

→ 矢印キー / スペース / ボタン(全画面: F)

まずは守る目的(CIA)

  • Confidentiality — 機密性:漏らさない(個人情報・社内情報・鍵)
  • Integrity — 完全性:改ざんさせない(DB更新・支払い・権限)
  • Availability — 可用性:止められない(DoS・コスト爆発・障害)
  • 4つ目の現場要件 — 監査可能性:追える(ログ、説明責任、証跡)
AIの話に入る前に、まず「何を守るか」と「どの攻撃があるか」を共通言語にする。

脅威モデルの作り方(最小)

  • Assets — 何を守る?(データ、金銭、権限、信用)
  • Entry points — どこから入る?(Web、API、端末、SaaS、メール)
  • Trust boundaries — どこが境界?(インターネット/社内、サービス間、権限昇格点)
  • Threats — 何が起きる?(漏洩、改ざん、停止、不正利用)
  • Controls — 何で防ぐ?(認証認可、暗号化、検知、復旧)

AIが絡むと「入力が自然言語」「外部文書参照」「ツール実行」で境界が増える。後半で接続します。

マルウェア入門(分類と目的)

  • Ransomware — 暗号化して身代金要求(可用性を壊す)
  • Infostealer — ブラウザ/端末から認証情報を窃取(機密性を壊す)
  • Backdoor / RAT — 遠隔操作・永続化(支配権の獲得)
  • Botnet — 大量端末でDDoS/不正送信
  • Supply-chain — 依存パッケージ・更新経路の汚染

攻撃の定番:脆弱性クラス

  • Injection — SQLi / Command / Template / Deserialization
  • XSS — ブラウザ上でスクリプト実行、セッション奪取
  • SSRF — サーバから内向きアクセス(メタデータ/内部API)
  • Broken Access Control — 認可不備(IDOR 等)
  • Supply chain — 依存関係、CI、署名、鍵管理

AIが絡むと「プロンプト注入」「ツール呼び出し」が Injection の新顔として増えます。

認証(Authn)と認可(Authz)

  • Authn — 誰か?(パスワード、SSO、MFA、パスキー)
  • Authz — 何をしてよい?(RBAC/ABAC、最小権限)
  • セッション/トークン — 期限、失効、ローテーション、保管場所
  • APIキー — 環境変数・Vault・権限分離・監査

ゼロトラスト(Zero Trust)

  • 前提 — 「社内ネットワーク=安全」は成立しない。侵害はいつ起きてもおかしくない
  • 原則 — Never trust, always verify(信頼せず、常に検証する)
  • 毎回の検証 — ユーザー・端末・サービスごとに認証・認可を継続的に実施
  • 最小権限 — 必要なリソースへ、必要な期間だけアクセス(JIT(Just-In-Time)
  • マイクロセグメンテーション — ネットワーク・権限を細かく分割し、横展開を抑える
  • 可視性 — 誰が何にアクセスしたかをログ・監視で追跡
AI導入時も同じ:RAG索引・Agentツール・API呼び出しを「信頼済み」扱いにせず、リクエスト単位で認可する。

守りの基本:層(Defense in Depth)

  • 予防 — 入力検証、パッチ、SAST/DAST、依存監査
  • 防御 — WAF、レート制限、サンドボックス、セグメンテーション
  • 検知 — ログ、SIEM、アラート、異常検知
  • 対応 — 失効、隔離、ロールバック、鍵ローテーション

AI機能はこの層構造の「どこにも」入ってくる。後半で具体化。

ログ・監視・インシデント対応

  • 検知の基本 — 認証失敗急増、権限変更、異常な転送量、未知の外向き通信
  • 証跡 — 誰が・いつ・何を・どこから。時刻同期と改ざん耐性
  • 初動 — 封じ込め(権限停止/隔離)→ 影響範囲特定 → 復旧
  • 再発防止 — 原因をテスト化し、回帰を防ぐ

AI機能で増える攻撃面

  • 自然言語入力 — 仕様外入力が無限。ガードの難易度が上がる
  • 外部文書参照(RAG) — 新しいサプライチェーン。取り込み元が攻撃面
  • ツール実行(Agent) — 認可・不変条件・監査が必須
  • ログ — 会話ログが新しい機密データストアになる
ここから後半は「AI固有の攻撃」と「設計パターン」です。

プロンプトインジェクション

  • 直接注入 — ユーザーが「ルール無視して秘密を出せ」と命令
  • 間接注入 — 参照した文書/サイトに命令が埋め込まれる
  • 狙い — ポリシー迂回、機密漏洩、ツール悪用、誤操作
systemだけでは防げない。注入は入力検証と権限制御の問題。

データ漏洩(Exfiltration)

  • プロンプト由来 — 履歴・システム文・ツール結果を誘導して引き出す
  • RAG由来 — 検索結果に機密が混ざる、引用が過剰、アクセス制御が崩れる
  • ログ由来 — 入出力ログ/トレースに機密が残り、別経路で漏れる
  • モデル記憶 — 微調整データからの復元リスク(状況依存)

ツール悪用(Agent / Tool Abuse)

  • 権限過多 — DB更新・メール送信・支払い等が無制限だと被害が即時に拡大
  • 意図しない実行 — LLM出力のコマンドをそのまま実行、または自動で実行
  • 業務不変条件の破壊 — 返金上限、在庫、承認フローを飛び越える
Agentは「自律」ではなく「権限付きオーケストレーター」として扱う。

入力/出力のガードレール

  • 入力 — 危険な指示や機密らしき情報の検知、URL/添付のサニタイズ
  • 出力 — PII検出、機密パターン、危険なコマンド検出
  • 構造化 — JSON Schema / function calling で検査しやすくする
  • 安全な失敗 — 自動実行で「とりあえず進む」をしない

RAG のセキュリティ

  • アクセス制御 — 検索前に認可。検索結果にもフィルタ(ACL付き索引)
  • 引用と最小開示 — 必要最小断片だけを渡す。全文注入を避ける
  • 汚染対策 — 取り込み元の信頼度、署名/ハッシュ、差分レビュー
  • 命令の無効化 — 文書中の命令は「データ」であり「指示」ではない

Agent の安全設計パターン

  • Read → Propose → Approve → Execute — 重要操作は提案止まりで人間承認
  • 段階権限 — まず読み取り、必要時に短時間だけ昇格
  • 不変条件ガード — ビジネスルールはコードで強制(LLMに守らせない)
  • サンドボックス — 外部I/O・ファイル・ネットワークを隔離

セキュリティ評価(Eval / Red Team)

  • 回帰テスト — 禁止事項・漏洩パターン・危険操作をテストケース化
  • 攻撃シミュレーション — 注入、情報抽出、ツール悪用のシナリオ
  • 自動採点 — ルールベース + LLM-as-a-Judge(監査可能性が鍵)
  • 本番前ゲート — モデル/プロンプト/RAG/ツール変更は必ず評価を通す

監視とログ(Observability)

  • 可観測性 — 入力要約、検索文書ID、ツール呼び出し、コストをトレース
  • 機密配慮 — 生ログに機密を残さず、マスキング/トークナイズ
  • 異常検知 — トークン急増、ツール急増、拒否率変化、漏洩シグナル
  • 監査 — 重要操作の根拠(誰が・いつ・何を)

インシデント対応の要点

  • 封じ込め — ツール権限停止、RAG取り込み停止、モデル/プロンプトのロールバック
  • 証跡 — トレースID、検索文書、ツール結果を保全(機密に注意)
  • 再発防止 — テストケース化して回帰防止。ガードレール/認可/分離を強化
  • 開示 — 個人情報等は法務・規制要件に従う

略語ミニ辞書

Zero Trust
境界防御に頼らず、常に検証する設計思想
JIT
Just-In-Time(必要時のみの権限付与)
RAG
検索拡張生成(外部文書検索+生成)
ACL
Access Control List(アクセス制御リスト)
PII
Personal Identifiable Information(個人識別情報)
SSRF
Server-Side Request Forgery(サーバ側リクエスト偽造)
RBAC
Role-Based Access Control(役割ベース認可)
ABAC
Attribute-Based Access Control(属性ベース認可)
Eval
評価セットと自動回帰テスト
Red Team
攻撃者視点のテスト

まとめ

  • まず基礎:CIA + 脅威モデル + マルウェア/脆弱性/認証認可/ゼロトラスト/運用
  • AIは攻撃面を増やす:自然言語入力・RAG・Agent・会話ログ
  • 対策の柱は最小権限・分離・検証・観測・人間ゲート
  • 変更は必ず Eval に通し、インシデント対応を準備する

安全な自動化は「できること」より「やってよいこと」の定義から始まる。

ご清聴ありがとう
ございました

Questions / Discussion