いざラスベガス、いざDEFCON CTF決勝へ(前編)
予選はクイズ感覚の「超高度な知恵くらべ」
福森大喜/ラウリ・コルツパルン
株式会社サイバーディフェンス研究所
上級分析官
2009/9/14
「Trivialの400」にみる証明書の重要性
「Trivial 400」は暗号解読のような問題でした。これは「SSLを使っていれば安全」という考えに警鐘を鳴らすような問題です。
まず、配布されたバイナリファイルを見ると、パケットキャプチャをしたファイルであることが分かりました。これをWiresharkで開いてみると、HTTPSで通信したデータであることが分かります。暗号化通信ですので通信内容を読むことはできません。そのため、暗号を解読すれば正解を得られるのではないかと考えました。
図3 Wiresharkでログを確認(クリックで拡大します) |
そこでまず使われている暗号方式を調べるため、キャプチャデータの中からサーバ証明書を抜き出します。すると、2048bitのRSAが使われていることが分かりました。OpenSSLといえば昨年、DebianのOpenSSLパッケージに脆弱性が見つかり話題になりました(CVE-2008-0166)。これは乱数が予測可能であるために暗号が破られてしまうというものです。
【関連記事】 DebianのOpenSSLに脆弱性、「弱い鍵」が破られる恐れ(@IT NewsInsight) http://www.atmarkit.co.jp/news/200805/20/openssl.html |
この脆弱性を使うのかと思い、ブラックリストを調査しましたが該当する証明書ではありません。しかしデータをよく見ると、Exponentが35であるのが目に止まりました。大抵の場合、Exponentとして65537が使われますので、これは妙な感じがします。35というのはsshでよく使われる値です。そのため、sshで作られたkeyファイルであると仮定し解読を進めていきます。
脆弱性があるバージョンのOpenSSLライブラリを使用し、公開鍵と秘密鍵のペアを作っておきます。プロセスIDをもとに鍵ペアを作成するという脆弱性が存在するので、すべての鍵ペアを事前に作っておくことが可能なのです。またその秘密鍵の中から、modulusという部分を抜き出しておきます。問題のバイナリファイルから抜き出した証明書で、どの鍵ペアが使われているのかを調べるのに使うためです。
for f in /data/ssh_keys/rsa_2048_*[0-9] ;do basename $f openssl rsa -noout -modulus -in $f done | tee vuln_ssh_keys |
作成したペアの中で、キャプチャデータの中にあった証明書にmodulusが一致するものを探します。
fgrep -B1 $(openssl x509 -noout -modulus -inform der -in srvcert.der) vuln_ssh_keys | head -1 |
すると、「rsa_2048_18342」が一致しました。これはプロセスIDが18342のときに作成された証明書だということです。秘密鍵を入手できましたので、それをWiresharkに登録すれば解読できます。
図4 秘密鍵を特定し、暗号を解読できた(クリックで拡大します) |
このように簡単に解読できる状況ですので、脆弱性のあるバージョンに心当たりのある方はいますぐアップデートし、証明書を作り直すことをおすすめします。
いざ、決勝へ
韓国チームは接続制限を乗り越えたようで、決勝進出10チーム中5チームが韓国チームでした。筆者も何度か予選に挑戦しているのですが、今年も残念ながら決勝に進むことはできませんでした。
しかし、DEFCON開催1週間前にとある人物から連絡がありました。その人物とはbeistという韓国人ハッカーであり、beistlabやlollerskaterzというハッカーチームのリーダーです。筆者は先日、グーグルのNative Clientセキュリティコンテストで4位をいただいたのですが、そのとき同点4位だったのがlollerskaterzのメンバーである、Alexというアメリカの学生でした。そのつながりもあってbeistとは知り合いで、彼が日本に遊びに来たときに何度か飲みに行ったことがありました。
彼の話によると、lollerskaterzが決勝進出したのはいいが、主力メンバー3人が用事でDEFCONに行くことができない、もしDEFCONに行くなら手伝ってくれないかというものでした。
筆者は仕事でラスベガスに行く用事があったため、フルタイムで手伝うことはできないが、ミーティングやカンファレンスの合間ぐらいであれば手伝えることを伝え、暫定リーダーを努めるというAlexにも連絡を取りラスベガスへ向かいました……。
(後編に続く)
3/3 |
後編へ→ |
Index | |
予選はクイズ感覚の「超高度な知恵くらべ」 | |
Page1 今年も開催、ハッカーの祭典「DEFCON」 予選競技ルール――周りの人はみんな敵?! CTFの進行は「ジョパディ!」形式 |
|
Page2 トラブル続きの予選 「Pwtent Pwnablesの100」を追う |
|
Page3 「Trivialの400」にみる証明書の重要性 いざ、決勝へ |
Index | |
アスキーアートや単語当てゲーム、それが「問題」だ | |
Page1 決勝の地に到着、そこは底冷えするホテルの一室 決勝の基本ルール:「自サーバを守りつつ、攻めよ」 まずは自分の脆弱性を直すことから |
|
Page2 チームの戦略は 問題1:巨大なアスキーアートが実は…… |
|
Page3 問題2:ハングマンで単語当てゲーム……ではなく 閉幕、そして驚くべき発表 |
Profile |
福森 大喜(ふくもり だいき) 株式会社サイバーディフェンス研究所 上級分析官 大手セキュリティベンダで、Webアプリケーションセキュリティ検査などに従事したあと、国内ベンチャー企業にてWebアプリケーション診断サービスを立ち上げる。IPA情報セキュリティ早期警戒パートナーシップにおいて、1年間で120件以上のソフトウェアの脆弱性を報告、2007年に第3回IPA賞(セキュリティ)を受賞。韓国のセキュリティカンファレンス「POC 2007」で日本人初のスピーカーとして講演。 2009年、グーグルの開催したNative Clientセキュリティコンテストでは、世第4位に入賞した。 |
Profile |
ラウリ・コルツパルン 株式会社サイバーディフェンス研究所 CTO エストニア出身。タリン技術大学で8年間Linux管理者を務める過程で、高度なセキュリティ技術と知識を習得する。2003年、欧州で開催されたZone-hのハッキングミッションを史上最速でクリア。 その後、Zone-hの中心メンバーとして、世界各国で実践ハッキングセミナーの講師を務めている。2004年よりサイバーディフェンスに参加。 セキュリティセミナーおよびペネトレーションテストに従事している。卓越したハッキング技術に加え、エストニア語、英語、日本語、ロシア語、フィンランド語など多言語を操る。 |
Security&Trust記事一覧 |
- Windows起動前後にデバイスを守る工夫、ルートキットを防ぐ (2017/7/24)
Windows 10が備える多彩なセキュリティ対策機能を丸ごと理解するには、5つのスタックに分けて順に押さえていくことが早道だ。連載第1回は、Windows起動前の「デバイスの保護」とHyper-Vを用いたセキュリティ構成について紹介する。 - WannaCryがホンダやマクドにも。中学3年生が作ったランサムウェアの正体も話題に (2017/7/11)
2017年6月のセキュリティクラスタでは、「WannaCry」の残り火にやられたホンダや亜種に感染したマクドナルドに注目が集まった他、ランサムウェアを作成して配布した中学3年生、ランサムウェアに降伏してしまった韓国のホスティング企業など、5月に引き続きランサムウェアの話題が席巻していました。 - Recruit-CSIRTがマルウェアの「培養」用に内製した動的解析環境、その目的と工夫とは (2017/7/10)
代表的なマルウェア解析方法を紹介し、自社のみに影響があるマルウェアを「培養」するために構築した動的解析環境について解説する - 侵入されることを前提に考える――内部対策はログ管理から (2017/7/5)
人員リソースや予算の限られた中堅・中小企業にとって、大企業で導入されがちな、過剰に高機能で管理負荷の高いセキュリティ対策を施すのは現実的ではない。本連載では、中堅・中小企業が目指すべきセキュリティ対策の“現実解“を、特に標的型攻撃(APT:Advanced Persistent Threat)対策の観点から考える。
|
|