━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ __ /P▲ ◆ JPNIC News & Views vol.1525【臨時号】2017.8.24 ◆ _/NIC ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ◆ News & Views vol.1525 です ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2017年7月中旬に、チェコのプラハにて開催された第99回IETFミーティングの 報告を、前号より連載でお届けしています。本号では、DDoS対策のためのプ ロトコルであるDOTSの標準化活動に関する取り組みと、IETF会合に合わせて 開催された、実際に手を動かしてプログラムの作成や相互接続のテストなど が行われる、「IETFハッカソン」についてご紹介します。 次号以降では、DOTSと同様に日本からのハッカソン参加となった、インシデ ント情報交換プロトコルのMILEについてのレポートや、セキュリティ関連の 動向などをお届けする予定です。前回発行した全体会議報告については、下 記のURLからバックナンバーをご覧ください。 □第99回IETF報告 ○[第1弾] 全体会議報告 (vol.1524) https://www.nic.ad.jp/ja/mailmagazine/backnumber/2017/vol1524.html また、2017年9月1日(金)に東京・渋谷で第99回IETF報告会を開催します。 下記のページからお申し込みいただけます。 IETF報告会(99thプラハ)開催のご案内 https://www.nic.ad.jp/ja/topics/2017/20170815-01.html ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ◆ 第99回IETF報告 [第2弾] DOTSとIETFハッカソン NTTコミュニケーションズ株式会社 西塚要 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ チェコ・プラハで開催された第99回IETFミーティング(IETF 99)に先立つ週末 の2日間(7月15日(土)、16日(日))、同じ会場にてIETFハッカソンが開催され ました。本稿では、DOTSプロトコルの実装をテーマにIETFハッカソンに参加 した筆者の経験を基に、IETFにおける"Running Code"の価値についてお伝え します。 ■ DOTSプロトコルとは? DOTSとは、DDoS Open Threat Signalingの略称です。DDoS対策における(組織 間の)防御依頼の標準化をめざして、DOTS WGが2015年に発足しました。IETF の中では比較的新しいWGで、2017年中に「ユースケース」「アーキテクチャ」 「リクワイヤメント」の3本のドラフト、および、DOTSプロトコルを策定する 2本のスタンダードトラックドラフトのWGラストコールをめざしています。 DOTSプロトコルの有用性を理解するために、現在のDDoS対策について簡単に おさらいいたします。あるサービスがDDoS攻撃を受けてしまった時、そのサー ビスの運用者はどのような対策ができるでしょうか。規模の小さいDDoS攻撃 であれば、自組織内で対処ができるかもしれません。しかし、インターネッ トへつながる回線が輻輳させられてしまうほどの大規模な攻撃であった場合 には、上流のサービスプロバイダや専門のDDoS対策事業者に防御(ミチゲー ション(緩和)やスクラビング(除去)と呼ばれます)を依頼する他に、回線の輻 輳を避ける方法はありません。しかし、防御依頼を受け付ける窓口はメール あるいは電話だったりするかもしれません。そのため、防御を発動するまで の時間がかかり、その間は攻撃が成立し続けてしまいます。 DOTSは、そのような防御依頼の方法について、新しくDOTSプロトコルを策定 します。DOTSプロトコルは、利用者側のDOTSクライアントから提供者側のDOTS サーバに対して、攻撃を受けているIPアドレスなどの情報とともに防御を依 頼します。依頼を受けたDOTSサーバ側は、認証および防御依頼のバリデーショ ンを実施した上で、DDoS対策を実施します。人間を介さない防御受付のイン タフェースが規定されることで、DDoS対策の自動化の道が広がります。また、 プロトコル標準化によって、複数の対策事業者に対して共通のプロトコルで 防御依頼をすることができるようになります。防御依頼を受けた対策事業者 が、さらに別の対策事業者に防御依頼をするような事業者間連携も実現する かもしれません。大きな枠組みで言えば、防御依頼情報をやり取りしてセキュ リティオートメーションを実現するプロトコル、と言えます。以上の「自動 化による時間短縮」「連携による対策規模と効率の上昇」が期待される効用 です。 期待されるDOTSプロトコルですが、現在はまだ標準化の最中です。筆者はDOTS プロトコルのPoC(概念実証)実装となるDDoS対策ソフトウェアの開発を進めて おりましたが、DOTSプロトコルの標準化のイニシアティブをとるために、オー プンソースとして公開すると同時に、IETF 99においてハッカソンに出場する ことを決めました。 ■ IETFハッカソンとは? IETFハッカソンは、2015年のIETF 92から始まりました。IETFの信条と言え ば、"rough consensus and running code"ですが、ハッカソンを始めたIETF チェア(当時)のJari Arkko氏には、実際に動くコードを元にしない議論が多 かったという問題意識があったのかもしれません。IETFハッカソンは、テー マは持ち寄りですが、各WGでの議論を元に実装を試してみた、というプロジェ クトが多いです。チームとして参加してもよいですし、個人として興味のあ るプロジェクトにジョインするのも自由です。プロトコルの実装を進めたり、 相互接続テストをしたりする機会としてハッカソンの規模は年々大きくなっ てきました。 ハッカソンはIETFミーティング前の土日の2日間に渡って開催されます。今回 のハッカソンでは200人近くが参加した上に、25個ものプロジェクトがありま した。IETF自体の参加者が1000人超ですので、実に2割近くがハッカソンに参 加していた計算になります。初日は夜9時までありましたが、ギリギリの時間 まで作業をし続ける様子は、世界共通のようです。 ■まさかの受賞!? 筆者は、株式会社レピダムの岡田耕司氏と一緒に、DOTSプロトコルの実装を テーマとして参加しました。ハッカソンに合わせて、開発中のソフトウェア をGitHubで公開しましたので、当日会場では、実装の変更に加えて、ドキュ メントの充実、docker-composeの作成など、誰でも簡単に試す(デプロイでき る)ための開発を実施しました。ハッカソン中は、我々のプロジェクトに興味 を持って話しかけてきた人と議論をしたりなど、黙々と作業するだけではな い機会も得ることができます。 2日目の午後には、プロジェクトごとに3分ずつ成果を発表しました。ジャッ ジから2、3の質問を受けますが、 * 何人がプロジェクトに参加していたか * 実際にこの2日間で達成したことは何か * WGはどこで、標準化のステータスはどのくらいか というような質問が共通していました。 最後に、優れたプロジェクトに対する表彰がありました。 * IETF標準に対してどれだけ貢献したか * 新しい人たちをIETFでの活動に惹きつけることができたか というのが基準になるとのことです。 自分たちのプロジェクトはまさか受賞しないだろうと思ったので、突然名前 を呼ばれた時は驚きました。しかし、受賞した名目は、"Best Name"賞。我々 のソフトウェアは、DOTSプロトコルをGo言語で実装しているので、"go-dots" という名称です。"Waiting for go-dots"というタイトルでプレゼンを行った のですが、サミュエル・ベケットの有名な不条理劇「ゴドーを待ちながら (Waiting for Godot)」をもじったタイトルが好評だったようです。次はぜひ 名前ではなく中身で賞を狙いたいと思います。 他のプロジェクトでは、QUICについて、複数の実装間の相互接続性を試験し ていたチームが、"Best Interop"賞を受賞していました。会場だけではなく 日本からのリモート参加もあり非常に活発に活動していました。 各プロジェクトのテーマや写真は、ハッカソンをスポンサーしたシスコ社の ブログに詳しく記載されています。 https://communities.cisco.com/community/developer/opensource/blog/2017/07/23/running-code-is-king-at-ietf-99-in-prague ■ DOTS WG での発表 IETF会期中のDOTS WGにおいて、ハッカソンでの経験についてのプレゼン(*) を行いました。DOTSプロトコルのオープンな実装としては、我々のソフトウェ アが一番乗りでしたので、大変注目されました。 発表では、実際に実装をする上で見つけた、現状のドラフトで考慮が漏れて いる点や問題点などを、仕様へのフィードバックとして伝えました。この時 に実感したのが、"Running Code"を持っていることの強さです。実装をした 時に見つけたファクトを元にしているので、発言力が目に見えて変わるのを 実感しました。 DOTSに注目している会社として、Arbor社、Radware社、Cisco社、Verisign社 などが挙げられます。次回のIETF 100では、ハッカソンにて彼らと相互接続 試験をすることをめざします。他のWG参加者に実装を促すことができたのも、 成果の一つです。 (*) 資料URL:Go implementation of DOTS https://www.ietf.org/proceedings/99/slides/slides-99-dots-dots-hackathon-report-00.pdf ■ デモ@Bits-n-Bites IETF会期中に、Bits-n-Bitesという全体の懇親会が開かれます。スポンサー のブースに加えて、ハッカソンの参加者には、成果物をデモすることができ る機会が与えられるため、スペースをいただいてデモをしました。デモの内 容は、DOTSプロトコルを利用して、ネットワーク越しに、DDoS対策を有効化 するというものです。具体的には、RTBH (Remotely Triggered Black Hole) を利用して、DOTSクライアントから伝えられた特定宛先のパケットを破棄す るというシナリオです。 Bits-n-Bitesでのデモは、IETF参加者全体に対してアピールできる大変良い 機会になりました。DDoS対策に興味を持っている参加者は多く、休み無く人 が訪れ、説明とデモで忙しかったです。IETF参加者の中でもDOTSプロトコル 自体を知らないという人が結構いましたが、DOTSプロトコルの狙いについて 理解してもらうだけでなく、動くデモがあるということで、標準化が進んで いる印象を与えることができました。 特に、セキュリティエリアのエリアディレクターであるKathleen Moriarty氏 にデモを見せて、よくやってくれたと高い評価を得たことがとても嬉しかっ たです。中身だけでなく、IETFでのプロトコル標準化に貢献している点が評 価されたものと思います。 ■ プロトコル実装の難しさと面白さ ハッカソンをきっかけに、WGでの発表や懇親会でのデモなど、数多くのアク ティビティを実施することができました。ハッカソンに参加することで、沢 山の機会や人とのつながりを得ることができるので、IETFに参加されている 方には、次回以降ハッカソンにも参加されることを強くお勧めします。 RFC化される前のドラフトに基づいてプロトコル実装をしてみましたが、この フィールドの値が決められていない、値と値の関係がドキュメントでは不明 瞭など、数多くの検討箇所を見つけることができました。また、実装にあたっ て、TLS/DTLSを利用しましたが、よい既存のライブラリが見つからないなど、 他のIETFプロトコルの実装の状況に引きずられるなどの問題もありました。 今もまさにこのような難しさに直面しているわけですが、まだ決まっていな い仕様に対して提案できるというのがまた面白いと感じます。これらは、 "Running Code"に価値を置いている、IETFならではの経験と言えるのではな いでしょうか。 最後に、OSS化した我々のソフトウェアを紹介します。go-dots自体のインス トールは1コマンドで済みますし、docker環境があれば先ほど説明したデモが すぐに再現できます。ぜひ、フィードバックをいただければと思います。 https://github.com/nttdots/go-dots ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ わからない用語については、【JPNIC用語集】をご参照ください。 https://www.nic.ad.jp/ja/tech/glossary.html ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ ◆◇◆◇◆ 本号のご感想をお聞かせください ◆◇◆◇◆ ┃ ┃良かった ┃ ┃ http://feedback.nic.ad.jp/1525/c3f9cfe148dcb3225c40e81132a06399 ┃ ┃ ┃ ┃悪かった ┃ ┃ http://feedback.nic.ad.jp/1525/b661276a77a91acb11d9d83fc70cbe31 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ___________________________________ ■■■■■ JPNICの活動はJPNIC会員によって支えられています ■■■■■ ::::: 会員リスト ::::: https://www.nic.ad.jp/ja/member/list/ :::: 会員専用サイト :::: https://www.nic.ad.jp/member/ (PASSWORD有) □┓ ━━━ N e w s & V i e w s への会員広告無料掲載実施中 ━━━┏□ ┗┛ お問い合わせは jpnic-news@nic.ad.jp まで ┗┛  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ JPNIC News & Views vol.1525 【臨時号】 @ 発行 一般社団法人 日本ネットワークインフォメーションセンター 101-0047 東京都千代田区内神田3-6-2 アーバンネット神田ビル4F @ 問い合わせ先 jpnic-news@nic.ad.jp ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ___________________________________ 本メールを転載・複製・再配布・引用される際には https://www.nic.ad.jp/ja/copyright.html をご確認ください  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 登録・削除・変更 https://www.nic.ad.jp/ja/mailmagazine/ バックナンバー https://www.nic.ad.jp/ja/mailmagazine/backnumber/ ___________________________________ ■■■■■ News & ViewsはRSS経由でも配信しています! ■■■■■ ::::: https://www.nic.ad.jp/ja/mailmagazine/backnumber/index.xml :::::  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ■■◆ @ Japan Network Information Center ■■◆ @ https://www.nic.ad.jp/ ■■ Copyright(C), 2017 Japan Network Information Center