「五輪サイバー対策本格化=「ホワイトハッカー」確保へ-攻撃の高度化に備え・政府」を読んで思ったこと
「五輪サイバー対策本格化=「ホワイトハッカー」確保へ-攻撃の高度化に備え・政府」というタイトルの記事(魚拓)を読みました。
最近では「東京五輪」「サイバー」という言葉が合わさると必ずと言って良いくらい出てくる言葉があります。
この記事でいうと下記の2つでしょうか。
① 大会公式サイトは2週間の開催期間中に2億2100万回ものサイバー攻撃を受けた。
② 人材育成も急務だ。
「五輪サイバー対策本格化=「ホワイトハッカー」確保へ-攻撃の高度化に備え・政府」というタイトルの記事(魚拓)を読みました。
最近では「東京五輪」「サイバー」という言葉が合わさると必ずと言って良いくらい出てくる言葉があります。
この記事でいうと下記の2つでしょうか。
① 大会公式サイトは2週間の開催期間中に2億2100万回ものサイバー攻撃を受けた。
② 人材育成も急務だ。
色々と思うところがありまして、ボクが調べたことがどこかの誰かの役に立てばいいなと思い
1人CSIRTサイトを始めることにしました。このブログにあるコンテンツの一部は移行済みです。
1人CSIRTのサイト名前は(n)inja csirtです。
基本的にボクが何かしら調べたことを共有するためのサイトですので、それ以外のコンテンツはこちらのサイトに掲載していこうと思っています。
2つのサイトともども今後もよろしくお願いいたします。
(n)inja csirtはこちらから。
Windows XP が2014年4月9日でサポートが終了しますね。
ボクのところにも知人から
「XPを使っているんだけど使い続けるには何に気をつければいい?」
という質問が寄せられています。
ということでWindows XPを使い続けるために必要なモノを考えてみました。
と言っても気をつけることって修正プログラムがリリースされなくなる以上
サポートが終了する前から気をつけていたこと以上に気をつけられることってないと思います。
アンチウイルスソフトのパターンを最新に保って、EMET(Enhanced Mitigation Experience Toolkit)をインストールするくらいです。
アンチウイルスソフトのパターンファイルを最新に保っても
100%検知してブロックすることは不可能というのは既に周知の事実ですよね。
先日こんなニュースもありました。
EMETをインストール(インストール可なのはSP3以降)したとしても機能としては
Windows 7以降にインストールするのとは歴然と差があります。
平たく言うと、XP + EMET と 新しいWindows OS + EMETとを比較するした場合、前者のほうが防御機能を回避できる余地が多分にあると言えます。
これから発見されるであろう脆弱性への攻撃を緩和することが満足にできないわけです。
Windows XPをこれからも今まで通り使い続けることは
ちょっと例えは悪いかもしれませんが
健康保険を持たずに生活することに近いと思います。
いくら病気にならないように健康的な生活を心がけても人間は病気になってしまいます。
健康保険がなければ気が遠くなるような金額を支払うことになる可能性もあります。
実費を支払うことにためらいを感じて、病院に行かず騙し騙し生活をしていたら
取り返しのつかない状態になり、最悪の場合死んでしまいます。
これをコンピュータで言うとマルウェア(ウイルス)に感染し、データが破壊されたり
盗み出されたりするということになります。
選択としては
サポートが切れる前、最悪、切れて間もなくにサポートが継続しているOS(Windows以外という選択肢もあるでしょう。パソコンを捨て、タブレットなどにするという選択肢もあると思います。)に乗り換えるための
手間とお金といったリソースを先にかける。
それを惜しんで、被害にあったときに前者の選択よりもリソースをかけるか。
の二択となります。
もちろん、後者の選択肢を選んだ場合は、どんなにお金や手間をかけても補えない可能性はあります。
例えで言った「死」が待っているかもしれません。
とはいえそういったことが必ず起きるとは言い切れません。
Windows XPを使い続けたからといって100%大変なことになるとは言い切れません。
だから、難しいんですね。大小様々な理由から乗り換えられない方は沢山いらっしゃることかと思います。
今、お金と手間をかけるか
何かあったときにお金と手間をかけるかです。
繰り返しになりますが後者は取り返しがつかない可能性付です。
Windows XPを使い続けるために必要なモノは
上記事実を踏まえた上での「覚悟」なのだと思います。
後悔先に立たずです。
P.S.
おまけにボクがXPから乗り換えた理由を書いておきます。
XPが動作しているコンピュータは基本的に遅いです。
もちろん、セキュリティ面のこともありますが、業務効率が極端に落ちます。
それに耐えられないと判断したからです。
2006年から働いていたNTTデータ先端技術株式会社を退職しました。
厳密に言うと途中で統合されたので
NTTデータ・セキュリティ株式会社 + NTTデータ先端技術株式会社の合計で丸8年働いたことになります。
今思うとその8年間は長かったのか短かったのか分からないです。
長いと言えば長いですし、短いと言えば短いかなぁという感じですね。
いずれにしてもとてもとても充実した8年間だったのは事実です。
色々なことをさせてもらい
今の自分の基盤となるものを作る機会を沢山与えてもらったなと思います。
会社のルールや仕組みを理解していない段階でサービス立ち上げをしたり
業務改善したり、記事を書いたり、講演したり。
文章では書き切れないほどのことを思い起こしながらこれを書いているのですが
文章にはできなくても頭の中でついこの間のことのように蘇ってきます。
もうすぐ死んじゃうの?って思ってしまうくらいに走馬灯風味です。本当に。
振り返ってみて心底思います。
1人で成し遂げたことなんか何1つなかった。
どんなことでも1人じゃないからできてきたことなんだな。
って。
当たり前に喜怒哀楽すべての感情がひっきりなしに入れ替わり立ち替わりでした。
そこには何1つ無駄なものはなく、すべては今の自分の糧になっていると確信しています。
明日から新しい職場です。
ありがとう。さようなら。こんにちは。よろしくお願いします。
今回、位置情報などのメタデータについて書かせていただきました。
実はこの記事を納めて間もなく、iPhoneの位置情報記録が発覚していて少し運命を感じましたw
デジカメだけではなくスマートフォンの普及で位置情報を知らない間に
漏らしまう危険は意外なところに潜んでいるのかもしれませんね。
しかし、それが怖いからといって「使わない」という安直な選択をすることは
賢明ではないと思うんですよね。
セキュリティも0か1ではなく、その間を細やかにバランスを取り
そして、コントロールすることが大切なのだと思います。
後半では、ドキュメントファイルなどに含まれるメタデータにも触れています。
結構、インターネットに公開されているファイルの中には内部の人間しか
知り得ない情報が含まれていることがあるものです。
標的型攻撃やその1つであるAPT攻撃を行う際のヒントが
ひっそりと公開されてしまっているのかもしれませんね。
というわけで、、今回の記事では、あまり取り上げられないが
身近に存在する危険な微かなカオリを意識させていただきました。
是非、ご一読ください。
あ、そうそう。
今回のタイトルも某テクノポップアイドルの曲からですw
まだ、発売前なのですが。。。
問題文: Find the key
超訳:キーをみつけて。
問題ファイルが何かを確認。
pentest@pubuntu:~/ctf/forensic100$ file f100_6db079ca91c4860f.bin
x86 boot sectorでだそうです。
f100_6db079ca91c4860f.bin: x86 boot sector; partition 1: ID=0x7, starthead 0, startsector 31,
31558 sectors, extended partition table (last)\011, code offset 0x0
ファイルの先頭を確認します。
pentest@pubuntu:~/ctf/forensic100$ hexdump -C f100_6db079ca91c4860f.bin | head
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000001c0 01 01 07 00 df fa 1f 00 00 00 46 7b 00 00 00 00 |..........F{....|
000001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.|
00000200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00003e00 eb 52 90 4e 54 46 53 20 20 20 20 00 02 08 00 00 |.R.NTFS .....|
00003e10 00 00 00 00 00 f8 00 00 3f 00 ff 00 1f 00 00 00 |........?.......|
Continue reading
このwriteupは、一緒に頑張ってくれたykwsmから提供してもらいました。
問題: what treasure did pirates get?
問題ファイルが何かを確認。
$ file b200_d00d7ddebd7034560.bin
実行してみる。
b200_d00d7ddebd7034560.bin: ELF 32-bit LSB shared object, Intel 80386,
version 1 (SYSV), dynamically linked, stripped
pentest@pubuntu:~/ctf/binary200$ ./b200_d00d7ddebd7034560.bin
Segmentation fault
おちる。
hexdumpの結果を見ると、Haiku-OSでコンパイルされたバイナリとわかる。
00001530 01 00 00 00 00 01 00 00 02 00 02 00 00 47 43 43 |.............GCC|
ここでHaiku-OSのVMイメージをダウンロードし、その上で実行。
00001540 3a 20 28 47 4e 55 29 20 32 2e 39 35 2e 33 2d 68 |: (GNU) 2.95.3-h|
00001550 61 69 6b 75 2d 30 39 30 36 32 39 00 00 47 43 43 |aiku-090629..GCC|
00001560 3a 20 28 47 4e 55 29 20 32 2e 39 35 2e 33 2d 68 |: (GNU) 2.95.3-h|
00001570 61 69 6b 75 2d 30 39 30 36 32 39 00 00 47 43 43 |aiku-090629..GCC|
00001580 3a 20 28 47 4e 55 29 20 32 2e 39 35 2e 33 2d 68 |: (GNU) 2.95.3-h|
00001590 61 69 6b 75 2d 30 39 30 36 32 39 00 00 47 43 43 |aiku-090629..GCC|
000015a0 3a 20 28 47 4e 55 29 20 32 2e 39 35 2e 33 2d 68 |: (GNU) 2.95.3-h|
000015b0 61 69 6b 75 2d 30 39 30 36 32 39 00 00 47 43 43 |aiku-090629..GCC|
000015c0 3a 20 28 47 4e 55 29 20 32 2e 39 35 2e 33 2d 68 |: (GNU) 2.95.3-h|
000015d0 61 69 6b 75 2d 30 39 30 36 32 39 00 00 2e 73 68 |aiku-090629...sh|
000015e0 73 74 72 74 61 62 00 2e 68 61 73 68 00 2e 64 79 |strtab..hash..dy|
000015f0 6e 73 79 6d 00 2e 64 79 6e 73 74 72 00 2e 72 65 |nsym..dynstr..re|
00001600 6c 2e 64 79 6e 00 2e 72 65 6c 2e 70 6c 74 00 2e |l.dyn..rel.plt..|
00001610 69 6e 69 74 00 2e 74 65 78 74 00 2e 66 69 6e 69 |init..text..fini|
00001620 00 2e 72 6f 64 61 74 61 00 2e 65 68 5f 66 72 61 |..rodata..eh_fra|
00001630 6d 65 00 2e 63 74 6f 72 73 00 2e 64 74 6f 72 73 |me..ctors..dtors|
00001640 00 2e 64 79 6e 61 6d 69 63 00 2e 67 6f 74 00 2e |..dynamic..got..|
00001650 64 61 74 61 00 2e 62 73 73 00 2e 63 6f 6d 6d 65 |data..bss..comme|
00001660 6e 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |nt..............|
Continue reading
問題文: Decrypt please
Ocmln. up.’g.bjf abanfoco odrgne er yd. ypcjt d.p. /,.nnw urp yd. mroy lapy=v
Ydco y.qy ,ao ,pcyy.b gocbi a ol.jcan t.fxrapew br bry .pirbrmcjw frg aoodayv
WdcbyV Yd. t.f frg ap. nrrtcbi urp co yd. bam.oat. ru ydco t.fxrapev WzdcbyV
超訳:どうぞ、復号してください。暗号部分略。
とりあえず、問題を眺めますw
短い単語に着目しながら色々考えてみます。
文字を置き換えるだけの暗号の場合、短い単語だと
「it」「do」「us」「we」「to」「me」などなど
当たりをつけていきやすいからです。
基本中の基本
ROT系を試してみたりもしました。
そこでふと、それを否定するようなものを見つけました。
gocbi a ol.jcan
この部分です。
1文字の部分。
1文字なのに「a」ですね。
原文が英語だとするとこの時点で少なくとも「a」は置き換わっていない。
と推測されます。
暗号文の中に記号がかなり混入していることを考えると
何かの配列に置き換えてるのでは?とぼんやり考えました。
そこでGoogleで「キーボード」「配列」で検索し
キー配列 -Wikipedia
に辿り着きました。
上記ページのココを見ると色々なキーボードが並んでいます。
そこでQWERTY系の配列以外のもので「a」の位置が同じものを探すと
Dvorak配列がそれに該当しました。
試しに、2文字の単語を置き換えてみます。
「er yd.」は「do the」になりました。
ということでこの配列に従って暗号文をDvorak配列からQWERTY配列に置き換えました。
置き換え結果は以下の通りです。
Simple frequency analysis should do the trick here [well, for the most part].
This text was written using a special keyboard, no not ergonomic, you asshat.
<hint> The key you are looking for is the namesake of this keyboard. </hint>
注目すべきはhintの部分。
超訳すると
「あなたが探しているキーはこのキーボードの同名の人です。」
暗号文を復号するまでもなく答えは既に見ていたようです。
というわけで答えは
「dvorak」
問題文: Find the key
超訳:キーをみつけて。
問題ファイルが何かを確認。
pentest@pubuntu:~/ctf/binary100$ ls
b100_4c5cd364e89fd34.bin
pentest@pubuntu:~/ctf/binary100$ file b100_4c5cd364e89fd34.bin
b100_4c5cd364e89fd34.bin: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
Linuxバイナリなので、実行してみます。
pentest@pubuntu:~/ctf/binary100$ ./b100_4c5cd364e89fd34.bin
「キーをお願いします。」と言われます。
Please supply a keypentest@pubuntu:~/ctf/binary100$
引数に何か与えるパターンっぽいですね。
適当に色々試してみる。
pentest@pubuntu:~/ctf/binary100$ ./b100_4c5cd364e89fd34.bin a
I hope you got it! Good luck
&0iE.m5 J
]{>=5tC!B
pentest@pubuntu:~/ctf/binary100$ ./b100_4c5cd364e89fd34.bin aaaa
I hope you got it! Good luck
&0iE.m5 J
]{>=5tC!B
pentest@pubuntu:~/ctf/binary100$ ./b100_4c5cd364e89fd34.bin b
I hope you got it! Good luck
ۓ{%ԥN^!xJ ¶_nä
pentest@pubuntu:~/ctf/binary100$ ./b100_4c5cd364e89fd34.bin bbbbbbbbbbbbb
文字数があまり関係ない?
I hope you got it! Good luck
ۓ{%ԥN^!xJ ¶_nä
ということで分析もせず、色々記号をためしてみました。
pentest@pubuntu:~/ctf/binary100$ ./b100_4c5cd364e89fd34.bin #
あら?何も入力しなかったのときと同じ挙動ですね。
Please supply a keypentest@pubuntu:~/ctf/binary100$ ./b100_4c5cd364e89fd34.bin ###
Please supply a keypentest@pubuntu:~/ctf/binary100$
というわけで色々試しているうちに下記のような挙動。
「””」って文字列長ゼロってことでしょうか。
pentest@pubuntu:~/ctf/binary100$ ./b100_4c5cd364e89fd34.bin ""
I hope you got it! Good luck
M.+Q
The real key is: bob's yer mom
pentest@pubuntu:~/ctf/binary100$
ということで正解は
「bob’s yer mom」
でした。
問題文: Would you like to play a game
超訳:あなたはゲームをしたいですか?
とりあえず、問題ファイルが何かという確認。
pentest@pubuntu:~/ctf/crypto300$ ls
c300_f75bec6f545034716.gz
pentest@pubuntu:~/ctf/crypto300$ file c300_f75bec6f545034716.gz
c300_f75bec6f545034716.gz: gzip compressed data, from Unix, last modified: Sun May 23 05:00:16 2010
pentest@pubuntu:~/ctf/crypto300$ gunzip -d c300_f75bec6f545034716.gz
pentest@pubuntu:~/ctf/crypto300$ ls
c300_f75bec6f545034716
pentest@pubuntu:~/ctf/crypto300$ file c300_f75bec6f545034716
c300_f75bec6f545034716: POSIX tar archive (GNU)
pentest@pubuntu:~/ctf/crypto300$ tar xvf c300_f75bec6f545034716
c300_f75bec6f545034716.xls
pentest@pubuntu:~/ctf/crypto300$ file c300_f75bec6f545034716.xls
c300_f75bec6f545034716.xls: CDF V2 Document, Little Endian, Os: Windows, Version 5.1, Code page: 1252, Name of Creating Application: Microsoft Excel, Create Time/Date: Wed Jul 26 11:18:57 2006, Last Saved Time/Date: Wed May 26 19:41:29 2010, Security: 1
エクセルファイルのようです。
Continue reading