はじめて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について、次を作ります。
- assetを5件
- attackerまたは事故を3件
- trust boundaryを図示
- riskをlikelihoodとimpactで並べる
- 上位3riskへ予防・検知・復旧を一つずつ
「すべて危険」ではなく、優先順位と残るriskを書きます。
理解チェック
- assetとthreatとvulnerabilityを区別できる
- CIAでimpactを説明できる
- 認証後にも認可が必要な理由を説明できる
- 予防だけでなく検知・対応・復旧を設計できる
参考資料
次に読む
セキュリティ学習ロードマップで、threat modelingからapplication・cloud防御へ進みます。