0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

楽観的・悲観的を軸に考えるセキュリティ設計

Posted at

楽観的・悲観的を軸に考えるセキュリティ設計

こんにちは。
今回は自戒も含めちょっと哲学チックに、セキュリティ設計を「楽観的」と「悲観的」から眺めてみる、という記事です。


🧠 そもそも「楽観的」「悲観的」ってなに?

ざっくりこうです:

思想 セキュリティに当てはめると…
楽観的 「ここは悪用されないだろう」
悲観的 「悪用される前提で守ろう」

性善説/性悪説に近いかもしれない


⚖️ 設計に潜む「楽観」と「悲観」

🟢 楽観的な設計(性善説寄り)

  • 前提:「まあ、誰も来ないでしょ」
  • 設計:「そこまで厳しくなくていいでしょ」
  • 感情:安心、油断、信頼

🔴 悲観的な設計(性悪説寄り)

  • 前提:「いつか誰かが来る」
  • 設計:「最初から全員を疑おう」
  • 感情:警戒、不信、防衛本能

💥 実例で見る「楽観設計のやらかし」

🏗️ 例1:社内ネットワークだけだし大丈夫でしょ?

→ VPNの設定漏れで外部に公開
→ Shodan「Hello :)」
→ Slack「うちの見積書が海外掲示板に……!?」

  • 🟢 設計思想:「知らない人が来るなんてレアでしょ」
  • 🔴 現実:Shodanは毎日スキャンしてます

🔐 例2:Basic認証つけたからOK(のつもり)

→ ユーザー名: admin パスワード: admin
.htpasswd も一緒にGitHubへコミット✨️

  • 🟢 設計思想:「知ってる人しかアクセスしない」
  • 🔴 現実:GitHubは世界中の研究者と攻撃者がウォッチしてる

🧪 例3:検証環境に本番データ入れてるけどまあ大丈夫でしょ?

→ 検証環境が外部公開されていた
→ Basic認証のID/PWは例によって admin/admin
→ ようこそ本番データの世界へ

  • 🟢 設計思想:「開発チームしか知らない環境だし」
  • 🔴 現実:URLさえ知っていれば誰でも来る

⚙️ 例4:オンラインコンパイラでAPIキー貼ったろ!

→ コードが学習&公開され、APIキーも一緒に拡散
→ そのキーがAdmin権限持ってた
→ 請求額:数百万円

  • 🟢 設計思想:「一時的に貼るだけだから」
  • 🔴 現実:「公開されたものは永遠にインターネットに残る」

☠️ 最近の例:AIアシスタントの思わぬ罠

  • AIに「昔貼った自分のキー」が学習されてる
  • AIアシスタントが秘密キーを別人にサジェスト
  • 🟢 設計思想:「AIは味方でしょ?」
  • 🔴 現実:「AIはログを食べる予測装置」

👁️ 世界はおもったより「見てくる」

「見られてない」という楽観は通じない相手:

  • Shodan/ZoomEye:「ポート全部見に来ます」
  • 昔の自分:「とりあえず 0.0.0.0 で起動!w」
  • 元同僚:「昔のURLまだ生きてるんだけどwログイン情報も残ってるw」
  • ChatGPT:「このAPI叩けるか試してみようよ!」

🧱 悲観的(性悪説)的セキュリティ設計に学ぶ

🔐 原則

発想 設計指針
誰も信じない ゼロトラスト設計
事故は起きる 自動スキャンで検知
人はミスる 最小権限を徹底
記憶しない アクセスログはログで残す
検証≠本番 データは完全に分離

⚠️ でも性悪設計だけだと疲れる…

問題点:

  • 毎回トークン+2FA+社内稟議の3コンボ
  • 開発のスピードが出ない
  • チーム内に不信感が漂う(「全員疑う」とか怖くない?)
  • そのうちCloudTrailが逆転裁判の証拠品のようなものになってしまう

🧘‍♀️ 理想は「楽観と悲観のハイブリッド」

状況 設計姿勢 実装イメージ
ローカル開発 やや楽観 .envで秘密管理+Git除外
社内向けAPI 中立 IP制限+認証トークン
外部公開アプリ 全力悲観 WAF+ゼロトラスト+IDS監視

🖼️ セキュリティインシデントが起こる構造(みんな大好きスイスチーズモデル)

image.png

どの層も完璧じゃない。でも全部がズレていると“貫通”する。


🤔 最後に:あなたの設計はどっち派?

  • 「まあ大丈夫でしょ」の楽観派
  • 「やつは必ず来る」の悲観派

💡 筆者のおすすめはこれ

心は楽観、設計は悲観
→ チームは信じよう。システムは疑おう。


💬 コメントでぜひ教えてください!

  • 「昔こんなやらかしした」
  • 「油断して爆死した話」
  • 「最初から疑って助かったエピソード」

黒歴史、笑い話、全部歓迎です🙌

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?