セキュリティ入門
メモとしてのこします
セキュリティを考えるための3つの点
セキュリティを考える上での3つの点は
- 完全性(改ざん防止)
- 機密性(漏えい防止)
- 可用性(安定したパフォーマンス)
の3つである。
上記3つが守られず、かつ悪用できる部分を脆弱性と呼ぶ。
ここで問題(曖昧)なのが、脆弱性・バグ・仕様の見分け方である。
開発者曰く、脆弱性が仕様である場合もあるらしい。
悪用可能なバグ
レイヤ別で記載する
◼︎ アプリケーション
・文字入力の場合、特殊文字の制限を設けていない
・GET通信
・パラメータが平文
・フレームワークのバージョンが古い
◼︎ネットワーク
・IPアドレス制限がかかっていない
・DoS、DDoS対策の不備
・SSL設定不備
・不正パケットのフィルタリング
◼︎ソフトウェア
・メモリリークの不備
・子プロセスからの侵害(Windows)
・リンクライブラリへのインジェクション
・メモリダンプ対策の不備
悪用される前に
・アクセスログ
・パケットログ
・syslog
・サービス別のログ
・すべての操作ログ
→ とりあえず全部ログで残す
ユーザーができる対策
・gmailアドレスをサービスごとに分ける(amazon・楽天等)
→ name + サービス名@gmail.com
既存のgmailアドレスの最後に[+サービス名]をつけるだけで利用可能。複数登録する必要はない
→どのサービスから情報漏えいしたかがわかる
・2段階認証有効化
→パスワードが漏えいしても、もう1つの認証が破られにくい
・ソフトウェアのバージョンは常に最新に
→インストールしているアプリバージョン、OSのバージョン
・UACのレベルは一番高く(Windows)
・PCのバックアップは2つ以上とっておく
→常にオンラインストレージでとっておくもの、オフラインでとっておくものなど、
脆弱性検証
・仮想環境で行う
・マルウェアを動かす時はsandboxで
→ Erthenetアダプタは抜く。VMwareToolsアンインストール
・Webアプリ検証はDockerが便利
→ 壊れたらDockerでまたデプロイ
※ ランサムウェアの検証は中途半端な知識で行わないこと
検証に使えるフリーウェア
・OWASP ZAP(プロキシツール)
→ 誤検知多いので注意
・OWASP Broken Web Application
→ やられ環境VM。脆弱性がある環境
・AppGoat/WebGoat
・BurpSuite
・Metasploit Framework
→ KaliLinuxに標準搭載
・Windows10 Pro/Ent Developer VM
相談窓口
警視庁サイバー犯罪対策課
https://www.npa.go.jp/cyber/soudan.htm
脆弱性報告
https://www.ipa.go.jp/security/vuln/report/
この人がすごいらしい
(セキュリティについて、タイムリーな内容をいろいろ更新しています。)
https://twitter.com/piyokango?lang=ja