信頼性が高い主なセキュリティ情報源
JPCERT/CC 一般社団法人 JPCERTコーディネーションセンター
情報セキュリティ対策活動 公式サイト、メーリングリスト、RSS、X
Japan Vulnerability Notes JPCER/CCとIPAが共同運営
日本で使用されているソフトウェアなどの脆弱性関連情報とその対策情報ポータルサイト 公式サイト、X
IPA 独立行政法人 情報処理推進機構
日本におけるIT国家戦略を技術面、人材面から支える 公式サイト、メルマガ
情報セキュリティの基礎
情報セキュリティとは
情報およびインフラ環境が健全で、情報やサービスといった情報資産が
盗難・改ざん・破壊といった事象の可能性が低いもしくは許容範囲内である
セキュリティの3大要件
C onfidentiality 機密性 きちんと鍵がかかっていて、鍵がないと開けられない
I ntegrity 完全性 中身がすり替えられていない
A vailability 可用性 鍵を持った人はきちんと開けることができる
セキュリティ要件を満たす手法 ▲すべてのセキュリティ技術は「3大要件」を満たすために存在する
認証 認可 暗号化 チェックサム PKI …その他
セキュリティの構成要素
情報資産 人 物理 ネットワーク ホスト アプリケーション
セキュリティポリシー
組織が情報セキュリティの為に何を行うかを明確にし、
また、それぞれの要素が何を、どのように、どこまで行うかといった
要件とルールを文書化したもの
セキュリティポリシーと法律・規制
↓ 法律 組織が属している国や自治体の
↓ 規制 法律や条例などに違反してはならない
↓ ポリシー
↓ 基準・規格 業界やシステムなどの規格を採用する
↓ 実践・手順 ガイドライン
日本におけるセキュリティ関連の法律
刑法(第161条の2:電磁的記録不正作出および併用など)
サイバーセキュリティ基本法
著作権法
電気通信事業法
電子署名及び認証業務に関する法律
電子署名等に係る地方公共団体情報システム機構の認証業務に関する法律 JLIS
電波法
特定電子メールの送信の適正化等に関する法律
不正アクセス行為の禁止等に係る法律
有線電気通信法 etc.
海外におけるセキュリティ関連の法律・規格
ISO/IEC 27xxx セキュリティに関する国際規格
PCI-DSS クレジットカード業界のセキュリティ規格
HIPAA 医療に関するセキュリティ規格
Sarbanes Oxley Act(SOX法)
DMCA(デジタルミレニアム著作権法)
セキュリティポリシーを実現するために
文書化し、全関係者に公開し、納得させ、適切なトレーニングを行う
適切にセキュリティレベルが保たれているか定期的に検証し評価しなければならない(PDCA)
セキュリティの検証と評価
リスク 情報資産に被害が及ぶ可能性 =脅威+脆弱性+影響
脅威 情報資産を危険にさらす事象 =脆弱性+攻撃
脆弱性 情報資産を危険にさらす欠陥
この3つの項目を適切に把握し管理する
脆弱性を正確に検証・評価することがセキュリティにおいて不可欠
ペネトレーション テスト
検出→資産の優先順位付け→評価→レポート→軽減改善→検証
情報セキュリティの防御
※セキュリティポリシーがあるのは前提
予防フェーズ 初期準備およびフィードバックによる設定変更など
情報資産の選定とラベリング
守るべき情報資産の基準
つけるべきラベル 例)関係者外秘(開示範囲を明示)、社外秘、その他
↑ セキュリティポリシーによって決まっているはず
リスク評価 =脅威+脆弱性+影響
リスクのレベルを設定する
非常に高い / 高 ただちに措置を講じて適用する必要あり
中 ただちに対処する必要はないが、急いで実装する必要あり
低 リスク低減のための予防手段を講じる
リスク要素によるマトリックスでリスクを判断し対応を決める
確率 影響
軽微 小 中 大 重大
81~100% 非常に可能性が高い
61~80% 可能性が高い
41~60% 等しい可能性
21~40% 可能性が低い
1~20% 非常に可能性が低い
防御方法(リスクを軽減するための方法)の検討
機器の導入 選定・導入・構築・設定
手順の策定
人員の検討 増強・トレーニング
外部委託
多層防御となっているか
人 セキュリティポリシー、手順など
物理 物理ロック、監視カメラなど
ネットワーク ルータ、FW、NIDS(NW型)など
ホスト OSの設定、パッチ、HIDS(ホスト型)など
アプリケーション セキュアプログラムなど
情報資産 暗号化、データ損失防止など
防御機器
ネットワークファイアウォール
場所:ネットワーク境界 判断基準:パケットヘッダ情報 ルールベース制御
L7~5:アプリケーションレベルFW
L4:サーキットレベルゲートウェイFW
L3:パケットフィルタリング
L2:MACフィルタリング
→ ステートフルマルチレイヤインスペクションFW 全部
IDS/IPS
IDS Intrusion Detection System 不正侵入検知システム
IPS Intrusion Prevention System 不正侵入防止システム
ネットワーク監視型(NIDS、NIPS)NWに流れるパケットを解析し、侵入の兆候を探す
監視手法:リアルタイムパケット監視
検知手法:シグネチャ・以上検出・プロトコル異常検出
対策効果:一部のポートスキャン・一部のDoS攻撃・既知の攻撃
ホスト監視型(HIDS、HIPS)ホストのファイルの変動を監視する
監視手法:入出力監視・整合性チェック・ログ監視
検知手法:シグネチャ・比較検出
対策効果:WEB改ざん
UTM Unified Threat Management 複数のセキュリティ検知技術を統合管理する概念
転じて、この機能をもったシステム・アプライアンス製品を呼称するようになった
WAF Web Application Firewall WEBアプリケーション攻撃検知に特化
基本的にHTTPリクエストを監視
シグネチャベースが主だが、最近はインテリジェンス型や学習型もある
サンドボックス・ハニーポット 攻撃しやすいサーバをあらかじめ設置し攻撃者に攻撃させる
攻撃者を誘い込み、追跡・手法解析・IDPS学習機能へフィードバック
運用フェーズ 通常運用時におけるセキュリティレベルの維持
監視
インシデントの兆候(アラート・ログ)
ネットワークに限らない(物理的なアクセス)
分析 ↓
誤検知や見落としの排除 → レポーティング
セキュリティレベルの維持
False Positive False Negative
誤検知・過剰検知 見落とし
処理コストの増大 あってはならない
重大事案の見落とし
不適切なチューニング シグネチャの不備
定期的な評価・検証
脆弱性の検証 新たな攻撃・設定不備・新しい機能の追加
フィードバック
対処フェーズ インシデント発生時の対応方法
IH&R Incident Handling and Response
迅速かつ効果的にセキュリティインシデントを特定し、阻止し、回復することが目的
対応手順また対応するための組織は予め定められていなければならない
【大前提】対応チームの編成とトレーニング
検出と分析
分類と優先順位付け
通知
封じ込め
根絶と復旧 & フォレンジック調査
事後処理
ハッキングの手順
CEHにおけるハッキングフェーズの区分
事前準備
偵察 Reconnaissance 公開されている情報を中心に収集する。(不正とは言えない)
スキャニング Scanning 偵察フェーズで得られた情報を元にNWやサーバに直接して情報を収集する。
攻撃
アクセス権の取得 Gaining Access ターゲットのサーバにアクセス。
脆弱性を攻撃したり、外部への認証機能を利用する。
権限昇格(Administrator権限)もこのフェーズに含まれる。
アクセスの維持 Maintaining Access サーバに自由にアクセスできるようにする。
事後処理
痕跡の消去 Clearing Tracks 侵入した痕跡を消去し後からの追跡を困難にする。
ターゲットの種類や目的で異なる
準備に時間をかける(ターゲットへのアクセスを最小に)
ソーシャルエンジニアリングの併用
攻撃の種類と目的
同期によって目的(目標)は変わる
攻撃のターゲット
ホスト サーバへの攻撃 後処理 マルウェア
ネットワーク DoS攻撃 ネットワーク盗聴
アプリケーション Webアプリケーション攻撃
各種偽装 ソーシャルエンジニアリング その他
ホワイトハッカー(Ethical Hacker)
防御 防衛手段の立案、機器の構築・設定など
監視 状況の確認、対策の評価など
検出 以上の確認と特定など
分析 インシデントの確認や根本原因の特定など
対応 適切で効率的な対応とフィードバックなど
ホワイトハッカーの持つ知識と技術はセキュリティのあらゆる局面で活用
だがやはり注目されるのは、攻撃者と同等のスキルを持っていること
そのスキルが一番生かされるのが脆弱性評価
ペネトレーション テスト
検出 → ハッキングフェーズ:スキャニング
ネットワーク機器の特定
特定された機器のフットプリンティング
資産の優先順位付け → ハッキングフェーズ:列挙
検出された機器を識別し優先順位をつける
検出された機器のリストアップが必要
評価 → ハッキングフェーズ:攻撃
セキュリティの脆弱性を調査
攻撃に対する脅威となるか
新しい攻撃手法に対して
新しく追加された機能
レポート
検出された脆弱性を報告
軽減改善
検出された脆弱性に対して
改善するのがベスト
できない場合リスクを軽減する
検証 → ハッキングフェーズ:攻撃
検出された脆弱性が解決しているか確認
検証は評価時と同じ手順
脆弱性の評価はあらゆる局面で重要
防御における各フェーズ
予防フェーズ
脆弱性評価によるリスク管理への参加
防御方法検討時の知識の提供
機器の構築・設定時のテスト支援
運用フェーズ
監視・分析時の技術支援と知識提供
定期的な脆弱性の評価・検証
対処フェーズ
対応チームトレーニングへの参加
インシデントに対する助言
フォレンジック時の助言
その他
教育・トレーニング
演習 レッドチーム
(システムのサイバー攻撃耐性を評価するために、攻撃者を想定して外部からシステムに疑似攻撃を行う組織)
情報収集概論
情報収集の目的
攻撃するために必要な情報を集める
偵察 Reconnaissance 公開されている情報を中心に収集する。(不正とは言えない)
URL、ドメイン→IPアドレス、NW情報(IPアドレス、DNS)、HP、所在地、電話番号、役員名、取引先、株式情報、公開されているメアド、WEBではなくブログやSNSの場合も(フォロワー、レビュー、地図)
ターゲットが公開せざるを得ない情報
NW情報、ドメイン情報、DNS情報、会社情報(上場企業など)、求人情報
得られた情報からさらに情報を収集
電話番号で検索、住所で検索、「@ドメイン名」でメールを検索、法人.info
媒体から収集
TVコマーシャル、折込チラシ、WEBニュース
勝手にまとめているサイトから収集
紳士録サイト、2ch
DNSからの情報収集
現在はDNSからは情報はほとんど得られない
nslookup 自分のDNSサーバに接続されてしまう
nslookup – (取得したDNSサーバ) 指定したサーバにつながる
Google検索テクニック
AND検索 検索語句1 検索語句2
OR検索 検索語句1 OR 検索語句2
()の使用 検索語句1 (検索語句2 OR 検索語句3)
とは検索 検索語句とは
特定語句の除外 検索したい語句 -除外したい語句
ワイルドカード検索 検索語句*検索語句
フレーズ検索 ”検索語句”
サイト内検索 site:サイトTOPのURL 検索語句
タイトル検索 intitle:検索語句
本文内検索 intext:検索語句
URL検索 inurl:検索語句
リンク検索 link:検索語句
ファイルタイプ検索 filetipe:ファイル拡張子 検索語句
キャッシュ検索 cache:URLからhttp://を除く
インフォ検索 info:URLからhttp://を除く
関連検索 related:URL
Googleのコマンド検索で複数の語句を指定したい場合は allコマンド:検索語句1 検索語句2
ハッキングの情報収集
ターゲットのドメインで公開されているメールアドレスを知りたい
SNSを利用した情報収集
FacebookやTwetterは非常に有効な情報ソース
友達検索の勤務先にターゲットを追加 → 勝手に「知り合いかも」
受動的情報収集 Passive
ターゲットが提供している情報を収集
多くの場合「合法」
スキャニング Scanning 偵察フェーズで得られた情報を元にNWやサーバに直接して情報を収集する。
NW内で稼働しているサーバ、サーバが提供しているサービス、サーバのOSやアプリケーション、
認証機能の有無、有効なアカウント
能動的情報収集 Active
ターゲットに直接コマンド等を打ち込む
状況によっては「非合法」
直接アクセスして 動いているサーバを見つけて情報を引っこ抜く
検索エンジンを使って 使い方によっては色々情報収集できる
ソーシャルエンジニアリングを駆使して 足を使って
列挙 Enumeration
収集した情報の中から、攻撃に有効なものをリストアップすること
偵察
↓
列挙 ⇔ スキャニング
↓
アクセス権の取得
列挙の例
ターゲットが使用しているIPレンジが判った
→ スキャニングの前に稼働しているIPアドレスを列挙
認証サービスが動いている
→ 有効なログインアカウントを列挙 → パスワードクラックに使う
例)ユーザ名が間違った時のエラーメッセージ
パスワードが間違った時のエラーメッセージ が違う → 活きているユーザ名がバレてしまう
スキャニング技術
Ping Sweep
IPアドレスの範囲に対して行える
標準ではコマンドはないので、専用のツールを使用する nmap
nmapを使用する例
nmap -sn -PE ターゲットのIP範囲 オプション -sn : PINGスキャン -PE : Echo_Requestを送信 サブネットマスクで指定 192.168.0.0/24 実数で範囲を指定 192.168.0.0-255 ワイルドカードで指定 192.168.0.* ポートを指定するオプション -p ポート指定 -F 代表的な100ポート よく使うオプション -O OSを調べる -n 名前解決しない -Pn pingをしない スキャンテクニックを指定するオプション -sT 接続スキャン -sS Synスキャン -sN Nullスキャン -sF Finスキャン -sX Xmasスキャン -sA ACKスキャン -sI Idleスキャン(ゾンビの指定が必要) -sU UDPスキャン -sL リストスキャン 例)接続スキャン nmap -sT -p 0-1023 -Pn -n 160.16.137.141 例)Synスキャン nmap -sS -p 0-1023 -Pn -n 160.16.137.141 例)Nullスキャン nmap -sN -p 0-1023 -Pn -n 160.16.137.141 例)nmap -sV -O
ネットワークトポロジ
物理的なトポロジではなく、論理的なトポロジを探索
Windowsの場合 ※デフォルトでICMP tracert -d ターゲットIP # -d はなんだろ Linuxの場合 ※デフォルトでUDP traceroute -n ターゲットIP # -n は名前解決なし ※root時のみ、ICMPにする -I オプションが使える
ポートスキャン
オープンポート=稼働しているサービス
ポートが開いているかどうかはつないでみればいい
ポートの数は65,535個 ウェルノウンポートだけでも1,024個 つなぐとログに残る
→ ツールを使用する
代表的なポートスキャンツール
Nmap(Zenmap) Hping2/Hping3
代表的なTCPポートスキャン
接続スキャン(Connect Scan) 利点:実際に繋ぐので信頼性が高い 欠点:ログに残る
Synスキャン(Syn Scan) ステルススキャン、ハーフポートオープンスキャン
TCP接続の3way Hand Shake(SYN → SYN/ACK or RST → ACKここでログが残る)
↑ ここでRST(接続強制切断)を送ってログを残さない
TCPクローズドポートスキャン(SYNの代わりにRFC対象外のフラグを立ててパケットを投げる)
NULLスキャン →(None)
FINスキャン → FIN
X’masスキャン → FIN、URG、PUSH
一般的には「オープンポート:変なパケットには何も返さない、クローズドポート:RSTを返す」というOSが多いことを利用
→クローズドポートを特定(Windows系には使えない手法)
ACKスキャン(返答のRSTパケットを分析して判断:Firewallの有無)
Idleスキャン(フラグメント識別番号(IPID)を利用して身元を隠しながら行えるテクニック)
ハッカー →SYN/ACK→ ゾンビ
ターゲットがゾンビにSYN/ACKを投げてIPIDが増えるかどうかでポートが開いているかを探る手法
UDPスキャン
接続要求 → ICMP Port Unreachable が返るかどうか
スキャニング手法は先人たちの知恵と工夫が凝縮されている
ハッカーとはどのように考えるのかを学ぶのに適している
サーバのフットプリンティング
サービスを行っているホストの情報を収集(可能であればホストのOSを特定)攻撃手法の選定に活かす
ポートスキャンの結果を使う
一般的なサービスはtelnetでアクセスできる
telnet アドレス ポート番号
脆弱性情報の収集
集まった情報から、攻撃手法を探す
CVE Common Vulnerabilities and Exposures 共通脆弱性識別子
情報セキュリティにおける脆弱性やインシデントに固有の番号をつけて共有する仕組み
米政府の支援を受けた非営利団体 MITRE が採番している。
例)CVE-2017-13001
CAN 脆弱性の可能性
CVE 確定した脆弱性
NVD National Vulnerability Database
米国立標準技術研究所(NIST)が管理している脆弱性データベース
CVSS(Common Vulnerability Scoring System)という危険度の採点がある
JVN Japan Vulunerability Notes 「早期周知」が目的
日本で使用されているソフトなどの脆弱性関連情報とその対策情報を提供
JVN iPedia 「蓄積と共有」ナレッジ化が目的
CVSSを採用している
SecurityFocus
セキュリティに関するメーリスの草分け「Bugtraq」の運営元
「Exploit」というページが公開されている
CVEでの検索も可能
Eapid7 Exploit Database
Metasploitのモジュール検索及び脆弱性