はじめてLESSON 01

この教材で学ぶこと asset、threat、risk、CIA、認証認可、多層防御を学びます。

セキュリティ基礎

対象読者: applicationやinfrastructureを作り始め、何から守るかを体系的に考えたい人。

この教材でできるようになること

  • asset、threat、vulnerability、riskを区別できる
  • confidentiality、integrity、availabilityで影響を整理できる
  • 認証と認可を区別できる
  • prevention、detection、response、recoveryを組み合わせられる

1. 守る対象から始める

security productの一覧から始めず、まずassetを列挙します。

  • user accountと個人情報
  • source codeとcredential
  • databaseとbackup
  • serviceのavailability
  • audit log
  • reputationと法的義務

2. 用語を分ける

用語 問い
asset 何を守るか
threat 誰が・何が害を与え得るか
vulnerability どの弱点を使われるか
likelihood 起こりやすさはどれくらいか
impact 起きた場合の被害は何か
risk likelihoodとimpactを踏まえ何を優先するか

3. CIAで影響を見る

  • Confidentiality: 読めてはいけない人にdataが見える
  • Integrity: dataやcodeが意図せず変更される
  • Availability: 必要なときserviceを利用できない

一つの事故が複数へ影響することもあります。

4. 認証と認可

  • 認証: あなたは誰か
  • 認可: その人はこの操作をしてよいか

loginできた利用者が、他人のresourceをIDだけ変えて読めないよう、server側でresource単位の認可を行います。

5. 多層防御

予防: 最小権限、validation、patch、暗号化
検知: audit log、alert、integrity check
対応: triage、封じ込め、credential失効
復旧: backup restore、redeploy、再発防止

予防だけでは侵入を完全に防げない前提で、検知と復旧も設計します。

6. 最初のchecklist

  • secretをsource codeへ置かない
  • dependencyとOSを更新できるようにする
  • 入力を信用せず、出力先に応じてencodeする
  • HTTPSを使う
  • passwordは適切なpassword hashingで保存する
  • access logへtokenやpasswordを残さない
  • backupを作るだけでなくrestoreを試す
  • security updateをrollback可能な単位で行う

演習: 学習記録serviceのthreat model

学習記録を保存するWeb serviceについて、次を作ります。

  1. assetを5件
  2. attackerまたは事故を3件
  3. trust boundaryを図示
  4. riskをlikelihoodとimpactで並べる
  5. 上位3riskへ予防・検知・復旧を一つずつ

「すべて危険」ではなく、優先順位と残るriskを書きます。

理解チェック

  • assetとthreatとvulnerabilityを区別できる
  • CIAでimpactを説明できる
  • 認証後にも認可が必要な理由を説明できる
  • 予防だけでなく検知・対応・復旧を設計できる

参考資料

次に読む

セキュリティ学習ロードマップで、threat modelingからapplication・cloud防御へ進みます。