2012年1月28日 (土)

CROSS新年会にいてきた

何かいて良いか全然まとまってないけど、とにかく刺激的で楽しかった。
知ってる人も初めての人も、たくさんお話しできて良かったと思います。
またこんな機会があれば是非参加したいと思います。

ありがとうございました。

2012年1月17日 (火)

移転しました

移転してきました。

2012年1月 8日 (日)

昔の想定外がいまは想定内

Pyritについてお話ししておくと、アレは高速にWPA(2)-PSKのPMK(Pairwise Master Key)をGPGPUの力で高速に生成してアタックするところが特徴的ではあるけど、それがすなわちWPA(2)-PSKの終焉を意味する物ではないと言うことだよ。



まぁWPA(2)-PSKはいわばハッシュアルゴリズムなので、ハッシュアルゴリズムは、アルゴリズムが強固でも、総当たりでハッシュの衝突、つまり解読が可能だと言うことだよ。その総当たりのスピードがいまは昔では考えられないほどの物になっているということを言っておきたい。



昔から言われていることが身近になっただけだよ。

2012年1月 6日 (金)

食べログ報道について一言

新年早々から話題が尽きませんが、食べログ報道について僕の所感を述べておくと、まぁ悪いのはやらせを依頼したお店と、やらせ業者な訳です。



しかし、食べログが死守すべき物は、ユーザーの素直な意見が反映される場、であり、その場の価値なので、こういった意図的情報操作に対して断固とした姿勢を取る必要があると思います。



食べログの価値は、そこで交わされる情報そのものだからです。

2012年1月 2日 (月)

初夢?かな

夢を見ました。



学生時代の時に、気が弱くて何にもできない子がいました。その子はいじめられていました。しかし、あるときに、いじめていた一人の子を殴り飛ばしました。周りがざわめきました。リーダー格の人が現れて、これは万事休すか、と思ったところ、なんといじめていた子を叱りました。



いじめられていた子には「おめえ、根性あるじゃねえか」といい、それ以上手出しはさせない、とメンバーに言い聞かせていました。



なんてことない夢だけど、でも心に残ったのは、自分を変えるのは、夢と希望と、ちょっとの勇気。なのかなぁと思いました。

2012年1月 1日 (日)

あけましておめでとうございます。

旧年中は様々な方にお目にかかり、また様々なご支援をいただきました。



もにったーのほうも順調に動いておりまして、機能などの目標も達成できております。



パブリックな目標はやはり、もにったーのさらなるユーザー数増加と、プレミアム版の実装だと考えております。サービスとしてトントン以上の収支を上げられれば満足できるかなと思います。



個人的な目標、というかテーマは以下の通りです。



がんばります。




では本年もよろしくお願いいたします。



 「IMG_0091.JPG」をダウンロード

Img_0091


2011年12月30日 (金)

チームラボ忘年会

に行ってきました。



ぶっ飛んだ人たちがさらにぶっ飛ぶ忘年会なのでとんでもなくカオスになっていましたが、楽しい忘年会でした。私ももにったーのLTなどをやらせていただきました。ありがとうございました。



朝までぶっ飛んでください。画像は猪子さんです。



2011年12月29日 (木)

コミックマーケットC81

行ってきました。







大変な混みようで、例のごとし、と言えばそうなのかもしれません。

今年はカメラを持ち出して、レイヤーさんを何名かとらせていただきました。

ありがとうございました。



あとで楽しみますw

2011年12月24日 (土)

なぜパスワードは8文字以上が推奨なのか

Webサイトなどでパスワードを8文字以上にしてくださいといわれることがよくあります。このとき、なぜ6文字以下ではだめなのか?という疑問が沸いたりしないでしょうか。



実は、パスワードの6文字、7文字と8文字には大きな違いがあるのです。



パスワードに使える文字種は通常、アルファベット大文字小文字(52文字)

数字(10文字)記号(28文字)の合計90文字があります。



パスワードの複雑性は、使える文字の種類と、

その文字列の長さに由来します。

文字種が多いことも重要ですが、それ以上に長さが関係あります。



ここで計算してみましょう。



文字数90文字で長さが6文字のパスワードは90^6(90文字の6条)531441000000(通り)のパスワードパターンがあることになります。



これを解読すると、毎秒37万回アタックしたら、16.624155405405405405405405405405日

かかることになります。つまり総当たりで約17日で解読できることになります。



文字数90文字で長さが7文字のパスワードは90^7(90文字の7条)47829690000000(通り)のパスワードパターンがあることになります。



これを解読すると、毎秒37万回アタックしても、4.0991068122917437985931136616068年

かかることになります。つまり総当たりで約4年かかるということです。



さて8文字ではどうでしょうか。



文字数90文字で長さが8文字のパスワードは90^8(90文字の8条)4304672100000000(通り)のパスワードパターンがあることになります。



これを解読すると、毎秒37万回アタックしても、368.91961310625694187338022954461年

かかることになります。つまり総当たりで約369年かかるということです。



6文字、7文字以下と8文字以上ではパスワードのパターン数が飛躍的に異なるので、ほとんどのシステムでは8文字のパスワードを設定しているわけですね。



パスワードは長さが複雑性の要因となっていることがよくわかります。英数字小文字だけでも、10文字設定されると攻撃に強くなります。文字種を文字数でべき乗していることになるのです。



実際の攻撃には、辞書などを用いた効率的な手法が用いられますが、それでも、長い文字列の方が強いパスワードになり得るということがわかります。

ここで注意ですが、パスワードによくある言葉を含めてしまうと、辞書(よく使われる言葉を集めたファイル)を使った攻撃に弱くなるというリスクがあります。



できるだけよく使われる言葉は使わないようにしましょう。



ここまとめです。



1.パスワードは文字種よりも文字数(長さ)が強さに由来する。

2.パスワードの文字数は8文字以上になると飛躍的に強度が増す。

3.長いパスワードでも辞書に載っているような言葉を使うのはパスワードの強度を下げる。



ではまたです。



補足:秒間37万回は、私が開発しているパスワード検証ツールが最大秒間37万回のアタックが可能であるため、基準としました。

pyrit

学会に発表する予定のものだけどね。けっこつまずいてる。





Checked out revision 308.

[root@ip-10-17-145-99 ec2-user]# cd pyrit

[root@ip-10-17-145-99 pyrit]# ls

cpyrit_calpp cpyrit_cuda cpyrit_null cpyrit_opencl pyrit

[root@ip-10-17-145-99 pyrit]# cd pyrit/

[root@ip-10-17-145-99 pyrit]# ls

CHANGELOG cpyrit pyrit README test

COPYING MANIFEST.in pyrit_cli.py setup.py

[root@ip-10-17-145-99 pyrit]# python setup.py build

running build

running build_py

creating build

creating build/lib.linux-x86_64-2.6

copying pyrit_cli.py -> build/lib.linux-x86_64-2.6

creating build/lib.linux-x86_64-2.6/cpyrit

copying cpyrit/__init__.py -> build/lib.linux-x86_64-2.6/cpyrit

copying cpyrit/cpyrit.py -> build/lib.linux-x86_64-2.6/cpyrit

copying cpyrit/util.py -> build/lib.linux-x86_64-2.6/cpyrit

copying cpyrit/pckttools.py -> build/lib.linux-x86_64-2.6/cpyrit

copying cpyrit/config.py -> build/lib.linux-x86_64-2.6/cpyrit

copying cpyrit/network.py -> build/lib.linux-x86_64-2.6/cpyrit

copying cpyrit/storage.py -> build/lib.linux-x86_64-2.6/cpyrit

running build_ext

building 'cpyrit._cpyrit_cpu' extension

creating build/temp.linux-x86_64-2.6

creating build/temp.linux-x86_64-2.6/cpyrit

gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fe xceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU _SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexce ptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SO URCE -fPIC -fwrapv -fPIC -I/usr/include/python2.6 -c cpyrit/_cpyrit_cpu.c -o bui ld/temp.linux-x86_64-2.6/cpyrit/_cpyrit_cpu.o -Wall -fno-strict-aliasing -DVERSI ON="0.4.1-dev (svn r308)" -maes -mpclmul

gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fe xceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU _SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexce ptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SO URCE -fPIC -fwrapv -fPIC -I/usr/include/python2.6 -c cpyrit/_cpyrit_cpu_sse2.S - o build/temp.linux-x86_64-2.6/cpyrit/_cpyrit_cpu_sse2.o -Wall -fno-strict-aliasi ng -DVERSION="0.4.1-dev (svn r308)" -maes -mpclmul

gcc -pthread -shared build/temp.linux-x86_64-2.6/cpyrit/_cpyrit_cpu.o build/temp .linux-x86_64-2.6/cpyrit/_cpyrit_cpu_sse2.o -L/usr/lib64 -lcrypto -lpcap -lpytho n2.6 -o build/lib.linux-x86_64-2.6/cpyrit/_cpyrit_cpu.so

running build_scripts

creating build/scripts-2.6

copying and adjusting pyrit -> build/scripts-2.6

changing mode of build/scripts-2.6/pyrit from 644 to 755

[root@ip-10-17-145-99 pyrit]# python setup.py install

running install

running build

running build_py

running build_ext

running build_scripts

running install_lib

copying build/lib.linux-x86_64-2.6/cpyrit/util.py -> /usr/lib64/python2.6/site-p ackages/cpyrit

copying build/lib.linux-x86_64-2.6/cpyrit/network.py -> /usr/lib64/python2.6/sit e-packages/cpyrit

copying build/lib.linux-x86_64-2.6/cpyrit/_cpyrit_cpu.so -> /usr/lib64/python2.6 /site-packages/cpyrit

copying build/lib.linux-x86_64-2.6/cpyrit/__init__.py -> /usr/lib64/python2.6/si te-packages/cpyrit

copying build/lib.linux-x86_64-2.6/cpyrit/storage.py -> /usr/lib64/python2.6/sit e-packages/cpyrit

copying build/lib.linux-x86_64-2.6/cpyrit/pckttools.py -> /usr/lib64/python2.6/s ite-packages/cpyrit

copying build/lib.linux-x86_64-2.6/cpyrit/cpyrit.py -> /usr/lib64/python2.6/site -packages/cpyrit

copying build/lib.linux-x86_64-2.6/cpyrit/config.py -> /usr/lib64/python2.6/site -packages/cpyrit

copying build/lib.linux-x86_64-2.6/pyrit_cli.py -> /usr/lib64/python2.6/site-pac kages

byte-compiling /usr/lib64/python2.6/site-packages/cpyrit/util.py to util.pyc

byte-compiling /usr/lib64/python2.6/site-packages/cpyrit/network.py to network.p yc

byte-compiling /usr/lib64/python2.6/site-packages/cpyrit/__init__.py to __init__ .pyc

byte-compiling /usr/lib64/python2.6/site-packages/cpyrit/storage.py to storage.p yc

byte-compiling /usr/lib64/python2.6/site-packages/cpyrit/pckttools.py to pckttoo ls.pyc

byte-compiling /usr/lib64/python2.6/site-packages/cpyrit/cpyrit.py to cpyrit.pyc

byte-compiling /usr/lib64/python2.6/site-packages/cpyrit/config.py to config.pyc

byte-compiling /usr/lib64/python2.6/site-packages/pyrit_cli.py to pyrit_cli.pyc

writing byte-compilation script '/tmp/tmpJHkoIf.py'

/usr/bin/python -O /tmp/tmpJHkoIf.py

removing /tmp/tmpJHkoIf.py

running install_scripts

copying build/scripts-2.6/pyrit -> /usr/bin

changing mode of /usr/bin/pyrit to 755

running install_egg_info

Writing /usr/lib64/python2.6/site-packages/pyrit-0.4.1_dev._svn.r308_-py2.6.egg- info

[root@ip-10-17-145-99 pyrit]# cd ..

[root@ip-10-17-145-99 pyrit]# ls

cpyrit_calpp cpyrit_cuda cpyrit_null cpyrit_opencl pyrit

[root@ip-10-17-145-99 pyrit]# cd cpyrit_cuda/

[root@ip-10-17-145-99 cpyrit_cuda]# ls

COPYING _cpyrit_cuda.h MANIFEST.in setup.py

_cpyrit_cuda.c _cpyrit_cudakernel.cu README

[root@ip-10-17-145-99 cpyrit_cuda]# python setup.py build

running build

running build_ext

Compiling CUDA module using nvcc 4.0, V0.2.1221...

Executing '/usr/local/cuda/bin/nvcc -m64 --host-compilation C -Xcompiler "-fPIC" --ptx ./_cpyrit_cudakernel.cu'

nvcc warning : option 'host-compilation' has been deprecated and is ignored

Building modules...

building 'cpyrit._cpyrit_cuda' extension

creating build

creating build/temp.linux-x86_64-2.6

gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fe xceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU _SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexce ptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SO URCE -fPIC -fwrapv -fPIC -I/usr/local/cuda/include -I/usr/include/python2.6 -c _ cpyrit_cuda.c -o build/temp.linux-x86_64-2.6/_cpyrit_cuda.o -Wall -fno-strict-al iasing -DVERSION="0.4.1-dev (svn r308)"

creating build/lib.linux-x86_64-2.6

creating build/lib.linux-x86_64-2.6/cpyrit

gcc -pthread -shared build/temp.linux-x86_64-2.6/_cpyrit_cuda.o -L/usr/lib64 -lc rypto -lcuda -lz -lpython2.6 -o build/lib.linux-x86_64-2.6/cpyrit/_cpyrit_cuda.s o

[root@ip-10-17-145-99 cpyrit_cuda]# python setup.pyinstall

python: can't open file 'setup.pyinstall': [Errno 2] No such file or directory

[root@ip-10-17-145-99 cpyrit_cuda]# python setup.py install

running install

running build

running build_ext

Skipping rebuild of Nvidia CUDA kernel ...

Building modules...

running install_lib

copying build/lib.linux-x86_64-2.6/cpyrit/_cpyrit_cuda.so -> /usr/lib64/python2. 6/site-packages/cpyrit

running install_egg_info

Writing /usr/lib64/python2.6/site-packages/cpyrit_cuda-0.4.1_dev._svn.r308_-py2. 6.egg-info

[root@ip-10-17-145-99 cpyrit_cuda]# cd ~

[root@ip-10-17-145-99 ~]# ;s

bash: syntax error near unexpected token `;'

[root@ip-10-17-145-99 ~]# ls

[root@ip-10-17-145-99 ~]# exit

exit

[ec2-user@ip-10-17-145-99 ~]$ ls

cpyrit-cuda-0.4.0 packetstest.pcap

cpyrit-cuda-0.4.0.tar.gz pyrit

cudatoolkit_4.0.17_linux_64_rhel6.0.run pyrit-0.4.0

libpcap-1.1.1 pyrit-0.4.0.tar.gz

libpcap-1.1.1.tar.gz scapy-2.2.0

NVIDIA-Linux-x86_64-290.10.run scapy-latest.zip

[ec2-user@ip-10-17-145-99 ~]$ pyrit benchmark

Pyrit 0.4.1-dev (svn r308) (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com

This code is distributed under the GNU General Public License v3+



Running benchmark (47664.0 PMKs/s)... /



Computed 47664.03 PMKs/s total.

#1: 'CUDA-Device #1 'Tesla M2050'': 22527.5 PMKs/s (RTT 2.8)

#2: 'CUDA-Device #2 'Tesla M2050'': 22384.2 PMKs/s (RTT 2.9)

#3: 'CPU-Core (SSE2)': 454.5 PMKs/s (RTT 3.0)

#4: 'CPU-Core (SSE2)': 435.1 PMKs/s (RTT 3.0)

#5: 'CPU-Core (SSE2)': 396.8 PMKs/s (RTT 3.0)

#6: 'CPU-Core (SSE2)': 454.2 PMKs/s (RTT 2.8)

#7: 'CPU-Core (SSE2)': 427.5 PMKs/s (RTT 2.9)

#8: 'CPU-Core (SSE2)': 434.2 PMKs/s (RTT 3.0)

#9: 'CPU-Core (SSE2)': 429.5 PMKs/s (RTT 3.2)

#10: 'CPU-Core (SSE2)': 442.4 PMKs/s (RTT 3.0)

#11: 'CPU-Core (SSE2)': 426.4 PMKs/s (RTT 3.0)

#12: 'CPU-Core (SSE2)': 446.4 PMKs/s (RTT 3.0)

#13: 'CPU-Core (SSE2)': 424.0 PMKs/s (RTT 3.0)

#14: 'CPU-Core (SSE2)': 456.1 PMKs/s (RTT 2.9)

#15: 'CPU-Core (SSE2)': 411.6 PMKs/s (RTT 3.1)

#16: 'CPU-Core (SSE2)': 438.4 PMKs/s (RTT 2.9)



[ec2-user@ip-10-17-145-99 ~]$

[ec2-user@ip-10-17-145-99 ~]$

[ec2-user@ip-10-17-145-99 ~]$

[ec2-user@ip-10-17-145-99 ~]$ pyrit -r packetstest.pcap analyze

Pyrit 0.4.1-dev (svn r308) (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com

This code is distributed under the GNU General Public License v3+



Parsing file 'packetstest.pcap' (1/1)...

/usr/lib64/python2.6/site-packages/cpyrit/pckttools.py:507: UserWarning: Failed to compile BPF-filter. This may be due to a bug in Pyrit or because your version of libpcap is too old. Falling back to unfiltered processing...

warnings.warn("Failed to compile BPF-filter. This may be due to " \

Parsed 115 packets (0 802.11-packets), got 0 AP(s)



No valid EAOPL-handshake + ESSID detected.

[ec2-user@ip-10-17-145-99 ~]$





もしヒントがあったりしたら

教えてほしい。



«JAWS-UG勉強会