「HTTPSサイトは必ずしも安全ではない? セキュリティホールの存在が一部で明らかに」の写真・リンク付きの記事はこちら

ウェブの暗号化スキームであるHTTPSが普及したおかげで、アドレス欄に表示された小さな緑色の鍵のアイコンを見かけることが増えた。人気のあるサイトは、たいていこの防御策を備えている。

HTTPSで使われているプロトコルは「TLS(Transport Layer Security)」と呼ばれ、旅行の計画やパスワード、他人にはあまり知られたくない検索単語などといったものが第三者に見られることを防ぐために、ブラウザーとウェブサーヴァーとの間でやりとりされるデータを暗号化している。

ところが、驚くべき数のHTTPS化されたウェブサイトに脆弱性があることが明らかになった。

ヴェネツィア大学とウィーン工科大学の研究者が実施した共同調査によると、訪問者数の多いウェブサイト10,000件から、5.5パーセントにTLS関連のセキュリティホールが確認された。なお、調査対象のサイトは、アマゾン傘下のウェブトラフィック分析会社Alexa Internetのデータに基づいて選ばれている。

脆弱性があっても「鍵アイコン」を表示

セキュリティ上の欠陥は、TLSの組み込みにおけるエラーとバグの修正プログラムがインストールされていないことが組み合わさって生じていた。TLSとその前身のSSL(Secure Sockets Layer)ではこれまでに多くのバグが見つかっているが、どれも修正パッチが配布されている。

最大の問題は、どのサイトも脆弱性があるにも関わらず、例の緑の鍵のアイコンが表示されているという点だ。

ヴェネツィア大学でネットワークセキュリティと暗号化の研究を行うリカルド・フォカルディは、「ブラウザーのヴァージョンが最新でもサイトに脆弱性があることは検出されませんした」と話す。「TLS関連のセキュリティホールは、修正どころかその存在すら気づかれていないのです。ブラウザーの側できちんと検知されることが望ましいでしょう」

調査結果の詳細は、5月にサンフランシスコで開かれる「IEEE Symposium on Security and Privacy」で発表される。

ある種の「中間者攻撃」も可能に

ヴェネツィア大学とウィーン工科大学の研究者たちは、既存の手法だけでなく新たな技術も開発した。そのうえで、発見した脆弱性を3つのカテゴリーに分類した。

ひとつ目はいわば「部分漏洩」で、情報を得るためにクエリを複数回実施する必要があるため、単体で悪用することは難しい。どのクエリにも必ず付帯するセッションのCookieのようなデータを解読するにはいいかもしれないが、通常はセッション中に1回しか送信しないパスワードのようなデータを効率的に盗むことはできない。

これに対し、残りふたつはより深刻だ。「完全漏洩」は、ブラウザーとウェブサーヴァーの間の深部にある欠陥を含んだ暗号チャネルに関連するもので、ここを通じてやりとりされるすべてのトラフィックを解読することが可能になる。

そして、最後に「汚染」チャネルがある。これを使うと、攻撃者はトラフィックを解読するだけでなく、内容を変更するといったことも可能になると考えられている。要するに、ある種の「中間者攻撃」ができてしまうのだが、HTTPSはそもそも、こういったものをなくすために開発されたのだ。

相互接続性ゆえの問題

セキュリティ専門家で「Open Crypto Audit Project」のディレクターも務めるケン・ホワイトによると、今回見つかった脆弱性は実際にはそれほど致命的なものではない。理論上は悪用が可能だが、普通のセキュリティホールを攻撃するより手間がかかるうえ、悪用していることが目立ちやすいという。このためハッカーにとって、必ずしも魅力的な手段とは言えないからだ。

ホワイトは一方で、ウェブサイトのセキュリティ強化全般という観点からは、今回の調査は重要な意味をもつと説明する。

「10年以上も前のようにCookieをウェブサーヴァーで処理しない、きちんとTLSを使うといったことは、セキュリティ業界では常識です。しかし、今回驚くほど多くの有名サイトでこうした基本的なことが依然として守られていないことが浮き彫りになりました。ウェブ開発では最新の耐タンパー性技術を採用することが必須なのです」

具体的にいくつのサイトで脆弱性が見つかったかといったことは別にして、この調査が強調するのは、ウェブの根幹をなす相互接続性という問題である。つまり、特定のページにあるごく小さなTLSの欠陥が、潜在的にシステム全体に大きな影響を引き起こしかねないのだ。例えば、「Example.com」というウェブサイトは大丈夫でも、「mail.example.com」に脆弱性があれば、その間でやりとりされる暗号化されたデータは解読されてしまう。

ヴェネツィア大学のフォカルディは、「互いに関連のあるドメインでは、機密性の高い情報やCookieなどのデータが共有される場合があります。そうすると、どこかにセキュリティホールが存在すればそれは拡大していきます」と説明する。「インターネットを見渡すと、TLSの脆弱性を増幅させる可能性のあるURLとホストのつながりが多数見つかります」

TLSの脆弱性を特定するツールを開発中

研究者たちは調査対象となった10,000件のサイトについて、約91,000件のサブドメインもしくはリソースを共有しているドメインを特定した。関連ドメインにある欠陥は、サイト全体に影響を及ぼしかねない。

冒頭でも述べたように10,000件のうち5.5パーセントで問題が見つかったが、この内訳はTLSの直接の脆弱性があるサイトが292件、自身のTLSの脆弱性を介して主サイトに潜在的な問題を引き起こす可能性のある関連サイトが5,282件となっている。

なお、脆弱性のカテゴリー別に見ると、最も深刻な「汚染」が4,800件超、「完全漏洩」が733件、それほど大きな問題ではない「部分漏洩」は912件だった。

相互接続性によってセキュリティホールが生じる可能性があるという議論は、セキュリティ業界ではよく知られている。「ウェブサイトのセキュリティは、最も安全性の低いリンクによって測られる」というわけだ。こうした影響をどのようにして最小限に抑えるかを考える上で、今回の調査結果が役立つだろう。

ヴェネツィア大学の研究者たちは今回の結果に基づいて、ウェブ開発者が見落としがちなTLSの脆弱性を特定するためのツールの開発に取り組んでいる。インターネットの本質は大規模な相互接続性であることを考えれば、システム全体に多大な影響を与える可能性がある小さな欠陥を発見することが、ますます重要になっている。