(57)【要約】  本明細書で説明される具体的な実施形態は、デジタル証明書に関するデータを分析し、デジタル証明書にレピュテーションを割り当てるべく構成され得る電子デバイスを提供し、レピュテーションはデータが適切かどうかの指標を含む。データの分析はデジタル証明書のためのコード署名がデジタル証明書のためのバイナリコードに一致するかどうか、デジタル証明書がポータブルな実行可能ファイルヘッダを変更することによりデータに結び付けられているかどうか、またはデジタル証明書が異なるデータと関連付けられる別の信頼できるデジタル証明書と同一であるかどうかを判定することを含み得る。
2018520437.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサによって実行されることで、
デジタル証明書に関するデータを分析することと
前記デジタル証明書にレピュテーションを割り当てさせることであって、前記レピュテーションは、前記デジタル証明書に関する前記データが適切であるかどうかの指標を含む、割り当てさせることと
を前記少なくとも１つのプロセッサに実行させる１または複数の命令を備える
プログラム。
【請求項２】
前記データの前記分析は、前記デジタル証明書のためのコード署名が前記デジタル証明書のためのバイナリコードに一致するかどうかを判定することを含む、請求項１に記載のプログラム。
【請求項３】
前記コード署名はＡｕｔｈｅｎｔｉｃｏｄｅである、請求項２に記載のプログラム。
【請求項４】
前記データの前記分析は、前記デジタル証明書がポータブルな実行可能ファイルヘッダを変更することにより、前記データに結び付けられているかどうかを判定することを含む、請求項１から３のいずれか一項に記載のプログラム。
【請求項５】
前記データの前記分析は、前記デジタル証明書が、異なるデータと関連付けられる別の信頼できるデジタル証明書と同一であると判定することを含む、請求項１から４のいずれか一項に記載のプログラム。
【請求項６】
前記デジタル証明書に関する前記データの前記分析が、前記デジタル証明書に関する前記データが不適切であると示す場合、ファイルは信頼できないものとして分類される、請求項１から５のいずれか一項に記載のプログラム。
【請求項７】
デジタル証明書および前記デジタル証明書に関するデータを含むファイルを識別し、
前記デジタル証明書に関する前記データを分析し、
前記ファイルへのレピュテーションを割り当てる、
デジタル証明書検証モジュールを備え、
前記レピュテーションは、前記デジタル証明書に関する前記データが適切であるかどうかの指標を含む、
装置。
【請求項８】
前記デジタル証明書に関する前記データの前記分析は、前記デジタル証明書のためのコード署名が前記デジタル証明書のためのバイナリコードに一致するかどうかを判定することを含む、請求項７に記載の装置。
【請求項９】
前記コード署名はＡｕｔｈｅｎｔｉｃｏｄｅである、請求項８に記載の装置。
【請求項１０】
前記デジタル証明書に関する前記データの前記分析は、前記デジタル証明書がポータブルな実行可能ファイルヘッダを変更することにより、前記データに結び付けられているかどうかを判定することを含む、請求項７から９のいずれか一項に記載の装置。
【請求項１１】
前記デジタル証明書に関する前記データの前記分析は、前記デジタル証明書が異なるデータと関連付けられる別の信頼できるデジタル証明書と同一であるかどうかを判定することを含む、請求項７から１０のいずれか一項に記載の装置。
【請求項１２】
前記デジタル証明書に関する前記データの前記分析が、前記データが不適切であると示す場合、前記ファイルは信頼できないものとして分類される、請求項７から１１のいずれか一項に記載の装置。
【請求項１３】
デジタル証明書に関するデータを分析する段階と
前記デジタル証明書にレピュテーションを割り当てる段階とを備え、
前記レピュテーションは、前記デジタル証明書に関する前記データが適切であるかどうかの指標を含む、
方法。
【請求項１４】
前記データの前記分析は、前記デジタル証明書のためのコード署名が、前記デジタル証明書のためのバイナリコードに一致するかどうかを判定することを含む、請求項１３に記載の方法。
【請求項１５】
前記コード署名はＡｕｔｈｅｎｔｉｃｏｄｅである、請求項１４に記載の方法。
【請求項１６】
前記データの前記分析は、前記デジタル証明書がポータブルな実行可能ファイルヘッダを変更することにより、前記データに結び付けられているかどうかを判定することを含む、請求項１３から１５のいずれか一項に記載の方法。
【請求項１７】
前記データの前記分析は、前記デジタル証明書が異なるデータと関連付けられる別の信頼できるデジタル証明書と同一であるかどうかを判定することを含む、請求項１３から１６のいずれか一項に記載の方法。
【請求項１８】
デジタル証明書を使用したマルウェア検出のためのシステムであって、
デジタル証明書に関するデータを識別し、
前記デジタル証明書に関する前記データを分析し、
前記デジタル証明書にレピュテーションを割り当てる、
デジタル証明書検証モジュールを備え、
前記レピュテーションは、前記デジタル証明書に関する前記データが適切であるかどうかの指標を含む、
システム。
【請求項１９】
前記データの前記分析は、前記デジタル証明書のためのコード署名が、前記デジタル証明書のためのバイナリコードに一致するかどうかを判定することを含む、請求項１８に記載のシステム。
【請求項２０】
前記データの前記分析は、前記デジタル証明書が、ポータブルな実行可能ファイルヘッダを変更することにより、前記データに結び付けられているかどうかを判定することを含む、請求項１８または１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本願は２０１５年６月２７日に出願された「ＭＡＬＷＡＲＥ  ＤＥＴＥＣＴＩＯＮ  ＵＳＩＮＧ  Ａ  ＤＩＧＩＴＡＬ  ＣＥＲＴＩＦＩＣＡＴＥ」と題する米国非仮（実用）特許出願第１４／７５２，８７４号に基づく優先権およびその利益を主張し、参照により本明細書にその全体が組み込まれる。
【０００２】
本開示は、概して情報セキュリティの分野に関し、より具体的にはデジタル証明書を使用したマルウェア検出に関する。
【背景技術】
【０００３】
ネットワークセキュリティの分野は、現代社会において、ますます重要になってきている。インターネットは、世界中の種々のコンピュータネットワークの相互接続を可能にしている。具体的には、インターネットは、様々な種類のクライアントデバイスを介して、種々のコンピュータネットワークに接続された種々のユーザ間でデータを交換するための媒体を提供する。インターネットの使用が、ビジネスコミュニケーションおよびパーソナルコミュニケーションを変化させてきたが、それはまた、悪意のあるオペレータが、コンピュータおよびコンピュータネットワークへ不正アクセスを得るための、および機密情報の意図的なまたは不注意な開示のための手段として使われている。
【０００４】
ホストコンピュータを感染させる悪意のあるソフトウェア（「マルウェア」）は、ホストコンピュータと関連付けられた企業または個人からの機密情報の盗取、他のホストコンピュータへの伝播、および／または分散型サービス妨害攻撃に対する支援、ホストコンピュータからのスパムまたは悪意のある電子メールの送信等のようなあらゆる悪意のある動作を実行することが可能であり得る。したがって、悪意のあるソフトウェアおよびデバイスによる悪意のある不慮の搾取からコンピュータおよびコンピュータネットワークを保護するための重要な管理上の問題が残っている。
【図面の簡単な説明】
【０００５】
本開示、およびその特徴と利点のより完全な理解を提供するべく、添付の図と共に以下の説明が参照され、図において同様の参照番号は同様の部分を表す。
【０００６】
【図１】本開示の一実施形態による、デジタル証明書を使用したマルウェア検出のための通信システムの簡略ブロック図である。
【０００７】
【図２Ａ】本開示の一実施形態による、デジタル証明書を使用したマルウェア検出のための通信システムの簡略ブロック図である。
【０００８】
【図２Ｂ】本開示の一実施形態による、デジタル証明書を使用したマルウェア検出のための通信システムの簡略ブロック図である。
【０００９】
【図３】一実施形態による、通信システムと関連付けられてよい潜在的な動作を示す簡略フローチャートである。
【００１０】
【図４】一実施形態による、ポイントツーポイント構成で配置される例示的なコンピューティングシステムを示すブロック図である。
【００１１】
【図５】本開示の例示的なＡＲＭエコシステムシステムオンチップ（ＳＯＣ）と関連付けられる簡略ブロック図である。
【００１２】
【図６】一実施形態による、例示的なプロセッサコアを示すブロック図である。
【００１３】
図面の図は、必ずしも縮尺通りに描かれていない。それらの寸法が、本開示の範囲から逸脱することなく大幅に変更され得るためである。
【発明を実施するための形態】
【００１４】
［例示的な実施形態］
図１は、本開示の一実施形態による、デジタル証明書を使用したマルウェア検出のための通信システム１００の簡略ブロック図である。図１に示すとおり、通信システム１００の一実施形態は、電子デバイス１０２、クラウドサービス１０４、およびサーバ１０６を含み得る。電子デバイス１０２は、メモリ１０８、プロセッサ１１０、デジタル証明書検証モジュール１１２、および１または複数のファイル１１４ａ−１１４ｃを含み得る。各ファイル１１４ａ−１１４ｃは、それぞれデジタル証明書１１６ａ−１１６ｃを含み得る。クラウドサービス１０４およびサーバ１０６は、それぞれネットワークデジタル証明書検証モジュール１１８を含んでよい。電子デバイス１０２、クラウドサービス１０４、およびサーバ１０６は、ネットワーク１２６を使用して通信してよい。
【００１５】
悪意のあるデバイス１２０は、悪意のあるファイル１２２により、電子デバイス１０２を取り込むまたは感染させようと試み得る。悪意のあるファイル１２２は、悪意のあるファイル１２２の真のアイデンティティまたは目的を隠そうと試みて、不適切なデジタル証明書１２４を含み得る。悪意のあるデバイス１２０は、ネットワーク１２６を使用して電子デバイス１０２と通信し得る、または、（例えば、ユニバーサルシリアルバス（ＵＳＢ）型の接続を通じて）電子デバイス１０２に物理的に接続され得る。
【００１６】
悪意のあるファイル１２２は、ホストコンピュータと関連付けられた企業または個人からの機密情報の盗取、他のホストコンピュータへの伝播、および／または分散型サービス妨害攻撃に対する支援、ホストコンピュータからのスパムまたは悪意のある電子メールの送信等のようなあらゆる悪意のある動作等を実行するべくホストコンピュータ（例えば電子デバイス１０２）を感染させるマルウェアまたは悪意のあるソフトウェアであり得る。
【００１７】
デジタル証明書検証モジュール１１２は、不適切なデジタル証明書１２４を識別するべく構成され得、かつ、悪意のあるファイル１２２をマルウェアとして識別し得る。例えば、デジタル証明書検証モジュール１１２は、デジタル証明書が不適切であるかどうかを判定するべく、各ファイル１１４ａ−１１４ｃおよびそれらのデジタル証明書１１６ａ−１１６ｃを分析するように構成され得る。各ファイル１１４ａ−１１４ｃについてのメタデータと各デジタル証明書１１６ａ−１１６ｃを組み合わせて、不適切なまたは悪意のあるデジタル証明書が識別され得る。特定の例において、デジタル証明書検証モジュール１１２は、各デジタル証明書１１６ａ−１１６ｃを分析し得、かつ、各デジタル証明書１１６ａ−１１６ｃのコード署名（例えば、Ａｕｔｈｅｎｔｉｃｏｄｅ（登録商標））がバイナリコードに一致するかどうかを判定し得る。コード署名は、暗号学的ハッシュ関数の使用により署名されたため、ソフトウェアの作者を確認し、コードが変更または破損されなかったという保証を試みるためのデジタル署名の実行ファイルおよびスクリプトのプロセスである。暗号学的ハッシュ関数は、デジタル証明書に任意の変更がなされたかどうかを示すことにより、デジタル証明書の完全性の検証を提供し得る。
【００１８】
図１の要素は、任意の好適な接続（有線または無線）を採用する１または複数のインタフェースを通じて互いに連結されてよく、それによりネットワーク（例えば、ネットワーク１２６）通信のための実行可能な経路を提供する。さらに、特定の構成の必要性に基づき、図１のこれらの要素のうち任意の１または複数のものは、組み合わされるか、またはアーキテクチャから取り除かれてよい。通信システム１００は、ネットワークにおけるパケットの送信または受信用の伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）通信が可能な構成を含んでよい。通信システム１００はまた、適切である場合に、特定の必要性に基づいて、ユーザデータグラムプロトコル／ＩＰ（ＵＤＰ／ＩＰ）または任意の他の好適なプロトコルと共に動作してよい。
【００１９】
通信システム１００の特定の例示的技術を説明する目的で、ネットワーク環境をトラバースしている場合のある通信を理解することが重要である。以下の基礎的な情報は、本開示が適切に説明され得る根拠とみなされてよい。
【００２０】
現在のマルウェア検出システムおよび方法は、デジタル証明書により、ファイルをしばしば無視する、または、分析しない。これはファイルが信頼できるものであり、ファイルが実行され得るとシステムに通知する証明書の検証により一般的信頼が適用されるためである。いくつかのマルウェア検出システムおよびセキュリティプロダクトは、デジタル証明書によるファイルの検査を回避するべくデジタル証明書により得られた信頼の知識を使用する。したがって、現在のマルウェア検出システムおよびセキュリティプロダクトを回避するための一般的な手法は、デジタル証明書を悪意のあるファイルに結び付けることである。例えば、ポータブルな実行可能（ＰＥ）ヘッダのディレクトリ構造を変更すること、および悪意のあるファイルのデジタル証明書またはデジタル署名が有効であるようにみえる手法でデジタル証明書を悪意のあるファイルに書き込むことが可能である。必要とされるのはデジタル証明書の有効性を分析し、デジタル証明書が不適切であるかどうかを判定するシステムおよび方法である。
【００２１】
図１に概説されるように、デジタル証明書を使用したマルウェア検出のための通信システムは、これらの問題（および他の問題）を解決し得る。通信システム１００は、ファイル（例えば、ファイル１１４ａ−１１４ｃ）のためのデジタル証明書（例えば、デジタル証明書１１６ａ−１６６ｃ）を分析し、ファイルがそのファイルは悪意があるものであると示し得る不適切なデジタル証明書を有するかどうかを判定するべく構成されてよい。例えば、デジタル証明書検証モジュール１１２は、ファイルを分析し、かつ、ファイルがＰＥヘッダおよびディレクトリを変更することにより結び付けられる不正な形式の証明書を有するかどうかを判定し得る。これを判定する１つの手法は、不適切なデジタル証明書がＡｕｔｈｅｎｔｉｃｏｄｅ検証に失敗することになる（例えば、不良なハッシュ）Ａｕｔｈｅｎｔｉｃｏｄｅ検証を使用することである。また、不適切なデジタル証明書は、その証明書が既知のデジタル証明書のフィンガープリントを共有するかどうか、またはファイルハッシュがシステムに特有であるかどうかを識別され得る。信頼できる証明書として同一のフィンガープリントを含むが、無効なＡｕｔｈｅｎｔｉｃｏｄｅを有する証明書を使用したデジタル署名は、不適切なデジタル証明書の指標であり、かつ、（例えば、寄生性感染を通じて）変更されている証明書、または窃取された証明書を使用したマルウェアの強い指標である。寄生性感染の場合において、小さな誤差は、ファイルがオペレーティングシステムにおいて、ウィンドウズ（登録商標）ファイルの保護下または正規のアプリケーションの他の登録下であるかどうかをチェックすることにより取り除かれ得る。一例において、既知の証明書のフィンガープリントは、ネットワークデジタル証明書検証モジュール１１８を使用したより集中的な分析を通して識別され得る。例えば、既知のデジタル証明書を識別するべく公開鍵またはサムプリントが使用されてよい。別の例において、ネットワークデジタル証明書検証モジュール１１８は、フィンガープリントが別のデジタル証明書と同一であるかどうかを判定するべく照会され得る。ネットワークデジタル証明書検証モジュール１１８はまた、大量のバッチサンプルのネットワーク分析技術を使用することにより証明書の信頼を判定するべく使用され得る。
【００２２】
図１のインフラストラクチャを参照すると、例示的な実施形態による通信システム１００が示されている。概して、通信システム１００は、任意の種類のまたは任意のトポロジのネットワークにおいて実装され得る。ネットワーク１２６は、通信システム１００を通じて伝播する情報のパケットを受信および送信するための、相互接続された通信経路の一連のポイントまたはノードを表す。ネットワーク１２６は、ノード間の通信インタフェースを提供し、任意のローカルエリアネットワーク（ＬＡＮ）、仮想ローカルエリアネットワーク（ＶＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ローカルエリアネットワーク（ＷＬＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、イントラネット、エクストラネット、仮想プライベートネットワーク（ＶＰＮ）、および、ネットワーク環境における通信を容易にする任意の他の適切なアーキテクチャまたはシステム、あるいはそれらの任意の好適な組み合わせとして、有線および／または無線通信を含んで構成されてよい。
【００２３】
通信システム１００において、パケット、フレーム、信号、データ等を含むネットワークトラフィックは、任意の好適な通信メッセージングプロトコルに従って送信および受信され得る。好適な通信メッセージングプロトコルはオープンシステム間相互接続（ＯＳＩ）モデル、またはその任意の派生例もしくは変形例（例えば、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ユーザデータグラムプロトコル／ＩＰ（ＵＤＰ／ＩＰ））のような階層スキームを含み得る。さらに、セルラネットワークを通じた無線信号通信はまた、通信システム１００に提供されてよい。好適なインタフェースおよびインフラストラクチャは、セルラネットワークとの通信を可能とするべく提供されてよい。
【００２４】
本明細書で使用される「パケット」という用語は、パケット交換ネットワーク上で、送信元ノードと宛先ノードとの間でルーティングされ得るデータ単位を指す。パケットは、送信元ネットワークアドレスおよび宛先ネットワークアドレスを含む。これらのネットワークアドレスは、ＴＣＰ／ＩＰメッセージングプロトコルにおけるインターネットプロトコル（ＩＰ）アドレスであり得る。本明細書で使用される「データ」という用語は、電子デバイスおよび／またはネットワークにおいて１つのポイントから別のポイントに伝達されてよい、任意の種類のバイナリ、数値、音声、ビデオ、テキストもしくはスクリプトデータ、または任意の種類のソースコードもしくはオブジェクトコード、または、任意の適切なフォーマットの任意の他の好適な情報を指す。さらに、メッセージ、要求、応答およびクエリは、ネットワークトラフィックの形態であり、したがって、パケット、フレーム、信号、データ等を備えてよい。
【００２５】
一実装例において、電子デバイス１０２、クラウドサービス１０４、およびサーバ１０６は、ネットワーク要素であり、これらは、複数のネットワークアプライアンス、サーバ、ルータ、スイッチ、ゲートウェイ、ブリッジ、ロードバランサ、プロセッサ、モジュール、またはネットワーク環境において情報を交換するべく動作可能な任意の他の好適なデバイス、コンポーネント、要素、もしくはオブジェクトを包含することが意図される。ネットワーク要素は、それらの動作を容易にする、任意の好適なハードウェア、ソフトウェア、コンポーネント、モジュールまたはオブジェクト、ならびにネットワーク環境において、データもしくは情報を受信、送信および／またはその他の方法で伝達するための好適なインタフェースも含んでよい。これは、データまたは情報の効果的な交換を可能にする適切なアルゴリズムおよび通信プロトコルを含んでよい。
【００２６】
通信システム１００と関連付けられた内部構造に関して、電子デバイス１０２、クラウドサービス１０４、およびサーバ１０６は、本明細書で概説される動作において使用される情報を記憶するためのメモリ素子（例えばメモリ１０８）を含み得る。電子デバイス１０２、クラウドサービス１０４およびサーバ１０６は、任意の好適なメモリ素子（例えば、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、電子的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、特定用途向け集積回路（ＡＳＩＣ）等）、ソフトウェア、ハードウェア、ファームウェアに、または適切である場合に、特定の必要性に基づいて、任意の他の好適なコンポーネント、デバイス、要素、またはオブジェクトに情報を保持してよい。本明細書で述べられているメモリアイテムのいずれも、「メモリ素子」という広義の用語に包含されていると解釈されるべきである。さらに、通信システム１００において使用、追跡、送信、または、受信されている情報は、任意のデータベース、レジスタ、キュー、テーブル、キャッシュ、制御リスト、または、他のストレージ構造において提供され得、それらの全ては、任意の好適なタイムフレームで参照され得る。そのようなストレージの選択肢のいずれもまた、本明細書で使用される「メモリ素子」という広義の用語内に含まれてよい。
【００２７】
特定の実装例において、本明細書に概説される機能は、非一時的コンピュータ可読媒体を含んでよい１または複数の有形媒体内に符号化されているロジック（例えば、ＡＳＩＣ内に提供される組み込みロジック、デジタル信号プロセッサ（ＤＳＰ）命令、プロセッサ、または、他の同様の機械等により実行される（オブジェクトコードおよびソースコードを潜在的に包含する）ソフトウェア）により実装されてよい。これらの例のいくつかにおいて、メモリ素子は、本明細書に説明されている動作に使用されるデータを記憶し得る。これは、本明細書に説明されているアクティビティを行うために実行されるソフトウェア、ロジック、コードまたはプロセッサ命令を記憶できるメモリ素子を含む。
【００２８】
一実装例において、本明細書に概説される動作を実現し、または促進するべく、電子デバイス１０２、クラウドサービス１０４、およびサーバ１０６のような通信システム１００のネットワーク要素は、ソフトウェアモジュール（例えば、デジタル証明書検証モジュール１１２およびネットワークデジタル証明書検証モジュール１１８）を含んでよい。これらのモジュールは、特定の構成および／またはプロビジョニングの必要性に基づいてよい任意の適切な方式で、好適に組み合わされてよい。例示的な実施形態において、そのような動作は、ハードウェアによって実行され、これらの要素に外部から実施され、または意図される機能を実現する何らかの他のネットワークデバイスに含まれてよい。さらに、モジュールは、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の好適な組み合わせとして実装され得る。これらの要素はまた、本明細書に概説されるように、動作を実現するために他のネットワーク要素と連携できるソフトウェア（またはレシプロケーティングソフトウェア）を含んでよい。
【００２９】
さらに、電子デバイス１０２、クラウドサービス１０４、およびサーバ１０６は、本明細書で述べられているようなアクティビティを実行するためのソフトウェアまたはアルゴリズムを実行し得るプロセッサ（例えばプロセッサ１１０）を含んでよい。プロセッサは、本明細書に詳述されている動作を実現するべく、データと関連付けられた任意の種類の命令を実行し得る。一例において、プロセッサは、要素または物品（例えばデータ）を１つの状態もしくは物から別の状態もしくは物に変換できる。別の例において、本明細書で概説するアクティビティは、固定ロジックまたはプログラマブルロジック（例えば、プロセッサにより実行されるソフトウェア／コンピュータ命令）で実施されてよい。本明細書で識別される要素は、何らかの種類のプログラマブルプロセッサ、プログラマブルデジタルロジック（例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ）またはデジタルロジック、ソフトウェア、コード、電子命令もしくはそれらの任意の好適な組み合わせを含むＡＳＩＣであり得る。本明細書で説明されている潜在的な処理要素、モジュールおよび機械のいずれも、「プロセッサ」という広義の用語に包含されていると解釈されるべきである。
【００３０】
電子デバイス１０２は、ネットワーク要素であり得、例えば、デスクトップコンピュータ、ラップトップコンピュータ、モバイルデバイス、携帯情報端末、スマートフォン、タブレット、または他の同様のデバイスを含み得る。クラウドサービス１０４は、電子デバイス１０２にクラウドサービスを提供するべく構成される。クラウドサービスは、概して、インターネットのようなネットワークを介したサービスとして供給されるコンピューティングリソースの使用と定義されてよい。典型的に、計算、ストレージ、およびネットワークリソースは、クラウドインフラストラクチャにおいて提供され、作業負荷をローカルネットワークからクラウドネットワークへ効果的にシフトする。サーバ１０６は、サーバまたは仮想サーバのようなネットワーク要素であり得、なんらかのネットワーク（例えば、ネットワーク１２６）を介して通信システム１００における通信を開始したい、クライアント、顧客、エンドポイントまたはエンドユーザと関連付けられ得る。「サーバ」という用語は、通信システム１００内のクライアントの代わりに、クライアントの要求を果たす、および／または何らかの計算タスクを実行するべく使用されるデバイスを含む。デジタル証明書検証モジュール１１２は、電子デバイス１０２に配置されているように図１に表されているが、これは説明のためにすぎない。デジタル証明書検証モジュール１１２は、任意の好適な構成において組み合わされ、または分離され得る。さらに、デジタル証明書検証モジュール１１２は、クラウドサービス１０４またはサーバ１０６のような電子デバイス１０２によりアクセス可能な別のネットワークに統合され、または分配され得る。
【００３１】
図２Ａを参照すると、図２Ａは、性質不明のファイル１２８のブロック図である。性質不明のファイル１２８は、信頼できるファイル、良性のファイルまたは悪意のあるファイルであり得る。性質不明のファイル１２８は、イメージオプショナルヘッダ１３０、セクションヘッダ１３４、およびセクション１３６を含み得る。イメージオプショナルヘッダ１３０は、証明書テーブル１３２を含み得る。イメージオプショナルヘッダ１３０は、性質不明のファイル１２８のローダに情報を提供し得る。証明書テーブル１３２は、ファイルが１または複数のデジタル証明書を含むかどうかを示し得る。セクションヘッダ１３４は、セクション１３６のコンテンツまたはデータを識別し得る。セクション１３６は、性質不明のファイル１２８のペイロードのような性質不明のファイル１２８に関するデータを含む。性質不明のファイル１２８は、デジタル証明書を含まないので、性質不明のファイル１２８が悪意のあるものであった場合に、大抵のマルウェア検出システムおよびセキュリティプロダクトが、性質不明のファイル１２８を悪意のあるファイルとして識別することが比較的容易であり得る。
【００３２】
図２Ｂを参照すると、図２Ｂは、デジタル証明書によるデジタル署名済のファイル１３８のブロック図である。デジタル署名済のファイル１３８が悪意のあるファイルであった場合、性質不明のファイル１２８とは異なり、いくつかのマルウェア検出システムおよびセキュリティプロダクトは、デジタル署名済のファイル１３８を悪意のあるファイルとして特定しないであろう。デジタル署名済のファイル１３８はイメージオプショナルヘッダ１３０、セクション、ヘッダ１３４、およびセクション１３６を含み得る。セクション１３６は、証明書テーブル１４０を含み得る。証明書テーブル１４０は、コンテンツ情報１４２、証明書１４４、および署名者情報１４６を含み得る。証明書１４４は、デジタル署名済のファイル１３８のための任意のデジタル証明書を含み得る。例えば、証明書１４４は、パブリッシャ／タイムスタンプのための証明書、Ｘ５０９証明書１４８を含むものとして示されている。署名者情報１４６は、証明書１４４の各デジタル証明書のための署名者情報を含む。例えば、署名者情報１４６は、パブリッシャ／タイムスタンプのための証明書、Ｘ５０９証明書１４８のためのデジタル証明書署名者情報１５０を含むものとして示されている。デジタル証明書署名者情報１５０は、副署名１５２を含み得る。
【００３３】
デジタル証明書検証モジュール１１２（またはネットワークデジタル証明書検証モジュール１１８）は、デジタル署名済のファイル１３８を分析し、かつ、デジタル署名済のファイル１３８が悪意のあるものであるかどうかを判定するべく構成され得る。例えば、デジタル証明書検証モジュール１１２は、セキュリティディレクトリエントリが悪意のあるファイルを示すような手法で設定されているかどうかを判定するべく証明書テーブル１３２を分析し得る。加えて、デジタル証明書検証モジュール１１２は、セクションヘッダ１３４を分析し、セクションサイズが変更されているかどうかを判定し得る。変更された場合、その後デジタル署名済のファイル１３８は悪意のあるものであり得る。また、デジタル証明書検証モジュール１１２は、コンテンツ情報１４２を分析し、Ａｕｔｈｅｎｔｉｃｏｄｅが既知のマルウェアファイルのためのＡｕｔｈｅｎｔｉｃｏｄｅに一致するべく変更されているかどうかを判定し得る。デジタル証明書検証モジュール１１２はまた、証明書テーブル１４０を分析し、証明書が別の正規のファイルから追加されているかどうかを判定するべく構成され得る。さらに、デジタル証明書検証モジュール１１２は、証明書の詳細が変更され、それが悪意のあるアクティビティを示しているかどうかを判定するべくパブリッシャ／タイムスタンプのための証明書、Ｘ５０９証明書１４８を分析し得る。加えて、デジタル証明書検証モジュール１１２は、副署名１５２が任意の未認証の属性を含み、それが悪意のあるアクティビティを示し得るかどうかを判定するべくデジタル証明書署名者情報１５０の副署名１５２を分析し得る。
【００３４】
図３を参照すると、図３は、一実施形態による、デジタル証明書を使用したマルウェア検出と関連付けられてよいフロー３００の可能な動作を示す例示的なフローチャートである。一実施形態において、フロー３００の１または複数の動作は、デジタル証明書検証モジュール１１２およびネットワークデジタル証明書検証モジュール１１８により実行されてよい。３０２において、ファイルと関連付けられたデジタル証明書が分析される。３０４において、システムはデジタル証明書が適切であるかどうかを判定する。デジタル証明書が適切であるかどうかを判定するべく、システムはデジタル証明書に関するファイルおよびファイル中のデータを分析し得る。例えば、システムはデジタル証明書のためのコード署名がデジタル証明書のためのバイナリコードに一致するかどうか、デジタル証明書がポータブルな実行可能ファイルヘッダを変更することによりデータに結び付けられているかどうか、デジタル証明書が異なるデータと関連付けられる別の信頼できるデジタル証明書と同一であるかまたは同一のフィンガープリントを有するかどうか等を判定し得る。デジタル証明書が適切ではない場合（例えば、デジタル証明書のためのコード署名がデジタル証明書のためのバイナリコードに一致する場合、デジタル証明書がポータブルな実行可能ファイルヘッダを変更することによりデータに結び付けられている場合、デジタル証明書が異なるデータと関連付けられる別の信頼できるデジタル証明書と同一であるかまたは同一のフィンガープリントを有する場合等）、３０６に示されるように、ファイルは、信頼できないものであるとして分類されてよい。デジタル証明書が適切である場合、３１０に示されるように、その後システムはデジタル証明書が信頼できるものであるかどうかを判定する。例えば、デジタル証明書に関するデータは、適切であり得るが、デジタル証明書自体は信頼できないものであり得る（例えば、マルウェアと関連付けられて知られているデジタル証明書等）。デジタル証明書が信頼できないものである場合、３０６に示すとおり、その後ファイルは信頼できないものとして分類されてよい。デジタル証明書が信頼できるものである場合、３０８に示すとおり、その後ファイルは信頼できるものとして分類されてよい。
【００３５】
図４を参照すると、図４は、一実施形態による、ポイントツーポイント（ＰｔＰ）構成で配置されるコンピューティングシステム４００を示す。具体的には、図４は、プロセッサ、メモリ、および入力／出力デバイスが多数のポイントツーポイントインタフェースにより相互接続されたシステムを示している。概して、通信システム１００のネットワーク要素のうち１または複数は、コンピューティングシステム４００と同一または同様の方式で構成されてよい。
【００３６】
図４に示すとおり、システム４００は、いくつかのプロセッサを含んでよいが、明確性のために、それらのうちの２つのプロセッサ４７０および４８０のみが示されている。２つのプロセッサ４７０および４８０が示されているが、システム４００の一実施形態はまた、そのようなプロセッサを１つだけ含んでよいことを理解されたい。プロセッサ４７０および４８０はそれぞれ、プログラムの複数のスレッドを実行するべく、コアのセット（すなわち、プロセッサコア４７４Ａおよび４７４Ｂ、ならびにプロセッサコア４８４Ａおよび４８４Ｂ）を含んでよい。コアは、図１から図３を参照して上に述べられたものと同様の方式で命令コードを実行するべく構成されてよい。各プロセッサ４７０、４８０は、少なくとも１つの共有キャッシュ４７１、４８１を含んでよい。共有キャッシュ４７１、４８１は、プロセッサコア４７４および４８４のような、プロセッサ４７０、４８０の１または複数のコンポーネントにより利用されるデータ（例えば命令）を記憶してよい。
【００３７】
プロセッサ４７０および４８０はまたそれぞれ、メモリ素子４３２および４３４と通信するべく、統合メモリコントローラロジック（ＭＣ）４７２および４８２を含んでよい。メモリ素子４３２および／または４３４は、プロセッサ４７０および４８０により使用される様々なデータを記憶してよい。代替的な実施形態において、メモリコントローラロジック４７２および４８２は、プロセッサ４７０および４８０とは分離したディスクリートロジックであってよい。
【００３８】
プロセッサ４７０および４８０は、任意の種類のプロセッサであってよく、それぞれ、ポイントツーポイント（ＰｔＰ）インタフェース回路４７８および４８８を使用して、ポイントツーポイントインタフェース４５０を介して、データを交換してよい。プロセッサ４７０および４８０はそれぞれ、ポイントツーポイントインタフェース回路４７６、４８６、４９４および４９８を使用して、個々のポイントツーポイントインタフェース４５２および４５４を介して、チップセット４９０とデータを交換してよい。チップセット４９０はまた、ＰｔＰインタフェース回路であり得るインタフェース回路４９２を使用して、高性能グラフィックスインタフェース４３９を介して、高性能グラフィックス回路４３８とデータを交換してよい。代替的な実施形態において、図４に示されているＰｔＰリンクのいずれかまたは全ては、ＰｔＰリンクではなく、マルチドロップバスとして実装され得る。
【００３９】
チップセット４９０は、インタフェース回路４９６を介してバス４２０と通信してよい。バス４２０は、バスブリッジ４１８およびＩ／Ｏデバイス４１６のような、バスを介して通信する、１または複数のデバイスを有してよい。バス４１０を介して、バスブリッジ４１８は、キーボード／マウス４１２（またはタッチスクリーン、トラックボールのような他の入力デバイス等）、（モデム、ネットワークインタフェースデバイス、またはコンピュータネットワーク４６０を通じて通信してよい他の種類の通信デバイスのような）通信デバイス４２６、オーディオＩ／Ｏデバイス４１４、および／またはデータストレージデバイス４２８のような他のデバイスと通信してよい。データストレージデバイス４２８はコード４３０を記憶してよく、これはプロセッサ４７０および／または４８０により実行されてよい。代替的な実施形態において、バスアーキテクチャの任意の部分は、１または複数のＰｔＰリンクで実装され得る。
【００４０】
図４に示されているコンピュータシステムは、本明細書で述べられている様々な実施形態を実施するべく利用されてよい、コンピューティングシステムの一実施形態の概略図である。図４に示されているシステムの様々なコンポーネントは、システムオンチップ（ＳｏＣ）アーキテクチャで、または任意の他の好適な構成で組み合わされてよいことが理解されよう。例えば、本明細書に開示されている実施形態は、スマート携帯電話、タブレットコンピュータ、携帯情報端末、ポータブルゲームデバイス等のようなモバイルデバイスを含むシステム内に組み込まれ得る。これらのモバイルデバイスには、少なくともいくつかの実施形態においてＳｏＣアーキテクチャが提供されてよいことが理解されよう。
【００４１】
図５を参照すると、図５は、本開示の例示的なＡＲＭエコシステムＳＯＣ５００と関連付けられる簡略ブロック図である。本開示の少なくとも１つの実装例は、本明細書で述べられているデジタル証明書の特徴、およびＡＲＭコンポーネントを使用したマルウェア検出の判定を含み得る。例えば、図５の例は、任意のＡＲＭコア（例えばＡ−９、Ａ−１５等）と関連付けられ得る。さらに、アーキテクチャは、任意の種類のタブレット、（Ａｎｄｒｏｉｄ（登録商標）  フォン、ｉＰｈｏｎｅ（登録商標）を含む）スマートフォン、ｉＰａｄ（登録商標）、Ｇｏｏｇｌｅ  Ｎｅｘｕｓ（登録商標）、Ｍｉｃｒｏｓｏｆｔ  Ｓｕｒｆａｃｅ（登録商標）、パーソナルコンピュータ、サーバ、ビデオ処理コンポーネント、（任意の種類のノートブックを含む）ラップトップコンピュータ、Ｕｌｔｒａｂｏｏｋ（登録商標）  システム、任意の種類のタッチ対応の入力デバイス等の一部であり得る。
【００４２】
図５の本例において、ＡＲＭエコシステムＳＯＣ５００は、液晶ディスプレイ（ＬＣＤ）と連結するモバイルインダストリプロセッサインタフェース（ＭＩＰＩ）／高精細度マルチメディアインタフェース（ＨＤＭＩ（登録商標））リンクと関連付けられてよく、複数のコア５０６−５０７、Ｌ２キャッシュ制御５０８、バスインタフェースユニット５０９、Ｌ２キャッシュ５１０、グラフィックス処理ユニット（ＧＰＵ）５１５、相互接続５０２、ビデオコーデック５２０、およびＬＣＤ  Ｉ／Ｆ５２５を含んでよい。
【００４３】
ＡＲＭエコシステムＳＯＣ５００はまた、加入者識別モジュール（ＳＩＭ）Ｉ／Ｆ５３０、ブートリードオンリメモリ（ＲＯＭ）５３５、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）コントローラ５４０、フラッシュコントローラ５４５、シリアルペリフェラルインタフェース（ＳＰＩ）マスタ５５０、好適な電力制御５５５、ダイナミックＲＡＭ（ＤＲＡＭ）５６０、およびフラッシュ５６５を含んでよい。加えて、１または複数の例示的な実施形態は、Ｂｌｕｅｔｏｏｔｈ（登録商標）５７０、３Ｇモデム５７５、グローバルポジショニングシステム（ＧＰＳ）５８０、および８０２．１１Ｗｉ−Ｆｉ（登録商標）５８５の例のような１または複数の通信能力、通信インタフェース、および通信機能を含む。
【００４４】
動作において、図５の例は、様々な種類のコンピューティング（例えば、モバイルコンピューティング、ハイエンドデジタルホーム、サーバ、無線インフラストラクチャ等）を可能にするべく、比較的低い電力消費と共に処理能力を提供し得る。加えて、このようなアーキテクチャは、あらゆるソフトウェアアプリケーション（例えば、Ａｎｄｒｏｉｄ（登録商標）、Ａｄｏｂｅ（登録商標）  Ｆｌａｓｈ（登録商標）  プレーヤ、Ｊａｖａ（登録商標）  プラットフォームスタンダードエディション（Ｊａｖａ（登録商標）  ＳＥ）、Ｊａｖａ（登録商標）  ＦＸ、Ｌｉｎｕｘ（登録商標）、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）  Ｅｍｂｅｄｄｅｄ、ＳｙｍｂｉａｎおよびＵｂｕｎｔｕ等）を可能にし得る。少なくとも１つの例示的な実施形態において、コアプロセッサは、連結された低レイテンシレベル２キャッシュを有するアウトオブオーダスーパースカラパイプラインを実施してよい。
【００４５】
図６を参照すると、図６は、一実施形態によるプロセッサコア６００を示す。プロセッサコア６００は、マイクロプロセッサ、埋込みプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、または、コードを実行する他のデバイスのような、任意の種類のプロセッサ用のコアであってよい。図６において、１つのプロセッサコア６００のみが示されているが、プロセッサは、図６に示されているプロセッサコア６００の１つより多くを代替的に含んでよい。例えば、プロセッサコア６００は、図４のプロセッサ４７０および４８０を参照して示され、かつ説明されているプロセッサコア４７４Ａ、４７４Ｂ、４８４Ａおよび４８４Ｂの１つの例示的な実施形態を表す。プロセッサコア６００は、シングルスレッドコアであってよく、または、少なくとも１つの実施形態に関して、プロセッサコア６００は、コアごとに１つより多くのハードウェアスレッドコンテキスト（もしくは「ロジックプロセッサ」）を含んでよいという点で、マルチスレッドコアであってよい。
【００４６】
図６はまた、一実施形態による、プロセッサコア６００に連結されたメモリ６０２を示す。メモリ６０２は、既知またはそうでなければ当業者に利用可能な、多様なメモリ（メモリ階層の様々な層を含む）のいずれかであってよい。メモリ６０２は、コード６０４を含んでよく、これは、プロセッサコア６００により実行されるべき１または複数の命令であってよい。プロセッサコア６００は、コード６０４により示される命令のプログラムシーケンスに従い得る。各命令は、フロントエンドロジック６０６に入り、１または複数のデコーダ６０８により処理される。デコーダは、その出力として、予め定義されたフォーマットで固定幅マイクロオペレーションのようなマイクロオペレーションを生成してよく、または、元のコード命令を反映する他の命令、マイクロ命令、もしくは制御信号を生成してよい。フロントエンドロジック６０６はまた、レジスタリネーミングロジック６１０およびスケジューリングロジック６１２を含み、これらは概してリソースを割り当て、実行のための命令に対応する動作をキューに入れる。
【００４７】
プロセッサコア６００はまた、実行ユニット６１６−１から６１６−Ｎのセットを有する実行ロジック６１４を含み得る。いくつかの実施形態は、特定の機能または機能のセット専用の複数の実行ユニットを含んでよい。他の実施形態は、１つの実行ユニットのみを含んでよく、または特定の機能を実行し得る１つの実行ユニットを含んでよい。実行ロジック６１４は、コード命令により規定された動作を実行する。
【００４８】
コード命令により規定された動作の実行完了後、バックエンドロジック６１８は、コード６０４の命令をリタイアし得る。一実施形態において、プロセッサコア６００は、アウトオブオーダ実行を可能とするが、命令のインオーダリタイアメントを必要とする。リタイアメントロジック６２０は、様々な既知の形式（例えば、リオーダバッファ等）を取ってよい。このように、プロセッサコア６００は、デコーダ、レジスタリネーミングロジック６１０により利用されるハードウェアレジスタおよびテーブル、ならびに実行ロジック６１４により変更される任意のレジスタ（不図示）により生成される出力に少なくとも関して、コード６０４の実行中に変換される。
【００４９】
図６には示されていないが、あるプロセッサは、プロセッサコア６００と共に、チップ上に他の要素を含んでよく、少なくともそれらのうちのいくつかは、図４を参照して本明細書において示され、および説明されている。例えば、図４に示すように、あるプロセッサは、プロセッサコア６００と共にメモリ制御ロジックを含んでよい。プロセッサは、Ｉ／Ｏ制御ロジックを含んでよく、および／または、メモリ制御ロジックと統合されたＩ／Ｏ制御ロジックを含んでよい。
【００５０】
本明細書で提供される例に関して、２つ、３つ、またはそれより多くのネットワーク要素に関してインタラクションが説明される場合があることに留意されたい。しかしながら、これは、明確性および例示のみを目的としてなさているものである。特定の場合には、限定的な数のネットワーク要素のみを参照することにより、フローの所与のセットの１または複数の機能を説明することがより容易になり得る。通信システム１００、およびその教示は、容易に拡張可能であり、多数のコンポーネントにも、より複雑な／精巧な配置および構成にも適応できることが理解されるべきである。したがって、提供されている例は、無数の他のアーキテクチャに適用される可能性のある通信システム１００の範囲を限定すべきでなく、またはその幅広い教示を妨げるべきではない。
【００５１】
前述のフロー図（すなわち図３）における動作は、通信システム１００により実行されてよい、または通信システム１００内で実行されてよい考えられる相関シナリオおよびパターンのうちのいくつかだけを示していることに留意することも重要である。これらの動作のうちのいくつかは、適宜削除もしくは除去されてよく、または、これらの動作は、本開示の範囲から逸脱することなく、大幅に変形もしくは変更されてよい。加えて、これらの動作の多数は、１または複数の追加的な動作と同時に、またはこれらと並列して実行されるものとして説明されている。しかしながら、これらの動作のタイミングは、大幅に変更されてよい。前述の動作のフローは、例示および説明目的のために提供されている。任意の好適な配置、時系列、構成、およびタイミングメカニズムが、本開示の教示から逸脱することなく提供されてよいという点において、かなりのフレキシビリティが通信システム１００により提供される。
【００５２】
本開示は、特定の配置および構成を参照して詳細に説明されているが、これらの例示的な構成および配置は、本開示の範囲から逸脱することなく、大幅に変更されてよい。さらに、特定のコンポーネントが、特定の必要性および実施に基づいて、組み合わされ、分離され、削除され、または追加されてよい。さらに、通信システム１００は、通信プロセスを容易にする特定の要素および動作を参照して示されているが、これらの要素および動作は、通信システム１００の意図される機能を実現する任意の好適なアーキテクチャ、プロトコル、および／またはプロセスにより置換されてよい。
【００５３】
多数の他の変化、代替、バリエーション、変更、および変形が、当業者に確認されてよく、本開示は、全てのこのような変化、代替、バリエーション、変更、および変形を、添付の特許請求の範囲内に含まれるものとして包含することが意図されている。米国特許商標庁（ＵＳＰＴＯ）が、さらには本願に対して発行される特許の読み手が、特許請求の範囲を解釈する際に分かり易いように、出願人は、（ａ）特許請求の範囲の請求項がいずれも、「ｍｅａｎｓ  ｆｏｒ（の手段）」または「ｓｔｅｐ  ｆｏｒ（のステップ）」という表現が特に特定の請求項で使用されていない限り、出願日時点に存在する米国特許法第１１２条第６項を適用することを意図しておらず、（ｂ）本明細書のいずれの記載によっても、特許請求の範囲の記載されている内容以外で本開示を限定することを意図するものではない点について注意を喚起しておきたい。
【００５４】
［他の注記および例］
例Ｃ１は、少なくとも１つのプロセッサによって実行されることで、デジタル証明書に関するデータを分析することと、デジタル証明書にレピュテーションを割り当てさせることであって、レピュテーションは、デジタル証明書に関するデータが適切であるかどうかの指標を含む、割り当てさせることとを少なくとも１つのプロセッサに実行させる１または複数の命令を有する、少なくとも１つの機械可読媒体である。
【００５５】
例Ｃ２において、例Ｃ１の主題は、デジタル証明書に関するデータの分析は、デジタル証明書のためのコード署名がデジタル証明書のためのバイナリコードに一致するかどうかを判定することを含むことを任意で含み得る。
【００５６】
例Ｃ３において、例Ｃ１−Ｃ２のいずれか１つの主題は、コード署名はＡｕｔｈｅｎｔｉｃｏｄｅであることを任意で含み得る。
【００５７】
例Ｃ４において、例Ｃ１−Ｃ３のいずれか１つの主題は、デジタル証明書に関するデータの分析はデジタル証明書がポータブルな実行可能ファイルヘッダを変更することにより、データに結び付けられているかどうかを判定することを含むことを任意で含み得る。
【００５８】
例Ｃ５において、例Ｃ１−Ｃ４のいずれか１つの主題は、デジタル証明書に関するデータの分析は、デジタル証明書が、異なるデータと関連付けられる別の信頼できるデジタル証明書と同一であると判定することを含むことを任意で含み得る。
【００５９】
例Ｃ６において、例Ｃ１−Ｃ５のいずれか１つの主題は、デジタル証明書に関するデータの分析がデータが不適切であると示す場合、デジタル証明書は信頼できないものとして分類されることを任意で含み得る。
【００６０】
例Ａ１において、装置は、デジタル証明書およびデジタル証明書に関するデータを含むファイルを識別し、デジタル証明書に関するデータを分析し、ファイルへのレピュテーションを割り当てるべく構成されるデジタル証明書検証モジュールを含み、レピュテーションは、デジタル証明書に関するデータが適切であるかどうかの指標を含む。
【００６１】
例Ａ２において、例Ａ１の主題は、デジタル証明書に関するデータの分析は、デジタル証明書のためのコード署名がデジタル証明書のためのバイナリコードに一致するかどうかを判定することを含むことを任意で含み得る。
【００６２】
例Ａ３において、例Ａ１−Ａ２のいずれか１つの主題は、コード署名はＡｕｔｈｅｎｔｉｃｏｄｅであることを任意で含み得る。
【００６３】
例Ａ４において、例Ａ１−Ａ３のいずれか１つの主題は、データの分析は、デジタル証明書がポータブルな実行可能ファイルヘッダを変更することにより、データに結び付けられているかどうかを判定することを含むことを任意で含み得る。
【００６４】
例Ａ５において、例Ａ１−Ａ４のいずれか１つの主題は、デジタル証明書に関するデータの分析は、デジタル証明書が異なるデータと関連付けられる別の信頼できるデジタル証明書と同一であるかどうかを判定することを含むことを任意で含み得る。
【００６５】
例Ａ６において、例Ａ１−Ａ５のいずれか１つの主題は、デジタル証明書に関するデータの分析が、データが不適切であると示す場合、ファイルは信頼できないものとして分類されることを任意で含み得る。
【００６６】
例Ｍ１は、デジタル証明書に関するデータを分析する段階と、デジタル証明書にレピュテーションを割り当てる段階とを含み、レピュテーションは、デジタル証明書に関するデータが適切であるかどうかの指標を含む、方法である。
【００６７】
例Ｍ２において、例Ｍ１の主題は、データの分析は、デジタル証明書のためのコード署名が、デジタル証明書のためのバイナリコードに一致するかどうかを判定することを含むことを任意で含み得る。
【００６８】
例Ｍ３において、例Ｍ１−Ｍ２のいずれか１つの主題は、コード署名はＡｕｔｈｅｎｔｉｃｏｄｅであることを任意で含み得る。
【００６９】
例Ｍ４において、例Ｍ１−Ｍ３のいずれか１つの主題は、データの分析は、デジタル証明書がポータブルな実行可能ファイルヘッダを変更することにより、データに結び付けられているかどうかを判定することを含むことを任意で含み得る。
【００７０】
例Ｍ５において、例Ｍ１−Ｍ４のいずれか１つの主題は、データの分析は、デジタル証明書が異なるデータと関連付けられる別の信頼できるデジタル証明書と同一であるかどうかを判定することを含むことを任意で含み得る。
【００７１】
例Ｓ１は、デジタル証明書を使用したマルウェア検出のためのシステムであって、デジタル証明書に関するデータを識別し、デジタル証明書に関するデータを分析し、デジタル証明書にレピュテーションを割り当てるために構成されるデジタル証明書検証モジュールを含み、レピュテーションは、データが適切であるかどうかの指標を含む。
【００７２】
例Ｓ２において、例Ｓ１の主題は、データの分析は、デジタル証明書のためのコード署名が、デジタル証明書のためのバイナリコードに一致するかどうかを判定することを含むことを任意で含み得る。
【００７３】
例Ｓ３において、例Ｓ１およびＳ２のいずれか１つの主題は、データの分析は、デジタル証明書が、ポータブルな実行可能ファイルヘッダを変更することにより、データに結び付けられているかどうかを判定することを含むことを任意で含み得る。
【００７４】
例Ｘ１は、例Ａ１−Ａ８または例Ｍ１−Ｍ７のいずれか１つに示されるように、方法を実施するまたは装置を実現するための機械可読命令を含む機械可読ストレージ媒体である。例Ｙ１は、例示的な方法Ｍ１−Ｍ７のいずれかを実行するための手段を備える装置である。例Ｙ２において、例Ｙ１の主題は、プロセッサおよびメモリを備える方法を実行する手段を任意で含み得る。例Ｙ３において、例Ｙ２の主題は、機械可読命令を備えるメモリを任意で含み得る。
【図１】
2018520437.tif 000003
【図２Ａ】
2018520437.tif 000004
【図２Ｂ】
2018520437.tif 000005
【図３】
2018520437.tif 000006
【図４】
2018520437.tif 000007
【図５】
2018520437.tif 000008
【図６】
2018520437.tif 000009
【国際調査報告】
2018520437.tif 000010
2018520437.tif 000011