壊滅的というのは適切な表現だ。10段階で表現すれば、これは11だ。
自らのブログでそう述べたのは、著名なネットセキュリティの専門家、ブルース・シュナイアーさんだ。
〝壊滅的〟と言われるインターネットセキュリティのバグ(欠陥)「ハートブリード(Heartbleed 心臓出血)」が明らかになってから1週間が過ぎた。
ネットの世界のおよそ3分の2で使われているというオ-プンソースの暗号化通信の仕組み「オープンSSL(セキュア・ソケット・レイヤー)」を舞台にしたバグ騒動。
時間の経過とともに、これがかなり裾野が広く、しかも根深い問題であることが、各方面で指摘されている。
トピックの一つは、今回の発覚前に、誰かがすでにこのバグに気づいて悪用していたのではないか、という疑惑だ。
そこで名指しされたのが、スノーデン事件でその国際的なネット監視活動が明らかになった米国家安全保障局(NSA)だ。
●ブルームバーグのスクープ
ブルームバーグは11日、「NSAが情報活動のために数年にわたりハートブリード・バグを悪用、との証言」とのスクープを報じた。
記事は、2人の関係者の証言として、NSAはこのバグを把握していて、少なくとも2年にわたり情報収集に利用してきた、指摘している。
これに対して、NSAは「ハートブリードの脆弱性(バグ)については公表されるまで把握していなかった」と即座に否定。
ウォールストリート・ジャーナルなどは、NSAの否定声明の全文を掲載している。
それによると、ブルームバーグの記事は「誤り」だと断じ、連邦政府はこのような脆弱性を発見した場合、すみやかに公表する方針である、と強い調子で述べている。
●ネット監視の実績
ただ、NSAがネット監視の専門家集団であることは、エドワード・スノーデンさんによる内部文書の暴露によって、すでに周知の事実だ。
また、ニューヨーク・タイムズが昨年9月、スノーデン文書をもとに報じた記事では、「ブルラン(Bullrun)」と呼ばれる暗号化通信の解読システムが明らかにされている。
それによると、NSAはすでに2010年の段階で、今回のバグ騒動の舞台「オープンSSL」のもとになった暗号化通信の規格「SSL」解読のための、「画期的な能力」を開発できた、と内部文書に記されていたという。
つまり、NSAが今回のバグを知らなかったとしても、別のバグを使っていた可能性は残る、と米ケイトー研究所の主任研究員、ジュリアン・サンチェスさんがガーディアンで指摘している。
●公表前の悪用の可能性
一方、電子フロンティア財団(EFF)のディレクター、ピーター・エカズリーさんは、これとは別に、バグ公表前に悪用があった可能性を指摘する。
エカズリーさんは、昨年11月の段階で「ハートブリード」を悪用した可能性のある通信履歴(ログ)を確認できたと述べている。攻撃元のIPアドレスは、チャット(IRC)のシステムを監視する大規模なボットネットの一部だったという。そして、こう指摘している。
このような監視活動は、商用目的のウィルス開発者というよりは、情報機関によるものと考えた方が自然だ。
確たる結論ではないが、すでにいずれかの組織が「ハートブリード」を把握し、悪用していた疑いはある、ということだ。
●単純なバグによる膨大な影響
今回問題になったオープンSSLは、暗号によってネットの通信の安全を確保する仕組みだ。
サイトのアドレスの冒頭が「https://」と「http」のあとに「s」がついていて、ブラウザに「鍵」マークが表示されていれば、それはSSLによる暗号化通信が行われている印だ。
SSLは、そもそも今はなきネットスケープが1994年に発表した技術。オープンSSLは、そのオープンソース版だ。
「ハートブリード」のバグは、2年前の2012年3月にリリースされたオープンSSLのバージョンに紛れ込んだものだ。
このバージョンに実装された「ハートビート(心拍)」という、サーバー側の応答の確認をするためだけの機能がバグの正体だ。
これは、ユーザーのパソコンが例えば「Hello」というメッセージを送信すると、サーバー側も「Hello」と応答することで、通信が継続していることがわかる、というものだ。
だがこの機能では、サーバー側から応答するデータ量が最大で64キロバイト、つまり英数字なら6万4000文字分まで任意に指定できてしまえるようになっていた。
つまり、パソコン側から「Hello」というメッセージをデータ量は64キロバイトと指定して送信すると、サーバー側は、「Hello」の5文字分に加えて、足りない6万3995文字分をメモリーに記憶してあるデータから読み出して、応答してまうようなのだ。
このバグを悪用した攻撃を何度も繰り返すことで、64キロバイト単位のデータをサーバーから継続的に盗み出すことができるわけだ。
そして、このバグの修正もシンプルなものだ。「ハートビート」で送信されたメッセージに対して、サーバー側は同一のメッセージのみを応答する、という設定にし直すということらしい。
ランダル・マンローさんという人が自らのサイト「XKCD」で公開したこのイラストが、極めて分かりやすいと評判だ。
(from xkcd.com)
●暗号の「鍵」が流出する危険
サーバーのメモリーから読み出せる情報には、ユーザーのIDやパスワードといった大事な情報、さらには暗号通信を解読するための「鍵」まで含まれているという。
この「鍵」の情報は特に恐ろしい。
オープンSSLで使われている暗号技術は「公開鍵暗号」と呼ばれるものだ。
これは、「公開鍵」と「秘密鍵」という1セットの暗号鍵を使う仕組みだ。「公開鍵」はその名の通り、ネットで証明書とともに公開されている鍵で、ユーザーはこれを使って送信データを暗号化する。
この暗号化データを元の状態に戻せるのは、ペアの「秘密鍵」だけだ。そして「秘密鍵」は、受信したサーバー側だけが持っているため、途中でデータが盗聴されても暗号を解くことはできず、内容が漏れることはない。
ところが、「ハートブリード」の悪用によって、この「秘密鍵」が流出してしまう可能性があるという。
「秘密鍵」が盗まれてしまえば、暗号通信の中身が丸ごと解読されてしまったり、あるいは偽サイトを立ち上げられてしまったり、と深刻な被害が予想される。
バグを悪用するのが政府レベルの情報機関にせよ、犯罪者集団にせよ、セキュリティが危険にさらされていることは間違いない。
●バグが公表される
このバグを見つけたのは、フィンランドのセキュリティ会社「コードノミコン」のチームと、グーグルのセキュリティ担当のニール・メータさん。
それぞれすぐさまフィンランドのCERT(コンピューター緊急対応チーム)とオープンSSLの運営にあたるボランティアチームに通報。
オープンSSLは、7日にこのバグに関するセキュリティ勧告を公開した。
各国も早速対応に乗り出した。
米国のCERTは翌8日には警告を出し、政府も対応を呼びかけている。
日本でも8日に、JPCERTコーディネーションセンターや情報処理推進機構(IPA)が注意喚起を行ったほか、10日には警察庁も、このバグを標的としたアクセスが増加していると発表した。
●進む対策と広がる影響
バグ公表からの1週間で、対策はかなり進んでいるようだ。
このバグを抱えていたグーグルなどの大手サービス事業者も、対応を表明。
「マッシャブル」などのニュースサイトは、事業者ごとの対応一覧をまとめている。
また、「ハートブリード」の影響で、確定申告用のサイトを閉鎖していたカナダ歳入庁は、13日にサイトを再開したという。
ただ、「ハートブリード」の影響は、ウェブサイトだけにとどまらないようだ。
通信機器のシスコや、ジュニパーといったメーカーの製品にも影響することがわかってきた。
ルーターなどの通信機器、IP電話、テレビ会議システムなど、「オープンSSL」を使っている製品は、多岐にわたっている。
●何ができるのか
ユーザーにできることは、何か。
スノーデン事件で身にしみたのは、ネットの情報がNSAなどの情報機関に丸ごと監視されているに等しい、という現実だった。
今回の「ハートブリード」に関しては、サーバーを管理している事業者は、公開鍵暗号のセットを設定し直すなどの作業を行うことが必要になる。
そしてユーザーにできることは、バグの影響を受けるサイトが「ハートブリード」に対応したことを確認の上で、パスワードを変更することぐらいだ(サイト側が対応を済ませていないと、新しいパスワードも流出する危険がある)。
ただそれでも、パスワードの変更は、重要な対策になるようだ。
※NSAの関与否定声明やEFFによるログ解析については、高間剛典さん(@gohsuket)にご教示いただきました。
(2014年4月14日「新聞紙学的」より転載)