nexusguard final japanese ver pacsec bypassing ddos ... · と協力しているnexusguard...
TRANSCRIPT
DDoS緩和策をバイパス
PacSec Tokyo 2013
DDoS Mitigation Lab
DDoS Mitigation Lab
自己紹介
次世代のDDoS緩和策の知見を生み出し、様々な関係者と協力しているNexusguard社の独立した学術R&D部門
DDoS防御の知見向上をプロモートするために、ステークホルダー間のシナジー効果を促進するためにつくられた企業集団
DDoS Mitigation Lab
DDoS Mitigation Lab
本日の内容 • DDoSの関連性、攻撃のカテゴリ、検知と緩和策
• どのような攻撃してくる? • どのように緩和策を回避あるいは克服する?
• 送信元のホスト確認:認証方式 • TCP SYNでの認証; HTTPリダイレクトによる認証、HTTP Cookieによる認証、JavaScriptによる認証;CAPTCHAによる認証
• Proof Of Concept(コンセプトの証明)ツール • Proof Of Concept(コンセプトの証明)ツールをどう使う? • TCPトラフィックモデル&HTTPとrふぃっくモデル • Proof Of Concept(コンセプトの証明)ツールの機能
DDoS Mitigation Lab
金銭上のインパクト
出典: NTTコミュニケーションズ “Successfully Comba?ng DDoS AAacks”, 2012年8月
発生頻度: 年間250万回以上 トラフィック
量:
20Gbps以上
複雑さ: アプリけーーションレベルのものが30%以上
損失:
1時間当たり
600万米ドル以上
DDoS Mitigation Lab
攻撃のカテゴリ
容量型 内容型 混合型
DDoS Mitigation Lab
容量型攻撃
• パケット・レート ベースのもの • ビット・レート ベースのもの
DDoS Mitigation Lab
内容型攻撃
API攻撃 ハッシュDoS アパッチ・キラー ティアドロップ攻撃 (古い教科書上の例) Slowloris (スローロリス) / RUDY SYN フラッド (古い教科書上の例) Smurf (スマーフ) (古い教科書上の例)
プロトコル攻撃!
アプリケーションレベ
ル
攻撃!
DDoS Mitigation Lab
混合型攻撃
DDoS Mitigation Lab
攻撃の分類
複雑さ 容易 高度
容量 容量型攻撃
内容型攻撃
xxx Gbps+
xxx Mbps+
DDoS Mitigation Lab
緩和策
トラフィックに対するポリシー設定
先回り的にリソースを解放
ブラックリスティング/ホワイトリスティング
xxx Gbps+
xxx Mbps+
複雑さ 容易 高度
容量
DDoS Mitigation Lab
緩和策
Proac?ve Resource Release
攻撃元の切り離し
トラフィックに対するポリシー設定
トラフィックに対するポリシー設定
トラフィックに対するポリシー設定
トラフィックに対するポリシー設定
トラフィックに対するポリシー設定
DDoS Mitigation Lab
DDoS緩和策:トラフィックに対するポリシー設定
Source: Cisco
DDoS Mitigation Lab
DDoS緩和策:先回り的にリソースを解放
RST
1. 大量のTCPコネクションを生成
2. TCPコネクションのプールが枯渇 3. アイドル状態/レスが遅いTCPコネクションを検出
4. アイドル状態/レスが遅い TCPコネクションをRSTで終了
例:Slowloris (スローロリス)攻撃
DDoS Mitigation Lab
B
バックエンド
(ドロップ)
DDoS緩和策:ブラックリスティング/ホワイトリスティング
Black List
White List
1.2.3.4 5.6.7.8
5.6.7.8 3.4.5.6 6.7.8.9
= フリーパス (しばらくの時間/容量がXに達するまで)
Src: 1.2.3.4
Src: 3.4.5.6
DDoS Mitigation Lab
DDoS緩和策:攻撃元の切り離し
Source: hAp://www.cs.duke.edu/nds/ddos/
…
AS
AS AS
DDoS Mitigation Lab
DDoS解決策:安全なコンテンツ・デリバー・ネットワーク
バックエンド
エンドユーザ
3: リクエスト 結果
1: リクエスト
2: 最寄りの サーバ にリダイレクト
4: デリバー・ネットワーク を回避し てバックエンドを攻撃!
DDoS Mitigation Lab
検知策
レート管理 ベースライン適用 プロトコルに対するサニティチェック
プロトコルの動作チェック
プロトコルのパターンマッチング ビッグデータ分析 悪意有る攻撃元の情報 発信元に対する認証
DDoS Mitigation Lab
検知内容
レート管理(SNMP)
ベースライン適用 (Ne4low)
プロトコルの サニティ (PCAP)
アプリケーション(SYSLOG)
プロトコルの 動作(PCAP)
ビッグデータ分析
複雑さ 容易 高度
容量
xxx Gbps+
xxx Mbps+
DDoS Mitigation Lab
レート/フローベースの対策
検知
緩和
レート管理
ベースライン適用
DDoS Mitigation Lab
プロトコルベースの対策
検知
緩和
プロトコルに対するサニティチェック
プロトコルのパターンマッチング
プロトコルの動作チェック
DDoS Mitigation Lab
全面的な対策
検知
緩和
ビッグデータ分析
悪意有る攻撃元の情報
発信元に対する認証
DDoS Mitigation Lab
接続元ホストの確認
• TCP SYNでの認証 • HTTP リダイレクト による認証
• HTTP Cookie による認証
• JavaScript による認証
• CAPTCHAによる認証
Bypass to gain
Whitelist pass
Then Fire Away
Freely!!
DDoS Mitigation Lab
Proof Of Concept(コンセプトの証明)ツール
DDoS Mitigation Lab
• リアルなTCP/IPの振る舞い(RST、再送など) • 信頼されるHTTPヘッダー(ユーザーエージェント文字列など) • JavaScriptエンジンを組み込み • CAPTCHA対策機能 • ランダム化されたペイロード • 認証後のトラフィックモデルをチューニング可能 • 一般ユーザのパターンおよび振る舞いに似せたシミュレート機能
Proof Of Concept(コンセプトの証明)ツールの特徴
実際の人によ
る接続と区
別がつかない
!
DDoS Mitigation Lab
Proof Of Concept(コンセプトの証明)ツールの動作シーン
Demo Video
DDoS Mitigation Lab
Proof Of Concept(コンセプトの証明)ツール:認証をバイパス
DDoS Mitigation Lab
TCP SYNでの認証(TCPリセット)
SYN ACK
SYN
ACK
RST
SYN
SYN ACK
ACK
?!
Retry
DDoS Mitigation Lab
TCP SYNでの認証(TCPシーケンス異常)
RST
SYN
SYN
SYN ACK
ACK
Retry
?!
SYN ACK seq
DDoS Mitigation Lab
HTTPリダイレクトによる認証
GET /index.html
HTTP 302 redir to /foo/index.html
GET /foo/index.html
HTTP 302 redir to /index.html
GET /index.html
DDoS Mitigation Lab
HTTP Cookieによる認証
GET /index.html
HTTP 302 redir to /index.html
HTTP 302 redir to /index.html Set-Cookie: fo
o=bar
GET /index.html Cookie: foo=ba
r
GET /index.html Cookie: foo=ba
r
DDoS Mitigation Lab
HTTP Cookieによる認証(ヘッダトークン)
GET /index.html
HTTP 302 redir to /index.html [X-Header: foo=bar]
GET /index.html [X-Header: foo=bar]
GET /index.html [X-Header: foo=bar]
HTTP 302 redir to /index.html [X-Header: foo=bar]
GET /index.html
[X-Header: foo=bar]
ブラウザに依存した動作!
DDoS Mitigation Lab
JavaScriptによる認証
GET /index.html
HTTP 302 redir to /index.html
GET /index.html
POST /auth.php ans=16
JS 7+nine=?
DDoS Mitigation Lab
CAPTCHAによる認証
GET /index.html
HTTP 302 redir to /index.html
GET /index.html
POST /auth.php ans=“overlooks
inquiry”
DDoS Mitigation Lab
CAPTCHAを乗り越える
DDoS Mitigation Lab
CAPTCHAバイパスの考え方
1. 白黒の最大コントラストに画像を変換 2. 3x3のメジアンフィルターでノイズを除去 3. 単語部分を区分け 4. 境界線を認識 5. ピクセルの違いを計算して文字表と照らし合わせ
DDoS Mitigation Lab
Proof Of Concept(コンセプトの証明)ツール
DDoS Mitigation Lab
TCPトラフィックモデル 接続数
最初のリクエストの 前の接続保留時間
最後のリクエストの 後のアイドル状態の接続時間
接続の間隔al 接続の間隔
TCP接続
TCP接続
TCP接続
DDoS Mitigation Lab
Proof Of Concept(コンセプトの証明)ツール
DDoS Mitigation Lab
HTTPトラフィックのモデル 接続あたり
のリクエスト数
リクエスト の間隔
リクエスト の間隔
リクエスト の間隔
TCP接続
HTTP接続
HTTP接続
HTTP接続
HTTP接続
DDoS Mitigation Lab
• 認証要求に対して3度トライ(実際にやってみるとより成功しやすい) • OSのTCP/IPスタックを使用した本物のTCP/IP動作 • 認証cookieはその後のやり取り中においても有効 • JavaScriptは組み込まれたJavaScriptエンジンを使用(DOMが完全ではないために完全なエミュレーションまではできていない)
Proof Of Concept(コンセプトの証明)ツールの動作仕様
DDoS Mitigation Lab
トラフィックパターンのシミュレーション
接続C、ユ
ーザーエージェント
C
接続B、ユーザーエージェントB
接続A、ユーザーエージェントA 攻撃トラフィック
プロキシサーバ
DDoS Mitigation Lab
HTTPヘッダのシミュレーション
• HTTPヘッダは攻撃の最中に変化する • 例:最初のHTTPリクエストにおけるHTTPヘッダ「Accept」 最初のリクエスト 2番目のリクエスト Accept: */* Accept: image/gif, image/jpeg, imag,…..
DDoS Mitigation Lab
テスト環境
接続デバイスを標的 サーバが標的
攻撃 トラフィックを 計測
攻撃 トラフィックを 計測
DDoS Mitigation Lab
回避策をバイパス(防御用の製品)
認証をバイパス 認証後
テスト結果は特定の条件下におけるものであり、 2013年7月13日の時点で有効
Proactive
Resource Release
DDoS Mitigation Lab
回避策をバイパス(防御用のサービス)
認証をバイパス 認証後
テスト結果は特定の条件下におけるものであり、 2013年7月13日の時点で有効
Proactive Resource Release
DDoS Mitigation Lab
• DDoSはビジネス上に大きな損失をもたらす • 現在のDDoS防御は不十分 • 次世代の快活策は攻撃の費用対効果を悪化させるものであるべき
結論
[email protected] [email protected] [email protected]
Thank You!
http://www.bloodspear.org Twitter : @b100dsp34r