インターネットの拡大とスマートフォンの普及は情報流通量の向上により、多くの利便性をもたらしました。しかし、それと同時にサイバー攻撃による情報流出などのリスクも増加しています。インターネットは便利な反面、危険と隣り合わせであり、安全にインターネットを活用するためにはセキュリティ対策が重要です。
インターネット上の通信は第三者に盗聴される可能性が高いため、SSL(Secure Sockets Layer)によって通信を暗号化する技術が活用されています。それを実現するためのオープンソースライブラリにOpenSSL(オープンエスエスエル)」があります。しかし、そのOpenSSLにも脆弱性が報告されており、サイバー攻撃による被害を受けるリスクがあります。
本稿では、OpenSSLとは何なのか?を整理しながら、OpenSSLが抱える脆弱性とその対策についてご紹介します。
OpenSSLとは?
OpenSSLとは、インターネット上で標準的に利用される暗号通信プロトコルであるSSL/TLSの機能を実装したオープンソースライブラリです。
「SSL」や「TLS」といった単語に聞き覚えがある方は多いでしょう。普段からインターネットを活用していればどこかで見聞きしたことのあるこれらの単語は、インターネット通信を安全に行うための技術・仕組みを指しています。
SSL(Secure Sockets Layer)をもとにTLS(Transport Layer Security)が開発された経緯があり、TLSを含めてSSLと呼んだり、SSL/TLSのように併記されることが多くなっています。
SSLやTLSを使用すると、インターネット上でやりとりされる通信(サーバーとブラウザ間)を暗号化し、第三者によるデータの盗聴や改ざんを防ぐことが可能です。
氏名・住所などの個人情報やクレジットカード情報は、外部に流出させてはいけない情報です。インターネットではこれらの情報が大量にやり取りされており、そのままデータの送受信を行うと通信内容が盗聴されてしまうため、SSL/TLSで暗号化する必要があります。
通信が暗号化されているウェブサービスやウェブサイトのURLは「https://」で始まり、暗号化されていない場合は「http://」で始まりますので、個人情報を入力する際は「https://」のサイトであることを確認するようにしましょう。
以前は、個人情報を取り扱う問い合わせフォームや会員ページ、クレジットカードを入力する必要のある決済ページなど、特定のページだけをSSLで暗号化することが多かったのですが、現在は全てのページをSSL対応にする常時SSL(Always On SSL)が普及しています。
関連記事:常時SSL時代のセキュリティ
以上がSSL/TLSの概要であり、これをオープンソースプロジェクトとして推進しているのがOpneSSLです。
ライセンス費用等が発生することなく、ウェブサービスやウェブサイトにSSL/TLSを使用した通信を実装し、インターネット通信の安全性を保つことができるのです。
OpenSSLが抱える脆弱性
オープンソースの場合、ライセンスにしたがえば無償で利用することができますが、脆弱性の情報やバージョン管理に注意する必要があります。
OpenSSLの脆弱性が大きな話題になったのは、2014年4月の「Heartbleed(ハートブリード)」です。
サーバーとブラウザの接続状態を維持するために用意されていた「Heartbeat」機能の境界チェックに不備があり、システムのメモリ内の情報が第三者に閲覧され、SSL 通信の内容や秘密鍵などの重要情報が漏えいする可能性があるという非常に深刻な脆弱性でした。
「CVE-2014-0160」が割り当てられたこの脆弱性は、「Heartbeat(心臓の鼓動)によって血液が漏れ出る」ことと重ね合わせて、「Heartbleed」と呼ばれるようになりました。
2022年11月1日(米国時間)には、脆弱性「CVE-2022-3786」が報告されました。サービス運用妨害が行われる可能性がある脆弱性で、当初の深刻度は「Critical(重大)」でした。「CVE-2014-0160(Heartbleed)」と同様に深刻なものになりうるとされていましたが、多くのOSでスタックオーバーフローの保護が実装されていることなどから、その後、深刻度は「High(高)」に引き下げられています。
OpenSSLの脆弱性対策
脆弱性の対策には、OpenSSL Projectが公開した脆弱性修正バージョンのOpenSSLを適用する必要があります。
有償ライセンスであれば、脆弱性が発見された場合にはメーカーからの情報提供やパッチ、新バージョンの提供など、様々なサポートを受けることができますが、オープンソースの場合は自ら情報収集したり、オープンソースプロジェクトやLinuxディストリビューションからの更新情報を自ら確認し、速やかに対応する必要があります。
ただし、アップデートによって現在の環境に影響を与える可能性も否定できないので、十分なテストを実施した上で適用しましょう。
- カテゴリ:
- Webセキュリティ