社会生活においてサイバー空間がなくてはならないものになっている現代、我々は日々様々な脅威にさらされています。今回明らかになった OpenSSL の HeartBleed脆弱性への攻撃もその 1つです。情報漏えいやプライバシー情報の開示に関連する話題は後を絶たず、また昨今のサイバー犯罪者の目的が金銭搾取に集中していることはよく知られています。
トレンドマイクロでは、2014年4月、アンダーグラウンド市場ではどのような情報が売買されているのかを調査しました。そこでは、Facebook や Twitter など無料で利用できるサービスの ID・パスワードはまったくと言っていいほど出品されておらず、動画視聴などの有料サービスの “現在利用可能な” ID・パスワードが多数出品されていました。またサイバー犯罪者にとって使い勝手が良いと思われる、現在も有効なメールアドレスとそのパスワードもいくつか出品されていました。調査前の予想では、過去に大規模な流出があったアカウントリストが出品されていると考えていましたが、そのような出品は確認できませんでした。
またアンダーグラウンド市場とは別に、ID・パスワードを含む秘密情報のリークは世界中で日常的に行われています。そのようなリーク情報が集められているWebサイトを観察したところ、人気が集まっているのは個人のクレジットカード情報でした。ここでもやはり、サイバー犯罪者の目的が金銭搾取に集中していることが明らかになったのです。このことから、サイバー犯罪者は今回の HeartBleed脆弱性を使った攻撃でも金銭に繋がる情報を狙ってくるだろうということは想像に難くありません。
今回の脆弱性を利用した攻撃は、SSL通信の中で攻撃リクエストを送付することにより、そのレスポンスでメモリ上のデータを不正に取得できるというものです。不正に取得される可能性があるデータは、SSL証明書の秘密鍵、ユーザがサーバに送付した情報、サーバがユーザに送付した情報などです。SSL は安全に通信を行うための仕組みであるため、その中でやりとりされる情報は、パスワード・クレジットカード番号・オンライン銀行へのログイン情報など、公には秘密にされるべきものを平文の通信よりも多く含みます。そして SSL証明書の秘密鍵が奪われてしまうと、その他の攻撃手法と組み合わせることにより、サイバー犯罪者による通信内容の盗聴や、“なりすましWebサイト” の作成が可能となり、さらに被害が拡大します。このような脆弱性を利用した攻撃の被害を食い止めるため、我々が注意すべきことを一般ユーザ、Webサイト管理者、アプリケーション開発者の 3つの観点からまとめます。
■一般のインターネットユーザがすべきこと
一番の犠牲者になりかねない一般ユーザは、サイバー犯罪者が一番欲しいのは金銭に繋がる情報だということをしっかりと意識したうえで、自分の身を守るために以下の取り組みができます。
まず、ブラウザやスマートフォンでパスワードやクレジットカード番号などを入力するときは、その送信先が本当にふさわしいかどうかをしっかりと確かめましょう。方法として、そもそもSSL通信(HTTPS)であるかどうかを確認したうえで、通常はアドレスバーのドメイン名と SSL証明書を確認することが重要なポイントですが、特に今回の脆弱性において確認するという観点ではこれらに加え 2つのポイントがあります。
- 情報の送信先となるWebサイトが HeartBleed脆弱性の影響を受けないこと、つまり “OpenSSLを最新版にアップグレード済み” もしくは “OpenSSLを使用していない” のどちらかであることを確認する。
脆弱性を持つサーバに送付した情報は、不正に取得される可能性があります。脆弱性の影響がないことを確認できたサイトでのみ、情報を入力すべきです。ただし、すべての Webサイト運営者が個別の質問に完璧に応答できるとは限らないため、まずは Webサイト運営者からのアナウンスを待つことが望ましいでしょう。
- サーバの SSL証明書が OpenSSL のアップグレード後、新しいものに置き換えられているかを確認する。さらに、自分が普段から使用しているブラウザが「サーバ証明書の失効検証を行う設定」になっているかを確認する。
脆弱性があったサーバでは SSL証明書の秘密鍵が不正に取得されてしまっている可能性があるため、Webサイト運営者は新たに SSL証明書を取得することが推奨されています。上記の確認により、Webサイト運営者が行った SSL証明書の置換の効果が正しく得られ、サイバー犯罪者による “なりすましWebサイト” から身を守ることができます。
特に Chrome の現在のバージョンでは、デフォルトではこの機能が有効になっていないので注意が必要です。ブラウザごとに、以下の部分で確認ができます。
- Internet Explorer:ツール>インターネットオプション>詳細設定>セキュリティ>「サーバーの証明書失効を確認する」にチェックが入っていること
- Chrome:設定>詳細設定を表示…>HTTPS/SSL>「サーバー証明書の取り消しを確認する」にチェックが入っていること
※デフォルトではチェックなしになっていますので、チェックを入れてください。
そして場合によってはこれらよりも気を配る必要がある項目があります。
前述の通り、サイバー犯罪者は、例えば SNSなどの ID・パスワードよりも、もっと直接的に金銭にかかわる情報を求めていることがわかっています。すなわち、クレジットカードの利用履歴には十分に気を配る必要があるのです。普段少額しか使わないなどの理由で、利用履歴や決済額をあまり確認しないという方はある程度いるのではないでしょうか。我々が対面している脅威はこの脆弱性だけではありません。これを機に、今後しばらくはオンラインで使用したことのあるクレジットカードの利用履歴について注意深く見守ることをおすすめします。
■Webサイト運営者がすべきこと
HeartBleed脆弱性は、あまりにも有名になりました。一般紙面でも大きく話題になり、ユーザの関心は現在も高いです。まずは自分の運営するWebサイトが OpenSSL を使っているかどうかを確認しましょう。そして使っている場合は、あなたのWebサイトを利用するお客様の安全と安心のために対策を行うべきです。実施項目は、以下のように挙げられます。
- OpenSSLを脆弱性が解消されているバージョン(現在の最新版は1.0.1g)へアップグレードする
今回影響を受けるのは OpenSSL 1.0.1~1.0.1f と 1.0.2-beta ~ 1.0.2-beta1 ですが、これ以前のバージョンへのダウングレードは過去に明らかになった他の脆弱性の影響を受ける可能性があるため推奨されません。 - SSL証明書の失効と、新しい鍵ペアを用いて発行した新証明書との置換
どの証明書が影響を受けるかを知る手段がないため、新しい鍵ペアを生成し、SSL証明書を発行し直す必要があります。秘密鍵を交換することが目的ですので、証明書の再発行の際には、本脆弱性対応以前の鍵ペアから生成した CSR を使いまわさないように十分に留意してください。
そして、対策が完了したことをアナウンスし、お客様の懸念を解消させましょう。アナウンスの際に明確にすべきポイントは以下の通りです。
- OpenSSL を脆弱性が解消されているバージョン(1.0.1g)へアップグレードしたこと。
- その上で、これまで使用していた SSLサーバ証明書を失効し、新しい鍵ペアを用いて発行した新証明書と置き換えたこと。
そもそも OpenSSL を使っておらず今回の脆弱性の影響を受けない場合は、その旨をアナウンスすることでお客様を安心させることができるでしょう。
■モバイルアプリ、Webアプリを含むすべてのアプリケーション開発者がすべきこと
まず開発しているアプリケーションが SSL のために OpenSSL を使用している場合、使用目的がサーバであるかクライアントであるかによらず、脆弱性が解消されたバージョン(現在の最新版は1.0.1g)にアップグレードしましょう。
そしてアプリケーションがクライアントとして SSL通信を行う場合は、OpenSSL を使用しているかどうかに関わらず、一般のインターネットユーザと同じ対策をすべきです。つまり、重要な情報の送信先がそれにふさわしいかをしっかりと確認すべきです。通常どおり SSLサーバ証明書が自分の信頼する認証局から発行されたものかを検証した上で、今回の脆弱性の影響で Webサイト側からの秘密鍵の漏えいがあった場合に備え、SSL証明書の失効検証も行ってください。証明書が自分の信頼する認証局から発行されたものでなかった場合はもちろんですが、失効されていた場合や失効情報が確認できなかった場合にも、接続先が正しくないと考えて以降の通信を行わないようアプリケーションを制御することが望ましいです。これはサイバー犯罪者による “なりすましWebサイト” からアプリ利用者の身を守ることに繋がります。
■トレンドマイクロの提供する対策
サーバ向け総合セキュリティ製品「Trend Micro Deep Security(トレンドマイクロ ディープセキュリティ)」、およびクライアント向け総合セキュリティ製品「ウイルスバスターコーポレートエディション」のプラグインである「脆弱性対策オプション」では、HeartBleed脆弱性を攻撃する通信を検出、ブロックすることが可能です。
またネットワーク監視ソリューション製品「Trend Micro Deep Discovery(トレンドマイクロ ディープ ディスカバリー)」によるネットワーク挙動監視ではネットワーク内での HeartBleed脆弱性を攻撃する通信の存在を可視化し警告できます。
※編集:岡本 勝之