セキュリティ入門
メモとしてのこしますセキュリティを考えるための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