WAFは Web Application Firewall の略で、まさにWebアプリケーションのためのファイアウォール。通常のファイアウォールよりも上位レイヤーへの攻撃を防御できる。脆弱性を持ったWebサイトが攻撃された場合、攻撃パターンがWAFに登録されていればブロックできる。

>> 続きを読む

,

HTTPSはほとんどの人が利用したことのあるセキュリティ技術。試験にもよくでる。ただ漠然と情報を安全にやりとりするというイメージはあるが、実際はどのようなことをしているかを説明するのは難しい。

通信の暗号化

HTTPSの鍵の交換は公開鍵で共通鍵を交換する。おそらく共通鍵の方が負荷が低いから。

中間者攻撃

man-in-the-middleとか呼ばれることもある。HTTPSの通信経路の間に入って盗聴する。パケットが暗号化されていても、正しい相手と通信できてないので盗聴される。

通信相手が本物か確認する

サーバの証明書に信頼している人が署名してたら信用する。誰を信頼しているかはブラウザの中に登録されているし、自分で登録することもできる。

,

DNSの役割

DNSはDomain Name Systemの略で、あるドメインがどのIPアドレスなのかを管理する仕組み。DNSを管理するサーバをDNSサーバや単にネームサーバと呼ぶ。DNSはインターネットを利用すると必ず利用する。例えば、http://www.yahoo.co.jp/にアクセスする際は、PCはネームサーバに問い合わせてサーバのIPアドレスを取得する。Yahooの場合は203.216.243.240が返ってくるので、ブラウザに直接入力しても確認できる。IPアドレスは覚えられないが、ドメインなら覚えられるという点でとても便利。

ドメインベース IPアドレスベース
http://www.yahoo.co.jp http://203.216.243.240/

DNSサーバが管理している情報

DNSサーバはドメインとIPアドレスを関連づけるゾーン情報をもっている。ゾーン情報はドメインベースで管理され、Aレコード、MXレコードなどのレコードと呼ばれる項目でWebサーバやメールサーバを管理している。

$TTL 86400 ← キャッシュさせておく時間
@ IN SOA example.com. root.example.com.(
2004031901 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS exapmle.com.
IN MX 10 example.com.  ← メールサーバーのプライベートIPアドレス
@ IN A XXX.XXX.XXX.XXX ← サーバーのプライベートIPアドレス
sample IN A XXX.XXX.XXX.XXX ← サーバーのプライベートIPアドレス

上記の例ではsample.example.comはXXX.XXXX.XXXX.XXXのIPアドレスと対応づけられている。

DNSリフレクションの仕組み

リフレクションとは反射のこと。直接攻撃するのではなく、あえてDNSサーバに反射させて攻撃する。仕組みは簡単で、DNSサーバに送信元IPアドレスを偽装して、攻撃したい対象に問い合わせる。ポイントは、DNSサーバに問い合わせる時よりも、返ってくるパケットのサイズの方がかなり大きいこと。問い合わせれば、増幅されて返ってくることからDNS ampとも呼ばれる。amp(アンプ)とは、スピーカみたいなやつで音を大きくする装置。

DNSキャッシュポゾニングの仕組み

DNSキャッシュポイゾニングは、偽のゾーン情報をDNSに登録し、悪意あるサイトに誘導する手法である。簡単に説明すると、DNSサーバがゾーン情報を問い合わせ正規の回答をもらう前に、攻撃者が偽の回答を送りつけDNSサーバに登録するという手法である。DNSキャッシュポイゾニングは「コンテンツサーバとキャッシュサーバ」の違いや「再帰問問合せと反復問合せの違い」を知らないと理解しにくい。
DNSにはキャッシュの仕組みがあって、一度他のDNSから回答をもらうとTTL( Time To Live)に設定されている時間だけキャッシュする。あるホスト名のTTLの時間が経過している場合に、攻撃者がホスト名をこのDNSに問合せ、自分で回答を送りつけることで、偽の回答をキャッシュさせる。これをDNSキャッシュポイゾニングという。


この攻撃が成功するためには下のようにいくつかの条件が必要となる。

(1) トランザクションIDが正しい

DNSサーバは16bitのトランザクションIDを見て回答が正規のパケットかどうか判断している。トランザクションIDが推測しやすいものであれば、偽の回答がキャッシュされる可能性は高くなる。

(2) TTLが切れている

TTL(Time To Live)の時間だけキャッシュし、それを超えると上位のDNSサーバに問合せる。

(3) 偽の回答が正規の回答よりも到達する

正規の回答の方が早く到達すると、TTLの時間は偽の回答を受け付けない。

DNSキャッシュポゾニングへの対策

「再帰問合せは信頼できるユーザにのみ提供する」というのが基本的な考え方となる。以下にその例を示す。

その他の対策

その他の対策としてはDNSSECやSSLでの暗号化などの機能が存在する。