┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━┳━┳━┓ ┃■ SECCON メールマガジン【Vol.07】 発行:2014.09.22(月) ┃_┃ロ┃×┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━┻━┻━┫ ┃…………………………………………………………………………………………┃ ┃… 各種CTF勉強会の情報や、予選告知、結果速報、Write Up などを発信 …┃ ┃…………………………………………………………………………………………┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ …………………………… [ C O N T E N T S ] ………………………………… 0x01 SECCON 2014 長野大会「DNS Security Challenge」募集開始 0x02 第2回 CTF for GIRLS (女性限定CTFワークショップ) 開催のご案内 0x03 日本発の情報セキュリティ国際会議「CODE BLUE」発表論文募集中 0x04 連載:意外と知られていないNOP命令の秘密(x86における多バイトNOP) ──────────────────────────────────── 0x01 SECCON 2014 長野大会「DNS Security Challenge」募集開始 ────────────────────────────────────  いよいよ今週末となりましたが9月27日(土)28日(日)「SECCON 2014 長野大会」 を信州大学工学部SASTecにて開催します。今回は「DNS Security Challenge」と 銘打ったチャレンジ形式での開催で、一般のCTFとは違ったスタイルでの予選開催 となります。当日会場内で配布される.pcap形式のファイルをWiresharkを使って 眺めて、各チームでDNSパケットの攻撃検知力を競うコンテストとなります。 ■ SECCON 2014 長野大会 DNS Security Challenge 日程:2014年 9月27日(土)~28日(日) 費用:無料 定員:100名(25チームまで) 場所:信州大学工学部 SASTec(最寄駅:JR長野駅) 住所:〒380-8553 長野県長野市若里4-17-1 主催:SECCON実行委員会/日本ネットワークセキュリティ協会(JNSA) 協力:株式会社日本レジストリサービス(JPRS)特別協賛 コンテストに先立ってDNSに関する基礎的な勉強会も併催されますので、予選出場 を考えていない情報セキュリティに興味のある一般の方の参加も歓迎いたします。 JR長野駅から徒歩で行ける距離でもありますので、関東圏の方は週末に新幹線を 使って気軽に参加することができます。知り合いの人で興味ありそうな人がいま したら、ぜひ誘ってみてください。 ■競技概要 複数のパケットデータをUSBメモリで配布しますので、そのパケットデータの中に 攻撃や偽装通信が含まれるかどうかを解析していただきます。攻撃や偽装通信の パケットを発見したら、そのすべてをご指摘ください。併せて、なぜそれを攻撃、 もしくは偽装と捉えたのか、理由についてもご説明ください。 なお、パケットデ ータの配布は初日9月27日(土)に行います。 翌9月28日(日)にはDNSチャレンジク イズを実施します。パケットデータ解析の評価と、クイズの結果をもって総合優 勝を決定します。 ■参加要件 ・DNSの仕組み・セキュリティに関心があること ・1チームあたりの人数制限はありません。ただし、全国大会に出場できるのは  1チーム4名までです。 ・1名での参加も可能です。その際、他の1名参加の方とのご相席をお願いするこ  とがあります。 ■ご用意いただくもの USBメモリを使用可能なノートPC ・競技参加のためUSBメモリを接続してpcapファイルをコピーできることが必須 ・無線LANに接続できること(会場内インターネットWiFiに接続できます) ■申し込み方法 9/19(金)15:00~募集開始しました。以下のフォームよりお申し込みください。 http://2014.seccon.jp/dns-security-challenge.html ■優勝特典 1. 優勝チームには、2015年2月に東京電機大学(東京千住キャンパス)で開催さ   れる全国大会のシード権が与えられます。なお、全国大会に出場できるのは   1チーム4名までです。 2. 他の優勝特典として、さらにDNSへの理解を深めるための書籍のプレゼント、   合宿型のDNS勉強会への招待権獲得なども準備しております。 DNSについて勉強できる、またとない機会ですので、奮ってご参加ください。 SECCON実行委員会 事務局より ──────────────────────────────────── 0x02 第2回 CTF for GIRLS (女性限定CTFワークショップ) 開催のご案内 ──────────────────────────────────── 6月に開催いたしました女性向けのCTFワークショップ「CTF for GIRLS」ですが、 第1回の開催が大変好評だったため、続編として平日の夜に第2回を開催する運び となりました。今回の会場は渋谷ヒカリエにあるDeNAさんのセミナールームを借 りての開催となります。今回も早期に定員に達する見込みが高いため、参加資格 を有している興味のありそうな方がいらっしゃいましたら、ご案内ください。 ■第2回 CTF for GIRLS (女性限定CTFワークショップ) http://2014.seccon.jp/2014_10_CTF_for_GIRLS2.html 日  程:2014年10月17日(金)19:00~21:00 会  場:渋谷ヒカリエ21F DeNA本社(受付11F) 参 加 費:無料(スイーツ付き) 参加資格 :女性であること(男性は入場できません) 定  員:50名 主  催:SECCON実行委員会/日本ネットワークセキュリティ協会(JNSA) 運  営:CTF for GIRLS運営スタッフ ※SECCON全国大会に向けた予選シード枠はありません -CTF for GIRLS 開催にあたり-  高校生の時に情報セキュリティの世界に出会い、大学入学後本格的に情報  セキュリティ技術を学び初め、今では情報セキュリティ分野の研究を仕事  としている私がまず言えることしては「情報セキュリティ技術習得におい  て男女に差は無い」ということです。しかし、現在の情報セキュリティ業  界の偏った男女比から、情報セキュリティ技術に興味を持ったものの、社  会的・心理的なハードルの高さを感じて、その習得を諦める女性が多いよ  うに感じられます。  そこで、情報セキュリティ技術に興味を持つ女性達が、気軽に技術的な質  問や何気ない悩みを話しあうことが出来るコミュニティ作りを目的として  「CTF for GIRLS」を企画致しました。「CTF for GIRLS」では、コミュニ  ティ形成の一環として女性同士で情報セキュリティ技術を教え合うワーク  ショップや、その他女性向けCTFイベントの開催を行っております。その  「CTF for GIRLS」の第二回目の企画として10月17日に女性向けCTF  ワークショップを開催致します。CTFを通じて情報セキュリティ技術の面  白さを是非体験してみませんか? CTF for GIRLS主催 中島明日香(SECCON実行委員) ──────────────────────────────────── 0x03 日本発の情報セキュリティ国際会議「CODE BLUE」発表論文募集中 ──────────────────────────────────── 「CODE BLUE」は、日本から世界に最新の情報セキュリティの研究を発表する国際 会議です。2014年2月に第1回目が開催され、その第2回目が2014年12月18日と19日 の2日間、東京・御茶ノ水のソラシティカンファレンスセンターにて開催されます。 CODE BLUEでは情報セキュリティに関する「Innovative」で「創意工夫」あふれる 研究発表を広く募集しています。講演枠は「60分」で日本語と英語の同時通訳が 付きます。投稿〆切は10月15日予定で、早期〆切の可能性もあります。日本語の 発表応募もお待ちしております。 http://codeblue.jp/2014/cfp.html ──────────────────────────────────── 0x04 連載:意外と知られていないNOP命令の秘密(x86における多バイトNOP) ────────────────────────────────────  x86のバイナリ解析で覚えておかないといけない頻出命令の一つとしてNOPがあ ります。C:\windows\system32以下の全DLLを機械的に逆アセンブルし、命令毎の 出現数をカウントしてみた結果、ベスト10位に輝いたのがNOP命令(0x90)です。 参考:よく使うASM命令ベスト100位に説明つけてみた(1/10)- KENJI’S BLOG http://d.hatena.ne.jp/kenjiaiko/20080828/1219919240 1. mov - レジスタ値やメモリの値を転送 2. push - スタックへ値を格納 3. add - 値を加算(足し算) 4. call - スタックに次の実行命令のアドレスを入れてジャンプ 5. int3 - デバッグ用割り込み 6. pop - スタックから値を取り出す 7. cmp - 値を評価してフラグに反映 8. je - ZF=1 同じならジャンプ 9. lea - まぁ[]の中の計算結果がレジスタへ入ると覚えておけばおk 10. nop - 何もしない なぜバイナリ中に何もしないNOP命令が埋め込まれるかと言うと、命令フェッチ が16バイト境界に揃ってると、CPUの動作が高速になるため、C/C++コンパイラが アライメント調整のために、関数の先頭や繰り返しループでジャンプされる先の 番地の前に境界をそろえるため何もしない命令を挿入しているのです。 ここで気になるのがNOP命令を挿入すると、実行に余計に時間がかかるのではな いかという懸念です。そんなことを考えるのは皆同じで、x86では多バイトのNOP 命令が発明され、以下のような多バイト命令がNOPの代わりによく使われます。 00000000 90 nop ; 1バイトNOP 00000001 89F6 mov esi,esi ; 2バイトNOP 00000003 8D7600 lea esi,[esi+0x0] ; 3バイトNOP 00000006 8D742600 lea esi,[esi+0x0] ; 4バイトNOP 0000000A 8DB600000000 lea esi,[esi+0x0] ; 6バイトNOP 00000010 8DB42600000000 lea esi,[esi+0x0] ; 7バイトNOP NOP命令はXCHG EAX,EAXと同等の意味で使われていましたが、多バイトNOPでは MOVやLEAなどEFLAGSレジスタの更新を伴わない命令を使っているのがミソです。 ADD EAX,0や、OR EAX,EAXなどの命令はフラグを更新してしまうので駄目です。 これらはLinuxのカーネルのソースコードで確認することができるのですが…、 CPUの種類によって、最適なNOP命令を使分けているほどの念の入れようです。 http://lxr.free-electrons.com/source/arch/x86/include/asm/nops.h x64以降では、オペランドサイズを変更するOPERAND PREFIX (0x66)をNOP命令 (x090)の前に並べたものが、公式に速い多バイトNOP命令と定義されました。 00000017 6690 nop ; 2バイトNOP 00000019 666690 nop ; 3バイトNOP 0000001C 66666690 nop ; 4バイトNOP 00000020 6666666690 nop ; 5バイトNOP さて、このOPERAND PREFIX(0x66)ですが最大何バイトまで置けるでしょうか? 次回はx86における最大の命令長とx64環境のNOP命令の変化について解説します。 NOP命令を愛でる会 竹迫 良範(会員番号2) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼ SECCON 2014 実行委員会は、多くの皆様からの無償のご支援と、スポンサー   企業様からの協賛金によって運営されています。 ……………………………………………………………………………………………… ▼ メルマガの配信停止はこちらよりお手続き下さい。 http://2014.seccon.jp/optout.html ……………………………………………………………………………………………… Copyright (C) 2014 SECCON 2014 実行委員会 All rights reserved. 掲載内容の無断転載を禁じることはありませんのでご安心下さい