2019/07/10

Black Hat / DEF CON の CTF でバッジを手に入れよう!

BlackHat

2019 年 7 月 10 日 Marc Laliberte 著

毎年 8 月上旬は、セキュリティ関連のカンファレンス、Black Hat、DEF CON、BSides に参加しようと、世界各地からハッカーやセキュリティ愛好家がラスベガスに集結します。カンファレンスが開催される週には、怪しい Wi-Fi ネットワークがあちこちに出現し、不思議なことにいくつもの ATM が停止し、CTF(Capture the Flag:旗取り合戦)と呼ばれる、ハッキング技術を競うコンテストが開催されます。

CTF の課題のスキルレベルはさまざまであり、基本的な暗号の解読から本格的な脆弱性の発見とエクスプロイトまでの多岐にわたります。たとえば、DEF CON の公式の CTF の場合は、48 時間にわたって 24 のチームがお互いのシステムに侵入し、デジタルの「旗」を手に入れようとし、それと同時に、相手に侵入される前に自分のシステムの脆弱性を見つけ、修正しようとします。

それ以外の CTF はそれほど本格的ではありませんが、楽しいものであることに変わりありません。私の長年にわたるお気に入りの 1 つである、DCDarknet のコンテストでは、パズルを解く速さとリバースエンジニアリングの速さを競います。そして、この DCDarknet の CTF の最大の特長の 1 つであるのが、「バッジ」です。ご存知の方もいらっしゃると思いますが、最近の DEF CON カンファレンスでは、#badgelife というハッシュタグがあちこちで使われるようになりました。

愛好家や組織的なグループがデジタル回路基板のバッジを設計して作成し、カンファレンスの開催期間中に同好の参加者に販売したり配布したりします。

これらのバッジは、LED が並んだトンボのようなシンプルなもので、簡単なゲームが内蔵されています。#badgelife が大々的に使われるようになったのは、DEF CON 14 で最初のデジタルのカンファレンスバッジが登場した 2006 年のことです。DC14 バッジはそれほど複雑なものではなく、2 つの LED、バッテリークリップ、ボタン、そして、ライトのいくつかの点滅モードを操作する回路で構成されていました。カンファレンスの公式のバッジは年を追うごとに複雑になり(1 ~ 2 年ごとにデジタルではないバッジに戻ることもありますが)、他のハードウェアハッカーたちが自分たちのバッジを持って参加するようになりました。

ウォッチガードも 2 年前から、このイベントにチームを組織して参加しています。Black Hat 2017 と DEF CON 25 の数か月前に、CTFコンテストに参加するための準備を開始し、参加者に配るデジタルバッジを製作しました。我々はこのイベントのために、参加者が「クリムゾンソーン」と呼ばれる謎のハッカー集団のメンバーになるというストーリーを作り上げました。CTF は企業向けの趣が強い Black Hat カンファレンスでは新しいものではありませんでしたが、デジタルバッジはそれまでになかった新しいものであり、我々は、その両方に参加することにしたのです。

1 回目の DC14 のバッジがそうであったように、我々の最初のバッジもとてもシンプルなもので、Arduino Pro Trinket を PCB にはんだ付けし、5 つのボタンと 8 つのオレンジ色の LED を並べたものでした。

2017 年「クリムゾンソーン」CTF のバッジ

CTF の参加者は、コマンドライン端末を模して設計された Web サイトで、パズルを解いたり、コードを解読したりする必要がありました(今となってはお見せするのがかなり恥ずかしいソースコードです)。いくつかの課題では、コードのワードをバッジに入力するために、LED を文字のバイナリ表現で点灯させる必要がありました。参加者がバッジをすばやく前後に振った場合に表示される LED や隠しメッセージを使った課題もありました。最後の課題は、我々が用意したバッテリーホルダーが想定どおりに収まらなかったというものでした。

我々の最初の CTF は、参加者数という点で成功したとは言えません。最初の課題を突破したのは 100 人弱、10 題目の課題を突破したのはわずか 10 人強でした。残念ながら、バッジを手に入れた参加者が少なかったため、ウォッチガードの脅威ラボにはバッチが入った箱が今もいくつか残っています。この経験を糧とし、我々は 2018 年に雪辱戦に挑むことにしました。

2 年目となったこの年は、コンテストの Web サイトを全面的に見直して改良し、ハードウェアのエキスパートである Zane が時間をかけて素晴らしいバッジを製作し、チームの残りのメンバーは前年より面白い CTF の課題を考案しました。

2018 年の我々のバッジには、小型のコンピュータである Raspberry Pi Zero を採用し、課題(と手に汗握る競争ゲーム)を表示するための画面、メニューを移動するためのボタン、換字式暗号を表示するための円形に配置した LED を付けました。

2018 年「クリムゾンソーン」CTF のバッジ
いくつかのちょっとした問題(恐ろしい煙を吐くモンスターの出現など)を除けば、2018 年の CTF は大成功を収めました。700 人を超える参加者を集め、何百人もの参加者がかなり多くの課題を突破しました。カンファレンスの終了日までに Black Hat の分として用意しておいたバッジがすべてなくなり、残りのバッジも DEF CON の初日早々になくなりました。

我々は今年も新しいバッジを手に、このカンファレンスに参加します。この記事の執筆日現在、2019 年のバッジがシアトルに向けて飛行機で輸送中であり、チームのメンバーは今年の CTF の課題を完成させるための追い込みに入っています。過去の教訓(充電回路を早い段階から何度もテストすること)に従い、本当に素晴らしいデジタルバッジを完成させることができました。今回も、課題を突破した幸運な参加者にそのバッチを無料でお配りする予定です。

昨年のカンファレンスが終わり、シアトルに帰るとすぐに、我々はバッジの開発を始めました。使用するコンポーネントを決定した後に、最初の開発ボードを 12 月頃に作成しました。見た目は美しいとは言えないものの、正しく動作するものでした。

2019 年「クリムゾンソーン」CTF 開発版バッジ、リビジョン 1

我々は次に、PCB に色々な形を配置した後に、色々なテストを実施して、メーカーに製造してもらえるデザインであることを確認しました。さらには、部品とマイクロコントローラの接続をテストし、充電回路が 100% 正しく動作することなどを確認しました。

2019 年「クリムゾンソーン」CTF 開発版バッジ、リビジョン 2

最終版のバッジについては、カンファレンスの直前まで秘密にしておきたいと思いますが、現段階でお知らせできることもいくつかあります。先ず初めに、Pro Trinket や Pi Zero などの開発ボードを前回は使用していましたが、これを変更して Espressif Systems ESP32 マイクロコントローラの周りにカスタム設計の PCB を配置し、Wi-Fi と Bluetooth にアクセスできるようにしました。

ドーターボードをすべて外し、すべてのコンポーネントをバッジに直接埋め込むことで、滑らかなデザインになるようにしました。新しい画面とナビゲーションボタンを配置し、ライトの光度を上げるために LED の数を 1 つ増やしました。そして最後に、SAO のあらゆるニーズに対応するため、Shitty Add-On V.1.69bis 準拠のヘッダを組み込みました。

CTF に今年から参戦したいとお考えの方は、Webサイト(CrimsonThorn.net)に隠されている最初の課題を見つけてみてください。Black Hat あるいは DEF CON に参加する予定でこのバッジを手に入れたい方は、いくつかの追加の課題をクリアする必要がありますが、1 つ目の課題がまもなく発表される予定です。ラスベガスで開催されるカンファレンスに参加されない方も、8 月 7 日に始まる CTF を楽しむことができます。

※ バッジの画像はUSの元記事をご覧ください。