JP6122555B2 - 危殆化されている秘密鍵を識別するためのシステム及び方法 - Google Patents

危殆化されている秘密鍵を識別するためのシステム及び方法 Download PDF

Info

Publication number
JP6122555B2
JP6122555B2 JP2016534888A JP2016534888A JP6122555B2 JP 6122555 B2 JP6122555 B2 JP 6122555B2 JP 2016534888 A JP2016534888 A JP 2016534888A JP 2016534888 A JP2016534888 A JP 2016534888A JP 6122555 B2 JP6122555 B2 JP 6122555B2
Authority
JP
Japan
Prior art keywords
private key
application
information
compromised
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016534888A
Other languages
English (en)
Other versions
JP2016528841A (ja
Inventor
ワウダ・アブボーカー
マオ・ジュン
イョオ・マシュー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NortonLifeLock Inc
Original Assignee
Symantec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Symantec Corp filed Critical Symantec Corp
Publication of JP2016528841A publication Critical patent/JP2016528841A/ja
Application granted granted Critical
Publication of JP6122555B2 publication Critical patent/JP6122555B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Description

コンピューティングの初期には、新しいアプリケーションは物理的ディスクを介してインストールされる場合が多く、そのため、悪意がある者が合法的な開発者を詐称するのは困難であった。現在、アプリケーションは、ウェブサイト及びアプリケーション配布プラットフォームを含む多種多様なソースから、インターネットを介してダウンロードされる場合が多い。残念ながら、詐欺的ウェブサイト及び悪意がある開発者が合法的な開発者を簡単に真似ることができ、潜在的に、ユーザが悪意のアプリケーションをダウンロードし、ユーザ、システム、及び企業のセキュリティにとって大きなリスクをもたらす。
デジタル署名は、多くの場合、アプリケーションが、潜在的に悪意がある偽者ではなく、合法的な信頼できる開発者によるものであることを担保するのに使用される。残念ながら、デジタル署名の信頼性は、デジタル署名を作成するのに使用される秘密鍵のセキュリティに直接比例する。例えば、秘密鍵が危殆化されている場合、悪意がある者が、危殆化された秘密鍵を使用して悪意のアプリケーションに署名することにより、その鍵の署名者をより一層有効に詐称することができる。
デジタル署名を検証する従来のシステムは、デジタル署名に使用された秘密鍵が危殆化されているかを判定するメカニズムを有さない場合が多い。したがって、本開示は、危殆化されている秘密鍵を識別しそれを保護するための、追加の改善されたシステム及び方法に対する必要性を特定し、それに対処する。
より詳細に後述するように、本開示は、全体として、公的に利用可能なソースから収集した情報の解析に基づいて、危殆化されており、権限がある署名者以外の者がアクセス可能である、秘密鍵を識別するためのシステム及び方法に関する。一例では、危殆化されている秘密鍵を識別するためのコンピュータ実装方法は、(1)署名者がアプリケーションにデジタル署名することを可能にする秘密鍵を識別するステップと、(2)秘密鍵に関する情報を少なくとも1つの公開ソースから収集するステップと、(3)公開ソースから収集した情報に基づいて、秘密鍵が危殆化されており権限がない署名者がアクセス可能であることを判定するステップと、(4)秘密鍵が危殆化されており権限がない署名者がアクセス可能であることの判定に応答して、セキュリティアクションを行うステップとを含んでもよい。
秘密鍵に関する情報は、様々な方法のうち任意の形で収集されてもよい。いくつかの実施形態では、秘密鍵に関する情報を収集するステップは、秘密鍵を用いてデジタル署名されている少なくとも1つのアプリケーションに関する情報を収集するステップを含んでもよい。秘密鍵に関する情報を収集するステップはまた、権限がない署名者がアプリケーションにデジタル署名するのに秘密鍵が使用されていることを示す情報を収集するステップを含んでもよい。
それに加えて、又はその代わりに、秘密鍵に関する情報を収集するステップは、評判スコアが高い少なくとも1つの信頼性の高いアプリケーション、及び評判スコアが低い少なくとも1つの疑わしいアプリケーションの両方にデジタル署名するのに、秘密鍵が使用されていることを示す情報を収集するステップを含んでもよい。秘密鍵に関する情報を収集するステップはまた、秘密鍵が所定数を超えるアプリケーションの署名に使用されていることを示す情報を収集するステップを含んでもよい。
いくつかの例では、秘密鍵に関する情報を収集するステップは、秘密鍵の少なくとも1つのインスタンスが公的にアクセス可能なサーバからのダウンロードに利用可能であることを判定するステップを含んでもよい。それに加えて、コンピュータ実装方法は、秘密鍵をホストする公的にアクセス可能なサーバを識別するデータベースを維持するステップを含んでもよい。
いくつかの実施形態では、セキュリティアクションを行うステップは、(1)秘密鍵が危殆化されていることをユーザに警告するステップ、(2)秘密鍵を用いてデジタル署名されているアプリケーションに割り当てられた評判スコアを下げるステップ、(3)秘密鍵を用いてデジタル署名されているアプリケーションのダウンロードをブロックするステップ、及び/又は(4)秘密鍵が危殆化されていることを署名者に警告するステップのうち、少なくとも1つを含んでもよい。
いくつかの例では、秘密鍵が危殆化されていることを判定するステップは、秘密鍵を用いてデジタル署名された少なくとも1つのアプリケーションのパッケージ名が、秘密鍵を用いてデジタル署名された少なくとも1つの追加のアプリケーションの追加のパッケージ名とは、所定の類似性閾値を超えて異なることを、判定するステップを含んでもよい。これらの例では、コンピュータ実装方法は、パッケージ名を解析することによって、パッケージ名がランダム化されていないことを判定するステップを更に含んでもよい。
いくつかの例では、秘密鍵が危殆化されていることを判定するステップは、収集された情報を重み付けするステップと、重み付けされた情報に基づいて秘密鍵の総合的信頼性スコアを計算するステップとを含んでもよい。
一実施形態では、上述の方法を実装するシステムは、(1)署名者がアプリケーションにデジタル署名することを可能にする秘密鍵を識別する識別モジュールと、(2)秘密鍵に関する情報を少なくとも1つの公開ソースから収集する収集モジュールと、(3)公開ソースから収集した情報に基づいて、秘密鍵が危殆化されており権限がない署名者がアクセス可能であることを判定する判定モジュールと、(4)秘密鍵が危殆化されており権限がない署名者がアクセス可能であることの判定に応答して、セキュリティアクションを行うセキュリティモジュールと、(5)識別モジュール、収集モジュール、判定モジュール、及びセキュリティモジュールを実行するように構成された、少なくとも1つのプロセッサと、を含んでもよい。
いくつかの例では、上述の方法は、コンピュータ読み取り可能な記憶媒体上のコンピュータ読み取り可能な命令としてコード化されてもよい。例えば、コンピュータ読み取り可能な記憶媒体は、1つ以上のコンピュータ実行可能命令を含んでもよく、それらの命令は、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されるとき、コンピューティングデバイスに、(1)署名者がアプリケーションにデジタル署名することを可能にする秘密鍵を識別することと、(2)秘密鍵に関する情報を少なくとも1つの公開ソースから収集することと、(3)公開ソースから収集した情報に基づいて、秘密鍵が危殆化されており権限がない署名者がアクセス可能であることを判定することと、(4)秘密鍵が危殆化されており権限がない署名者がアクセス可能であるという判定に応答して、セキュリティアクションを行うことと、を行わせてもよい。
上記の実施形態のいずれかによる特徴は、本明細書に記載される一般原理に従って、互いに組み合わせて使用されてもよい。これらの及び他の実施形態、特徴、並びに利点は、添付の図面及び特許請求の範囲と併せて以下の詳細な説明を読むことによって更に十分に理解されるであろう。
添付の図面は、多数の例示的な実施形態を例証すると共に、本明細書の一部である。以下の説明と併せて、これらの図面は本開示の様々な原理を実証及び説明する。
危殆化されている秘密鍵を識別する例示的なシステムを示すブロック図である。 危殆化されている秘密鍵を識別する例示的なシステムを示すブロック図である。 危殆化されている秘密鍵を識別する例示的な方法を示すフローチャートである。 危殆化されている秘密鍵を識別する例示的なシステムを示すブロック図である。 危殆化されている秘密鍵を識別する例示的なシステムを示すブロック図である。 本明細書に記載及び/又は図示される実施形態の1つ以上を実装することができる、例示的なコンピューティングシステムを示すブロック図である。 本明細書に記載及び/又は図示される実施形態の1つ以上を実装することができる、例示的なコンピューティングネットワークを示すブロック図である。
図面全体を通して、同一の参照文字及び説明は、類似しているが必ずしも同一ではない要素を示す。本明細書に記載される例示的な実施形態は、様々な修正及び代替的な形態が可能であるが、特定の実施形態が例として図面に示されており、本明細書において詳細に記載される。しかしながら、本明細書に記載される例示的な実施形態は、開示される特定の形態に限定されることを意図しない。むしろ、本開示は、添付の特許請求の範囲内にある全ての修正、等価物、及び代替物を網羅する。
本開示は、概して、実行時のアプリケーションメソッドを置き換えるためのシステム及び方法を対象とする。より詳細に後述するように、公的に利用可能なソースから収集した情報の解析に基づいて、秘密鍵が危殆化されていると判定することによって、本明細書に記載されるシステムは、(1)アプリケーションが危殆化された秘密鍵によって署名されていることを警告することによって、ユーザのセキュリティを改善し、(2)署名者の秘密鍵が危殆化されていることを警告することによって、署名者のセキュリティを改善し、並びに/或いは(3)危殆化された秘密鍵で署名されているアプリケーションの評判スコアを下げること、及び/又はアプリケーションをブロックすることによって、アプリケーション配布プラットフォームのセキュリティを改善してもよい。
以下、図1〜図2、図4、及び図5を参照して、危殆化されている秘密鍵を識別するための例示的なシステムの詳細な説明を提供する。対応するコンピュータ実装方法の詳細な説明も、図3に関連して提供される。それに加えて、本明細書に記載される実施形態のうちの1つ以上を実装することができる、例示的なコンピューティングシステム及びネットワークアーキテクチャの詳細な説明が、図6及び図7に関連してそれぞれ提供される。
図1は、危殆化されている秘密鍵を識別するための例示的なシステム100のブロック図である。この図に示されるように、例示的なシステム100は、1つ以上のタスクを行うための1つ以上のモジュール102を含んでもよい。例えば、より詳細に後述するように、例示的なシステム100は、署名者がアプリケーションにデジタル署名することを可能にする秘密鍵を識別してもよい、識別モジュール104を含んでもよい。例示的なシステム100は、それに加えて、秘密鍵に関する情報を少なくとも1つの公開ソースから収集してもよい、収集モジュール106を含んでもよい。
例示的なシステム100はまた、公開ソースから収集した情報に基づいて、秘密鍵が危殆化されており権限がない署名者がアクセス可能であることを判定してもよい、判定モジュール108を含んでもよい。例示的なシステム100は、それに加えて、秘密鍵が危殆化されており権限がない署名者がアクセス可能であるという判定に応答してセキュリティアクションを行ってもよい、セキュリティモジュール110を含んでもよい。別個の要素として図示されているが、図1のモジュール102の1つ以上は単一のモジュール又はアプリケーションの一部を表してもよい。
特定の実施形態では、図1のモジュール102の1つ以上は、コンピューティングデバイスによって実行されたとき、コンピューティングデバイスに1つ以上のタスクを行わせてもよい、1つ以上のソフトウェアアプリケーション又はプログラムを表してもよい。例えば、またより詳細に後述されるように、モジュール102の1つ以上は、図2に示されるデバイス(例えば、コンピューティングデバイス202及び/又はサーバ206)、図6のコンピューティングシステム610、並びに/或いは図7の例示的なネットワークアーキテクチャ700の部分など、1つ以上のコンピューティングデバイス上に記憶され、かつその上で動くように構成される、ソフトウェアモジュールを表してもよい。図1のモジュール102のうちの1つ以上はまた、1つ以上のタスクを行うように構成された1つ以上の専用コンピュータの全体又は部分を表してもよい。
図1に示されるように、例示的なシステム100はまた、データベース120など、1つ以上のデータベースも含んでもよい。一実施例では、データベース120は、既知の鍵配布ウェブサイトの記録を格納するように構成されてもよい。
データベース120は、単一のデータベース若しくはコンピューティングデバイス、又は複数のデータベース若しくはコンピューティングデバイスの部分を表してもよい。例えば、データベース120は、図2のサーバ206の一部分、図6のコンピューティングシステム610、及び/又は図7の例示的なネットワークアーキテクチャ700の部分を表してもよい。代わりに、図1のデータベース120は、図2のサーバ206、図6のコンピューティングシステム610、及び/又は図7の例示的なネットワークアーキテクチャ700の部分など、コンピューティングデバイスによってアクセスすることができる、1つ以上の物理的に別個のデバイスを表してもよい。
図1の例示的なシステム100は、多様な方法で実装されてもよい。例えば、例示的なシステム100の全て又は部分は、図2の例示的なシステム200の部分を表し得る。図2に示されるように、システム200は、ネットワーク204を介してサーバ206と通信するコンピューティングデバイス202を含んでもよい。コンピューティングデバイス202は、モジュール102の1つ以上を用いてプログラムされてもよく、かつ/又はデータベース120のデータの全て又は一部分を格納してもよい。それに加えて、又は別の方法として、サーバ206は、モジュール102の1つ以上を用いてプログラムされてもよく、かつ/又はデータベース120のデータの全て又は一部分を格納してもよい。
一実施形態では、図1によるモジュール102の1つ以上は、コンピューティングデバイス202及び/又はサーバ206の少なくとも1つのプロセッサによって実行されるとき、コンピューティングデバイス202及び/又はサーバ206が危殆化されている秘密鍵を識別するのを容易にしてもよい。例えば、またより詳細に後述するように、識別モジュール104は、署名者がアプリケーション210にデジタル署名するのを可能にする秘密鍵208を識別するようにプログラムされてもよい。それに加えて、収集モジュール106は、秘密鍵208に関する情報214を少なくとも1つの公開ソースから収集するようにプログラムされてもよい。判定モジュール108は、公開ソースから収集した情報214に基づいて、秘密鍵208が危殆化されており署名者216がアクセス可能であることを判定するようにプログラムされてもよい。それに加えて、セキュリティモジュール110は、秘密鍵208が危殆化されており署名者216がアクセス可能であることの判定に応答して、セキュリティアクション218を行うようにプログラムされてもよい。
コンピューティングデバイス202は、一般に、コンピュータ実行可能命令を読み取ることができる任意のタイプ又は形態のコンピューティングデバイスを表す。コンピューティングデバイス202の例としては、非限定的に、ラップトップ、タブレット、デスクトップ、サーバ、携帯電話、携帯情報端末(PDA)、マルチメディアプレーヤー、埋込みシステム、それらの1つ以上の組み合わせ、図6の例示的なコンピューティングシステム610、又は他の任意の好適なコンピューティングデバイスが挙げられる。いくつかの例では、コンピューティングデバイス202は、クライアントデバイスなど、エンドポイントデバイスを表してもよい。しかしながら、他の例では、コンピューティングデバイス202は、(単独で若しくは他のコンピューティングデバイスと組み合わせて)アプリケーション配布プラットフォームを提供するコンピューティングデバイスなど、サーバ又は他の形態のバックエンドデバイスを表してもよい。
サーバ206は、一般に、アプリケーションをホストすることができる、任意のタイプ若しくは形態のコンピューティングデバイス(又はコンピューティングデバイス群)を表す。サーバ206の例としては、非限定的に、コンピュータソフトウェアをデジタル的に配布するのに使用される、アプリケーション配布プラットフォームが挙げられる。
ネットワーク204は、一般に、通信若しくはデータ転送を容易にすることができる、任意の媒体又はアーキテクチャを表す。ネットワーク204の例としては、非限定的に、イントラネット、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、インターネット、電力線通信(PLC)、セルラーネットワーク(例えば、グローバルシステムフォーモバイルコミュニケーションズ(GSM(登録商標))ネットワーク)、図7の例示的なネットワークアーキテクチャ700などが挙げられる。ネットワーク204は、無線若しくは有線接続を使用して、通信又はデータ転送を容易にしてもよい。一実施形態では、ネットワーク204はコンピューティングデバイス202とサーバ206との間の通信を容易にしてもよい。
図3は、危殆化されている秘密鍵を識別するための、例示的なコンピュータ実装方法300のフローチャートである。図3に示される工程は、任意の好適なコンピュータで実行可能なコード及び/又はコンピューティングシステムによって実施されてもよい。いくつかの実施形態では、図3に示されるステップは、図1のシステム100、図2のシステム200、図6のコンピューティングシステム610、及び/又は図7の例示的なネットワークアーキテクチャの部分の1つ以上によって行われてもよい。
図3に示されるように、ステップ302で、本明細書に記載されるシステムの1つ以上は、署名者がアプリケーションにデジタル署名することを可能にする秘密鍵を識別してもよい。例えば、ステップ302で、識別モジュール104は、図2のコンピューティングデバイス202の一部として、署名者がアプリケーション210にデジタル署名することを可能にする秘密鍵208を識別してもよい。
「秘密鍵」という用語は、本明細書で使用するとき、一般に、ファイル及び/又はアプリケーションにデジタル署名するのに使用されてもよい、非対称鍵ペアのうち非公開の半分を指す。いくつかの例では、秘密鍵はファイルにデジタル署名するのに使用されてもよく、そのデジタル署名は、秘密鍵に対応する公開鍵を使用して後で認証されてもよい。これらの例では、デジタル署名の認証により、ファイルが秘密鍵によって署名されたこと、及びファイルが改ざんされていなかったことの両方を検証してもよい。例えば、開発者は秘密鍵を用いてアプリケーションに署名してもよく、ユーザは、アプリケーションが(偽者ではなく)開発者によって署名されたこと、及び改ざんされていなかったことの両方を検証するために、アプリケーションのデジタル署名を認証してもよい。より詳細に後述するように、悪意がある行為者が合法的な開発者によって使用された秘密鍵へのアクセスを得た場合、悪意がある行為者は、秘密鍵を使用して、合法的な開発者によるものであるようにユーザには見えることがある、有害アプリケーションにデジタル署名することがある。
本明細書に記載されるシステムは、様々な方法で秘密鍵を識別してもよい。例えば、識別モジュール104は、(例えば、アプリケーション配布プラットフォーム若しくはウェブサイトからの)ダウンロードの際に、又は別の方法で、秘密鍵208によって署名されているアプリケーションに遭遇したときに、秘密鍵208を識別してもよい。
ステップ304で、本明細書に記載されるシステムの1つ以上は、少なくとも1つの公開ソースから秘密鍵に関する情報を収集してもよい。例えば、ステップ304で、収集モジュール106は、図2のコンピューティングデバイス202の一部として、少なくとも1つの公開ソースから秘密鍵208に関する情報214を収集してもよい。
本明細書に記載されるシステムは、様々な方法及び/又は文脈のいずれか若しくは全てにおいて、公開鍵に関する情報を収集してもよい。一実施例では、収集モジュール106は、ウェブサイト、ウェブ検索サービス、アプリケーション配布プラットフォーム、サーバ、及び/又はデータベースなどの公開ソースから、秘密鍵208に関する情報を収集してもよい。例えば、収集モジュール106は、秘密鍵で署名された少なくとも1つのモバイルアプリケーションへのアクセスを提供するアプリケーション配布プラットフォーム(サーバ206など)から、秘密鍵208に関する情報を収集してもよい。かかるアプリケーション配布プラットフォームの例としては、例えば、モバイルアプリケーションストア(GOOGLE PLAY、APPLE APP STORE、WINDOWS PHONE STORE(「WINDOWS」は登録商標、以下同じ)、及び/又はAMAZON APPSTOREなど)、非モバイルアプリケーションストア(WINDOWS STOREなど)、並びにコンピュータソフトウェアをデジタル的に配布することができる、他の任意のサービス又はプラットフォームが挙げられる。
本明細書に記載されるシステムは、これらの公開ソースから様々な情報を収集してもよい。例えば、収集モジュール106は、秘密鍵208でデジタル署名されている少なくとも1つのアプリケーションに関する情報を収集してもよい。収集モジュール106が収集してもよい情報のタイプの例としては、非限定的に、秘密鍵によって署名されたアプリケーションの名称、アプリケーションの署名及び/若しくは発行を行った開発者の名称、場所、及び/又はウェブサイト、アプリケーションの元のソース、アプリケーションの評判データ、アプリケーションに対するユーザレイティング、アプリケーションの公開日、アプリケーションに関する普及率情報(例えば、世界的に、及び/若しくは特定のアプリケーション配布プラットフォームに関して、アプリケーションがダウンロードされた回数)、並びに/或いはアプリケーション及び/又はアプリケーションに署名するのに使用された秘密鍵に関連してもよい、他の任意の情報が挙げられる。
いくつかの実施形態では、本明細書に記載されるシステムは、秘密鍵を用いてデジタル署名されている複数のアプリケーションに関する情報を収集してもよい。例えば、収集モジュール106は、アプリケーション配布プラットフォーム406を介してダウンロードするように利用可能であるモバイルアプリケーションを表してもよい、図4のアプリケーション410及びアプリケーション420に関する情報を収集してもよい。この例では、収集モジュール106は、アプリケーション410及びアプリケーション420の両方が同じ秘密鍵(例えば、秘密鍵408)によって署名されたが、別の開発者(即ち、開発者412及び開発者422)によって発行されたことを示す情報を、(例えば、アプリケーション配布プラットフォーム406及び/若しくは外部ソースから)収集してもよい。より詳細に後述するように、この情報は、複数の署名者が秘密鍵408にアクセスしていることから、秘密鍵408が危殆化されていることを示してもよい。
いくつかの例では、本明細書に記載されるシステムはまた、権限がない署名者(例えば、秘密鍵を所有する署名者以外の開発者)がアプリケーションにデジタル署名するのに、秘密鍵が使用されていることを示す情報を収集してもよい。例えば、収集モジュール106は、秘密鍵408が、秘密鍵408を所有する署名者に接続されていないアカウントによって発行されたアプリケーション(例えば、アプリケーション420)に署名するのに使用されていることを示す情報を、図4のアプリケーション配布プラットフォーム406から収集してもよい。より詳細に後述するように、この情報は、複数の署名者が秘密鍵408にアクセスしていることから、秘密鍵408が危殆化されていることを示してもよい。
いくつかの実施形態では、本明細書に記載されるシステムはまた、評判スコアが高い少なくとも1つの信頼性の高いアプリケーション、及び評判スコアが低い少なくとも1つの疑わしいアプリケーションの両方にデジタル署名するのに、秘密鍵が使用されていることを示す情報を収集してもよい。例えば、収集モジュール106は、評判スコアが高い信頼性の高いアプリケーション(例えば、アプリケーション410)、及び評判スコアが低い疑わしいアプリケーション(例えば、アプリケーション420)の両方にデジタル署名するのに、秘密鍵408が使用されたことを示す情報を収集してもよく、そのことは秘密鍵408が危殆化されていることを示すことがある。
評判スコアは、ユーザレイティング、ダウンロード回数、抗ウィルス署名、アプリケーションコードの静的解析、及び/又はアプリケーションプロセスの動的解析を含むがそれらに限定されない、多数の因子に基づいてもよい。例えば、「Enraged Avians」と名付けられた信頼性の高いモバイルアプリケーションは、数百万回に達するダウンロード回数を有することができ、ユーザレイティングが非常に高く、いくつかの抗ウィルスソフトウェアによって悪意がないものとして保証されていることがある。「Incensed Avians」という別のモバイルアプリケーションは、「Enraged Avians」と同じ秘密鍵によって署名されていることがあるが、別の開発者によって発行されていることがあり、ダウンロード回数が少ないこと及びアプリケーション内にマルウェアが存在することにより、評判スコアが低いことがある。この例では、このことは、アプリケーション「Incensed Avians」が偽のアプリケーションを表すことを示してもよく、それが、この偽のアプリケーションに署名するのに使用された秘密鍵が危殆化されていることを示してもよい。
いくつかの例では、本明細書に記載されるシステムはまた、所定数を超えるアプリケーションに署名するのに秘密鍵が使用されていることを示す情報を収集してもよい。例えば、収集モジュール106は、図2の秘密鍵208が1,000を超えるアプリケーションに署名するのに使用されていることを示す情報を収集してもよく、それが(いくつかの例では)秘密鍵208が危殆化されていることを示すことがある。いくつかの実施形態では、この所定数は予測される鍵の使用法に基づいていてもよい。例えば、署名者が秘密鍵で1つのアプリケーションに署名することのみを意図した場合、所定数は2であってもよい。しかしながら、署名者が秘密鍵で数百のアプリケーションに署名することを予測した場合、所定数は600であってもよい。いくつかの例では、収集モジュール106は、複数の異なるアプリケーション配布プラットフォームから、秘密鍵で署名されているアプリケーションに関する情報を収集してもよい。
いくつかの実施形態では、本明細書に記載されるシステムはまた、秘密鍵の少なくとも1つのインスタンスが公的にアクセス可能なサーバからのダウンロードに利用可能であることを示す情報を収集してもよい。例えば、収集モジュール106は、図2の秘密鍵208が、危殆化されている秘密鍵へのアクセスを提供する公的にアクセス可能なサーバからダウンロードするのに利用可能であることを、(例えば、インターネットを巡回すること、及び/又は既知のサーバのデータベースをチェックすることによって)判定してもよい。かかる公的にアクセス可能なサーバの例としては、非限定的に、鍵配布ウェブサイト、修正ROM発行ウェブサイト、及び危殆化された鍵へのアクセスを提供することができる他の任意のソースが挙げられる。秘密鍵は、例えば、漏れているか、盗まれたか、かつ/又はオープンソースソフトウェアに署名するのに使用されていることにより、公的にアクセス可能なサーバからのダウンロードに利用可能なことがある。以下に詳述するように、秘密鍵が公的にアクセス可能なサーバからのダウンロードに利用可能であるという事実は、秘密鍵が危殆化されていることを示すことがある。
いくつかの実施形態では、本明細書に記載されるシステムは、秘密鍵をホストする公的にアクセス可能なサーバを識別するデータベースを維持してもよい。例えば、収集モジュール106は、ダウンロードのための秘密鍵をホストする既知の公的にアクセス可能なサーバそれぞれの記録を含んでもよい、データベース120を維持してもよい。収集モジュール106は、例えば、手動入力を介して作成すること、及び/又はインターネットの巡回による情報を使用して自動で取り込むことを含む、様々な方法でデータベース120を維持してもよい。いくつかの例では、収集モジュール106はまた、秘密鍵208に関する情報を収集すると、データベース120を更新してもよい。
図3に戻ると、ステップ306で、本明細書に記載されるシステムの1つ以上は、公開ソースから収集した情報に基づいて、秘密鍵が危殆化されており権限がない署名者がアクセス可能であることを判定してもよい。例えば、ステップ306で、判定モジュール108は、図2のコンピューティングデバイス202の一部として、様々な公開ソースから収集した情報214に基づいて、秘密鍵208が危殆化されており複数の署名者216がアクセス可能であると判定してもよい。
本明細書に記載されるシステムは、秘密鍵が危殆化されていることを様々な方法で判定してもよい。例えば、判定モジュール108は、ステップ306で収集した情報に基づいて、秘密鍵208が、秘密鍵208を所有する署名者以外の少なくとも1つの開発者によって使用されていること、及び/又はその開発者が秘密鍵208にアクセス可能であることを判定してもよい。具体的には、判定モジュール108は、(1)秘密鍵208が、権限がない署名者(例えば、秘密鍵208を所有する署名者以外の開発者)がアプリケーションにデジタル署名するのに使用されていること、(2)秘密鍵208が、評判スコアが高い少なくとも1つの信頼性が高いアプリケーション、及び評判スコアが低い少なくとも1つの疑わしいアプリケーションの両方にデジタル署名するのに使用されていること、(3)秘密鍵208が所定数を超えるアプリケーションにデジタル署名するのに使用されていること、並びに/或いは(4)秘密鍵208の少なくとも1つのインスタンスが公的にアクセス可能なサーバからのダウンロードに利用可能であることを判定してもよい。
それに加えて、又はその代わりに、本明細書に記載されるシステムは、秘密鍵を用いてデジタル署名された少なくとも1つのアプリケーションのパッケージ名が、秘密鍵を用いてデジタル署名された少なくとも1つの追加のアプリケーションの追加のパッケージ名とは、所定の類似性閾値を超えて異なることを判定することによって、秘密鍵が危殆化されていることを判定してもよい。いくつかの例では、この所定の類似性閾値は、類似の名称及び名称の間違った綴りは含むが、全く異なる名称は除外するように計算されてもよい。この所定の類似性閾値の例としては、非限定的に、「3文字以下の違い」又は「合計文字数の15%以下の違い」が挙げられる。例えば、「com.symantec.abc」というパッケージ名は、「com.symantec.xyz」に対して、このパッケージ名の違いが3文字未満であることにより、「3文字以下の違い」を要件とする所定の類似性閾値内にあってもよい。対照的に、「foo.xymatekk.abc」というパッケージ名は、このパッケージ名の違いが3文字超であることにより、この所定の類似性閾値内にはない。判定モジュール108はまた、企業及びパッケージ名のデータベースを使用することによって、所定の類似性閾値を計算してもよい。例えば、判定モジュール108は、パッケージ名「com.symsecurity.xyz」が「com.symantec.xyz」と同じ企業に属するものとしてデータベースに列挙されていることにより、「com.symsecurity.xyz」が「com.symantec.xyz」に対する所定の類似性閾値内にあると判定してもよい。
いくつかのプログラミング言語では、パッケージ名が、パッケージに関与する企業の名称を含むことが慣例であってもよい。そのため、秘密鍵で署名されているアプリケーションが、秘密鍵の署名者である企業とは異なる企業名が付けられたパッケージを含むと、判定モジュール108が判定した場合、判定モジュール108は、この秘密鍵が危殆化されていると判定してもよい。
いくつかの実施形態では、本明細書に記載されるシステムは、アプリケーションのパッケージ名を解析することによって、パッケージ名がランダム化されていないことを判定することにより、偽陽性を回避しようとしてもよい。合法的企業は、自身のアプリケーションパッケージの名称をランダム化する場合が多いので、ランダム化されることによって所定の類似性閾値内にあるアプリケーションのパッケージ名は、危殆化された秘密鍵を示さないことがある。例えば、パッケージ名「com.zxcezfzdwed.fsi」が、「com.symantec.xyz」に対する所定の類似性閾値を満足できない場合であっても、パッケージ名がランダム化されており、開発者の名称のなりすましに対する未遂を表さないので、このパッケージはやはり同じ開発者によって作成されていてもよい。
いくつかの例では、本明細書に記載されるシステムは、ステップ304で収集された情報を重み付けし、この重み付けされた情報に基づいて秘密鍵の総合的信頼性スコアを計算することによって、秘密鍵が危殆化されていることを判定してもよい。図5は、秘密鍵に関する情報を重み付けし組み合わせることによって、危殆化されているこれらの秘密鍵を識別するための、例示的なコンピューティングシステム500のブロック図である。図5に示されるように、識別モジュール104は、秘密鍵、及び/又は秘密鍵で署名された少なくとも1つのアプリケーションを識別してもよい。収集モジュール106は次に、非限定的に、秘密鍵によって署名されたアプリケーションの評判(例えば、評判の違い502)、秘密鍵によって署名されたパッケージの名称(例えば、パッケージ名504)、複数の開発者が秘密鍵を使用してアプリケーションに署名しているか否か(例えば、複数の開発者506)、及び/又は公的にアクセス可能なサーバからのダウンロードに秘密鍵が利用可能であるか否か(例えば、鍵ダウンロードサイトにおいて利用可能508)を含む、秘密鍵、及び/又は秘密鍵で署名されたアプリケーションに関する様々な情報を収集してもよい。これらの情報が意味し得ることのより詳細な理解は、上述のステップ304及び306に関連して提供される。
収集モジュール106がこの情報を収集すると、判定モジュール108は、評判の違い502、パッケージ名504、複数の開発者506、及び/又は鍵ダウンロードサイトにおいて利用可能508をそれぞれ、重み512、514、516、及び/又は518で重み付けしてもよく、重み付けした情報が信頼性スコア520に到達するように組み合わせてもよい。判定モジュール108は次に、信頼性スコア520を使用して、秘密鍵が危殆化されているか否かを判定してもよい。
例えば、収集モジュール106は、秘密鍵が、(1)評判が非常に高いアプリケーション並びに評判が非常に低いアプリケーションの両方に署名するのに使用されていること、(2)異なるパッケージ名を有する任意のアプリケーションに署名するのに使用されていないこと、(3)3つの異なる開発者によって発行されたアプリケーションに署名するのに使用されていること、並びに(4)少なくとも1つの鍵ダウンロードサイトにおいて利用可能であることを示す情報を収集してもよい。この例では、判定モジュール108は、これらの評判の違いに5を、異なるパッケージ名に2を、第1のもの以外の追加の開発者それぞれに7を、並びに/或いは鍵ダウンロードサイトにおける利用可能性に10を重み付けしてもよい。判定モジュール108は、次に、1、0、2、及び1の初期値をそれぞれ有する各情報に、5、2、7、及び10の重みをそれぞれ乗算し、重み付けされた数字を29の信頼性スコアに到達するように加算してもよい。この例では、判定モジュールは、次に、秘密鍵に対する信頼性スコアが所定の閾値10を上回ることを計算してもよく、したがって、秘密鍵は危殆化されていることがある。
図3に戻ると、ステップ308で、本明細書に記載するシステムの1つ以上は、秘密鍵が危殆化されており権限がない署名者がアクセス可能であることの判定に応答して、セキュリティアクションを行ってもよい。例えば、ステップ308で、セキュリティモジュール110は、図2のコンピューティングデバイス202の一部として、秘密鍵208が危殆化されており署名者216がアクセス可能であることの判定に応答して、セキュリティアクション218を行ってもよい。
本明細書に記載されるシステムは、様々なセキュリティアクションのいずれかを、単独で又は組み合わせて行ってもよい。例えば、秘密鍵が危殆化されていることの判定に応答して、セキュリティモジュール110は、秘密鍵、秘密鍵によって署名されたアプリケーション、秘密鍵の署名者、及び/又は秘密鍵によって署名されたアプリケーションのユーザに当てはまる、セキュリティアクションを行ってもよい。
例えば、セキュリティモジュール110は、(1)秘密鍵が危殆化されていることをユーザに警告すること(例えば、危殆化された鍵によって署名されたアプリケーションのダウンロードページ上にあるアプリケーション配布プラットフォーム内に警告を配置することによる)、(2)秘密鍵を用いてデジタル署名されているアプリケーションに割り当てられた評判スコアを下げること(例えば、危殆化された秘密鍵で署名されたアプリケーションに対するアプリケーション配布プラットフォームによって表示される評判スコアを下げることによる)、(3)秘密鍵を用いてデジタル署名されているアプリケーションのダウンロードをブロックすること(例えば、アプリケーションをアプリケーション配布プラットフォームから除去することによる)、並びに/或いは(4)秘密鍵が危殆化されていることを署名者に警告すること(例えば、アプリケーション配布プラットフォームにある署名者の開発者アカウントに対してメッセージを送ることによる)によって、サーバ側のセキュリティアクションを行ってもよい。
それに加えて、又は別の方法として、セキュリティモジュール110は、(1)秘密鍵が危殆化されていることをユーザに警告すること(例えば、危殆化された鍵によって署名されているモバイルアプリケーションをダウンロードしようとしているモバイルデバイスのユーザにアラートすることによる)、(2)秘密鍵を用いてデジタル署名されているアプリケーションに割り当てられた評判スコアを下げること(例えば、危殆化された鍵によって署名されたモバイルアプリケーションに対するモバイルデバイス上の評判スコアを計算し、評判スコアをモバイルデバイスのユーザに対して表示することによる)、並びに/或いは(3)秘密鍵を用いてデジタル署名されているアプリケーションのダウンロードをブロックすること(例えば、ユーザがアプリケーションを自身のモバイルデバイスにダウンロードできないようにすることによる)によって、クライアント側のセキュリティアクションを行ってもよい。
要約すると、また図3の方法300と関連して上述したように、本明細書に記載されるシステムは、署名者、多くの場合はアプリケーション開発者によって、アプリケーションにデジタル署名するのに使用されてもよい秘密鍵を識別してもよい。いくつかの例では、これらのアプリケーションは、モバイルアプリケーションストアなどのアプリケーション配布プラットフォームから利用可能である、モバイルアプリケーションであってもよい。本明細書に記載されるシステムは、次に、多くの場合は秘密鍵で署名されているアプリケーションに関する情報を収集することによって、秘密鍵に関する情報を収集してもよい。
様々なタイプの情報が収集されてもよい。例えば、本明細書に記載されるシステムは、複数の開発者がアプリケーションに署名するのに秘密鍵が使用されていること、秘密鍵によって署名されたアプリケーションが評判スコアの疑わしい分散を有すること、秘密鍵によって署名されたアプリケーションが異なる名称のパッケージを含むこと、及び/又は公的にアクセス可能な鍵ダウンロードウェブサイトからのダウンロードに秘密鍵を利用可能であること、を示す情報を収集してもよい。本明細書に記載されるシステムは、次に、この情報のいずれか又は全てを重み付けし、重み付けられた情報を組み合わせて、総合的信頼性レイティングを生成してもよい。
この信頼性レイティングに基づいて、本明細書に記載されるシステムは、次に、署名者以外の開発者に秘密鍵が利用可能であり、したがって危殆化されていることを判定してもよい。本明細書に記載されるシステムは、次に、開発者の鍵が漏れていることを開発者に警告すること、アプリケーションをダウンロードしようとしているユーザに、そのアプリケーションが危殆化された鍵によって署名されており、したがって偽のアプリケーション又は別の悪意のアプリケーションを表し得ることをユーザに警告すること、並びに/或いは潜在的に悪意のアプリケーションをアプリケーション配布プラットフォームから除去することを含む、多数のセキュリティアクションのいずれかを講じてもよい。
上述したように、公的にアクセス可能なソースから収集した情報の解析に基づいて、秘密鍵が危殆化されていると判定することによって、本明細書に記載されるシステムは、(1)アプリケーションが危殆化された秘密鍵によって署名されていることを警告することによってユーザのセキュリティを改善し、(2)署名者の秘密鍵が危殆化されていることを警告することによって署名者のセキュリティを改善し、並びに/或いは(3)危殆化された秘密鍵で署名されているアプリケーションに評判スコアを下げること、及び/又はそのアプリケーションをブロックすることによって、アプリケーション配布プラットフォームのセキュリティを改善してもよい。
図6は、本明細書に記載及び/又は図示される実施形態の1つ以上を実装することができる、例示的なコンピューティングシステム610のブロック図である。例えば、コンピューティングシステム610の全て又は一部分は、単独で又は他の要素と組み合わせて、本明細書に記載されるステップの1つ以上(図3に示されるステップの1つ以上など)を行ってもよく、並びに/或いはそれを行うための手段であってもよい。コンピューティングシステム610の全て又は一部分はまた、本明細書に記載及び/若しくは図示される他の任意のステップ、方法、又はプロセスを行ってもよく、並びに/或いはそれを行うための手段であってもよい。
コンピューティングシステム610は、コンピュータ読み取り可能な命令を実行することが可能な、任意のシングル若しくはマルチプロセッサのコンピューティングデバイス又はシステムを広く表す。コンピューティングシステム610の例としては、非限定的に、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ハンドヘルドデバイス、又は他の任意のコンピューティングシステム若しくはデバイスが挙げられる。その最も基本的な構成では、コンピューティングシステム610は、少なくとも1つのプロセッサ614及びシステムメモリ616を含んでもよい。
プロセッサ614は、一般に、データを処理するか又は命令を解釈し実行することができる、任意のタイプ又は形態の処理ユニットを表す。特定の実施形態では、プロセッサ614は、ソフトウェアアプリケーション又はモジュールから命令を受信してもよい。これらの命令によって、プロセッサ614が、本明細書に記載及び/又は図示される例示的な実施形態の1つ以上の機能を行ってもよい。
システムメモリ616は、一般に、データ及び/又は他のコンピュータ読み取り可能な命令を記憶することができる、任意のタイプ若しくは形態の揮発性又は不揮発性記憶デバイス若しくは媒体を表す。システムメモリ616の例としては、非限定的に、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、又は他の任意の好適なメモリデバイスが挙げられる。必須ではないが、特定の実施形態では、コンピューティングシステム610は、揮発性メモリユニット(例えば、システムメモリ616など)及び不揮発性記憶デバイス(例えば、詳細に後述するような主要記憶デバイス632など)の両方を含んでもよい。一実施例では、図1によるモジュール102の1つ以上はシステムメモリ616にロードされてもよい。
特定の実施形態では、例示的なコンピューティングシステム610はまた、プロセッサ614及びシステムメモリ616に加えて、1つ以上の構成要素又は要素を含んでもよい。例えば、図6に示されるように、コンピューティングシステム610は、メモリコントローラ618、入力/出力(I/O)コントローラ620、及び通信インターフェース622を含んでもよく、それらはそれぞれ通信基盤612を介して相互接続されてもよい。通信基盤612は、一般に、コンピューティングデバイスの1つ以上の構成要素間の通信を容易にすることができる、任意のタイプ又は形態の基盤を表す。通信基盤612の例としては、非限定的に、通信バス(産業標準アーキテクチャ(ISA)、周辺装置相互接続(PCI)、PCIエクスプレス(PCIe)、又は類似のバスなど)、及びネットワークが挙げられる。
メモリコントローラ618は、一般に、メモリ若しくはデータを扱うか、又はコンピューティングシステム610の1つ以上の構成要素間の通信を制御することができる、任意のタイプ又は形態のデバイスを表す。例えば、特定の実施形態では、メモリコントローラ618は、通信基盤612を介して、プロセッサ614、システムメモリ616、及びI/Oコントローラ620の間の通信を制御してもよい。
I/Oコントローラ620は、一般に、コンピューティングデバイスの入出力機能を調整及び/又は制御することができる、任意のタイプ又は形態のモジュールを表す。例えば、特定の実施形態では、I/Oコントローラ620は、プロセッサ614、システムメモリ616、通信インターフェース622、ディスプレイアダプタ626、入力インターフェース630、及び記憶インターフェース634など、コンピューティングシステム610の1つ以上の要素間におけるデータの転送を制御するか又は容易にしてもよい。
通信インターフェース622は、例示的なコンピューティングシステム610と1つ以上の追加のデバイスとの間の通信を容易にすることができる、任意のタイプ若しくは形態の通信デバイス又はアダプタを広く表す。例えば、特定の実施形態では、通信インターフェース622は、コンピューティングシステム610と、追加のコンピューティングシステムを含む私的又は公的ネットワークとの間の通信を容易にしてもよい。通信インターフェース622の例としては、非限定的に、有線ネットワークインターフェース(ネットワークインターフェースカードなど)、無線ネットワークインターフェース(無線ネットワークインターフェースカードなど)、モデム、及び他の任意の好適なインターフェースが挙げられる。少なくとも1つの実施形態では、通信インターフェース622は、インターネットなどのネットワークへの直接リンクを介して、リモートサーバへの直接接続を提供してもよい。通信インターフェース622はまた、例えば、ローカルエリアネットワーク(イーサネットネットワークなど(「イーサネット」は登録商標、以下同じ))、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、セルラー電話接続、衛星データ接続、又は他の任意の好適な接続を通した、かかる接続を間接的に提供してもよい。
特定の実施形態では、通信インターフェース622はまた、外部バス又は通信チャネルを介して、コンピューティングシステム610と1つ以上の追加のネットワーク又は記憶デバイスとの間の通信を容易にするように構成される、ホストアダプタを表してもよい。ホストアダプタの例としては、非限定的に、小型コンピュータシステムインターフェース(SCSI)ホストアダプタ、ユニバーサルシリアルバス(USB)ホストアダプタ、米国電気電子学会(IEEE)1394ホストアダプタ、アドバンストテクノロジーアタッチメント(ATA)、パラレルATA(PATA)、シリアル(SATA)、及び外部SATA(eSATA)ホストアダプタ、ファイバーチャネルインターフェースアダプタ、イーサネットアダプタなどが挙げられる。通信インターフェース622はまた、コンピューティングシステム610が分散型又はリモートコンピューティングに関与することを可能にしてもよい。例えば、通信インターフェース622は、実行のためにリモートデバイスから命令を受信するか又はリモートデバイスに命令を送信してもよい。
図6に示されるように、コンピューティングシステム610はまた、ディスプレイアダプタ626を介して通信基盤612に連結される少なくとも1つのディスプレイデバイス624を含んでもよい。ディスプレイデバイス624は、一般に、ディスプレイアダプタ626によって転送される情報を視覚的に表示することができる、任意のタイプ又は形態のデバイスを表す。同様に、ディスプレイアダプタ626は、一般に、ディスプレイデバイス624に表示するために、通信基盤612から(又は当該技術分野において既知であるようにフレームバッファから)グラフィックス、テキスト、及び他のデータを転送するように構成される、任意のタイプ又は形態のデバイスを表す。
図6に示されるように、例示的なコンピューティングシステム610はまた、入力インターフェース630を介して通信基盤612に連結される少なくとも1つの入力デバイス628を含んでもよい。入力デバイス628は、一般に、コンピュータ又は人間のいずれかが生成した入力を、例示的なコンピューティングシステム610に提供することができる、任意のタイプ又は形態の入力デバイスを表す。入力デバイス628の例としては、非限定的に、キーボード、ポインティングデバイス、音声認識デバイス、又は他の任意の入力デバイスが挙げられる。
図6に示されるように、例示的なコンピューティングシステム610はまた、記憶インターフェース634を介して通信基盤612に連結される、主要記憶デバイス632及びバックアップ記憶デバイス633を含んでもよい。記憶デバイス632及び633は、一般に、データ及び/又は他のコンピュータ読み取り可能な命令を記憶することができる、任意のタイプ若しくは形態の記憶デバイス又は媒体を表す。例えば、記憶デバイス632及び633は、磁気ディスクドライブ(例えば、いわゆるハードドライブ)、ソリッドステートドライブ、フロッピーディスクドライブ(「フロッピー」は登録商標、以下同じ)、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであってもよい。記憶インターフェース634は、一般に、記憶デバイス632及び633とコンピューティングシステム610の他の構成要素との間でデータを転送するための、任意のタイプ若しくは形態のインターフェース又はデバイスを表す。
特定の実施形態では、記憶デバイス632及び633は、コンピュータソフトウェア、データ、又は他のコンピュータ読み取り可能な情報を記憶するように構成される、取り外し可能な記憶ユニットから読み取る、かつ/又はそれに書き込むように構成されてもよい。好適な取り外し可能な記憶ユニットの例としては、非限定的に、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられる。記憶デバイス632及び633はまた、コンピュータソフトウェア、データ、又は他のコンピュータ読み取り可能な命令をコンピューティングシステム610にロードできるようにするための、他の類似の構造又はデバイスを含んでもよい。例えば、記憶デバイス632及び633は、ソフトウェア、データ、又は他のコンピュータ読み取り可能な情報を読み取り、かつ書き込むように構成されてもよい。記憶デバイス632及び633はまた、コンピューティングシステム610の一部であってもよく、又は他のインターフェースシステムを通してアクセスされる別個のデバイスであってもよい。一実施例では、図1によるデータベース120は主要記憶デバイス632に記憶されてもよい。
他の多くのデバイス又はサブシステムが、コンピューティングシステム610に接続されてもよい。逆に、図6に示される構成要素及びデバイスの全てが、本明細書に記載及び/又は図示される実施形態を実施するために必ずしも存在しなくてもよい。上記で言及されたデバイス及びサブシステムはまた、図6に示されるのとは異なる方法で相互接続されてもよい。コンピューティングシステム610はまた、任意の数のソフトウェア、ファームウェア、及び/又はハードウェア構成を用いてもよい。例えば、本明細書に開示される例示的な実施形態の1つ以上は、コンピュータ読み取り可能な記憶媒体上に、コンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ読み取り可能な命令、又はコンピュータ制御論理とも称される)としてコード化されてもよい。「コンピュータ読み取り可能な記憶媒体」という語句は、一般に、コンピュータ読み取り可能な命令を記憶又は担持することができる、任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ読み取り可能な記憶媒体の例としては、非限定的に、搬送波などの伝送型媒体、並びに磁気記憶媒体(例えば、ハードディスクドライブ及びフロッピーディスク)、光学記憶媒体(例えば、コンパクトディスク(CD)又はデジタルビデオディスク(DVD))、電子記憶媒体(例えば、ソリッドステートドライブ及びフラッシュメディア)、及び他の分散システムなどの非一時的媒体が挙げられる。
コンピュータプログラムを収容したコンピュータ読み取り可能な記憶媒体は、コンピューティングシステム610にロードされてもよい。コンピュータ読み取り可能な記憶媒体上に記憶されたコンピュータプログラムの全て又は一部分は、次に、システムメモリ616、並びに/又は記憶デバイス632及び633の様々な部分に記憶されてもよい。プロセッサ614によって実行されたとき、コンピューティングシステム610にロードされたコンピュータプログラムは、プロセッサ614に、本明細書に記載及び/又は図示される例示的な実施形態の1つ以上の機能を行わせてもよく、並びに/或いは行わせるための手段であってもよい。それに加えて、又は別の方法として、本明細書に記載及び/又は図示される例示的な実施形態の1つ以上は、ファームウェア及び/又はハードウェアに実装されてもよい。例えば、コンピューティングシステム610は、本明細書に開示される例示的な実施形態の1つ以上を実装するように適合された、特定用途向け集積回路(ASIC)として構成されてもよい。
図7は、クライアントシステム710、720、及び730、並びにサーバ740及び745がネットワーク750に連結されていてもよい、例示的なネットワークアーキテクチャ700のブロック図である。上記に詳述したように、ネットワークアーキテクチャ700の全て又は一部分は、単独で若しくは他の要素と組み合わせて、本明細書に開示されるステップの1つ以上(図3に示されるステップの1つ以上など)を行ってもよく、並びに/或いは行うための手段であってもよい。ネットワークアーキテクチャ700の全て又は一部分はまた、本開示に記載される他のステップ及び特徴を行うのに使用されてもよく、並びに/或いは行うための手段であってもよい。
クライアントシステム710、720、及び730は、一般に、図6の例示的なコンピューティングシステム610など、任意のタイプ若しくは形態のコンピューティングデバイス又はシステムを表す。同様に、サーバ740及び745は、一般に、様々なデータベースサービスを提供する、かつ/又は特定のソフトウェアアプリケーションを動かすように構成される、アプリケーションサーバ若しくはデータベースサーバなどのコンピューティングデバイス又はシステムを表す。ネットワーク750は、一般に、例えばイントラネット、WAN、LAN、PAN、又はインターネットを含む、任意の電気通信又はコンピュータネットワークを表す。一実施例では、クライアントシステム710、720、及び/若しくは730、並びに/又はサーバ740及び/若しくは745は、図1からのシステム100の全て又は一部分を含むことができる。
同様に、1つ以上の記憶デバイス760(1)〜(N)はサーバ740に直接取り付けられてもよい。同様に、1つ以上の記憶デバイス770(1)〜(N)はサーバ745に直接取り付けられてもよい。記憶デバイス760(1)〜(N)及び記憶デバイス770(1)〜(N)は、一般に、データ及び/又は他のコンピュータ読み取り可能な命令を記憶することができる、任意のタイプ若しくは形態の記憶デバイス又は媒体を表す。特定の実施形態では、記憶デバイス760(1)〜(N)及び記憶デバイス770(1)〜(N)は、ネットワークファイルシステム(NFS)、サーバメッセージブロック(SMB)、又は共通インターネットファイルシステム(CIFS)などの様々なプロトコルを使用して、サーバ740及び745と通信するように構成される、ネットワーク接続ストレージ(NAS)デバイスを表してもよい。
サーバ740及び745はまた、ストレージエリアネットワーク(SAN)ファブリック780に接続されてもよい。SANファブリック780は、一般に、複数の記憶デバイス間の通信を容易にすることができる、任意のタイプ若しくは形態のコンピュータネットワーク又はアーキテクチャを表す。SANファブリック780は、サーバ740及び745と、複数の記憶デバイス790(1)〜(N)及び/又は知的記憶アレイ795との間の通信を容易にしてもよい。SANファブリック780はまた、デバイス790(1)〜(N)及びアレイ795が、クライアントシステム710、720、及び730にローカルで取り付けられたデバイスに見えるような形で、ネットワーク750並びにサーバ740及び745を介して、クライアントシステム710、720、及び730と、記憶デバイス790(1)〜(N)及び/又は知的記憶アレイ795との間の通信を容易にしてもよい。記憶デバイス760(1)〜(N)及び記憶デバイス770(1)〜(N)と同様に、記憶デバイス790(1)〜(N)及び知的記憶アレイ795は、一般に、データ及び/又は他のコンピュータ読み取り可能な命令を記憶することができる任意のタイプ若しくは形態の記憶デバイス又は媒体を表す。
特定の実施形態では、及び図6の例示的なコンピューティングシステム610を参照すると、図6の通信インターフェース622などの通信インターフェースは、各クライアントシステム710、720、及び730とネットワーク750との間の接続性を提供するのに使用されてもよい。クライアントシステム710、720、及び730は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを使用して、サーバ740又は745上の情報にアクセスすることが可能であってもよい。かかるソフトウェアにより、クライアントシステム710、720、及び730が、サーバ740、サーバ745、記憶デバイス760(1)〜(N)、記憶デバイス770(1)〜(N)、記憶デバイス790(1)〜(N)、又は知的記憶アレイ795によってホストされるデータにアクセスすることを可能にしてもよい。図7は、データを交換するためのネットワーク(インターネットなど)の使用を示しているが、本明細書に記載及び/又は図示される実施形態は、インターネット、又は任意の特定のネットワークに基づく環境に限定されない。
少なくとも1つの実施形態では、本明細書に開示される例示的な実施形態の1つ以上における全て又は一部分は、コンピュータプログラムとしてコード化され、サーバ740、サーバ745、記憶デバイス760(1)〜(N)、記憶デバイス770(1)〜(N)、記憶デバイス790(1)〜(N)、知的記憶アレイ795、又はそれらの任意の組み合わせにロードされ、それらによって実行されてもよい。本明細書に開示される例示的な実施形態の1つ以上における全て又は一部分はまた、コンピュータプログラムとしてコード化され、サーバ740に記憶され、サーバ745によって動かされ、ネットワーク750を通じてクライアントシステム710、720、及び730に分散されてもよい。
上記に詳述したように、コンピューティングシステム610、及び/又はネットワークアーキテクチャ700の1つ以上の構成要素は、単独で若しくは他の要素と組み合わせて、危殆化されている秘密鍵を識別するための例示的な方法の1つ以上のステップを行ってもよく、かつ/又はそれらを行うための手段であってもよい。
上述の開示は、特定のブロック図、フローチャート、及び実施例を使用して様々な実施形態を説明しているが、本明細書に記載及び/又は図示されるブロック図の構成要素、フローチャートのステップ、動作、及び/又は構成要素はそれぞれ、個別にかつ/又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア(若しくはそれらの任意の組み合わせ)構成を使用して実装されてもよい。それに加えて、他の多くのアーキテクチャが同じ機能性を達成するように実装可能であることにより、他の構成要素内に含まれる構成要素のいずれの開示も、本質的に例示的であるものと見なされるべきである。
いくつかの実施例では、図1の例示的なシステム100の全て又は一部分は、クラウドコンピューティング又はネットワークに基づく環境の部分を表してもよい。クラウドコンピューティング環境は、インターネットを介して様々なサービス及びアプリケーションを提供してもよい。これらのクラウドに基づくサービス(例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしての基盤など)は、ウェブブラウザ又は他のリモートインターフェースを通してアクセス可能であってもよい。本明細書に記載される様々な機能は、リモートデスクトップ環境又は他の任意のクラウドに基づくコンピューティング環境を通して提供されてもよい。
様々な実施形態では、図1の例示的なシステム100の全て又は一部分は、クラウドに基づくコンピューティング環境内におけるマルチテナンシーを容易にしてもよい。換言すれば、本明細書に記載されるソフトウェアモジュールは、本明細書に記載される機能の1つ以上に対するマルチテナンシーを容易にするように、コンピューティングシステム(例えば、サーバ)を構成してもよい。例えば、本明細書に記載されるソフトウェアモジュールの1つ以上は、2つ以上のクライアント(例えば、顧客)がサーバ上で動いているアプリケーションを共有できるように、サーバをプログラムすることができる。このようにプログラムされたサーバは、複数の顧客(即ち、テナント)の間で、アプリケーション、オペレーティングシステム、処理システム、及び/又は記憶システムを共有してもよい。本明細書に記載されるモジュールの1つ以上はまた、1つの顧客が別の顧客のデータ及び/又は構成情報にアクセスすることができないように、各顧客に対して、マルチテナントアプリケーションのデータ及び/又は構成情報を分割してもよい。
様々な実施形態によれば、図1の例示的なシステム100の全て又は一部分は、仮想環境内で実装されてもよい。例えば、本明細書に記載されるモジュール及び/又はデータは、仮想機械内で常駐及び/又は実行してもよい。本明細書で使用するとき、「仮想機械」という語句は、一般に、仮想機械マネージャ(例えば、ハイパーバイザ)によってコンピューティングハードウェアから抽出される、任意のオペレーティングシステム環境を指す。それに加えて、又は別の方法として、本明細書に記載されるモジュール及び/又はデータは、仮想化層内で常駐及び/又は実行してもよい。本明細書で使用するとき、「仮想化層」という語句は、一般に、オペレーティングシステム環境にオーバーレイする、並びに/或いはそこから抽出される、任意のデータ層及び/又はアプリケーション層を指す。仮想化層は、基礎となる基本オペレーティングシステムの一部であるかのように仮想化層を提示する、ソフトウェア仮想化ソリューション(例えば、ファイルシステムフィルタ)によって管理されてもよい。例えば、ソフトウェア仮想化ソリューションは、最初に基本ファイルシステム及び/又はレジストリ内の場所に方向付けられる呼出しを、仮想化層内の場所にリダイレクトしてもよい。
いくつかの実施例では、図1の例示的なシステム100の全て又は一部分は、モバイルコンピューティング環境の部分を表してもよい。モバイルコンピューティング環境は、携帯電話、タブレットコンピュータ、電子ブックリーダー、携帯情報端末、ウェアラブルコンピューティングデバイス(例えば、ヘッドマウントディスプレイを備えたコンピューティングデバイス、スマートウォッチなど)などを含む、広範なモバイルコンピューティングデバイスによって実装されてもよい。いくつかの実施例では、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間における1つのみのフォアグラウンドアプリケーションの提示、リモート管理機能、タッチスクリーン機能、位置及び移動データ(例えば、グローバルポジショニングシステム、ジャイロスコープ、加速度計などによって提供される)、システムレベルの構成に対する修正を制限する、かつ/又は第三者のソフトウェアが他のアプリケーションの挙動を検査する能力を限定する制限されたプラットフォーム、アプリケーションのインストールを(例えば、認可されたアプリケーションストアによるもののみに)制限する制御などを含む、1つ以上の個別の特徴を有してもよい。本明細書に記載される様々な機能は、モバイルコンピューティング環境に対して提供されてもよく、かつ/又はモバイルコンピューティング環境と相互作用してもよい。
それに加えて、図1の例示的なシステム100の全て又は一部分は、情報管理のための1つ以上のシステムの部分を表してもよく、それと相互作用してもよく、それによって生成されるデータを消費してもよく、かつ/又はそれによって消費されるデータを生成してもよい。本明細書で使用するとき、「情報管理」という語句は、データの保護、組織化、及び/又は記憶を指してもよい。情報管理のためのシステムの例は、非限定的に、記憶システム、バックアップシステム、アーカイブシステム、複製システム、高可用性システム、データ検索システム、仮想化システムなどを含んでもよい。
いくつかの実施形態では、図1の例示的なシステム100の全て又は一部分は、情報セキュリティのための1つ以上のシステムの部分を表してもよく、それによって保護されるデータを生成してもよく、かつ/又はそれと通信してもよい。本明細書で使用するとき、「情報セキュリティ」という語句は、保護されたデータへのアクセスの制御を指してもよい。情報セキュリティのためのシステムの例は、非限定的に、管理されたセキュリティサービスを提供するシステム、データ損失防止システム、本人認証システム、アクセス制御システム、暗号システム、ポリシー遵守システム、侵入検出及び防止システム、電子証拠開示システムなどを含んでもよい。
いくつかの実施例によれば、図1の例示的なシステム100の全て又は一部分は、エンドポイントセキュリティのための1つ以上のシステムの部分を表してもよく、それと通信してもよく、かつ/又はそれからの保護を受けてもよい。本明細書で使用するとき、「エンドポイントセキュリティ」という語句は、権限がない及び/又は違法な使用、アクセス、並びに/或いは制御からの、エンドポイントシステムの保護を指してもよい。エンドポイント保護のためのシステムの例は、非限定的に、マルウェア対策システム、ユーザ認証システム、暗号システム、プライバシーシステム、スパムフィルタリングサービスなどを含んでもよい。
本明細書に記載及び/又は図示されるプロセスパラメータ及びステップの順序は、単なる例として与えられるものであり、所望に応じて変更することができる。例えば、本明細書に図示及び/又は記載されるステップは特定の順序で図示若しくは考察されることがあるが、これらのステップは、必ずしも図示又は考察される順序で行われなくてもよい。本明細書に記載及び/又は図示される様々な例示的な方法はまた、本明細書に記載若しくは図示されるステップの1つ以上を省略するか、又は開示されるものに加えて追加のステップを含んでもよい。
様々な実施形態を、完全に機能的なコンピューティングシステムの文脈において、本明細書に記載及び/又は図示してきたが、これらの例示的な実施形態の1つ以上は、実際に分散を実施するのに使用されるコンピュータ読み取り可能な記憶媒体の特定のタイプにかかわらず、様々な形態のプログラム製品として配布されてもよい。本明細書に開示される実施形態はまた、特定のタスクを行うソフトウェアモジュールを使用して実装されてもよい。これらのソフトウェアモジュールは、スクリプト、バッチ、又はコンピュータ読み取り可能な記憶媒体上若しくはコンピューティングシステム内に記憶されてもよい、他の実行可能なファイルを含んでもよい。いくつかの実施形態では、これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態の1つ以上を行うようにコンピューティングシステムを構成してもよい。
それに加えて、本明細書に記載されるモジュールの1つ以上は、データ、物理的デバイス、及び/又は物理的デバイスの表現を、1つの形態から別の形態へと変換してもよい。例えば、本明細書に列挙されるモジュールの1つ以上は、変換される情報を受け取り、情報を変換し、変換の結果を判定モジュールに出力し、変換の結果を使用して、秘密鍵が危殆化されているであろうことを判定し、変換の結果をデータベースに記憶してもよい。それに加えて、又は別の方法として、本明細書に列挙されるモジュールの1つ以上は、コンピューティングデバイス上で実行すること、コンピューティングデバイス上にデータを記憶すること、及び/又は別の方法でコンピューティングデバイスと相互作用することによって、プロセッサ、揮発性メモリ、不揮発性メモリ、及び/若しくは物理的コンピューティングデバイスの他の任意の部分を、1つの形態から別の形態へと変換してもよい。
前述の説明は、当業者が、本明細書に開示される例示的な実施形態の様々な態様を最良に利用することを可能にするために提供されてきた。この例示的な説明は、包括的であること、又は開示されるいずれかの正確な形態に限定されることを意図するものではない。本開示の趣旨及び範囲から逸脱することなく、多くの修正及び変形が可能である。本明細書に開示される実施形態は、あらゆる点で例示的であり、限定的ではないものと見なされるべきである。本開示の範囲を決定する際、添付の特許請求の範囲及びそれらの等価物を参照するべきである。
別途記載のない限り、「a」又は「an」という用語は、本明細書及び特許請求の範囲で使用するとき、「〜のうち少なくとも1つ」を意味すると解釈されるものとする。それに加えて、使用しやすくするため、「含む」及び「有する」という語は、本明細書及び特許請求の範囲で使用するとき、「備える」という語と交換可能であり、同じ意味を有する。

Claims (14)

  1. 少なくとも1つのプロセッサを備えるコンピュータデバイスによって少なくとも一部分が行われる、危殆化されている秘密鍵を識別するためのコンピュータ実装方法であって、
    署名者がアプリケーションにデジタル署名することを可能にする秘密鍵を識別するステップと、
    前記秘密鍵に関する情報を少なくとも1つの公開ソースから収集するステップと、
    前記公開ソースから収集した前記情報に基づいて、前記秘密鍵が危殆化されており権限がない署名者がアクセス可能であることを判定するステップであって、前記秘密鍵が危殆化されていることを判定することが、前記秘密鍵を用いてデジタル署名された少なくとも1つのアプリケーションのパッケージ名が、前記秘密鍵を用いてデジタル署名された少なくとも1つの追加のアプリケーションの追加のパッケージ名とは、所定の類似性閾値を超えて異なることを判定することを含む、ステップと、
    前記秘密鍵が危殆化されており前記権限がない署名者がアクセス可能であることの判定に応答して、セキュリティアクションを行うステップと、を含む、方法。
  2. 前記秘密鍵に関する前記情報を収集するステップが、前記秘密鍵を用いてデジタル署名されている少なくとも1つのアプリケーションに関する情報を収集するステップを含む、請求項1に記載のコンピュータ実装方法。
  3. 前記秘密鍵に関する前記情報を収集するステップが、権限がない署名者がアプリケーションにデジタル署名するのに前記秘密鍵が使用されていることを示す情報を収集するステップを含む、請求項1に記載のコンピュータ実装方法。
  4. 前記秘密鍵に関する前記情報を収集するステップが、評判スコアが高い少なくとも1つの信頼性の高いアプリケーション、及び評判スコアが低い少なくとも1つの疑わしいアプリケーションの両方にデジタル署名するのに、前記秘密鍵が使用されていることを示す情報を収集するステップを含む、請求項1に記載のコンピュータ実装方法。
  5. 前記秘密鍵に関する前記情報を収集するステップが、前記秘密鍵が所定数を超えるアプリケーションの署名に使用されていることを示す情報を収集するステップを含む、請求項1に記載のコンピュータ実装方法。
  6. 前記秘密鍵に関する前記情報を収集するステップが、前記秘密鍵の少なくとも1つのインスタンスが公的にアクセス可能なサーバからのダウンロードに利用可能であることを判定するステップを含む、請求項1に記載のコンピュータ実装方法。
  7. 前記パッケージ名を解析することによって、前記パッケージ名がランダム化されていないことを判定するステップを更に含む、請求項に記載のコンピュータ実装方法。
  8. 前記秘密鍵が危殆化されていることを判定するステップが、
    前記情報を重み付けするステップと、
    前記重み付けされた情報に基づいて前記秘密鍵の総合的信頼性スコアを計算するステップと、を含む、請求項1に記載のコンピュータ実装方法。
  9. 前記セキュリティアクションを行うステップが、
    前記秘密鍵が危殆化されていることをユーザに警告するステップと、
    前記秘密鍵を用いてデジタル署名されているアプリケーションに割り当てられた評判スコアを下げるステップと、
    前記秘密鍵を用いてデジタル署名されているアプリケーションのダウンロードをブロックするステップと、
    前記秘密鍵が危殆化されていることを前記署名者に警告するステップと、のうち少なくとも1つを含む、請求項1に記載のコンピュータ実装方法。
  10. 秘密鍵をホストする公的にアクセス可能なサーバを識別するデータベースを維持するステップを更に含む、請求項1に記載のコンピュータ実装方法。
  11. 危殆化されている秘密鍵を識別するシステムであって、
    署名者がアプリケーションにデジタル署名することを可能にする秘密鍵を識別する識別モジュールと、
    前記秘密鍵に関する情報を少なくとも1つの公開ソースから収集する収集モジュールと、
    前記公開ソースから収集した前記情報に基づいて、前記秘密鍵が危殆化されており権限がない署名者がアクセス可能であることを判定する判定モジュールであって、前記秘密鍵が危殆化されていることを判定することが、前記秘密鍵を用いてデジタル署名された少なくとも1つのアプリケーションのパッケージ名が、前記秘密鍵を用いてデジタル署名された少なくとも1つの追加のアプリケーションの追加のパッケージ名とは、所定の類似性閾値を超えて異なることを判定することを含む、判定モジュールと、
    前記秘密鍵が危殆化されており前記権限がない署名者がアクセス可能であることの判定に応答して、セキュリティアクションを行うセキュリティモジュールと、
    前記識別モジュール、前記収集モジュール、前記判定モジュール、及び前記セキュリティモジュールを実行するように構成された、少なくとも1つのプロセッサと、を備える、システム。
  12. 前記収集モジュールが、前記秘密鍵を用いてデジタル署名されている少なくとも1つのアプリケーションに関する情報を収集することによって、前記秘密鍵に関する前記情報を収集する、請求項11に記載のシステム。
  13. 前記収集モジュールが、権限がない署名者がアプリケーションにデジタル署名するのに前記秘密鍵が使用されていることを示す情報を収集することによって、前記秘密鍵に関する前記情報を収集する、請求項11に記載のシステム。
  14. 前記収集モジュールが、評判スコアが高い少なくとも1つの信頼性の高いアプリケーション、及び評判スコアが低い少なくとも1つの疑わしいアプリケーションの両方にデジタル署名するのに、前記秘密鍵が使用されていることを示す情報を収集することによって、前記秘密鍵に関する前記情報を収集する、請求項11に記載のシステム。
JP2016534888A 2013-08-30 2014-08-27 危殆化されている秘密鍵を識別するためのシステム及び方法 Active JP6122555B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/015,168 US9202057B2 (en) 2013-08-30 2013-08-30 Systems and methods for identifying private keys that have been compromised
US14/015,168 2013-08-30
PCT/US2014/053007 WO2015031537A1 (en) 2013-08-30 2014-08-27 Systems and methods for identifying private keys that have been compromised

Publications (2)

Publication Number Publication Date
JP2016528841A JP2016528841A (ja) 2016-09-15
JP6122555B2 true JP6122555B2 (ja) 2017-04-26

Family

ID=51570847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016534888A Active JP6122555B2 (ja) 2013-08-30 2014-08-27 危殆化されている秘密鍵を識別するためのシステム及び方法

Country Status (5)

Country Link
US (1) US9202057B2 (ja)
EP (1) EP3039609B1 (ja)
JP (1) JP6122555B2 (ja)
CN (1) CN105453102B (ja)
WO (1) WO2015031537A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9407443B2 (en) 2012-06-05 2016-08-02 Lookout, Inc. Component analysis of software applications on computing devices
US9589129B2 (en) 2012-06-05 2017-03-07 Lookout, Inc. Determining source of side-loaded software
US8997230B1 (en) 2012-06-15 2015-03-31 Square, Inc. Hierarchical data security measures for a mobile device
US9280679B2 (en) * 2013-12-31 2016-03-08 Google Inc. Tiered application permissions
US9256755B2 (en) 2013-12-31 2016-02-09 Google Inc. Notification of application permissions
US9111093B1 (en) * 2014-01-19 2015-08-18 Google Inc. Using signals from developer clusters
EP3289510B1 (en) 2015-05-01 2020-06-17 Lookout Inc. Determining source of side-loaded software
US10733594B1 (en) * 2015-05-11 2020-08-04 Square, Inc. Data security measures for mobile devices
US10373167B2 (en) 2016-06-30 2019-08-06 Square, Inc. Logical validation of devices against fraud
US10546302B2 (en) 2016-06-30 2020-01-28 Square, Inc. Logical validation of devices against fraud and tampering
US10496993B1 (en) 2017-02-15 2019-12-03 Square, Inc. DNS-based device geolocation
JP6519601B2 (ja) * 2017-02-24 2019-05-29 日本電気株式会社 情報処理装置、情報処理方法、デバイス、暗号鍵の更新方法、システム及びプログラム
US10218697B2 (en) 2017-06-09 2019-02-26 Lookout, Inc. Use of device risk evaluation to manage access to services
US10552308B1 (en) 2017-06-23 2020-02-04 Square, Inc. Analyzing attributes of memory mappings to identify processes running on a device
US10715536B2 (en) 2017-12-29 2020-07-14 Square, Inc. Logical validation of devices against fraud and tampering
US10771504B2 (en) * 2018-06-09 2020-09-08 NortonLifeLock Inc. Systems and methods for identifying data breaches
US11494762B1 (en) 2018-09-26 2022-11-08 Block, Inc. Device driver for contactless payments
US11507958B1 (en) 2018-09-26 2022-11-22 Block, Inc. Trust-based security for transaction payments
US12039088B2 (en) 2021-06-29 2024-07-16 Hewlett Packard Enterprise Development Lp Signing files based on file security credentials
CN113742727A (zh) * 2021-08-27 2021-12-03 恒安嘉新(北京)科技股份公司 程序识别模型训练和程序识别方法、装置、设备及介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2364404B (en) * 2000-07-01 2002-10-02 Marconi Comm Ltd Method of detecting malicious code
US6983368B2 (en) * 2000-08-04 2006-01-03 First Data Corporation Linking public key of device to information during manufacture
JP4164036B2 (ja) * 2004-02-05 2008-10-08 トレンドマイクロ株式会社 ネットワークを介して提供されるプログラムに対する受信装置上でのセキュリティの確保
US7418728B2 (en) * 2004-03-17 2008-08-26 Arcot Systems, Inc. Auditing secret key cryptographic operations
US7979703B2 (en) 2005-10-19 2011-07-12 Microsoft Corporation Determining the reputation of a sender of communications
US9378373B2 (en) * 2007-09-24 2016-06-28 Symantec Corporation Software publisher trust extension application
US9135433B2 (en) * 2008-08-29 2015-09-15 Adobe Systems Incorporated Identifying reputation and trust information for software
CN102630320B (zh) * 2010-10-04 2015-06-17 松下电器产业株式会社 信息处理装置以及应用程序不正当协作防止方法
US8621591B2 (en) 2010-10-19 2013-12-31 Symantec Corporation Software signing certificate reputation model
JP2014052588A (ja) * 2012-09-10 2014-03-20 Sony Corp 情報処理装置、情報処理方法及びコンピュータプログラム

Also Published As

Publication number Publication date
US20150067831A1 (en) 2015-03-05
CN105453102A (zh) 2016-03-30
JP2016528841A (ja) 2016-09-15
EP3039609B1 (en) 2020-10-07
US9202057B2 (en) 2015-12-01
CN105453102B (zh) 2018-11-16
WO2015031537A1 (en) 2015-03-05
EP3039609A1 (en) 2016-07-06

Similar Documents

Publication Publication Date Title
JP6122555B2 (ja) 危殆化されている秘密鍵を識別するためのシステム及び方法
JP6196393B2 (ja) プリインストールアプリケーションのスキャンを最適化するためのシステム及び方法
CN108351946B (zh) 用于匿名化日志条目的系统和方法
US10284587B1 (en) Systems and methods for responding to electronic security incidents
JP6335315B2 (ja) 不審な挙動の検出に応答してパックされたプログラムをスキャンするためのシステム及び方法
US9077747B1 (en) Systems and methods for responding to security breaches
US9294284B1 (en) Systems and methods for validating application signatures
US9405904B1 (en) Systems and methods for providing security for synchronized files
US11275831B1 (en) Systems and methods for detecting anomalous system command line data
JP2016528656A (ja) イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するためのシステム及び方法
JP2019516160A (ja) セキュリティ脅威を検出するためのシステム及び方法
JP2019512142A (ja) トリップワイヤファイルを生成するためのシステム及び方法
JP6139028B2 (ja) アプリケーションの更新を指示するためのシステム及び方法
US9292691B1 (en) Systems and methods for protecting users from website security risks using templates
US10250588B1 (en) Systems and methods for determining reputations of digital certificate signers
US11463463B1 (en) Systems and methods for identifying security risks posed by application bundles
US10262131B2 (en) Systems and methods for obtaining information about security threats on endpoint devices
US9483643B1 (en) Systems and methods for creating behavioral signatures used to detect malware
US11496511B1 (en) Systems and methods for identifying and mitigating phishing attacks
US9311481B1 (en) Systems and methods for classifying package files as trojans
US10169584B1 (en) Systems and methods for identifying non-malicious files on computing devices within organizations
US10944781B1 (en) Systems and methods for identifying malicious domain names from a passive domain name system server log
CN112602084A (zh) 用于识别数据外泄的系统和方法
US10043013B1 (en) Systems and methods for detecting gadgets on computing devices
US9742801B1 (en) Systems and methods for preventing the execution of online malvertising

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170331

R150 Certificate of patent or registration of utility model

Ref document number: 6122555

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250