信頼性が高い主なセキュリティ情報源

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 不正侵入防止システム
     ネットワーク監視型NIDSNIPS)NWに流れるパケットを解析し、侵入の兆候を探す
      監視手法:リアルタイムパケット監視
      検知手法:シグネチャ・以上検出・プロトコル異常検出
      対策効果:一部のポートスキャン・一部のDoS攻撃・既知の攻撃
     ホスト監視型HIDSHIPS)ホストのファイルの変動を監視する
      監視手法:入出力監視・整合性チェック・ログ監視
      検知手法:シグネチャ・比較検出
      対策効果: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のモジュール検索及び脆弱性


認証システムの突破