ディープラーニングで不正な証明書を検知

2019年2月12日

ブラウザに表示される緑色の鍵マークと「https」は、ほんとんどのインターネットユーザーにとって「安全性」を意味します。しかしその「安心感」を裏付ける理由が本当にあるのでしょうか。その答えは確実に「No!」です。

はじめに、「https」の本当の意味を確認しましょう。それはアクセスしているWebサイトは暗号化され、そのサイトを通じて送信される全ての情報は暗号化キーによって保護されているというものです。また、httpsで始まるURLにはサーバー証明書と呼ばれるファイルも含まれており、それには暗号化キーのオーナー(サブジェクト)と証明書を作成した会社(発行者)に関する情報が含まれています。

インターネットブラウザはこの情報を使って、Webページが信頼できるかどうかをユーザーに教えます。しかし、犯罪者は暗号化されたWebサイトに対するユーザーの先天的な信頼を悪用し、不正行為のためにそれらを利用する方法を見つけました。それを知った上で、シクステラの調査チームは最近、ディープ・ニューラル・ネットワークを利用して不正なサーバー証明書をどのようにして検知できるかの調査に着手しました。

 

誤った安心感
大手業界アナリストファームによる2018年の調査で、Webサイトの安全性に関して、ユーザーがブラウザのセキュリティインジケータをどのくらい理解しているか質問しました。

Deep Learning

 調査に対するユーザーの回答

 

 

この誤解は1990年代からサイバーセキュリティの世界に存在している「アドレスバーにhttpsがある場合のみWebサイトは信頼できる」というマントラに所以します。これは過去には有効でしたが、サイバー犯罪者が全く同様の技術を利用し、それを彼らの利益のために機能させることが可能な世界ではもはや通用しません。

ブラウザ保護アプローチ

Webサイトにアクセスする際、ブラウザはサーバー証明書に含まれる情報を検証し、それに基づいてWebサイトの危険性をユーザーに通知します。もしそのWebサイトが疑わしいとマークされていた場合には、ブラックリストに追加されます。残念ながら、有効な証明書を持つ全ての危険なWebサイトがブラウザによって瞬時に検知されたり、ユーザーによってレポートされたりするわけではないため、ブラックリストでの不正アクティビティ検知が遅れる結果となる場合もあります。これにより攻撃者は、たとえ危険なWebサイトが短時間だけ存在していたとしても、ユーザーから機密情報を騙し取り、多くの損害を与えることになります。

Deep Learning


サーバー証明書におけるデータを分析

これらを全て念頭に置いた上で、シクステラの研究チームは、ディープラーニングを使用して不正証明書の検知を改善できないか実験を開始しました。まず、真正なWebサイトから100万の証明書、フィッシングサイトから3,000の証明書、またマルウェアに感染したWebサイトから3,000の証明書を収集しました。このデータから当社の研究チームは、不正Webサイトのほぼ全てが無料で入手できる自己署名証明書を使用し、偽情報により購入した証明書を使用しているのは10%未満であることがわかりました。真正な企業の55%も自己署名証明書を使用していますが、それらの証明書には実際に検証可能な情報が含まれているという違いがあります。さらに、真正なWebサイトがブラウザによって疑わしいとされるのは、それが不適切に生成されているサーバー証明書である場合、もしくは、証明書の有効期限が切れている場合がほとんどです。

アルゴリズムで自ら学習

この情報を基にして、当社の研究チームはブラウザ検知システムによって生成される多数の誤検知や検知漏れを避けながら、サーバー証明書が真正な目的で使用されているのか、または不正アクティビティのために使用されているのかを区別できるツールを作成しました。そのために、まずは安全なサイトと真正なサイトを区別するサーバー証明書の主な特徴を処理し抽出しました。それからそのアルゴリズムの作成に取り掛かりました。

マシーンラーニングを使用して同じ問題に取り組んできた他の研究チームは、サポートベクターマシーン(SVM)アルゴリズムを使用して問題にアプローチし、ある程度の成功を収めています。シクステラチームは、より高いレベルの精度を達成できることを期待し、ディープラーニングアルゴリズムの採用を選択しました。LSMT (Long Short-Term Memory) と呼ばれるアルゴリズムにより、サーバー証明書のテキストコンテンツからアルゴリズム自体が学習することができるディープラーニングアプローチが可能になります。このアルゴリズムは、プログラマーの助けなしで、アルゴリズム自体で新しいパターンを発見することができます。つまりこのアルゴリズムにより証明書の内容から人間が推測できるものを超越して調査が可能となるのです。

結果

この新しいアルゴリズムをテストするために、調査チームはSVMアルゴリズムを作成し、マルウェアサイト用とフィッシングサイト用証明書を検知するために、同じデータセットで使用した時のSVMアルゴリズムのパフォーマンスとLSTMアルゴリズムのパフォーマンスを比較しました。SVMは十分に機能していましたが、ディープラーニングアルゴリズムは、マルウェアサイトの場合は5%、フィッシングサイトの場合は3%優れていました。

Deep Learning


結論

いつサーバー証明書が不正に利用されているかを特定するためにディープラーニングアプローチを採用することで、シクステラの研究チームは不正な証明書をかなり高いレベルの精度で検知することができ、検知対応の遅いブラウザ検知システムに頼る必要がなくなりました。
可能性のあるTLS証明書の悪用を特定するためにディープアルゴリズムを利用することで、シクステラのデジタル脅威検知プラットフォームのパフォーマンスは向上し、不正Webサイトから新たな攻撃を検知するために必要な時間が短縮されました。

by Alejandro Correa Bahnsen, Chief Data Scientis 
by Luis David Camacho, Lead Data Architect

Cyxtera Technologies, Inc. All rights reserved    I    Privacy Policy    I    Legal Terms