TCP/IPの脆弱性他

 

TCP/IP全般における脆弱性

仕様が公開されていること

果たしてこれが脆弱性なのか、じゃあOSSとか存在が脆弱性なのか?という疑問はあるがテキストに沿う載っているので一応メモ。まあ確かに、仕様が非公開の独自プロトコルを使えば攻撃は受けにくいかもしれないがそれなら・・・と思ってしまう。
まあNSAとAIFの秘話回線管理部門(そんなのあるのか?)に配属されたときにはこういった発想が大事になるのかもしれない。
 

発信元IPアドレスの偽装が可能

まあおちゃらけた話は置いておいて、TCP/IPにおけるほぼ全ての制御情報が記述されると言って良いパケットのヘッダ。ここが偽装可能というのは確かにヤバイ。契約書が鉛筆書きでサインした後修正されちゃうぐらいヤバイ。具体的な偽装方法をもっと詳しく知りたいけどそれはまた別の話。とりあえずここでは、PCが何の疑いもなくば噛みたいに信じてしまう情報が偽装可能という状況がよろしくないというオハナシ。もう少し細かく考えてみる。
 

パケットの暗号化がなされない

デフォルトで平文。盗聴に無力。IPv6に期待かな。

IPアドレスの偽装について

TCPのばあい

TCPは3way-hand-shakeで通信を行うコネクション型通信。故に発信元偽装はちと面倒。もう少し細かく言うと、コネクション確立して、送信元=相手という認識の元で通信が行われるから、攻撃者は一方的にパケットを送りつけることは出来ても、無効のパケットを受けることは出来ない。なんていうか、「オレオレ、オレだよ。金送って」といってオレオレ詐欺をしたのに、本物の息子の口座に振り込まれるような感じ。情報は自分ではなく、偽った先に言ってしまうという奴ね。
 ただだから安全化と言えばここに書いてある時点でそんなわけはない。実は困難ではなく面倒なのであってましてや不可能でなんか全くないという意味が「ちと面倒」の裏にある。
 たとえばSyn-Floodみたいに返信先なんて知らぬ存ぜぬ送ることに意義がある 的な攻撃なら全く困らない。Synを送りまくれば、Syn/Ackの返信先なんて関係なく攻撃は成立してしまう。こういうタイプは発信元が書き換えられるだけで十分おいしい。
 他にも以前述べたセッションハイジャックみたいな手法なら、うまく発信元偽装してついでに返信された情報だって入手できてしまったりする。とても怖い。
 

UDPのばあい

UDPコネクションレス。速度優先で他のほとんどの機能が削られた旧日本軍の戦闘機みたいなプロトコルなので偽装は容易。相手の応答を受け取る必要が少ないからDOSなんかにもってこい。ただし、相手の応答を受ける場合は上位のプロトコルに依存。
 

ICMPとか

こいつもコネクションレスだから危ない。ICMP echo reques を悪用したDRDoSとかガクガクブルブル状態。
 

そんな脆弱性への対策

発信元偽装対策

確認は難しいので、怪しいアドレスをキックするようなアクセス制限が基本。
インターネット経由のプライベートアドレスとか、
来るはずのないグローバルアドレスとか、
何故かローカルホストからの接続要求とか、
怪しいものは尽きない。。。
 
万全とは小渡とオイがしないよりはいいのではないかと。
 

暗号化

聞かれて困る通信は暗号化。
デフォルトでないのなら、自前でSSLIPsecなどを導入するしかない!
 
 
変なテンションだしまだ用事があるので今日はこの辺で