Attack Surface(攻撃表面)がなぜ発生するのか、また、Attack Surfaceがない安全な状態とはどういうことかをまとめてみた。
基本事項① ー TCPのスリーウェイハンドシェイク(3-way hand-shake)
ネットワーク通信を行う際に必須の、発信元・送信先の双方が行う通信の準備作業(データが正しく相手に着信したことを確認する準備)
- クライアントは、ランダムに決めた整数Xを「シーケンス番号」として記載した「SYNパケット」をサーバに送る
- サーバは、ランダムに決めた整数Yを「シーケンス番号」として、また、受け取った「シーケンス番号X 」に1を足した「ACK番号」として記載した「SYN+ACKパケット」をクライアントに返す。
- クライアントは、受け取った「シーケンス番号Y」に1を加えた「ACK番号」を記載した「ACKパケット」をサーバに返す。
- 以降は、この手続きで共有したシーケンス番号とACK番号を用いて、互いに送信したデータが相手に正しく着信したかを確認しながら通信を行う。
参考:IT用語辞典 e-Words スリーウェイハンドシェイク
基礎情報② ファイアウォールの「ステートフル」なパケット検査
ファイアウォールによる通信制御の基本は「ステートフル・インスペクション」による制御である。
ステートフル・インスペクションでは、スリーウェイハンドシェイクのSYNパケット、それに対応するSYN+ACKパケットを確認することで、社内から出た通信の戻りは許可するが、外部からの「一見さん」的な通信はブロックする。
①の通信を許可すると②の通信は自動的に許可される
(=中から外への通信に対する戻りの通信は許可される)
⏩
Attack Surfaceがある状態
ファイアウォールにより、社内サーバをインターネット側から守る場合、あらかじめ必要な通信を定義して許可することになる。この時の通信の方向は、インターネット側から、社内ネットワークに入ってくる方向になる。
ファイアウォールは、通信の宛先(正確には発信元も見る)をみて、事前に許可されている通信は通し、許可されていない通信はブロックする。
正規利用者がインターネット上でどこにいるのかわからない(IPアドレスがわからない)ため、発信元は見ないことが多く、攻撃者であっても、宛先が許可されていれば通信は許可される。
攻撃者の通信が許可されることもある
この状態は、攻撃者が攻撃する先(=Attack Surface)が存在しており、Attack Surfaceがある状態である。言い換えると、インターネット側から入ってくる通信が存在する場合、そこにはAttack Surfaceが存在することになる。
⏩
Attack Surfaceがない状態
インターネット側から入ってくる通信が存在するとAttack Surfaceが発生するため、そのような通信をファイアウォールで許可しなければ良い。
つまり、社内ネットワーク側からインターネットに出ていく通信は、必要なものを許可するが、インターネット側から社内ネットワークに入る方向の通信は一切許可しないことになる。
ファイアウォールにはステートフル・インスペクションが備わっているため、インターネット側からの通信が社内に入ってくることはないが、社内から出た通信の戻りの通信を受けることはできる。
この場合、ユーザはどのようにサーバに接続すればよいかが課題になる。インターネット上にいるユーザの居場所(つまりIPアドレス)をサーバやファイアウォールが特定することはできないため、サーバ側からユーザ側に接続をしに行くことはできない。
そのため、サーバからインターネットに出ていくことができ、その戻りの通信を受け取ることはできるが、ユーザからの発信された通信をサーバが受け取ることができない。
その解決策は、インターネット上に中継クラウドを用意することである。
ユーザは中継クラウドと通信を行うようにする。サーバは中継クラウドに向かって通信を送り、その戻りの通信を受け取るようにする。そして、中継クラウドが、ユーザの通信とサーバの通信を取り持つことで、サーバはインターネット側から発信される通信を受け取らない(=Attack Surfaceがない)が、ユーザとの通信が可能になる。
中継クラウドが取り持つ通信の中身を検査し、危険性の高いものがあれば取り持つ通信をブロックすることで、双方の安全性を確保することができる。
ただし、今度は、この中継サーバがAttack Surfaceになっているので、この中継クラウドのセキュリティを高め、攻撃者からの攻撃耐性を高める必要がある。その一例は、Single Packet Authorizationなどの3-way hand-shakeの段階で認証を行うことである。
この中継クラウドの構築・管理・運用がセキュリティ専業会社の責任で行われるのであれば、攻撃耐性については安心できそうだ。
0 件のコメント:
コメントを投稿