問題: ネットワークに対する攻撃

コンピューターネットワークは異なる目標を持った多くのアプリケーションによって共有されるリソースである場合が多い。インターネットは特に広く共有されており、競争関係にあるビジネス相手、敵対関係にある外国政府、そしてチャンスをうかがっている犯罪者によって利用される。セキュリティ対策を取らないと、ネットワークを通じた会話や分散アプリケーションの実行を通して機密情報が敵対者 (adversary) に漏洩する可能性がある。

例として、セキュアなウェブに対する脅威 (threat) をいくつか考えてみよう。 あるウェブサイトでクレジットカードを使って商品を購入しようとするとき、明らかな脅威は敵対者がネットワーク通信を盗聴 (eavesdrop) し、そのメッセージを読むことでクレジットカード情報を取得することである。この盗聴はどのように行われる可能性があるだろうか? イーサネットや Wi-Fi といったブロードキャストネットワークであれば、ネットワーク上の全てのメッセージトラフィックを受信するように任意のノードを設定できるので、盗聴は簡単に行える。さらに手の込んだアプローチとしては、回線に物理的な盗聴機器を取り付ける方法、あるいはデータが通る経路上のいずれかのノードにスパイウェアを仕込む方法などが考えられる。こういった手の込んだ盗聴に対する対策が取られるのは最上級の機密 (国家機密など) をやり取りする場合に限られる。そこまでの対策はできないにしても、メッセージを暗号化 (encrypt) すれば敵対者はメッセージの内容を理解できなくなる。メッセージの暗号化を行うプロトコルは機密性 (confidentiality) を提供する。この考え方さらに突き詰め、通信の長さと宛先さえも外部に漏らさないことをトラフィック機密性 (traffic confidentiality) と呼ぶ ── 特定の状況では、どれだけの通信がどこに向かうかという情報さえも敵対者にとって有用となる。

機密性が提供されたとしても、ウェブサイトの利用者に対する脅威が無くなるわけではない: 暗号化されたメッセージを理解できない場合でも、敵対者はメッセージの適当なビットを反転できる可能性がある。その結果として関係ない商品が注文されたり、注文個数が 1000 個になったりするかもしれない。こういった改竄かいざん (tampering) を検出するためのテクニックが存在する (防止できるわけではない)。メッセージの改竄を検出できるプロトコルは完全性 (integrity) を提供すると言う。

顧客に対するさらなる脅威として、知らず知らずのうちに偽サイトに案内されることがある。この原因の一つとして顧客のコンピューターのネームサービスキャッシュあるいは DNS サーバーに偽の情報を潜り込ませる DNS 攻撃 (DNS attack) がある。DNS 攻撃を受けると正しい URL が誤った IP アドレス (偽サイトの IP アドレス) に変換されるようになる。ユーザーが意図した相手と本当に対話していることを保証できるプロトコルは認証 (authentication) を提供すると言う。なお、認証が提供されるとき、完全性も必然的に提供される: 「あなたは正しい相手と通信しているようですが、その判断材料となったメッセージが相手の送ったメッセージと同じかどうかは分かりません」という情報に意味は無い。

ウェブサイトの所有者も攻撃対象になる。攻撃によって被害を受けたウェブサイトは実際に存在する。承認されていない第三者がウェブサイトを構成するファイルをリモートから閲覧・改変できると攻撃が可能になる。これは誰が何をできるかを管理するアクセス制御 (access control) の問題である。また、ウェブサイトは DoS 攻撃 (denial of service attack, サービス拒否攻撃) の対象にもなる。これは不正なリクエストを大量に発行することで他の顧客がウェブサイトにアクセスできないようにする攻撃である。どんな状況でもある程度のアクセスを保証するウェブサイトは可用性 (availability) を持つと言う。

こういった問題に加えて、インターネットはエンドシステムの脆弱性を利用する悪意あるプログラムを広める手段として特に使われてきた。そういったプログラムはマルウェア (malware)と呼ばれる。マルウェアの他にも、自己複製コードを使ってネットワーク内で増殖するワーム (worm)、あるいは感染したファイルを転送することで増殖するウイルス (viruse) も数十年前から問題となっており、今後も無くなることはないと見られている。感染したマシンはボットネット (botnet) を構成し、一斉に DoS 攻撃を仕掛けるといった形でさらなる被害を与える。

広告