IETF100報告会
DOTS WG + Hackathon
2017.12.15
Kaname Nishizuka@NTT Communications@__kaname__⾃⼰紹介
n 2006年 NTTコミュニケーションズ⼊社
n OCNアクセス系ネットワークの設計に従事した後、⼤規模ISP向けのトータル保守運⽤サービスを担当
n メインフィールド• トラフィック分析• DDoS対策ソリューション
• IPv4枯渇対策関連技術
n IETF提案活動• DOTS WG
n JPNIC「IPv6教育専⾨家チーム」

2

IETF100@シンガポール
DOTS 関連報告

33

dots WGn DDoS Open Threat Signaling (dots)n 設⽴：2015-06
n Chairs: Roman Danyliw(CERT)
Tobias Gondrom (OWASP, Huawei)n 新しいWG(BoF:IETF92 / Meeting:IETF93〜)
n DDoS対策を効率的に実現するために、DDoSに関連した情報のリアルタイムでのシグナリングを規格化する• ⾃動化• より⼤規模な防御システム• ベンダ独⾃なソリューションからの開放
4

IETF100におけるDOTS関連進捗まとめ
Jよかった点n IETFハッカソンにおいて、OSS実装(go-dots)とベンダ実装(NCC)の間で最初の相互接続試験が実施された• シグナルチャンネルについて、実際に実装間で通信ができる(=DDoS攻撃を防御するアクションができる)ことが確認できた• 試験時に問題となった部分は、仕様への要求事項として、WGのミーティングにてフィードバックされ、反映された
n プロトコルへの要求事項(requirement)をまとめたドラフトがWGLCとなった(12/8)• これは、dots WGとしてWGLCとなった最初のドラフトである
n プロトコル仕様に関する詰めの議論が、IETF100以降もML上で積極的に交わされているL悪かった点
n DOTS WGの参加者が前回より少なかった
5

DOTS WG ミーティング – 11/14

リモート発表が多かった(デザインチームミーティングも開催されなかった)6

ユースケースドラフト
n draft-ietf-dots-use-cases-08• ユースケースの筆者同⼠で、編集の主導権の綱引きが継続
ü ⼀⽅は、⼀つのユースケースを詳細に記述したいü 他⽅は、網羅的にユースケースを列挙したい• 上記の理由により、内容に整合性が失われてしまっている状況でWGLCにはまだ⾄っていない

7

DOTSの利⽤シーンについて
n 防御依頼と相互信頼X宛のパケットを落として
Customer

Customer

Customer

攻撃元
AS

攻撃先
AS

Customer

果たして、相手の防御依頼は信頼できるだろうか？

n パケットフィルタアウトソーシングとセキュリティオートメーションを、相互信頼のもとで実現する技術として、DOTSプロト
コルが注⽬されている

8

DOTSプロトコルの動作とメリット
n DOTSプロトコルの動き⽅• 利⽤者側のDOTSクライアントから提供者側のDOTSサーバに対して、攻撃を受けているIPアドレスなどの情報とともに防御を依頼• 依頼を受けたDOTSサーバ側は、認証および防御依頼のバリデーションを実施した上で、DDoS対策を実施
n DOTSプロトコルのメリット
1. ⼈間を介さない防御受付のインタフェースが規定されることで、DDoS対策の⾃動化が可能になる
2. 複数の対策事業者に対して共通のプロトコルで防御依頼をすることができるようになる
3. 別の対策事業者に防御依頼をするような事業者間連携を実現できる

9

DOTS利⽤シーン その1
n ⼈間を介さない防御受付インタフェースによるDDoS対策⾃動化

Internet

防御装置(DOTS⾮対応)
防御指⽰
DOTS
サーバ

NF
V

F
W

防御装置

攻撃

防御

Transit NW

DOTSプロトコルによる
防御依頼
DOTS
クライアント10.10.10.10

VictimNW

10

DOTS利⽤シーン その2
n 防御装置(DOTS対応)への防御依頼の共通化

Internet

DOTS対応
防御装置
NF
V

F
W

防御装置

DOTS
サーバ

DOTSプロトコルによる
防御依頼

防御

Transit NW
防御指⽰

DOTS対応
防御装置
NF
V

攻撃F
W

防御装置

防御DOTS
クライアント10.10.10.10

VictimNW

11

DOTS利⽤シーン その3
n キャパシティオーバの際に別の対策事業者に防御依頼をするような事業者間連携が実現できる
サードベンダ
DOTS対応サービス

他組織への防御依頼
Internet

DOTS対応
防御装置
NF
V

FW

防御装置

DOTS
サーバ

DOTSプロトコルによる
防御依頼

防御

攻撃

Transit NW
防御指⽰

DOTS対応
防御装置
NF
V

防御

F
W

防御装置

防御DOTS
クライアント10.10.10.10

VictimNW

12

ユースケースドラフト(に戻って)
n ユースケースドラフトでは、上記で紹介した利⽤シーンに加えて、以下の点が考慮されている
n 様々なDOTSクライアントのパターン• DDoS対策アプライアンス装置, DDoS検知システム(ﬂow collectorなど), CPE, サーバアプリケーショ
ン, 運⽤者のモバイル端末
n 様々な組織間の関係性• 組織内で完結するケース(Intra-organization/domain)• 組織間のケース(Inter-organization/domain)ü 複数の上流組織が存在する場合
ü 防御依頼がカスケードされる場合
13リクワイヤメントドラフト
n DOTSプロトコルに対する要求事項を列挙
n issueはだいぶ⽚付けられた• 残りの issue
ü NAT 越えに関する記述
ü ACL が競合したときに順番に関する記述
n 記述を整理した形で、12/8にWGLCに

14

アーキテクチャドラフト
n DOTSのアーキテクチャの概要を記述• 内容も充実しており順調• 更新の頻度が低いせいか、今回の会場では読んでいる⼈が少数であったため、WGLCは⾒送られた
ü ⼗分WGLCの完成度はあると思うので残念…

15

IETF100@シンガポール
ハッカソン関連報告

16

16

IETF100ハッカソン
n IETF100 ハッカソン• 本会議の前の⼟⽇に開催• 200⼈以上の参加者(IETF100参加者の約22%)• IETF技術領域における20のプロジェクトが参加

IETF92

IETF100

17

ハッカソンイベントの発展
n ハッカソンイベントの発展• 今回からついに公式イベントに(IETFの開催期間が⼟曜⽇からになった)• 今後、スポンサーである Cisco Devnet の個別イベントではなく、IETFとしてサポートしていく• ⽊曜⽇には、Cisco D.Ward⽒による” Topic: 3years on: Open Standards, Open Source, OpenLoop” というタイトルの講演があり、IETFのプロセスを構成する重要な要素として、IETFハッカソンへの期待が語られた
n ハッカソンへの参加の仕⽅や、ハッカソン中の流れは、
前回IETF99報告会資料をぜひご参照ください18ハッカソンへの参加経緯
n IETF99において、DOTSプロトコル実装(go-dots)の公開(OSS化)と合わせて、実装の改善をテーマに初参加• ドラフト版の仕様を実際に実装し、プロトコルとして有効に動くことを証明
ü 実際に動くことを⽰して、標準化のスピードアップを狙う
ü 問題点は仕様にフィードバック• Best Name賞をいただく
n NCCグループが、⾃前の実装をすでに持っていることを表明
n IETF100においては、NCCグループとの相互接続試験をテーマに参加• 異なる実装間でも通信ができ、動作することを証明
ü 実際に相互接続ができたことを確認
ü 問題点は仕様にフィードバック• Best Open Source Project賞をいただく
19

IETFハッカソン – IETF100 受賞プロジェクト
n Best Overall : DNS
n Best Input for the Scotch BoF : IPv4-IPv6Transition Technology Interop and NAT64 testingn Best Student Project : I2NSF
n Best Long-Term Work: YANG/NETCONF/RESTCONF
n Best Remote Participation : TLS
n Best Open Source Project : DOTS Interopn Best Cross Area Work: SACM
n Best Interoperability Testing: QUIC

20

DOTS
First Interoperability Test
IETF 100 Hackathon Report
Kaname Nishizuka/NTT CommunicaEons
Jon Shallow/NCC Group
Liang Xia/Huawei

DOTS is now working!
• DOTS WG is aiming to make it standardized inthis year
• Now we have several individual
implementaEons• go-dots (open-sourced project) from NTT• NCC Group’s proprietary implementaEon• This ﬁrst interoperability test at the hackathon
is a giant step for proving it works.

What happened in the Hackathon• 3 acEve projects with 7 parEcipants– include 3 remotely from Tokyo, London, Nanjing• 3 Projects are:
1. First Interoperability test of 2 individual
implementaEons
2. Adding new features and extensions to the
open-sourced implementaEon
3. (IntegraEon with a detecEon system of Miraibotnet)

We won an award!
• Best Open Source Project1. First Interoperability test of 2 individual
implementaEons– go-dots (open-sourced project) from NTT•

Kaname Nishizuka, Takahiko Nagata(Remote)– NCC Group’s proprietary implementaEon•Jon Shallow(Remote)Result of the Interop Test

What we proved in the Interop
MiEgaEon
Request(PUT,GET,DELETE)
go-dots
MiEgaEon
Request

DOTS client
MiEgaEon
AcEon(RTBH)

go-dots
DOTS server

OKNCC
Group

MiEgaEon
AcEon

DOTS server/DOTS clientOK• We can start and handle a miEgaEon from MiEgaEon Request Modeleach client over DOTS signal-channel (CoAPDOTSover DTLS)CoAP• Plus, NCC Group’s implementaEon can act as TLS DTLS
TCPUDPa DOTS relay (gateway), so we proved thatIP
relayed miEgaEon requests can work over
DOTS Signal Channel
mulEple organizaEons.
LayersGeneral Feedback to DOTS WG• ImplementaEon Experiences– For example most of the code modiﬁcaEon wasrelated to encode/decode of CoAP mapping– there were many implicit speciﬁcaEons we need toﬁgure out and agree on• Need more descripEon of the content and code
• approx. 60% of the signal-channel spec has been
proved to work
– The rest will be done at/by the next IETF

go-dots Feedback to DOTS WG• PreparaEon for the interop test

– Agree on port number(-06) and URI path(-07)– Fixed CBOR mapping– Updated data models• Code Updates during Hackathon– Omit empty(NULL) entries in requests– Fixed response body

• Test scenarios should be listed and shared– to get every paderns of request/response type andsee normal/error behavior– unintended behavior can be found only by interop

NCC Group Feedback to DOTS WG (Pt 1)• Code Updates during Hackathon– CBOR <-> JSON mapping ﬁxes for NULL entries– Remove NULL entries confusion and deleted NULLentries in any response– Added support for mulEple miEgaEon requests within
a single PUT• NCC DOTS Client crashing go-dots DOTS server– Disabled Signal ConﬁguraEon requests– Disabled Heartbeats– SEll go-dots server issues handling NCC client requests- to be worked on

NCC Group Feedback to DOTS WG (Pt 2)• Outstanding NCC Group to be ﬁxed

– DOTS Client handling bad CoAP Ping responses– Support of GET empty requests that are not CBOR
encoded• QuesEons– Should NULL entries be allowed ?
– Should a NULL entry of type Object be allowed whendeﬁniEon is Array ?
– What should happen when lifeEme = 0 is requested ?
– Should there be support for mulEple miEgaEon
requests within a single PUT ?

2. Adding new features and extensions to theopen-sourced implementaEon

Using DOTS Vendor-Speciﬁc Adributes
for Global IP ReputaEon Sharing
DOTS Client

DOTS ServerSignal Channel

Global IP Reputation DatabaseCoAP PUT

IP Reputation

Mitigation Request
mitigation-scopes…
Vendor-Specific:
attack-event * [target-ip]{ target-ip
top-attack *[botnet-ip]{ botnet-ip
attack-typepeak-traffic {bps pps}
start-time
period}}CoAP Response

botnet-ip1

botnet-ip2

attack-typepeak-traffic
start-time
periodattack-typepeak-traffic
start-time
periodresponse
botnet-ipN
attack-typepeak-traffic
start-time
periodUsing DOTS Vendor-Speciﬁc Adributes
for Outbound Adack MiEgaEon
Outbound Attack Repository

DOTS Client

DOTS Server
Signal ChannelCoAP PUT

Attack Source
Information

mitigation-scopes
Mitigation Request…
Vendor-Specific:
attack-event * [target-ip]{ target-ip
top-attack *[botnet-ip]{ botnet-ip
attack-typepeak-traffic {bps pps}
start-time
period}}CoAP Response
response

botnet-ip1

botnet-ipNtarget-ip
attack-typepeak-traffic
start-time
periodtarget-ip
attack-typepeak-traffic
start-time
periodAttack Source
at Botnet-IP

Send MiEgaEon Request to Adack Source
to Enable the Outbound Adack MiEgaEon
DOTS Signal Channel or Others次回IETF101に向けてn 発表は好評• 問題点はつつがなく仕様に反映された
n チェアが会場に、「早く他にも Interop に出す実装を持ってきてほしい」「早く市場に展開させたい」と発⾔• 以下の2点を気にしていたので、IETF101では改善し、標準化が⼀気に進むことに期待ü 今回はドラフトの著者がほとんどリモートだったこと
ü 他の主要なWGとのコンフリクトで参加⼈数が少なかったこと

35

まとめ
n ハッカソン出場の意義• 標準化プロセスを早めることができる• WGでの発表や懇親会でのデモなど、数多くのアクティビティの機会をゲットできる• WGでの発⾔⼒を強化できる
n DOTSの進展• MLにて議論が活性化中• 我々の戦略として
ü 引き続きNCCグループとは Interop を実施
ü さらに Interop に参加する実装を集めたい36