非エンジニア向けSSL解説:OpenSSLの脆弱性「HeartBleed」とは?

GoogleのMatt Cutts氏が「SSL(https)のサイトを優遇するかも」のような発言をしたことや、4月にはOpenSSLの致命的な脆弱性についても話題になりました。今回の記事では、非エンジニア向けにSSLや、指摘されている脆弱性「HeartBleed」について解説します。開発室の坂田による執筆です。

2014年は”SSL”が何かと話題に

以前からGoogleが強制的にSSLで接続するようになったり、2014年に入り、GoogleがSSLのサイトを優先しようか検討している、といった話が出てくるなど、SEO関係者の中でもたびたびSSLが話題に出てくるようになりましたね。

今年の4月ごろ、SSLでの通信を可能にしているOpenSSLというソフトウェアに、個人情報などの通信内容がサーバーから流出する重大な欠陥(脆弱性)が見つかったことが話題となりました。

この脆弱性は、サーバーからの情報流出が、心臓(Heart)から出血(bleed)するほど深刻に捉えられたため、「Heartbleed」と呼ばれています。

どんな形であれ個人情報を扱うようなサイトはセキュリティを担保することが求められます。今回は、SSLの仕組みを改めて理解していただいた上で、この脆弱性「Heartbleed」について解説します。

編集者注:冒頭の「GoogleがSSLのサイトを優先」の話は、Googleでも検討が始まったばかりの未確定事項

SSLの役割と仕組み

SSLは、主に2つの機能を提供しています。1つは、信頼性を担保することです。SSLを使用しているウェブサイトはSSLの証明書を有しています。

この証明書は、第三者機関である認証局(CA)によって発行されています。この証明書により、利用者が、ウェブサイトを信頼できることが保証されています。

もう1つは、暗号化により安全性を担保することです。通常のウェブサイトを表示するために使用するhttp通信は暗号化されていません。そのため、第三者に通信が見られた際、通信している情報が容易に読み取られてしまいます。

ここでいう情報の中には、IDやパスワードなどの会員情報や、住所や名前など、お問い合わせの内容など個人に関わる重要な情報が存在します。

こうした情報を第三者に読み取られないように、暗号化する必要があります。SSLは、通信情報を暗号化する機能を有し、安全な通信を確立する役割を担っています。

SSLの説明

OpenSSLの脆弱性「Heartbleed」とは

OpenSSLとは、実際にこの暗号化を行っているプログラムの一つです。SSLを可能にしているソフトウェアはOpenSSLの他にもNSSやGnuTLSといったプログラムの存在しますが、OpenSSLは非常に高いシェアを占めています。

ところがこのOpenSSLの脆弱性が先日指摘され話題になりました。それがHeartbleedです。

SSLに限らず、サーバーは通信を行うと、メモリに通信内容を一時的に記録します。本来メモリに記録されたデータは、通信が終了すると破棄されます。

ところがHeartbleedという”バグ”により、メモリ上のデータが破棄されず、サーバー外部に流出してしまう場合があります。この流出したデータの中に、個人情報が含まれていると、個人情報の流出といった事態になります。

Heartbleedはサーバーの秘密鍵が流出する場合もある

ここで大きく問題なのは、Heartbleedによる影響は、通信データの一部流出にとどまらず、「サーバーの秘密鍵」の流出の恐れがある点です。

詳しい解説はここでは割愛しますが、SSLでは、共通鍵暗号方式と公開鍵暗号方式の2つの暗号方式を利用して安全性を担保しています。

SSLでサーバー送信した情報は、これらの方式を用いて暗号化されます。この情報は、サーバーの秘密鍵という鍵のみで復号化することが可能です。逆に言えば、この「秘密鍵」さえあれば、第三者でも容易に通信内容を読み取ることができます。

情報流出の危険性

サーバーはひとつの秘密鍵を使用しているため、一度秘密鍵が流出してしまうと、ウェブサイトの利用者の通信内容を継続的に読み取られる可能性があります。例えるなら、隣の人にパソコンのパスワードを知られてしまった状態です

対処法

実際の作業はサーバーなどの環境に依存しますので、具体的には触れませんが、以下の手順を取るとよいでしょう。

Heartbleedかどうか調べる

まずは、OpenSSLのバージョンを調べます。この際、以下のバージョンに当てはまる場合、Heartbleedの脆弱性があります。

またこれらのバージョンに該当しなくとも、古いOpenSSLを使用している場合は、他の脆弱性やバグが存在している可能性もあるので、最新のものにバージョンアップすることをおすすめします。

  • OpenSSL 1.0.1 から 1.0.1f
  • OpenSSL 1.0.2-beta から 1.0.2-beta1

Heartbleedを取り除く

OpenSSLのバージョンを確認し、Hearbleedの影響を受けている場合は、早急に取り除くましょう。最も簡単な方法は、OpenSSLのバージョンを最新のものにします。

また、レンタルサーバー等OpenSSLの設定を変えることのできない場合は、サーバーの管理会社に連絡し、この脆弱性を解消してもらう必要があります。

証明書を再発行し、以前の証明書を失効させる

OpenSSL脆弱性を直したら、SSLの証明書を再発行します。主なSSL発行会社は、無償での再発行を受け付けています。証明書を再発行したら、その設定をサーバーに反映させます。最後に、SSL発行会社を通じて古い証明書を失効させましょう。

まとめ

SSLは、個人情報を取り扱うウェブサイトを安全に運営していく上で、重要な役割を担っています。ウェブサイトの利用者が安心して利用できる環境を整えるためにも、SSLだけでなく、利用している技術やその仕組みを理解し、脆弱性やバグに柔軟に対応していくことが重要です。

最後に、私たち開発室もブログを書いておりまして、技術トピックを中心に、幅広い内容を紹介しています。こちらも参考にしてください。
Catcher in the tech – ヴォラーレ株式会社開発室ブログ

ヴォラーレ株式会社 坂田

スパムSEOを働いた人気歌詞注釈サイトのRap GeniusにGoogleが厳しい制裁

人気の歌詞のクラウド注釈サイト、Rap Geniusが怪しげなSEOテクニックを使って検索結果の順位を不当に操作しようとしたことに対して、今日、Googleが非常に厳しい措置を取った。

今やRap Geniusというキーワードで検索してもRapGenius.comはトップページに表示されない。Jay-Z Holy Grail Lyricsなどとヒット曲の歌詞を検索してもRap Geniusの該当ページははるか下のページに埋もれている。 [アップデート:Rap GeniusはGoogleに協力して是正措置を取りつつあるという] 

2009年に設立されたY/Combinator出身のRap Geniusはユーザーが歌詞その他のテキストへの注釈を共有するサービスだ。対象は当初、ラップ・ミュージックだったが、現在は歌詞一般に加えて宗教、法律などの文書、画像など広い範囲を対象としている。引用されたテキストの上にマウスを載せるとさまざまな注釈が読める。

Rap Geniusは2012年後半にAndreessen Horowitzなどから1500万ドルという巨額の資金調達に成功して一躍注目を集めた。

共同ファウンダーたちは毒舌や奇行でも有名になった。TechCrunch Disrupt NYではファウンダーのMahbod Moghadamがステージ上でマーク・ザッカーバーグを「糞野郎」と罵って後で謝罪するという一幕もあった。

しかし今週、Rap GeniusはブロガーたちをRap Genius Blog Affiliateなるプログラムに招待した。メール・フィルタリングのGliderのファウンダー、John MarbachがRap Geniusに詳しいことを知りたいとメールすると、「ジャスティン・ビーバーの歌詞についてのRap Geniusの注釈のリンク一覧を埋め込んだ記事を書いて、そのURLをわれわれに送ってくれ。われわれはそのリンクをツイートする」とメールで申し出てきた。大量のフォロワーを有するRap Geniusがツイートすればブログ記事には大量のトラフィックが集まる。するとGoogleの検索エンジンは記事の末尾のジャスティン・ビーバーのリンクをRap Geniusへの投票とみなし、検索ランクがアップするという目論見だった。ジャスティン・ビーバーの新アルバムに対する検索トラフィックは膨大なものになることが分かっていたのでRap Geniusはこのトラフィックを大量にかき集めようとしたわけだ。

MarbachはRap Geniusの無節操な戦術をMoghadamのメールごとブログ記事で公表した。この記事は広く読まれ、Googleの反スパム長官、マット・カッツがHacker Newsで「この件については調査中だ」と言明することとなった。Rap Geniusはすぐに公開状でGoogleに謝罪し、同時に「他の歌詞サイトも同様のSEO戦術を取っている」と弁明した。

しかしこの弁明はあまり効果がなかったようだ。今朝(米国時間12/25)、GoogleはRap Geniusを事実上検索結果から掃き捨ててしまった。これまでKanye West Flashing Lights Lyricsなどとラップの歌詞を検索するとRap Geniusはトップかトップにきわめて近い位置に表示されていた。アーティストや曲名だけでもRap Geniusは検索結果のトップに来ることが多かった。

ところが今やRap Geniusは検索結果の5ページ目でやっと表示されるありさまだ。これではほとんど誰の目にも止まらないだろう。今回の制裁は“Rap Geniusそのものに対する検索結果さえやっと6ページ目の最下部に表示されるという厳しさだ。

事実上Google検索から排除されるというのはRap Geniusのビジネスに致命的だ。検索結果からのトラフィックがなければ急速なユーザーベースの拡大はとうてい望めないし、新しい注釈も集まらず、広告によるマネタイズの望みも絶たれてしまう。

アップデート: Rap Geniusの共同ファウンダーは以下のような声明を発表した。Rap Geniusは検索結果の復帰を求めてGoogleと交渉中のようだ。


われわれは今回の件に関してGoogleと話し合っている。Googleはクリスマスの当日であるにもかかわらず、問題を是正するために何をすればいいか力を貸してくれた。 すばらしいことだ。われわれは全力で問題解決に取り組んでいるので、すぐにGoogleに復帰できるだろう。【略】

GoogleはRap Geniusが不当にかき集めたバックトラックを削除するなど必要な措置を取れば検索結果への復帰を認めるつもりのようだ。しかしRapGeniusの検索順位すべて事件以前のままに戻ることはありそうにない。長期にわたってRap Geniusのビジネスには打撃となるだろう。われわれはGoogleにもコメントを求めている。なにか新情報があればフォローする。

Rap Geniusの波乱の過去についてはこちらを参照:

Disrupt On-Stage Video: Rap Genius’ Co-Founder Apologizes To Zuck (Then Says They’ll Be Bigger Than Facebook)

Video Interview: Ben Horowitz And The Founders Explain Why A16Z Put $15M Into Rap Genius

Rap Genius Is Getting Into Breaking News Analysis With News Genius

Rap Genius Reveals One Of Its Business Models Will Be ‘Enterprise Genius’ Collaborative Tool

〔日本版〕Rap Geniusについては滑川・高橋共訳のYコンビネーター シリコンバレー最強のスタートアップ養成スクール(ランダル・ストロス著 日経BP刊)で詳しく紹介されている。

[原文へ]

(翻訳:滑川海彦 Facebook Google+