情報セキュリティインシデント
27.Jul.2020
オープンソースパッケージの既知弱点の解決策 例えばSSLの脆弱性
2014年4月にオープンソースOpenSSL管理委員会が重大な情報セキュリティの脆弱性Heartbleedを公表し、世界に衝撃を与えたことを覚えていますか?攻撃者がサーバーのメモリ情報を読み取ることを可能にするこの脆弱性は、当時世界の半分以上のウェブサイトの運営に影響を与えました!ただし、時間が経過しても、Secure Sockets Layer(SSL)の脆弱性によって引き起こされるセキュリティ脅威が増えています。SSLのに対する他の潜在的な脅威がありますか、それらの脅威を早期に検出する方法とどうやって防ぎますか?この記事で解析します。
SSLに隠された情報セキュリティの脅威
SSLは、ネットスケープコミュニケーションズ株式会社(Netscape)によって開発されたネットワークセキュリティプロトコルです。公開鍵技術を使用して、インターネットのデータ伝送通信プロトコル(TCP / IP)で安全な通信を実現します。SSLはさまざまなネットワークやアプリケーションで多く使用されており、「メッセージの暗号化」、「メッセージの整合性」、「双方向の認証」などの3つの基本的な安全な通信要件を提供します。
グローバルネットワーク暗号化送信のセキュリティに深刻な影響を与えたHeartbleed脆弱性は、OpenSSLの暗号化セキュリティコンポーネントであるHeartbleedが境界チェックを逃し、攻撃者が特権情報や認証なしでメモリからリクエスト保存場所以外に最大64 KBのデータを読み取ることができます。つまり、ユーザーが送信したメール、アカウントパスワード、または金融取引情報がハッカーに盗まれる可能性があります。2014年4月にこの脆弱性が公開されたときに、すでにOpenSSLで2年間運用されています。つまり、2012年から2014年まで、OpenSSLオープンソースコンポーネントを使用したWebサイト、システム、またはデバイスは、深刻なセキュリティ脅威にさらされていました。このHeartbleed脆弱性の影響が当時最も深刻な情報セキュリティ脆弱性と見なされています[1]。
さらに、1998年にベル研究所(Bell Laboratories)で働いていたスイスの暗号技術者Daniel Bleichenbacherは、OpenSSLで使用されている暗号化アルゴリズムに別のセキュリティ脆弱性があることを発見しました[2]。簡単なブルートフォース攻撃方法(Brute-force Attack)により、サーバーとクライアント間で使用される暗号化キーが取得され、被害者が閲覧してウェブサイト上で送信する機密データと情報を復号化ㄋできます。この攻撃手法はブライチェンバッハー攻撃と呼ばれています。この脆弱性は何年も前に発見されましたが、2017年までに、さまざまな変形攻撃を生み出され、ネットのセキュリティを危険にさらします。その中に、DROWN(Descrypting RSA Using Obsolete and Weakened eNcryption)攻撃[3]とROBOT(Return of Bleichenbacher's Oracle Threat)攻撃[4]が最もよく知られており、2016年に専門家の推定によれば、世界中のWebサイトの約33%が影響を受けています[5]。
グローバルネットワーク暗号化送信のセキュリティに深刻な影響を与えたHeartbleed脆弱性は、OpenSSLの暗号化セキュリティコンポーネントであるHeartbleedが境界チェックを逃し、攻撃者が特権情報や認証なしでメモリからリクエスト保存場所以外に最大64 KBのデータを読み取ることができます。つまり、ユーザーが送信したメール、アカウントパスワード、または金融取引情報がハッカーに盗まれる可能性があります。2014年4月にこの脆弱性が公開されたときに、すでにOpenSSLで2年間運用されています。つまり、2012年から2014年まで、OpenSSLオープンソースコンポーネントを使用したWebサイト、システム、またはデバイスは、深刻なセキュリティ脅威にさらされていました。このHeartbleed脆弱性の影響が当時最も深刻な情報セキュリティ脆弱性と見なされています[1]。
さらに、1998年にベル研究所(Bell Laboratories)で働いていたスイスの暗号技術者Daniel Bleichenbacherは、OpenSSLで使用されている暗号化アルゴリズムに別のセキュリティ脆弱性があることを発見しました[2]。簡単なブルートフォース攻撃方法(Brute-force Attack)により、サーバーとクライアント間で使用される暗号化キーが取得され、被害者が閲覧してウェブサイト上で送信する機密データと情報を復号化ㄋできます。この攻撃手法はブライチェンバッハー攻撃と呼ばれています。この脆弱性は何年も前に発見されましたが、2017年までに、さまざまな変形攻撃を生み出され、ネットのセキュリティを危険にさらします。その中に、DROWN(Descrypting RSA Using Obsolete and Weakened eNcryption)攻撃[3]とROBOT(Return of Bleichenbacher's Oracle Threat)攻撃[4]が最もよく知られており、2016年に専門家の推定によれば、世界中のWebサイトの約33%が影響を受けています[5]。
SSLのセキュリティ脆弱性への対策
Heartbleed脆弱性は、OpenSSLが起動された拡張プログラムであるHeartbeatによって引き起こされます。Heartbeatは、接続をより長く維持し、接続を再確立する時にリソースを浪費しすぎることを回避できます。 ただし、Heartbleed脆弱性はこの拡張機能に隠されています。攻撃者は、リクエストパケットを変更して、脆弱性のあるWebサーバーを不適切なメモリコンテンツに応答させることができます。そのコンテンツに、ユーザーの重要な情報が含まれている可能性があります。例えば個人情報、秘密鍵、名前、パスワード、クレジットカード情報など。解決策は、Webサイトで使用されているOpenSSLライブラリのバージョンを更新することです。ただし、秘密鍵が盗まれて漏洩した可能性があるため、古い秘密鍵を取り消し、新たな認定必要があります。
ブライチェンバッハ攻撃とは、Webサイト管理者がWebサイトとユーザー間のキー交換暗号化技術としてRSA暗号化アルゴリズムを使用する場合、サーバーの操作プロセスに弱点があります。攻撃者は簡単なブルートフォース攻撃方法を利用し、サーバーの応答を観察すると、通信キーの推測と暗号化された情報コンテンツを盗むことができます。この脆弱性にパッチするために、RSA暗号化アルゴリズムと公開鍵暗号化標準(PKCS)パディング技術の使用を回避することです。
また、情報セキュリティの影響を軽減するために、OpenSSL管理委員会は、これらの過去の事例に基づいて、各情報セキュリティの脆弱性の深刻度を分けます。「緊急」、「重要」、「警告」、「注意」の4つのカテゴリに分類しました。ユーザー情報を漏らしたり、リモートでコードを実行したりする脆弱性は「緊急」に分類され、このレベルの脆弱性は最初に迅速に対処されます。
ブライチェンバッハ攻撃とは、Webサイト管理者がWebサイトとユーザー間のキー交換暗号化技術としてRSA暗号化アルゴリズムを使用する場合、サーバーの操作プロセスに弱点があります。攻撃者は簡単なブルートフォース攻撃方法を利用し、サーバーの応答を観察すると、通信キーの推測と暗号化された情報コンテンツを盗むことができます。この脆弱性にパッチするために、RSA暗号化アルゴリズムと公開鍵暗号化標準(PKCS)パディング技術の使用を回避することです。
また、情報セキュリティの影響を軽減するために、OpenSSL管理委員会は、これらの過去の事例に基づいて、各情報セキュリティの脆弱性の深刻度を分けます。「緊急」、「重要」、「警告」、「注意」の4つのカテゴリに分類しました。ユーザー情報を漏らしたり、リモートでコードを実行したりする脆弱性は「緊急」に分類され、このレベルの脆弱性は最初に迅速に対処されます。
無限の脆弱性は情報セキュリティのリスクを高く
ネットの世界は常にハッカーの戦場であり、脆弱性がある限り、ハッカーは弱点を見つけて脅威を生み出す機会があります。この記事で説明されているSSLの脆弱性の問題について、たとえ世界の情報関係者がHeartbleedやDROWNなどの脆弱性に対処する方法を見つけられたとしても、2019年末までに、脆弱性直してないWebサイトとシステムがまだあります。[6]そして、ハッカーがこの古い脆弱性を攻撃できます。ハッカーにとっては、新しい脆弱性を研究するよりも、古い脆弱性を攻撃する方が、より迅速に破壊またはデータを盗む目的を達成します。OpenSSLは2020年4月中旬に深刻度緊急のCVE-2020-1967 [7]の新しい脆弱性を明らかにしました。この脆弱性はHeartbleed脆弱性に似ており、どちらもコーディングエラーによる弱点があります。攻撃者はこの弱点にシステム全体を麻痺させるサービス拒否(DoS)攻撃をします。脆弱性が明らかになった後、OpenSSL管理委員会は同時に更新方法を公表し、Webサイトとデバイスメーカーに対応する保護と修復を実行するように通知しました。
また、OpenSSLによって公表された脆弱性に加え、OWASP(Open Web Application Security Project)は、2017年に情報セキュリティリスクのトップ10をリリースし、サードパーティコンポーネントの脆弱性をよく攻撃される脆弱性の1つとして挙げました。その上、9番目の項目「既知の脆弱性を持つコンポーネントの使用(A9-Using Components with Known Vulnerabilities)」の問題[8]にリストされています。
攻撃を効果的に制御できない最大の理由は、主に検査の省略(新しい脆弱性が発生するため)または対策の欠如です。したがって、情報セキュリティの脅威を効率的に識別して対策を策定することは、情報セキュリティリスクを減らす最善の方法です。
また、OpenSSLによって公表された脆弱性に加え、OWASP(Open Web Application Security Project)は、2017年に情報セキュリティリスクのトップ10をリリースし、サードパーティコンポーネントの脆弱性をよく攻撃される脆弱性の1つとして挙げました。その上、9番目の項目「既知の脆弱性を持つコンポーネントの使用(A9-Using Components with Known Vulnerabilities)」の問題[8]にリストされています。
攻撃を効果的に制御できない最大の理由は、主に検査の省略(新しい脆弱性が発生するため)または対策の欠如です。したがって、情報セキュリティの脅威を効率的に識別して対策を策定することは、情報セキュリティリスクを減らす最善の方法です。
研究開発とテスト段階から情報セキュリティの脆弱性を見つける
繰り返し発生した情報セキュリティの脆弱性に対応するため、最初から準備することで、脅威をより効率的に減らすことができます。 Onward Securityは、「HERCULES製品情報セキュリティコンプライアンス自動化プラットフォーム」を提供しています。「HERCULES SecFlow製品情報セキュリティ管理システム」を通じて、開発チームはソフトウェアの設計と開発段階でオープンソースリスク管理(Open Source Risk Management)を利用し、システムにHeartbleedやBleichenbacherなどの緊急なセキュリティ脆弱性があるかどうかを確認できます。初めから保護と修正をします。同時に、「HERCULES SecDevice脆弱性検出自動化ツール」と連携して、ネットワーク製品検出環境の構成やセキュリティ評価などの自動化機能を提供し、OpenSSL関連のCVE(Common Vulnerabilities and Exposures)脆弱性検出を実行できます。120個を超えるテスト項目で既知と未知の脆弱性を見つけます。開発チームは設計とテスト段階で二重のセキュリティチェックを実行でき、Webサイトシステムまたは製品プロジェクトが起動または脅威される前に、情報セキュリティリスクを効果的に削減できます。
References:
[1]https://owasp.org/www-community/vulnerabilities/Heartbleed_Bug
[2]https://medium.com/@c0D3M/bleichenbacher-attack-explained-bc630f88ff25
[3] https://drownattack.com/drown-attack-paper.pdf
[4] https://robotattack.org/
[5] https://drownattack.com/
[6] https://blog.malwarebytes.com/exploits-and-vulnerabilities/2019/09/everything-you-need-to-know-about-the-heartbleed-vulnerability/
[7] https://www.openssl.org/news/vulnerabilities.html
[8] https://owasp.org/www-project-top-ten/OWASP_Top_Ten_2017/Top_10-2017_A9-Using_Components_with_Known_Vulnerabilities