OpenSSLの「Heartbleed」脆弱性 — どのサイトが安全か、対策とチェック方法

Techwormはセキュリティ研究者が名付けた「#heartbleed」脆弱性について速報を報じました。この記事では、既報の内容を日本語で整理し、どのサイトが安全かの一覧、利用者と管理者向けの具体的な対処手順、検査方法をまとめます。
Heartbleedに関するTechwormの以前の記事には、Pythonベースの簡易テスターが紹介されています。ご自身で検査したい場合はそちらを参照してください(原文参照)。以下はTechwormが「安全」と判定した主要サイトの一覧です。
主要サイトの安全性一覧
- Google.com: 影響なし(パッチ済み)
- Facebook.com: 影響なし(パッチ済み)
- YouTube.com: 影響なし(パッチ済み)
- Amazon.com: 影響なし(パッチ済み)
- Yahoo.com: 脆弱だったが修正済み(Yahoo Mailや主要サービスを含む)
- Wikipedia.org: 影響なし(パッチ済み)
- LinkedIn.com: SSL未使用
- eBay.com: SSL未使用
- Twitter.com: 影響なし(パッチ済み)
- Craigslist.org: 影響なし(パッチ済み)
- Bing.com: SSL未使用
- Pinterest.com: 影響なし(パッチ済み)
- Blogspot.com: 影響なし(パッチ済み)
- Go.com: 影響なし(パッチ済み)
- CNN.com: SSL未使用
- Live.com: SSL未使用
- PayPal.com: 影響なし(パッチ済み)
- Instagram.com: 影響なし(パッチ済み)
- Tumblr.com: 脆弱だったが修正済み
- ESPN.go.com: 影響なし(パッチ済み)
- WordPress.com: 影響なし(パッチ済み)
- Imgur.com: 影響なし(パッチ済み)
- HuffingtonPost.com: SSL未使用
- reddit.com: 影響なし(パッチ済み)
- MSN.com: SSL未使用
重要: CloudFlareを利用しているサーバやサイトはパッチ済みであることが確認されています。とはいえ、各サイトが個別に証明書を更新しているかどうかは別問題です。
Heartbleedとは一行定義
OpenSSLの「Heartbeat」機能にあるメモリ情報読み出しのバグで、攻撃者がサーバやクライアントのメモリから機密データ(秘密鍵やセッション情報、パスワード)を取得できる可能性がありました。
影響とリスク
- 盗まれ得る情報: SSL秘密鍵、セッションID、ユーザー名、パスワードなど。
- リスク: 秘密鍵が漏洩すると、そのサーバのTLS通信を復号される可能性があります。
- 期間: 報告によれば脆弱性は約2年間存在していたため、長期間にわたるデータ漏えいの可能性が考えられます。
ユーザーが今すぐ行うべきこと(チェックリスト)
- 重要なサイトでパスワードを変更する(銀行、メール、ショッピング等)。
- 2段階認証を有効にする。
- 同じパスワードを複数サイトで使い回している場合は全て変更する。
- 不審な取引や通知を監視する。
- サイトのセキュリティ情報や運営のアナウンスを確認する。
サイト管理者向け即時対応手順(プレイブック)
- OpenSSLの影響バージョンか確認する。
- 公式のセキュリティパッチを適用してOpenSSLを更新する。
- TLS証明書を再発行し、古い証明書を失効(revoke)する。
- サーバのセッション管理やログイン情報の調査とフォレンジックを行う。
- 利用者向けに通知し、パスワードのリセットを促す。
- IDS/IPSやログ監視を強化し、不審なアクセスがなかったか監査する。
重要: パッチを当てただけでは不十分です。利用していた秘密鍵が漏れている可能性があるため、証明書の再発行が必須です。
管理者向け技術的検査方法(現場で使えるコマンド例)
nmapのNSEスクリプト(既知の方法):
nmap –script ssl-heartbleed -p 443 example.comQualys SSL LabsのSSL Server Testを使って総合的なSSL構成を確認することも有効です。
(注)公開されているExploitコードを実行して脆弱性を検証することは、自己が管理するサーバ以外では法的・倫理的問題が発生する場合があります。必ず許可を得た環境で実施してください。
決定木: 対応方針の早見表
flowchart TD
A[サイトがSSLを使用しているか?] -->|いいえ| B[リスクは限定的だがTLS導入を検討]
A -->|はい| C[脆弱性テストを実施]
C -->|脆弱| D[OpenSSLを更新 -> 証明書再発行 -> 利用者通知]
C -->|脆弱でない| E[定期的な監視とパッチ管理]
追加の診断ツール(例)
- オンラインの無料診断(Techwormや他のサイトが提供する診断)
- ブラウザ拡張(Chromeなど)で接続時に脆弱性を警告するもの(入手元は公式ストアで確認)
- GitHub上のリスト(例: dberkholz氏がAlexa上位サイトの調査結果を公開)
いつ失敗するか(限界と例外)
- パッチと証明書再発行を行っていない場合、修正は不完全です。
- 証明書を再発行しても、過去に盗まれた情報は取り戻せません。
- CDNやロードバランサ経由で動作する環境では、すべてのレイヤーで同様に更新が必要です。
役割別チェックリスト
- 一般ユーザー: 重要なパスワード変更、2段階認証、通知の監視。
- サイト管理者: OpenSSL更新、証明書再発行、ログ解析、利用者通知。
- セキュリティ担当: フォレンジック調査、侵害の有無確認、監査報告の作成。
事例と参考情報
上記の主要サイトリストに加え、GitHubの有志がAlexa上位1万サイトのうち512サイトに脆弱性があったとの調査を公開しています(詳細は元の公開情報を参照)。
1行用語集
- TLS/SSL: インターネット上の通信を暗号化するプロトコル。
- 秘密鍵: サーバ側で保護すべきTLS証明書の秘密の部分。漏れると通信が復号される。
まとめ
Heartbleedは既に報告された重大な脆弱性ですが、影響を受けたサービスの多くは修正されています。一方で未修正のサービスや証明書を更新していないケースもあり得ます。サイト利用者は重要なパスワードを変更し、サイト管理者はOpenSSLのパッチ適用と証明書再発行を速やかに実施してください。
重要: 診断や検査を行う際は、必ず自分が管理するシステムか、明示的な許可を得た範囲内で実施してください。
備考: 上記一覧や診断情報は報告当時の状況に基づきます。最新の状況は各サービス運営者の公式発表を参照してください。