Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
2019/5/31 2
はじめに
◼ この講義のWWWページhttp://teched.kyokyo-u.ac.jp/~htada/class/crypt/
◼ 講義資料(PDF)を置いておきます
2019/5/31 3
今日の内容
◼ ネットワークの盗聴手法について
2019/5/31 4
LANでの盗聴の方法
◼ 計算機のNICをプロミスキャスモードに設定し,スニッファを用いてLAN内のパケットを取り込み,データを盗み見る
◼ こわいですねえ
2019/5/31 5
LANにおける通信
LANでは1本の線にすべての計算機がつながっている→「あて先のアドレスがついたパケット」が全員に届く→各計算機は「自分あてのデータ」のみを受け取る「自分あてでないデータ」は見て見ぬふりをする
無視 無視 無視来た
計算機Aあてのパケット
計算機A
2019/5/31 6
ネットワークカード
計算機には通信を行うためネットワークカード(Network Interface Card: NIC)というのがついている
出典:http://e-words.jp
NIC
NICの役割ケーブルを流れる電気信号を読み取りパケットを計算機に渡す
2019/5/31 7
余談
最近ではNICは独立した部品ではなくパソコン本体の基盤(マザーボード)に組み込まれている
「情報機器と情報社会のしくみ素材集」よりhttp://www.sugilab.net/jk/joho-kiki/1201/1201-B.jpg
このへん
まあそれはともかく
2019/5/31 8
NICの受け取るパケット
LANでは1本の線にすべての計算機がつながっている→いろいろな計算機あてのパケットが流れている→NICは自分に関係のないパケットを大量に受け取る
NIC
2019/5/31 9
LANの本当の姿
「あて先MACアドレスのついたパケット」が全員に届く→各計算機のNICは「自分あてのパケット」のみを計算機に渡す「自分あてでないパケット」は捨ててしまう
00:90:CC:07:22:66あてのパケット
NIC
00:90:CC:07:22:66
NICNICNIC
00:E0:29:10:DD:8700:01:80:2B:67:50
2019/5/31 10
MACアドレス
◼ LAN内の通信でのみ用いられるアドレス
◼ パソコンに最初から付けられている
◼ 人の目に触れることはほとんどない
00:90:CC:07:22:66
こういうの
2019/5/31 11
スニッファ(LANアナライザ)
Snif:においをかぐ
ネットワークを流れるパケットを取り込み解析するソフト
もともとはネットワーク管理やトラブル解決などに用いるもの
2019/5/31 12
プロミスキャスモード
NICNICが受け取った全てのパケットを計算機に渡す
LANを流れる全てのデータが丸見え
promiscuous: 無差別の
もちろん本来はネットワーク管理に使うためのもの
2019/5/31 13
LANの危険性
◼ LANを流れるデータは他人に見られる可能性がある
◼ ところが最近はちょっと事情が違う
2019/5/31 14
実際のLAN
実際のLANはこんな感じ
こういう穴のあいた箱にケーブルがささっている
「LANは1本のケーブル」っていうのはウソなのか?
この箱のことをハブというで,穴のことをポートという(左の図は4ポートのハブ)
2019/5/31 15
昔のハブの中身
それぞれのポートが線でつながっているだけ
事実上1本のケーブルでつながっているのと同じ
ところが最近のハブはちょっと違う
2019/5/31 16
最近のハブは賢い
パケットのあて先をみて関係ないポートにはパケットを出さないハブがある
こういうハブをスイッチングハブという
どうしてそんなことができるのか?
2019/5/31 17
スイッチングハブのしくみ
00:90:CC:07:22:6600:E0:29:10:DD:87
00:01:80:2B:67:50
00:06:1B:C6:A0:55
各ポートにつながっている計算機のMACアドレスの表を持っている→もちろん最初は空っぽ
ポート MACアドレス
1
2
3
4
2019/5/31 18
パケットが来たときの処理
00:90:CC:07:22:6600:E0:29:10:DD:87
00:01:80:2B:67:50
00:06:1B:C6:A0:55
ポート1からパケットが届くパケットを見てMACアドレスを登録表にあて先のMACアドレスがない→すべてのポートにパケットを転送
ポート MACアドレス
1 00:01:80:2B:67:50
2
3
4
パケットのあて先
2019/5/31 19
ポートの選択
00:90:CC:07:22:6600:E0:29:10:DD:87
00:01:80:2B:67:50
00:06:1B:C6:A0:55
ポート3から返事が届くパケットを見てMACアドレスを登録表にあて先のMACアドレスがある→ポート1にのみパケットを転送
ポート MACアドレス
1 00:01:80:2B:67:50
2
3 00:E0:29:10:DD:87
4
2019/5/31 20
スイッチングハブと同時通信
00:90:CC:07:22:6600:E0:29:10:DD:87
00:06:1B:C6:A0:55
いずれすべての表が埋まる関係のないポートにはパケットは流れなくなる→複数のポートが同時に通信できる
ポート MACアドレス
1 00:01:80:2B:67:50
2 00:90:CC:07:22:66
3 00:E0:29:10:DD:87
4 00:06:1B:C6:A0:55
00:01:80:2B:67:50
2019/5/31 21
というわけで
◼ スイッチングハブなら関係ないポートにはパケットは流れない
◼ いまどきのハブはほとんどスイッチングハブ
◼ 「LANが簡単に盗聴できる」というのは過去の話
2019/5/31 22
本当に大丈夫か?
◼ スイッチングハブを使っているLANでは盗聴は困難
◼ 必ずしも安心ではない
◼ 盗聴の方法はある
2019/5/31 23
LANでの盗聴方法
◼ 中間者攻撃
◼ MAC flooding攻撃
2019/5/31 24
中間者攻撃
◼ 通信をする計算機の間に入り込んで,情報を盗み出すこと
◼ Man in the Middle(MITM)攻撃ともいう
◼ LAN環境だけで行われるとは限らない
2019/5/31 25
LAN環境での中間者攻撃
◼ 盗聴者は,「IPアドレスからMACアドレスを知るしくみ」を悪用して,計算機間の通信に割り込む
2019/5/31 26
IPアドレスとMACアドレス
◼ 計算機には2種類のネットワークアドレスがついている◼ IPアドレス
◼ 人間がパソコンにつけるアドレス
◼ 例:133.1.244.62
◼ インターネットでの通信に使われる
◼ MACアドレス◼ パソコンにはじめからついているアドレス
◼ 例:00:E0:29:10:DD:87
◼ LANの中の通信にのみ使われる
2019/5/31 27
IPアドレスからMACアドレスを知る
IPアドレスからその計算機のMACアドレスを知るためのしくみが必要
LANで通信を行うには相手のMACアドレスが必要だが人間はIPアドレスしかわからない
IPアドレス133.1.244.62
MACアドレスは?
2019/5/31 28
MACアドレスのリクエスト
MACアドレスを知っているのはその計算機だけ→「アドレス教えて」とリクエストする
そもそもMACアドレスがわからないのにどうやってリクエストを送るのか?
133.1.244.14 133.1.244.62
NIC NIC NIC NIC00:E0:29:10:DD:87
133.1.244.62のMACアドレス教えて
133.1.244.30133.1.244.25
00:90:CC:07:22:66
2019/5/31 29
リクエストの送信
133.1.244.62のMACアドレス教えて
133.1.244.14 133.1.244.62
NIC NIC NIC00:E0:29:10:DD:87
FF:FF:FF:FF:FF:FFあて
MACアドレスのブロードキャストアドレス(全員に届くアドレス)を使ってリクエストを送る→LAN上のすべての計算機のNICが受信し,計算機に渡す
133.1.244.30133.1.244.25
NIC00:90:CC:07:22:66
2019/5/31 30
リクエストの受信
133.1.244.14 133.1.244.62
NIC NIC NIC00:E0:29:10:DD:87
すべての計算機がリクエストを受信する
IPアドレスが一致した計算機:リクエストに答える他の計算機:無視する
133.1.244.62のMACアドレス教えて
133.1.244.62のMACアドレス教えて
133.1.244.62のMACアドレス教えて
知らん 了解
133.1.244.30133.1.244.25
NIC
知らん
00:90:CC:07:22:66
2019/5/31 31
リクエストの返答
133.1.244.14 133.1.244.62
NIC NIC NIC NIC00:E0:29:10:DD:87
00:E0:29:10:DD:87ですぜ
133.1.244.30133.1.244.25
相手に直接MACアドレスの書かれた返事を送る
00:90:CC:07:22:66あて
00:90:CC:07:22:66
2019/5/31 32
忍び込む盗聴者
◼ 盗聴者は,この「IPアドレスからMACアドレスを知るしくみ」をどのように利用して通信に忍び込むのか?
133.1.244.62
00:E0:29:10:DD:87
2019/5/31 33
リクエストの送信
133.1.244.62のMACアドレス教えて
133.1.244.14 133.1.244.62
NIC NIC NIC00:E0:29:10:DD:87
FF:FF:FF:FF:FF:FFあて
133.1.244.30133.1.244.25
00:0D:60:F9:FE:75
NIC
送る側の計算機がリクエストを送る→LAN上のすべての計算機のNICが受信し,計算機に渡す
2019/5/31 34
リクエストの受信
133.1.244.14 133.1.244.62
NIC NIC NIC00:E0:29:10:DD:87
すべての計算機がリクエストを受信する→盗聴者の計算機も受信する
133.1.244.62のMACアドレス教えて
133.1.244.62のMACアドレス教えて
133.1.244.62のMACアドレス教えて
知らん 了解
133.1.244.30133.1.244.25
NIC00:0D:60:F9:FE:75
しめしめ
2019/5/31 35
偽の返答
133.1.244.14 133.1.244.62
NIC NIC NIC00:E0:29:10:DD:87
00:E0:29:10:DD:87ですぜ
133.1.244.30133.1.244.25
00:0D:60:F9:FE:75
盗聴者の計算機はすぐに自分のMACアドレスの書かれた偽の返答を送る
00:0D:60:F9:FE:75ですぜ
NIC
2019/5/31 36
偽の返答の到着
133.1.244.14 133.1.244.62
NIC NIC00:E0:29:10:DD:87
00:E0:29:10:DD:87ですぜ
133.1.244.30133.1.244.25
00:0D:60:F9:FE:75
もしも「盗聴者の計算機の返答」の方が先についてしまった場合
00:0D:60:F9:FE:75ですぜ
NIC NIC
2019/5/31 37
間違った送信
133.1.244.14 133.1.244.62
NIC NIC00:E0:29:10:DD:87
133.1.244.30133.1.244.25
00:0D:60:F9:FE:75
データは盗聴者の計算機に向かって送られる
NIC NIC
データですー 本当のあて先はこっち
2019/5/31 38
パケットの転送
133.1.244.14 133.1.244.62
NIC00:E0:29:10:DD:87
133.1.244.30133.1.244.25
00:0D:60:F9:FE:75
盗聴者はデータを盗み見た後「本来のあて先」にパケットを転送する
NIC NIC
データですー
NIC
データですー
いただきぃ
2019/5/31 39
送信元アドレスの食い違い
133.1.244.14 133.1.244.62
NIC00:E0:29:10:DD:87
133.1.244.30133.1.244.25
00:0D:60:F9:FE:75
パケットの送信元アドレスは食い違っているが受信した計算機は気づかない
NIC NIC
データですー
NIC
データですー
送信元MACアドレス00:0D:60:F9:FE:75送信元IPアドレス133.1.244.25
2019/5/31 40
リクエストの返答
133.1.244.14 133.1.244.62
NIC00:E0:29:10:DD:87
133.1.244.30133.1.244.25
00:0D:60:F9:FE:75
受信した計算機は,MACアドレスに従い,返答を盗聴者の計算機に送ってしまう
NIC NIC
返事ですー
NIC
データですー
2019/5/31 41
返答の転送
133.1.244.14 133.1.244.62
NIC NIC00:E0:29:10:DD:87
133.1.244.30133.1.244.25
00:0D:60:F9:FE:75
盗聴者はデータを盗み見た後本当のあて先に転送する
NIC NIC
返事ですー
データですー
返事ですー
どうも
以降の通信もすべて,盗聴者の計算機を経由して行われる
2019/5/31 42
通信の傍受
133.1.244.14 133.1.244.62
NIC NIC00:E0:29:10:DD:87
133.1.244.30133.1.244.25
00:0D:60:F9:FE:75
こうして盗聴者が通信の間にまんまと入りこみ自由にデータを盗み見ることが出来る
NIC NIC
相手と直接通信しているつもり盗聴されていることに気づかない
2019/5/31 43
MAC flooding攻撃
スイッチングハブのメモリを不正なMACアドレスで溢れさせてしまう方法
2019/5/31 44
入れ子のスイッチングハブ
00:90:CC:07:22:6600:E0:29:10:DD:87
00:01:80:2B:67:50
ポート MACアドレス
1
2
3
4 00:01:80:2B:67:5000:90:CC:07:22:6600:E0:29:10:DD:87
スイッチングハブの下にさらにスイッチングハブを置く場合
一つのポートに複数のMACアドレスが対応する場合がある
2019/5/31 45
偽のMACアドレス
00:90:CC:07:22:6600:E0:29:10:DD:87
00:01:80:2B:67:50
00:06:1B:C6:A0:55
ポート MACアドレス
1 00:01:80:2B:67:50
2 00:90:CC:07:22:66
3 00:E0:29:10:DD:87
4 00:06:1B:C6:A0:55
00:00:00:00:00:01から送っています
偽のMACアドレスを書いたパケットを送る
2019/5/31 46
偽MACアドレスの登録
ポート MACアドレス
1 00:01:80:2B:67:5000:00:00:00:00:01
2 00:90:CC:07:22:66
3 00:E0:29:10:DD:87
4 00:06:1B:C6:A0:55
スイッチングハブはそれを真に受けて表に追加する
2019/5/31 47
大量の偽パケット
00:00:00:00:00:02から送っています
次々と偽のMACアドレスを書いたパケットを送る ポート MACアドレス
1 00:01:80:2B:67:5000:00:00:00:00:0100:00:00:00:00:02
:
2 00:90:CC:07:22:66
3 00:E0:29:10:DD:87
4 00:06:1B:C6:A0:55
00:00:00:00:00:03から送っています00:00:00:00:00:04から
送っています
2019/5/31 48
やがて
MACアドレスの表(メモリ)が偽のMACアドレスで埋め尽くされる
ポート MACアドレス
1 00:01:80:2B:67:5000:00:00:00:00:0100:00:00:00:00:0200:00:00:00:00:0300:00:00:00:00:0400:00:00:00:00:0500:00:00:00:00:06
::
2
3
4
元のデータは消されてしまう
2019/5/31 49
パケットの送信
計算機がパケットを送る→あて先MACアドレスが表に存在しない
00:90:CC:07:22:6600:E0:29:10:DD:87
00:01:80:2B:67:50
00:06:1B:C6:A0:55
パケットのあて先
ポート MACアドレス
1 00:01:80:2B:67:5000:00:00:00:00:0100:00:00:00:00:0200:00:00:00:00:0300:00:00:00:00:0400:00:00:00:00:0500:00:00:00:00:06
::
2019/5/31 50
パケットの盗聴
スイッチングハブは仕方なくすべてのポートにパケットを流す→盗聴者の計算機にも届く
00:90:CC:07:22:6600:E0:29:10:DD:87
00:01:80:2B:67:50
00:06:1B:C6:A0:55
ポート MACアドレス
1 00:01:80:2B:67:5000:00:00:00:00:0100:00:00:00:00:0200:00:00:00:00:0300:00:00:00:00:0400:00:00:00:00:0500:00:00:00:00:06
::
やったね
2019/5/31 51
というわけで
◼ LANを流れるデータは「やっぱり」他人に見られる可能性がある
2019/5/31 52
無線LANと盗聴
無線LANではデータはケーブルを流れるのではなく,空気中を飛び交っている→盗聴の危険が非常に高い
基地局
盗聴者
線をつなぐことなくデータの盗聴が可能→発見がより難しい
2019/5/31 53
暗号化
◼ ネットワークを通じて文書や画像などのデジタルデータをやり取りする際に,通信途中で第三者に盗み見られたり改ざんされたりされないよう、決まった規則に従ってデータを変換すること
◼ 通信の安全を維持するために非常に重要
(e-words http://e-words.jp/)
2019/5/31 54
ちょっと怖い事実
インターネットでやり取りされる情報は
ほとんどが暗号化されていない
2019/5/31 55
暗号化されない通信
◼ 電子メール
◼ WWW
◼ 本文が暗号化されていない
◼ ということは...
2019/5/31 56
メール丸見え
あて先
差出人
メール本文
2019/5/31 57
くれぐれも
◼ 人に見られて困るような内容はメールに書かない
◼ WWWサイトに個人情報を送る場合は十分注意する
◼ 住所や氏名
◼ カード番号
2019/5/31 58
暗号化されるWWW
◼ アドレスが「https:」で始まるページは通信の際にデータが暗号化されている
◼ 個人情報を送っても(一応)安心
◼ まともなショッピングサイトはほとんどが対応
◼ 個人情報を入力するページのみ暗号化されている場合も
2019/5/31 59
パスワードも...
◼ telnet
◼ 離れた計算機にログインするためのしくみ
◼ FTP
◼ ファイルをダウンロードするためのしくみ
◼ POP3
◼ メールサーバからメールを取ってくるためのしくみ
◼ 本文はもちろんパスワードも暗号化されていない
◼ 怖すぎます
2019/5/31 60
パスワード丸見え
POP3を使ってメールを取ってくるときのパスワードを送信するパケット
パスワードがそのまま書いてある
2019/5/31 61
遠隔からの盗聴
◼ 盗聴者がLANに直接アクセスしていなくても盗聴される恐れはある
インターネット
2019/5/31 62
遠隔からの盗聴の方法
サーバに盗聴用のプログラムを置いて,
データのやりとりを記録する
記録したデータをメール等で盗聴者の計算機に送信する
何らかの手段でサーバに侵入する必要がある• パスワードクラック• バッファオーバーフロー etc.
2019/5/31 63
IP電話と盗聴
IP電話では,音声をデータ化し,パケットに分割してネットワークで相手に届ける
普通のデータと同じように盗聴の危険性がある
インターネット
2019/5/31 64
IP電話の危険性
普通のパソコンで盗聴が可能
音声であってもネットワークを流れるデータであることには変わりない
2019/5/31 65
通信以外の盗聴
◼ 盗聴は通信内容を見られるだけとは限らない
◼ 通信を暗号化するだけでは防げない
2019/5/31 66
キーロガー
ユーザがキーボードで入力した文字をそのまま記録するソフト
ssh wsunixhtadatada714cd /etcls -l
:
あらかじめパソコンに仕込む必要がある• ウィルスとして• 席を離れたすきに
2019/5/31 67
ネットカフェの危険
◼ ネットカフェのパソコンにキーロガーを仕込み,パスワードを盗み出すという被害が発生した
◼ 最近のネットカフェのパソコンは,電源を切るとハードディスクの内容がすべてリセットされるようになっている◼ 帰るときには必ず電源を切ること
出典:http://www.mpo.ne.jp/osaka/tenpo/kyobashi_shop/kyobashi.htm
2019/5/31 68
共用パソコンに注意
◼ 共用のパソコンを設置してある場所がある◼ ホテルのロビー
◼ 観光案内所
◼ 図書館
など
◼ これらのパソコンのセキュリティ対策は十分でないことが多い◼ キーロガーを仕込まれている可能性がある
◼ 共用パソコンでパスワードを入力するようなサイトにアクセスしないこと◼ WWWメール
◼ ネットショッピング
◼ ネットバンク
2019/5/31 69
電磁波盗聴(テンペスト)
ディスプレイケーブルから漏れる電磁波を傍受して同じ画面を表示させる
2019/5/31 70
まとめ
◼ 盗聴あれこれ
◼ 中間者攻撃
◼ MAC flooding
◼ キーロガー
◼ 電磁波盗聴