Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
プロトコル脆弱性基礎第一部
門林 雄基 (NAIST)
これまでの講義から
2016/04/11Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
2
サイバーセキュリティ
サイバーリスク
脅威 -脅威モデル
脆弱性 -脆弱性の5分類
リスク - リスク管理の方法論
今回: プロトコル脆弱性について理解する どのような脅威と対応するのか
なぜ、そのような脆弱性が生じるのか
通信プロトコルの参照モデルOSI7階層モデル
2016/04/11Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
3
アプリケーション層
プレゼンテーション層
セッション層
トランスポート層
ネットワーク層
データリンク層
物理層
IP
ES (End System) ES (End System)アプリケーション層ゲートウェイ
TCP
IP
TCP
ファイアウォール等 アプリケーション層
プレゼンテーション層
セッション層
トランスポート層
ネットワーク層
データリンク層
物理層
プロトコル脆弱性 (再掲)
2016/04/11Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
4
通信プロトコルは、信頼できない通信相手と安全に通信できなければならない。
これができない場合、プロトコル脆弱性につながる例:中間者攻撃 (Man in the middle)
盗聴 (Eavesdropping)
リプレイ攻撃 (Replay attacks)
セッション乗っ取り (Session hijacks)
サービス妨害攻撃 (Denial of service)
中間者攻撃
2016/04/11Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
5
Alice は Bob に話しているつもりが、Charlie に
Bob は Alice に話しているつもりが、Charlie に
Charlie が Alice と Bob の間に割って入っている
二人はそのことに気づいていない
Alice Charlie Bob
盗聴
2016/04/11Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
6
Alice と Bob の通信はすべて Charlie に筒抜け
1) Alice と Bob は全く暗号を使っていない
2) Alice と Bob が使っている暗号鍵が “secret”
暗号化しているつもりが、すべて解読されている
Alice Charlie Bob
リプレイ攻撃
2016/04/11Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
7
Alice が Bob に電話するときはいつも「私だけど」
そこで Charlie も Bob に「私だけど」
Bob は Charlie からの電話を Alice のものだと..
いわゆる「オレオレ詐欺」
Alice Charlie Bob
セッション乗っ取り
2016/04/11Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
8
Alice は Bob と話しているつもりが
いつの間にか Charlie に取って代わられている
Alice Charlie Bob
サービス妨害攻撃
2016/04/11Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
9
Charlie が、Bobの番号に何度も電話
Bob は仕事に手がつかない
Bob は、Alice からの電話もとれない
Alice Charlie Bob
STRIDE 脅威モデル (再掲)
2016/04/11Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
10
STRIDE
なりすまし (Spoofing identity)
データ改ざん (Tampering with data)
否認 (Repudiation)
情報漏洩 (Information disclosure)
サービス妨害 (Denial of service)
権限昇格 (Elevation of privilege)
STRIDE 脅威モデルと OSI 7階層モデルにより
プロトコル脆弱性を俯瞰する
2016/04/11Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
11
なりすまし 改ざん 否認 情報漏洩 妨害 権限昇格
アプリケーション層
セッション層
トランスポート層
ネットワーク層
データリンク層
以降では上記の表から、代表的なものをとりあげる
アプリケーション層におけるなりすまし攻撃:Kaminsky attack による DNSハイジャック
2016/04/11Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
12
www.goog.com? www.goog.com
is at 1.2.3.4
www.goog.com
is at 5.6.7.8
DNSプロトコルの設計上の欠陥: サーバからの応答が十分にランダムではないため、応答が予測可能であり、結果として偽造可能である
アプリケーション層におけるなりすまし:電子メール
2016/04/11Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
13
迷惑メール、フィッシング
アプリケーション層における情報漏洩:SQL インジェクション
2016/04/11Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
14
Webserver
Middle-ware
DBserver
sqlExec(“SELECT * FROM USERS WHERE ID=‘%s’”, $user);
JOE’ OR 1=1
ID1 PASS1ID2 PASS2ID3 PASS3...
SELECT * FROM USERS WHERE ID=‘JOE’ OR 1=1”
攻撃者
セッション層における情報漏洩:クロスサイトスクリプティング
2016/04/11Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
15
JavaScript
HTTP
DO
M
GU
I
攻撃者
被害者
Webブラウザ
4. 攻撃コード
3. 攻撃コードをそのまま返してしまう
1. 攻撃コード注入
2. 罠ページをアクセス
脆弱なWebサイト
トランスポート層におけるサービス妨害:TCP SYN flooding
2016/04/11Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
16
Listenerの資源を過度に消費し、応答できなくする
同一番号に電話をかけ続けるようなもの
Source: cisco Systems
トランスポート層における情報漏洩:ポートスキャン
2016/04/11Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
17
スキャンツールによるポートスキャン
IPアドレスとTCPポートを範囲指定して、稼働しているサービスを調べる
ネットワーク層におけるなりすまし: DDoS
2016/04/11
18
Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
データリンク層におけるなりすまし:MAC spoofing
2016/04/11Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
19
MAC アドレス:イーサーネットと Wi-Fi等に与えられた世界中で一意なアドレス
e.g., 28:cf:e9:48:12:10
簡単になりすましが可能
Source: wikiHow.com
データリンク層における情報漏洩:中間者攻撃
2016/04/11Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
20
MAC spoofing 等のトリックで、二者間の通信を攻撃者に振り向けることができてしまう
SV1 SV2
?
PC1 PC2攻撃者
SV3
まとめ
2016/04/11Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
21
プロトコル脆弱性の理解
原因の理解
脅威との対応の理解
代表的なプロトコル脆弱性を俯瞰
STRIDE 脅威モデルとOSI7階層モデルに沿って
次回: プロトコル脆弱性の抑止手法について学ぶ
プロトコル脆弱性基礎第二部
門林 雄基 (NAIST)
前回の講義から
2016/04/19Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
2
プロトコル脆弱性の理解
中間者攻撃、盗聴
リプレイ攻撃、セッション乗っ取り、サービス妨害攻撃
原因の理解
脅威との対応の理解
代表的なプロトコル脆弱性を俯瞰
STRIDE 脅威モデルとOSI7階層モデルに沿って
DDoS、 DNSハイジャック等
STRIDE 脅威モデルと OSI 7階層モデルにより
プロトコル脆弱性を俯瞰する
2016/04/19Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
3
なりすまし 改ざん 否認 情報漏洩 妨害 権限昇格
アプリケーション層Phishing,spam, …
Man in the middle
War driving Exploits
セッション層CSRF XSS
トランスポート層Port scan SYN
flooding
ネットワーク層DDoS Fragmentat
ion attackRoute hijacks
データリンク層MAC spoofing
Wireless attack
Man in the middle
ネットワークでの技術的管理策はこれらの脅威を部分的に軽減可能。ただし配置が正しいことが大前提
2016/04/19Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
4
なりすまし 改ざん 否認 情報漏洩 妨害 権限昇格
アプリケーション層Phishing,spam, …
Man in the middle
War driving Exploits
セッション層CSRF XSS
トランスポート層Port scan SYN
flooding
ネットワーク層DDoS Fragmentat
ion attackRoute hijacks
データリンク層MAC spoofing
Wireless attack
Man in the middle
Web アプリケーション・ファイアウォール
ファイアウォール、侵入防御システム (IPS)
技術的管理策による対策
UTM (unified threat management)
IDS (intrusion detection system)
様々なネットワークセキュリティ製品:ファイアウォール、IDSだけではない
2016/04/19Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
5
受動的・能動的計測のために
フロー・サンプリング、アプリケーション識別
ネットワークレベルでの資産管理
脆弱性スキャナ、 IT資産のスキャン・監視製品
ネットワークレベルでの制御
ファイアウォール、 IDS 、WAF 、UTM 、ルータACL
被害軽減
プロキシ、ネットワーク分離、 IPS
プロトコル脆弱性に対する技術的管理策
2016/04/19Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
6
ネットワークの分離
監視と異常検知
アクセス制御
レート制御
認証による権限管理
プロキシによる検査
電子署名による改ざん抑止
暗号化による情報漏洩防止
ネットワークの分離
ファイアウォール、侵入防御システム等 目的次第では、ルータ、スイッチでも実現可能 サービス妨害、権限昇格、なりすましを抑止
2016/04/19Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
7
外部ネットワーク
開発
境界領域
重要情報バックエンド
FW
営業
経理
人事
IPS
サービス系バックエンド
IPS
監視と異常検知例)フロー・サンプリング
2016/04/19Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
8
Source: FlowScan -- Network Traffic Flow Visualization and Reporting Tool, CAIDA
急にDBサーバへの通信が増えたら?
急にWebサーバとの通信が途絶えたら?
脆弱性検査による脆弱プロトコル利用状況の把握
2016/04/19Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
9
Source: sample Nessus report
なりすまし攻撃や中間者攻撃に悪用可能なプロトコルが組織内や、インターネットとの境界で使われていないか?
ルータ ACL (Access control list) による不要トラフィックの排除
2016/04/19Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
10
ルータ、スイッチにおいて、ある種のトラフィックはブロックできる
ただし、パケットの送信元、宛先、プロトコル種別などで容易に識別可能なものに限られる
Source: A10 Networks
レート制御、優先制御
2016/04/19Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
11
基幹系の通信に対して、他の端末が悪影響を与えることを抑止
SV1 SV2
PC1 PC2攻撃者
SV3
認証による権限管理EAP: Extensible Authentication Protocol
2016/04/19Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
12
EAP
802.1x 802.11i PPP
EAP-TLS EAP-TTLS PEAP ...
無線、有線にかかわらず同じ方法で端末認証が可能
セキュリティ要件にあわせて様々な認証方法を提供
IEEE 802.1x, WPA,IEEE 802.11i など
認証要求
許可
認証要求
EAP over RADIUS(RFC2869)
許可
認証スイッチ
認証サーバ(RADIUS)
LANアクセス時に認証するので、端末とユーザの紐付けが可能に
アクセスログ
利用者
プロキシによる検査改ざん・なりすまし検知、DoS対策
2016/04/19Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
13
Webゲートウェイ、WAF
スパム対策ソフト
外部ネットワーク 内部ネットワークプロキシ、ゲートウェイ等
送信者解析
ヘッダ解析
コンテンツ解析
相関分析
メール、Webアクセス等
ルールベース、フィードバック
電子署名による改ざん抑止IPsec AH (Authentication Header)
2016/04/19Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
14
通信内容の改ざんを防止する、認証ヘッダ(AH)を付加
パケットが改ざんされた場合、認証ヘッダに記された一貫性検査値(ICV)が計算結果と一致せず、露呈
IP TCP データ
AH TCP データIP
一貫性の保護
元のパケット
認証ヘッダを付加
暗号化による情報漏洩防止IPsec ESP (Encapsulating Security Payload)
2016/04/19Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
15
リプレイ攻撃、なりすまし、改ざん、情報漏洩への対策としてペイロード暗号化を実施
通信端末間で合意した暗号パラメータを用いて通信内容およびヘッダを暗号化
IP TCP データ
ESPヘッダ
TCP データESP
trailerESP
AuthIP
一貫性の保護
暗号化
元のパケット
ペイロード暗号化を実施
ペイロード
通信の安全性を向上させるセキュリティプロトコル
OSI7階層モデル セキュリティ技術(例) 提供される性質(例)
アプリケーション層 SSH, Kerberos, PGP, DNSSEC
機密性、一貫性、真正性、可用性、責任追跡性、信頼性
プレゼンテーション層
S/MIME, XMLdsig,
XMLenc機密性、一貫性、真正性、責任追跡性
セッション層 TLS 機密性、一貫性、真正性、責任追跡性、信頼性
トランスポート層 TCP SYNCookie 可用性
ネットワーク層 IPsec AH, ESP 機密性、一貫性、真正性
データリンク層 IEEE 802.1x, EAP, WPA, WPA2
機密性、一貫性、真正性
物理層 電波遮蔽、ラック施錠 可用性、機密性、一貫性
2016/04/19Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
16
プロトコル脆弱性に関する情報源
2016/04/19Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
17
プロトコル脆弱性は、ほとんどソフトウェア脆弱性データベース (CVE) に記載されない一方、プロトコルの実装に関する脆弱性は
CVE に記載されるため注意が必要
論文で発表されることも多い
非公開の商業カンファレンスで発表されることもプロトコル脆弱性のデータベースは、各社でメンテナンスするしかない状況
網羅的な知識がないと対策が難しい領域
プロトコル脆弱性に関する原論文
2016/04/19Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
18
Steven M. Bellovin, A Look Back at “Security
Problems in the TCP/IP Protocol Suite”, ACSAC
2004.
原論文は 1989年
この他にも、SSL/TLS, TCP, DNS, IPsec, BGPなど、インターネット、イントラネットを支える基幹プロトコルについて脆弱性が公表されている
まとめ
2016/04/19Youki Kadobayashi / crash.academy (C) 2016 All rights reserved.
19
プロトコル脆弱性を俯瞰 セキュリティ製品がパッチワーク的に適用可能
プロトコル脆弱性に対する技術的管理策 ネットワークの分離 監視と異常検知 アクセス制御 レート制御 認証による権限管理 プロキシによる検査 電子署名による改ざん抑止 暗号化による情報漏洩防止
情報収集の難しさ