JP2015527685A - アプリケーションのセキュリティ検証のためのクラウド支援された方法及びサービス - Google Patents

アプリケーションのセキュリティ検証のためのクラウド支援された方法及びサービス Download PDF

Info

Publication number
JP2015527685A
JP2015527685A JP2015531349A JP2015531349A JP2015527685A JP 2015527685 A JP2015527685 A JP 2015527685A JP 2015531349 A JP2015531349 A JP 2015531349A JP 2015531349 A JP2015531349 A JP 2015531349A JP 2015527685 A JP2015527685 A JP 2015527685A
Authority
JP
Japan
Prior art keywords
browser
application
computing device
based application
security
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.)
Granted
Application number
JP2015531349A
Other languages
English (en)
Other versions
JP6061364B2 (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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JP2015527685A publication Critical patent/JP2015527685A/ja
Application granted granted Critical
Publication of JP6061364B2 publication Critical patent/JP6061364B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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
    • 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
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • 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/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • 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/2119Authenticating web pages, e.g. with suspicious links

Landscapes

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

Abstract

ブラウザベース・アプリケーション(ブラウザアプリ)のセキュリティ検証のための方法、デバイス及びシステムが開示される。クライアントデバイス(クライアント)はウェブサーバからのブラウザアプリを要求する。クライアントのアプリケーションセキュリティモジュールが介入しアプリケーション検証要求をクラウドサービスシステムに送信する。クラウドサービスシステムはブラウザアプリ及びソースのセキュリティ関連データをクラウドリソース及びクラウドサーバのローカルデータベースから得て、データを用いてソースを認証しアプリケーションのセキュリティを検証し、クライアントにブラウザアプリのセキュリティに係る勧告を提供し、ローカルデータベースを更新する。クライアントはブラウザアプリのダウンロード/実行の判断に勧告を考慮し、フィードバックをクラウドサービスシステムに提供し、又、勧告受信後にローカルセキュリティ解析を行い得る。

Description

ウェブコミュニティへのHTML5のプログラミングプラットフォームの出現は、対話するユーザに高速で動的なエクスペリエンスを可能にした。プログラミングプラットフォームは、複数のアプリケーションプログラミングインタフェース(API)を動的コンテンツの生成及びプレゼンテーションと組み合わせて、したがって、向上した複数の特徴及び複数の機能を複数の開発者が複数のブラウザベース・アプリケーションに組み込むことが可能になる。例えば、HTML5は、複数の開発者が、クライアントデバイスのブラウザ内で実行可能なアクティブコードをウェブページに実装することを可能にする。
残念ながら、HTML5の動的な性質はまた、多数のセキュリティリスクをユーザにもたらした。プログラミングプラットフォームは、複数の開発者がアクティブコードをウェブページに組み込むことを可能にするので、コードに関するユーザの認識なしに頻繁にコードが実行され得る。いくつかの既存のソリューションは、クライアントデバイスがアプリケーションの信頼性を検証することを可能にする。例えば、いくつかの開発者は、クライアントデバイスがダウンロードするとコードを検証し得ることを可能にするべく、彼らの開発したソフトウェアを署名するためにデジタルシグネチャを使用してよい。しかし、それらのソリューションは、単一ソース及び1回の様式での、特定の複数の開発者又は複数の発行者によって供されたソフトウェアの信頼性の検証しか提供しない。その上、そのような複数のソリューションは、特定のソフトウェアベンダ又はサービスプロバイダから独立した複数のウェブサービス・アプリケーション(例えば、HTML5ベースの動的なコンテンツ生成及び複数のブラウザプラグイン)の動的な検証を提供しない。従って、ブラウザベース・アプリケーションがセキュアであることをそのアプリケーションをダウンロード又は実行する前に保証するために、複数のユーザには利用可能な限られた複数の選択肢しかない。
ここで記載される概念は、複数の添付図面において、限定のためでなく例として示される。説明の簡潔さかつ明確さのために、複数の図面に示される複数の要素は、必ずしも縮尺通りに描かれていない。適切であると考えられる場合、複数の参照符号は、対応する又は類似の複数の要素を示すために、図面の中で繰り返される。
ブラウザベース・アプリケーションのセキュリティ検証のためのシステムの少なくとも1つの実施形態の簡略化されたブロック図である。 図1のシステムのクラウドサービスサーバの環境の少なくとも1つの実施形態の簡略化されたブロック図である。 図1のシステムのクライアントコンピューティングデバイスの環境の少なくとも1つの実施形態の簡略化されたブロック図である。 図1のクラウドサービスサーバを用いてブラウザベース・アプリケーションのためのセキュリティ勧告を生成するための方法の少なくとも1つの実施形態の簡略化したフロー図である。 図1のクライアントコンピューティングデバイスによってアクセスされるブラウザベース・アプリケーションのセキュリティを検証するための方法の少なくとも1つの実施形態の簡略化したフロー図である。
本開示の複数の概念は様々な変形及び複数の代替形式が可能であるものの、それらの特定の複数の実施形態が複数の図面に例として表され、ここで詳細に述べられる。しかし、当然のことながら、本開示の複数の概念を、開示された特定の複数の形式に限定する意図はない。しかし、反対に、その意図は、本開示及び添付の特許請求の範囲と整合性のある複数の変形、複数の等価物及び複数の代替物の全てをカバーする。
明細書における「一実施形態」、「実施形態」、「例示の実施形態」等の言及は、説明される実施形態が、特定の機能、構造又は特性を含み得ることを示す。しかし、各実施形態は、特定の機能、構造又は特性を含んでよい又は必ずしも含まなくてよい。さらに、そのような複数の文言は、必ずしも同一の実施形態を参照していない。さらに、実施形態に関連して特定の機能、構造又は特性が説明された場合、明示的に説明されているか否かにかかわらず、他の複数の実施形態に関連してそのような特徴、構造又は特性を達成することは当業者の知識の内であるとされる。
開示された複数の実施形態は、場合によっては、ハードウェア、ファームウェア、ソフトウェア又はそれらの任意の組み合わせで実装されてよい。開示された複数の実施形態は、1又は複数のプロセッサによって読み取られて実行され得る、一時的又は非一時的機械可読(例えば、コンピュータ可読)記憶媒体によって搬送される、又は、一時的又は非一時的機械可読記憶媒体に格納される、複数の命令として実装されてもよい。機械可読記憶媒体は、機械(例えば、揮発性又は不揮発性メモリ、媒体ディスク又は他の媒体デバイス)によって可読な形で情報を格納又は送信するための、任意のストレージデバイス、メカニズム又は他の物理構造として具現化されてよい。
複数の図面において、いくつかの構造的又は方法の特徴が、特定の複数の配置及び/又は複数の順序で表され得る。しかし、そのような特定の複数の配置及び/又は複数の順序が必要とされなくてよいことが認識されるべきである。むしろ、いくつかの実施形態では、そのような複数の特徴は、例示の図面に表されるものとは異なるやり方及び/又は順序で構成されてよい。更に、特定の図面に構造的又は方法の複数の特徴を含めることは、そのような特徴が、全ての複数の実施形態で必要とされることを暗示するものでもなく、また、いくつかの実施形態では、含まれなくてよい、又は、他の複数の特徴と組み合されてよい。
ここで図1を参照して、クラウド支援されたブラウザベース・アプリケーションのセキュリティ検証のためのシステム100は、クライアントコンピューティングデバイス102、ネットワーク104、ウェブサーバ106、クラウドサービスシステム108、及び、クラウドサービスシステム108の内部又は外部にあってよい複数のクラウドリソース110を含む。使用において、以下により詳細に述べられるように、クライアントコンピューティングデバイス102は、ブラウザベース・アプリケーション304のセキュリティに関するクラウドサービスシステム108の肯定の勧告に応答して、ウェブサーバ106から要求されたブラウザベース・アプリケーション304(図3を参照のこと)をセキュアに起動する。 1つのクライアントコンピューティングデバイス102、1つのネットワーク104、1つのウェブサーバ106、1つのクラウドサービスシステム108、及び1つのクラウドリソース110のみが図1に例示的に表されるが、他の複数の実施形態において、システム100は、任意の数の、クライアントコンピューティングデバイス102、ネットワーク104、ウェブサーバ106、クラウドサービスシステム108、及びクラウドリソース110を含んでよい。例えば、いくつかの実施形態では、複数のウェブサーバ106から要求された複数のブラウザベース・アプリケーション304のセキュリティを検証するために、1つのクラウドサービスシステム108が、いくつかのクライアントコンピューティングデバイス102と、いくつかのネットワーク104上で通信してよい。
クライアントコンピューティングデバイス102は、ここで説明される複数の機能を実行可能な任意のタイプのコンピューティングデバイスとして具現されてよい。例えば、クライアントコンピューティングデバイス102は、企業レベルのサーバ、デスクトップ型コンピュータ、ラップトップコンピュータ、モバイルインターネットデバイス、ハンドヘルドコンピュータ、スマートフォン、携帯情報端末、テレフォニーデバイス、又は他のコンピューティングデバイスとして具現されてよい。図1の例示の実施形態において、クライアントコンピューティングデバイス102は、プロセッサ112、I/Oサブシステム114、メモリ116、通信回路118、データストレージデバイス120、及び1又は複数の周辺機器122を含む。いくつかの実施形態では、いくつかの前述のコンポーネントは、クライアントコンピューティングデバイス102のマザーボードに組み込まれてよい。他方、他の複数のコンポーネントは、例えば周辺ポートを介してマザーボードに通信可能に結合されてよい。その上、クライアントコンピューティングデバイス102は、コンピュータ及び/又はコンピューティングデバイスに通常備えられる他の複数のコンポーネント、サブコンポーネント及び複数のデバイスを含んでよいことが理解されるべきであり、それらは記載の明確さのために図1に示されていない。
クライアントコンピューティングデバイス102のプロセッサ112は、マイクロプロセッサ、デジタルシグナルプロセッサ、マイクロコントローラ等のような、ソフトウェア/ファームウェアを実行可能な任意のタイプのプロセッサとして具現されてよい。いくつかの実施形態では、プロセッサ112は、プロセッサコアを持つシングルコアプロセッサであってよい。しかし、他の複数の実施形態において、プロセッサ112は、複数のプロセッサコアを持つマルチコアプロセッサとして具現されてよい。更に、クライアントコンピューティングデバイス102は、1又は複数のプロセッサコアを持つ追加の複数のプロセッサ112を含んでよい。
クライアントコンピューティングデバイス102のI/Oサブシステム114は、プロセッサ112及び/又はクライアントコンピューティングデバイス102の他の複数のコンポーネントとの複数の入出力動作を促進する回路及び/又は複数のコンポーネントとして具現されてよい。いくつかの実施形態では、I/Oサブシステム114は、メモリコントローラハブ(MCH又は「ノースブリッジ」)、入出力コントローラハブ(ICH又は「サウスブリッジ」)、及びファームウェアデバイスとして具現されてよい。そのような複数の実施形態において、I/Oサブシステム114のファームウェアデバイスは、基本入出力システム(BIOS)データ及び/又は複数の命令及び/又は他の情報(例えば、クライアントコンピューティングデバイス102を起動する間に用いられるBIOSドライバ)を格納するメモリデバイスとして具現されてよい。しかし、他の複数の実施形態において、他の複数の構成を持つI/Oサブシステムが用られてよい。例えば、いくつかの実施形態ではI/Oサブシステム114は、プラットフォームコントローラハブ(PCH)として具現されてよい。そのような複数の実施形態において、メモリコントローラハブ(MCH)は、プロセッサ112に組み込まれてよいか、さもなくばプロセッサ112に関連してよく、プロセッサ112は、(図1のハッシュラインによって示されるように)メモリ116と直接に通信してよい。更に、他の複数の実施形態において、I/Oサブシステム114は、システムオンチップ(SoC)の一部を形成してよく、プロセッサ112及びクライアントコンピューティングデバイス102の他の複数のコンポーネントと共に、単一の集積回路チップに組み込まれてよい。
プロセッサ112は、I/Oサブシステム110に、いくつかの信号経路を介して通信可能に結合されている。これらの信号経路(及び、図1に示される他の複数の信号経路)は、クライアントコンピューティングデバイス102の複数のコンポーネントの間の通信を促進可能な任意のタイプの複数の信号経路として具現されてよい。例えば、複数の信号経路は、任意の数のワイヤ、ケーブル、ライトガイド、プリント回路基板トレース、ビア、バス、仲介デバイス等として具現されてよい。
クライアントコンピューティングデバイス102のメモリ116は、例えば複数のダイナミックランダムアクセスメモリデバイス(DRAM)、複数のシンクロナスダイナミックランダムアクセスメモリデバイス(SDRAM)、ダブルデータレートシンクロナスダイナミックランダムアクセスメモリデバイス(DDR SDRAM)、複数のマスクリードオンリメモリ(ROM)デバイス、消去可能プログラマブルROM(EPROM)、複数の電気的消去可能プログラマブルROM(EEPROM)デバイス、複数のフラッシュメモリデバイス、並びに/若しくは、他の揮発性及び/又は不揮発性の複数のメモリデバイスを含む、1又は複数のメモリデバイス又はデータストレージロケーションとして具現されてよいか、さもなくば含んでよい。メモリ116は、いくつかの信号経路を介してI/Oサブシステム114に通信可能に結合される。図1には単一のメモリデバイス116だけが示されているが、他の複数の実施形態において、クライアントコンピューティングデバイス102は、追加の複数のメモリデバイスを含んでよい。様々なデータ及びソフトウェアが、メモリデバイス116に格納されてよい。例えば、プロセッサ112によって実行されるソフトウェアスタックを構成する1又は複数のオペレーティングシステム、アプリケーション、プログラム、ライブラリ、及びドライバが、実行中にメモリ116に存在してよい。さらに、メモリ116に格納されているソフトウェア及びデータは、複数のメモリ管理動作の一部としてメモリ116とデータストレージ120との間でスワップされてよい。
クライアントコンピューティングデバイス102の通信回路118は、ネットワーク104上でクライアントコンピューティングデバイス102と複数のリモートコンピューティングデバイス(例えば、ウェブサーバ106及びクラウドサービスシステム108)との間の複数の通信を可能にするために任意の数のデバイス及び回路として具現されてよい。ネットワーク104は、任意の数の様々な有線及び/又は無線通信ネットワークとして具現されてよい。例えば、ネットワーク104は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、又はインターネットなどの公衆アクセス可能なグローバルネットワークとして具現されてよいか、さもなくば含んでよい。更に、ネットワーク104は、クライアントコンピューティングデバイス102、ウェブサーバ106、及びクラウドサービスシステム108の間の通信を促進するための任意の数の追加のデバイスを含んでよい。クライアントコンピューティングデバイス102、ウェブサーバ106及びクラウドサービスシステム108は、例えば特定のタイプの1又は複数のネットワーク104に応じて1又は複数のネットワーク104上で互いに通信するために適切な通信プロトコルを用いてよい。図1の例示の実施形態において、クラウドサービスシステム108は、1又は複数のネットワーク104上でクラウドリソース110と通信してもよい。いくつかの実施形態では、クラウドリソース110は、クラウドサービスシステム108によってアクセス可能であるが、クライアントコンピューティングデバイス102及び/又はウェブサーバ106によってアクセス不可能である。
1又は複数のデータストレージデバイス120は、例えば、複数のメモリデバイス及び複数の回路、複数のメモリカード、複数のハードディスクドライブ、複数のソリッドステートドライブ、又は他の複数のデータストレージデバイスなど、データの短期又は長期ストレージのために設定された任意のタイプのデバイス又は複数のデバイスとして具現されてよい。例えば、以下により詳細に述べられるように、ブラウザベース・アプリケーション304(すなわち、実行可能コード)の一部は、いくつかの実施形態ではローカルコード解析モジュール308によってアクセスされることになる(図3を参照すること)1又は複数のデータストレージデバイス120のセキュアロケーションに格納されてよい。
クライアントコンピューティングデバイス102の複数の周辺機器122は、任意の数の周辺又はインターフェース機器を含んでよい。例えば、複数の周辺機器122は、ディスプレイ、キーボード、マウス、外部スピーカ及び/又は他の複数の周辺機器を含んでよい。複数の周辺機器122に含まれる特定の複数のデバイスは、例えばクライアントコンピューティングデバイス102の意図された使用に依存してよい。複数の周辺機器122は、いくつかの信号経路を介してI/Oサブシステム114に通信可能に結合され、それにより、I/Oサブシステム114及び/又はプロセッサ112が、複数の周辺機器122から複数の入力を受信し、複数の周辺機器122に複数の出力を送信することが可能になる。
ウェブサーバ106は、ここで説明される複数の機能を実行することが可能な任意のタイプの1又は複数のデータサーバ又は他の1又は複数のコンピューティングデバイスとして具現されてよい。例えば、図1の例示の実施形態においてウェブサーバ106は、ブラウザベース・アプリケーション304を生成して、ネットワーク104上でクライアントコンピューティングデバイス102に送信することが可能である。いくつかの実施形態では、ウェブサーバ106は、上述したようなクライアントコンピューティングデバイス102の複数のコンポーネントと同様の複数のコンポーネントを含んでよい。記載の明確さのために図1には示されていない、サーバ及び/又はコンピューティングデバイスに通常備えられる他の複数のコンポーネント、複数のサブコンポーネント、及び複数のデバイスを、ウェブサーバ106が含んでよいことが理解されるべきである。更に、ウェブサーバ106が単一の単体のウェブサーバとして図1に示されるが、ウェブサーバ106は、上述したようなブラウザベース・アプリケーション304を生成及び送信することが可能な複数のウェブサーバ及び/又は同様の複数のデバイスの集合として具現されてよい。
図1の例示の実施形態において、クラウドサービスシステム108は、プロセッサ124、I/Oサブシステム126、メモリ128、通信回路130、データストレージデバイス132、ローカルデータベース134、並びに1又は複数の周辺機器136を含むクラウドサービスサーバとして具現される。いくつかの実施形態では、複数の前述のコンポーネントのいくつかは、クラウドサービスシステム108のマザーボードに組み込まれてよい。他方、他の複数のコンポーネントは、例えば周辺ポートを介してマザーボードに通信可能に結合されてよい。さらに、クラウドサービスシステム108が、記載の明確さのために図1に示されていない、サーバ及び/又はコンピューティングデバイスに通常備えられる他の複数のコンポーネント、複数のサブコンポーネント及び複数のデバイスを含んでよいことが理解されるべきである。更に、クラウドサービスシステム108が、単一の単体のクラウドサービスサーバとして図1に示され、及び以下に述べられているが、クラウドサービスシステム108は、複数のクラウドサーバ、及び/又は、以下に述べられるような1又は複数のクラウドサービスを協働して提供する同様の複数のデバイスの集合として具現されてよい。
クラウドサービスシステム108のプロセッサ124、I/Oサブシステム126、メモリ128、通信回路130、データストレージデバイス132、及び1又は複数の周辺機器136は、上述のようなクライアントコンピューティングデバイス102の対応する複数のコンポーネントと同様であってよい。従って、クライアントコンピューティングデバイス102のそのような同様の複数のコンポーネントの説明は、クラウドサービスシステム108の同様の複数のコンポーネントに等しく適用でき、説明の明確さのためにここでは繰り返されない。更に、クラウドサービスシステム108のローカルデータベース134は、1又は複数のブラウザベース・アプリケーション304及び1又は複数のブラウザベース・アプリケーション304の複数のソースのセキュリティに向けられたデータの格納に適した、任意の電子装置又は構造として具現されてよい。
図1の例示の実施形態において、複数のクラウドリソース110は、ブラウザベース・アプリケーション304のソースを認証する及び/又はブラウザベース・アプリケーション304の整合性を検証するためにクラウドサービスシステム108によって用いられてよいデータ及び他の複数の電子的リソースを含む。いくつかの実施形態では、クラウドリソース110は、クラウドサービスシステム108と同一のクラウドコンピューティング環境に属する他の複数のサーバ及び/又は複数のコンピューティングデバイスを含んでよい。他の複数の実施形態において、クラウドリソース110は、ブラウザベース・アプリケーションの検証データ及び/又はソース認証データを格納するための1又は複数のデータベース又は他の複数のデータ構造を含んでよい。
使用において、図2に示されるように、クラウドサービスシステム108は、ブラウザベース・アプリケーション304のためのセキュリティ勧告を生成するための環境200をクラウドサービスシステム108上に確立してよい。例示の実施形態において、環境200は、それぞれソフトウェア、ファームウェア、ハードウェア又はそれらの組み合わせとして具現され得る、ソース認証モジュール202、アプリケーション検証モジュール204、勧告エンジン206、及び通信モジュール208を含む。
ソース認証モジュール202は、ブラウザベース・アプリケーション304(例えば、ブラウザベース・アプリケーション304がダウンロードされたウェブサイト)のソースを認証するよう構成される。そうするために、ソース認証モジュール202は、クラウドサービスシステム108及び/又は複数のクラウドリソース110のローカルデータベース118から、ソース認証データを取得してよい。ソース認証データは、ソース認証モジュール202によって、ブラウザベース・アプリケーション304のソースの信頼性を判断するために使用可能な任意のタイプのデータとして具現されてよい。例えば、ソース認証データは、既知の信頼された及び/又は悪意のあるブラウザベース・アプリケーション304の複数のディストリビュータ又は複数のホスト(例えば、ウェブサイト)を特定する情報として具現されてよいか、さもなくば含んでよい。
ソース認証モジュール202はまた、クライアントコンピューティングデバイス102又はウェブサーバ106から、ブラウザベース・アプリケーション304の特定のソースを特定するアプリケーションソースデータを受信してよい。そのような複数の実施形態において、ソース認証モジュール202は、ブラウザベース・アプリケーション304の特定されたソースがセキュアで信頼されたホスト又はエンティティであるかを判断するべく、アプリケーションソースデータをソース認証データと比較することによって、ブラウザベース・アプリケーション304のソースを認証してよい。
アプリケーション検証モジュール204は、ブラウザベース・アプリケーション304自体のセキュリティを検証するよう構成される。そうするために、いくつかの実施形態では、アプリケーション検証モジュール204は、クラウドサービスシステム108のローカルデータベース118からアプリケーション検証データを取得してよい、及び/又は、複数のクラウドリソース110からアプリケーション検証データを取得してよい。アプリケーション検証データは、アプリケーション検証モジュール204がブラウザベース・アプリケーション304のコードと比較し得る信頼されたソースコードとして具現されてよい。そのような複数の実施形態において、アプリケーション検証モジュール204は、ブラウザベース・アプリケーション304のセキュリティを検証するために、信頼されたソースコードを、ブラウザベース・アプリケーションのコードと比較してよい。更に又は代替的に、アプリケーション検証データは、ブラウザベース・アプリケーション304のコードを解析するためにアプリケーション検証モジュール204によって使用可能な既知の複数のウイルスシグネチャ又は複数のパターンを含んでよい。すなわち、アプリケーション検証モジュール204は、ブラウザベース・アプリケーション304が、悪意のあるコードを含むか、さもなくば不正であるかを判断するために、ブラウザベース・アプリケーション304のコード解析を実行してよい。更に、いくつかの実施形態では、アプリケーション検証モジュール204は、ブラウザベース・アプリケーション304の開発者/発行者の身元を判断してよい。例えば、ソース認証データと同様、アプリケーション検証データは、ブラウザベース・アプリケーション304のセキュリティを検証する場合にアプリケーション検証モジュール204によって用いられ得る、既知の信頼された及び悪意のあるブラウザベース・アプリケーション304の複数の開発者及び複数の発行者に関する情報を含んでよい。
勧告エンジン206は、ソース認証モジュール202及び/又はアプリケーション検証モジュール204によって実行された解析に基づき、ブラウザベース・アプリケーション304のセキュリティに関して、クライアントコンピューティングデバイス102に勧告を提供するよう構成される。上述したように、ソース認証モジュール202がブラウザベース・アプリケーション304のソースを解析し、アプリケーション検証モジュール204がブラウザベース・アプリケーション304自体を解析する。いくつかの実施形態では、勧告エンジン206は、ブラウザベース・アプリケーション304がセキュアであるかを判断するため、及び、クライアントコンピューティングデバイス102に勧告するために、ソース認証モジュール202の解析及びアプリケーション検証モジュール204の解析を相関させてよい。勧告エンジン206のセキュリティ勧告は、多くの異なる形式を取り得る。例えば、いくつかの実施形態では、勧告エンジン206は、ブラウザベース・アプリケーション304のソースが信頼されたソースであるとソース認証モジュール202が判断し、及び/又は、信頼された当事者によってブラウザベース・アプリケーション304が開発又は発行されたとアプリケーション検証モジュール204が判断した場合にのみ、クライアントコンピューティングデバイス102がブラウザベース・アプリケーション304を実行することを勧告してよい。他の複数の実施形態において、勧告エンジン206は、クライアントコンピューティングデバイス102に、ブラウザベース・アプリケーション304がセキュアであるパーセント確率か、さもなくば、勧告がある閾値に基づいているパーセント確率を提供してよい。もちろん、他の複数の実施形態において、勧告の他の複数の形態が用いられてよい。勧告エンジン206は、クラウドサービスシステム108とシステム100の他の複数のデバイスとの間の通信を処理する通信モジュール208を用いて、勧告をクライアントに送信してよい。
ここで図3を参照して、使用される場合、クライアントコンピューティングデバイス102は、クライアントコンピューティングデバイス102によって要求されたブラウザベース・アプリケーション304のセキュリティを検証するための環境300を確立してよい。例示の実施形態における環境300は、それぞれソフトウェア、ハードウェア、ファームウェア及び/又はそれらの組み合わせとして具現され得る、ブラウザ302、ブラウザベース・アプリケーション304、アプリケーションセキュリティモジュール306、ローカルコード解析モジュール308、及び通信モジュール310を含む。
クライアントコンピューティングデバイス102のブラウザ302は、ウェブサーバ106からのブラウザベース・アプリケーション304を要求及び解釈するために用いられてよい。いくつかの実施形態では、ブラウザベース・アプリケーション304は、Hypertext Markup Language5(HTML5)のアプリケーションとして具現されてよい。他の複数の実施形態において、ブラウザベース・アプリケーション304は、クライアントコンピューティングデバイス102のブラウザ302によって実行及び/又は解釈されることが可能な任意のソフトウェアアプリケーションとして具現されてよい。
アプリケーションセキュリティモジュール306は、クライアントコンピューティングデバイス102上のブラウザベース・アプリケーション304のセキュリティ検証を実行するよう構成される。アプリケーションセキュリティモジュール306は、独立したモジュールとして具現されてよい、又は、いくつかの実施形態では、ブラウザプラグインとして具現されてよい。以下に述べられるように、ブラウザ302がブラウザベース・アプリケーション304を要求した場合、アプリケーションセキュリティモジュール306は、要求されたブラウザベース・アプリケーション304のセキュリティを検証するよう、クラウドサービスシステム108から検証の複数の結果を受信する通信モジュール310を用いて、クラウドサービスシステム108に要求してよい。いくつかの実施形態では、アプリケーションセキュリティモジュール306は、ブラウザ302がブラウザベース・アプリケーション304を実行すること又はブラウザベース・アプリケーション304の任意の部分をダウンロードすることを許可する前に解析のためにクラウドサービスシステム108に要求を転送してよい。更に、いくつかの実施形態では、クラウドサービスシステム108による検証の複数の結果は、クライアントコンピューティングデバイス102によって実行されることになる複数の命令又は複数の指示を含んでよい。そのような複数の実施形態において、アプリケーションセキュリティモジュール306は、例えばブラウザベース・アプリケーション304を削除する又は隔離するなどの任意のタイプのセキュリティアクションを含み得る、そのような追加の複数の命令又は複数の動作を実行するよう構成される。
いくつかの実施形態では、クライアントコンピューティングデバイス102は、ローカルコード解析モジュール308を含んでもよい。そのような複数の実施形態において、ローカルコード解析モジュール308は、クラウドサービスシステム108のアプリケーション検証モジュール204と同様、ブラウザベース・アプリケーション304が悪意のあるコードを含むか、さもなくば不正であるかを判断するよう構成されてよい。例えば、いくつかの実施形態では、ローカルコード解析モジュール308は、クラウドサービスシステム108から勧告を受信した後にブラウザベース・アプリケーション304をさらに解析してよい、及び/又は、ブラウザベース・アプリケーション304に関連する追加の複数のセキュリティ対策を実行してよい。
ここで図4を参照して、ブラウザベース・アプリケーション304に関するセキュリティ勧告を生成するための、クラウドサービスシステム108によって実行され得る方法400の例示の実施形態は、ブロック402で始まる。ブロック402において、クラウドサービスシステム108は、クライアントコンピューティングデバイス102から、ブラウザベース・アプリケーション304のセキュリティを検証するためのアプリケーション検証要求が受信されたかを判断する。そうである場合、ブロック404において、クラウドサービスシステム108は、ブラウザベース・アプリケーション304又はブラウザベース・アプリケーション304のコードの一部を受信する。いくつかの実施形態では、ブロック404において、クラウドサービスシステム108は、クライアントコンピューティングデバイス102から、ブラウザベース・アプリケーション304のロケーションを示すメタデータを受信し、指定されたロケーションでウェブサーバ106からブラウザベース・アプリケーション304をダウンロードしてよい。例えば、クライアントコンピューティングデバイス102は、ブラウザベース・アプリケーション304のユニフォームリソースロケータ(URL)をクラウドサービスシステム108に提供してよい。クラウドサービスシステム108は、解析のためにブラウザベース・アプリケーション304を取得するべく、クライアントコンピューティングデバイス102から提供されたロケーション情報を使用してよい。
ブロック406において、クラウドサービスシステム108は、ブラウザベース・アプリケーション304のソースを認証する。そうすべく、ブロック408において、クラウドサービスシステム108は更に、クライアントコンピューティングデバイス102からアプリケーションソースデータを受信してよい。上述したように、アプリケーションソースデータは、ブラウザベース・アプリケーション304のソースを特定する任意のタイプのデータとして具現されてよい。例えば、アプリケーションソースデータは、ブラウザベース・アプリケーション304に関連付けられたトップレベルドメイン、サブドメイン、又はインターネットプロトコル(IP)アドレスを特定してよい。代替的に、アプリケーションソースデータが明確に特定されない複数の実施形態において、クラウドサービスシステム108は、ブラウザベース・アプリケーション304のソースを決定するために、ブロック404でクライアントコンピューティングデバイス102から提供されたロケーションデータを使用してよい。
いくつかの実施形態では、クラウドサービスシステム108は、ブラウザベース・アプリケーション304及び/又はアプリケーションソースデータを、クライアントコンピューティングデバイス102又はウェブサーバ106とは異なるリモートサーバからダウンロードしてよい。いくつかの実施形態では、ブロック410において、クラウドサービスシステム108のソース認証モジュール202は、クラウドサービスシステム108のローカルデータベース118から、及び/又は複数のクラウドリソース110から、ソース認証データを取得してもよい。上述したように、ソース認証データは、ブラウザベース・アプリケーション304のソースの信頼性を判断するためにクラウドサービスシステム108が使用可能な任意のタイプのデータとして具現されてよいか、さもなくば含んでよい。例えば、ソース認証データは、悪意のあるブラウザベース・アプリケーション304の既知の複数のホストを特定するデータを含んでよい。他の複数の実施形態において、ソース認証データは、ブラウザベース・アプリケーション304の信頼された複数のホストを特定するデータを含んでよい。さらに他の複数の実施形態において、ソース認証データは、ブラウザベース・アプリケーション304のソースの信頼性に向けられた、前述した情報及び/又は他の情報の組み合わせを含んでよい。従って、いくつかの実施形態では、ブロック406において、クラウドサービスシステム108は、特定されたソースの信頼性(又はその欠如)を判断するために、特定されたアプリケーションソースデータを、取得されたソース認証データと比較することによって、ブラウザベース・アプリケーションのソースを認証してよい。
ブロック412において、クラウドサービスシステム108は、ブラウザベース・アプリケーション304自体のセキュリティを検証する。そうすべく、クラウドサービスシステム108は、ブロック412において、アプリケーション検証データを取得してよい。ブロック410で取得されたソース認証データと同様、クラウドサービスシステム108は、ブロック414において、クラウドサービスシステム108のローカルデータベース118から及び/又は複数のクラウドリソース110から、アプリケーション検証データを取得してよい。アプリケーション検証データは、ブラウザベース・アプリケーション304のセキュリティ(例えば、信頼性、悪意性など)を検証するためにクラウドサービスシステム108によって使用可能な任意のタイプのデータとして具現されてよい。例えば、上述したように、アプリケーション検証データは、既知の信頼されたソースコードとして具現されてよい。更に又は代替的に、アプリケーション検証データは、既知の複数のウイルス及び他のマルウェアの複数のシグネチャ及び複数のパターンとして具現されてよいか、さもなくば含んでよい。さらに、アプリケーション検証データは、既知のブラウザベース・アプリケーション304の開発者及び複数の発行者の信頼性に関する情報を含んでよい。
ブロック412において、クラウドサービスシステム108は、ブロック404で取得されたブラウザベース・アプリケーション304を、ブロック414で取得されたアプリケーション検証データと比較することによって、ブラウザベース・アプリケーション304のセキュリティ及び整合性を検証してよい。例えば、クラウドサービスシステム108は、ブラウザベース・アプリケーション304が悪意のあるコードを含む、さもなくば不正であるかを判断するために、ブラウザベース・アプリケーション304のコード解析を実行し、ブラウザベース・アプリケーション304を複数のマルウェアシグネチャと比較してよい。更に又は代替的に、クラウドサービスシステム108は、コードが安定しクライアントコンピューティングデバイス102上で安全に動作可能であることを検証するために、ブラウザベース・アプリケーション304のコードを解析してよい。そのような複数の実施形態において、勧告エンジン206は、クライアントコンピューティングデバイス102に、ブラウザベース・アプリケーション304の最も安定な現在のリリースのロケーションを通知してよい。
方法400のブロック406及び412は、任意の順序で行われてよく、又は、同時に行われてよいことが理解されるべきである。更に、いくつかの実施形態では、ブロック406及び412のいずれかが、ブラウザベース・アプリケーション304又はそのソースが非セキュアであるという指標を提供した場合、クラウドサービスシステム108は他のブロックを実行してよく、又はしなくてよい。むしろ、以下に述べるように、クラウドサービスシステム108は単純に、クライアントコンピューティングデバイス102がブラウザベース・アプリケーション304をダウンロード又は実行することを避けるよう勧告してよい。
ブロック416において、クラウドサービスシステム108は、ブロック406のソース認証及びブロック412のブラウザベース・アプリケーションの検証に応じて、クライアントコンピューティングデバイス102に対してセキュリティ勧告を生成してよい。上述したように、セキュリティ勧告は、ブラウザベース・アプリケーション304がセキュアであるかに関するいくつかの指標をクライアントコンピューティングデバイス102に提供する。例えば、ソース及びブラウザベース・アプリケーション304の両方がセキュアであると判断された場合、クラウドサービスシステム108は、クライアントコンピューティングデバイス102がブラウザベース・アプリケーション304を実行することを勧告してよい。さもなくば、クラウドサービスシステム108は、クライアントコンピューティングデバイス102がブラウザベース・アプリケーション304をダウンロード又は実行することを避けて、ブラウザベース・アプリケーションのコードの任意のダウンロードされた複数の部分を削除することを勧告してよい。他の複数の実施形態において、クラウドサービスシステム108は、ブラウザベース・アプリケーション304がセキュアである確率(例えばパーセンテージ又は他の数値表現で表される)を生成してよい。クライアントコンピューティングデバイス102は、ブラウザベース・アプリケーション304を実行するかを判断するために、そのような確率を利用してよい。すなわち、クラウドサービスシステム108は、ブラウザベース・アプリケーション304の信頼のレベルを特定してよい。例えば、ブラウザベース・アプリケーション304は、ブラウザベース・アプリケーション304及びそのソースの両方がセキュアであると判断された場合に、セキュアと特定され、ブラウザベース・アプリケーション及びそのソースの1つのみがセキュアと判断された場合に、場合によっては非セキュアと判断され、ブラウザベース・アプリケーション及びそのソースのどちらもセキュアと判断されなかった場合に、非セキュアと判断されてよい。ブロック418において、クラウドサービスシステム108は、その勧告及び/又はクラウドリソース110から受信したセキュリティ情報でローカルデータベース118を更新してよい。
ブロック420において、クラウドサービスシステム108は、ブロック416で生成されたセキュリティ勧告を、クライアントコンピューティングデバイス102に送信してよい。その後、ブロック422において、クラウドサービスシステム108は、クライアントコンピューティングデバイス102からフィードバックを受信してよい。いくつかの実施形態では、フィードバックは、セキュリティ勧告に応答してクライアントコンピューティングデバイス102によってなされるセキュリティアクションを含んでよい。例えば、フィードバックは、クライアントコンピューティングデバイス102がブラウザベース・アプリケーション304を実行したかを示してよい。更に、フィードバックは、クライアントコンピューティングデバイス102が、例えば、ユーザにセキュリティ勧告を通知した、ブラウザベース・アプリケーションを削除した又はブラウザベース・アプリケーションをダウンロードすることを避けた、若しくはブラウザベース・アプリケーション304を隔離したことを示してよい。クライアントコンピューティングデバイス102がブラウザベース・アプリケーション304のローカルセキュリティ解析を実行する(図5のブロック512を参照すること)複数の実施形態において、フィードバックは、ローカルセキュリティ解析の複数の結果を含んでもよい。ブロック424において、クラウドサービスシステム108は、ローカルデータベース118を、クライアントコンピューティングデバイス102からのフィードバックで更新してよい。
ここで図5を参照して、クライアントコンピューティングデバイス102によって実行され得る、ブラウザベース・アプリケーション304のセキュリティを検証するための方法500の例示の実施形態は、ブロック502で始まる。ブロック502において、クライアントコンピューティングデバイス102は、ブラウザベース・アプリケーション304が要求されたかを判断する。例えば、いくつかの実施形態では、クライアントコンピューティングデバイス102のセキュリティモジュール306は、クライアントコンピューティングデバイス102のユーザが、ブラウザベース・アプリケーション304に割り当てられたハイパーリンクを実行したときを判断するために、ブラウザ302をモニタリングしてよい。クライアントコンピューティングデバイス102が、ブラウザベース・アプリケーション304が要求されたと判断した場合、ブロック504において、クライアントコンピューティングデバイス102は、ブラウザベース・アプリケーション304のセキュリティを検証するために、クラウドサービスシステム108に要求を送信する。上述したように、その際、ブロック506において、クライアントコンピューティングデバイス102は、ブラウザベース・アプリケーション304、若しくは、ブラウザベース・アプリケーション304の任意のダウンロードされた複数の部分又はそのソースコードを、クラウドサービスシステム108に送信してよい。代替的に、クライアントコンピューティングデバイス102は、ブロック508において、ブラウザベース・アプリケーション304が入手可能なロケーションを特定するデータを、クラウドサービスシステム108に送信してよい。例えば、クライアントコンピューティングデバイス102は、クラウドサービスシステム108に、ブラウザベース・アプリケーション304のURLを送信してよい。図5の例示の実施形態において、クライアントコンピューティングデバイス102は、(図5における二重チルダ記号によって示されるように)クラウドサービスシステム108がブラウザベース・アプリケーション304のセキュリティを検証するまで、ブラウザベース・アプリケーション304を実行しない。
ブロック510において、クライアントコンピューティングデバイス102は、クラウドサービスシステム108からセキュリティ勧告を受信する。上述したように、セキュリティ勧告は、例えば、ブラウザベース・アプリケーション304がセキュア及び/又はブラウザベース・アプリケーション304のセキュリティレベルにあるかを示してよい。いくつかの実施形態では、ブロック512において、クラウドサービスシステム108上でブラウザベース・アプリケーション304のセキュリティを検証することと同様に、クライアントコンピューティングデバイス102は、ブラウザベース・アプリケーション304をダウンロードし、そのローカルセキュリティ解析を実行してよい。クライアントコンピューティングデバイス102のローカルコード解析モジュール308は、ブラウザベース・アプリケーション304が悪意のあるコードを含むかを判断するために、ブラウザベース・アプリケーション304を、ウイルス又はマルウェアの複数のシグネチャ及び複数のパターンと比較してよい。他の複数の実施形態において、クライアントコンピューティングデバイス102は、ブラウザベース・アプリケーション304のセキュリティをローカルに検証するために、追加の又は代替のコード解析を実行してよい。更に、いくつかの実施形態では、ブロック512で実行されるローカルセキュリティ解析は、クライアントコンピューティングデバイス102がブラウザベース・アプリケーション304をクラウドサービスシステム108に送信する前に、実行されてよい。そのような実施形態において、ブラウザベース・アプリケーション304がセキュリティリスクを持つ(例えば、マルウェアを含む)とクライアントコンピューティングデバイス102がローカルに判断した場合、クライアントコンピューティングデバイス102は、クラウドサービスシステム108にそれを送信することなく、単純にブラウザベース・アプリケーション304をその時に破棄してよい。他の複数の実施形態において、クライアントコンピューティングデバイス102は、ローカルセキュリティ解析の結果にかかわらず、クラウドサービスシステム108にブラウザベース・アプリケーション304を送信してよい。
ブロック514において、クライアントコンピューティングデバイス102は、ブロック510でクラウドサーバから受信したセキュリティ勧告に基づいて、セキュリティアクションを実行してよい。いくつかの実施形態では、(例えば、セキュリティ勧告が、ブラウザベース・アプリケーション304をダウンロード/実行しないことである場合、)クライアントコンピューティングデバイス102は、セキュリティ勧告をユーザに通知してよい。例えば、ブロック516において、クライアントコンピューティングデバイス102のユーザは、ブラウザ302又は他のグラフィカルユーザインタフェースを介して通知されてよい。他の複数の実施形態では、ブロック518において、クライアントコンピューティングデバイス102は、ブラウザベース・アプリケーション304のソースコード又はそれらのダウンロードされた任意の一部を、クライアントコンピューティングデバイス102のメモリ116から削除してよい。クライアントコンピューティングデバイス102がブラウザベース・アプリケーション304のいずれの部分もダウンロードしない複数の実施形態において、クライアントコンピューティングデバイス102は、ユーザがブラウザベース・アプリケーション304をダウンロードすることを妨げてよい。他の複数の実施形態では、ブロック520において、クライアントコンピューティングデバイス102は、ブラウザベース・アプリケーション304又はその任意のダウンロードされた複数の部分を、クライアントコンピューティングデバイス102のメモリ116のセキュアロケーション内に隔離してよい。クラウドサービスシステム108が、ブラウザベース・アプリケーション304がセキュアであると判断した場合、しかし、クライアントコンピューティングデバイス102は、ブラウザベース・アプリケーション304をダウンロード及び実行してよい。クライアントコンピューティングデバイス102がブロック512でローカルセキュリティ解析を実行する複数の実施形態において、クライアントコンピューティングデバイス102は、クラウドサービスシステム108のセキュリティ勧告に加えて、ローカルセキュリティ解析を更に考慮してよい。
ブロック522において、クライアントコンピューティングデバイス102は、クラウドサービスシステム108にフィードバックを送信してよい。上述したように、フィードバックは、セキュリティ勧告に応答してクライアントコンピューティングデバイス102によってなされるセキュリティアクションを含んでよい。更に、フィードバックは、クライアントコンピューティングデバイス102によってブラウザベース・アプリケーション304上で実行される任意のローカルセキュリティ解析の結果を含んでよい。クラウドサービスシステム108は、クラウドサービスシステム108のローカルデータベース118を、関連するブラウザベース・アプリケーションのセキュリティ情報で更新するためにフィードバックを用いてよい。
複数の例 ここで開示される複数のデバイス、複数のシステム、及び複数の方法の例示の複数の例が以下に提供される。複数のデバイス、複数のシステム、及び複数の方法の実施形態は、後述される複数の例のうちの1又は複数のいずれか及び任意の組み合わせを含んでよい。
例1は、ブラウザベース・アプリケーションについてセキュリティ勧告を生成するためのクラウドサービスシステムを含む。クラウドサーバは、クライアントコンピューティングデバイスからアプリケーション検証要求を受信する通信モジュールと、(i)ブラウザベース・アプリケーションのソースを特定するアプリケーションソースデータを受信し、(ii)ソース認証データを取得し、(iii)アプリケーションソースデータ及びソース認証データに応じて、ソースを認証するソース認証モジュールと、(i)アプリケーション検証データを取得し、(ii)アプリケーション検証データに応じてブラウザベース・アプリケーションを検証するアプリケーション検証モジュールと、ソース認証モジュールの認証及びアプリケーション検証モジュールの検証に応答して、セキュリティ勧告を生成する勧告エンジンとを含み、通信モジュールはさらに、セキュリティ勧告をクライアントコンピューティングデバイスに送信する。
例2は、例1の主題を含み、ソース認証モジュールは、(i)ブラウザベース・アプリケーションのロケーションを特定するロケーションデータを受信し、(ii)特定されたロケーションに位置するウェブサーバからブラウザベース・アプリケーションをダウンロードする。
例3は、例1及び2のいずれかの主題を含み、ロケーションデータは、ブラウザベース・アプリケーションのユニフォームリソースロケータを含む。
例4は、例1から3のいずれかの主題を含み、ソース認証モジュールは、クライアントコンピューティングデバイス以外の遠隔ロケーションからアプリケーションソースデータを取得し、アプリケーション検証モジュールは、遠隔ロケーションからブラウザベース・アプリケーションを取得する。
例5は、例1から4のいずれかの主題を含み、セキュリティ勧告は、ブラウザベース・アプリケーションの信頼のレベルを特定する。
例6は、例1から5のいずれかの主題を含み、勧告エンジンは、セキュリティ勧告に応答してクライアントコンピューティングデバイスからフィードバックを受信する。
例7は、例1から6のいずれかの主題を含み、フィードバックは、クライアントコンピューティングデバイスによってなされたセキュリティアクションを示す。
例8は、例1から7のいずれかの主題を含み、勧告エンジンは、クライアントコンピューティングデバイスからフィードバックを受信したことに応答してクラウドサーバのローカルデータベースを更新する。
例9は、例1から8のいずれかの主題を含み、アプリケーションソースデータは、ブラウザベース・アプリケーションのホストを特定する。
例10は、例1から9のいずれかの主題を含み、アプリケーションソースデータは、ブラウザベース・アプリケーションを入手可能なインターネットプロトコルアドレスを示す。
例11は、例1から10のいずれかの主題を含み、ソース認証モジュールは、クラウドサーバのローカルデータベースからソース認証データを取得し、アプリケーション検証モジュールは、ローカルデータベースからアプリケーション検証データを取得する。
例12は、例1から11のいずれかの主題を含み、ソース認証モジュールは、クラウドサーバがアクセス可能な複数のクラウドリソースからソース認証データを取得し、アプリケーション検証モジュールは、複数のクラウドリソースからアプリケーション検証データを取得する。
例13は、例1から12のいずれかの主題を含み、ソース認証モジュールは、アプリケーションソースデータをソース認証データと比較することによってソースを認証し、ソース認証データは、既知の悪意のあるブラウザベースのアプリケーションの複数のホストのリストを含む。
例14は、例1から13のいずれかの主題を含み、アプリケーション検証モジュールは、ブラウザベース・アプリケーションを、ブラウザベース・アプリケーションの信頼されたソースコードと比較することによって、ブラウザベース・アプリケーションのセキュリティを検証する。
例15は、例1から14のいずれかの主題を含み、アプリケーション検証モジュールは、ブラウザベース・アプリケーションを、アプリケーション検証データと比較することによって、ブラウザベース・アプリケーションのセキュリティを検証し、アプリケーション検証データは、既知の複数のマルウェアシグネチャを含む。
例16は、例1から15のいずれかの主題を含み、アプリケーション検証モジュールは、クラウドサーバがアクセス可能な複数のクラウドリソースからアプリケーション検証データを取得する。
例17は、例1から16のいずれかの主題を含み、アプリケーション検証モジュールは、クラウドサーバのローカルデータベースからアプリケーション検証データを取得する。
例18は、例1から17のいずれかの主題を含み、セキュリティ勧告は、ブラウザベース・アプリケーションがセキュアであるかを示す。
例19は、例1から18のいずれかの主題を含み、勧告エンジンは、セキュリティ勧告の生成に応答して、クラウドサーバのローカルデータベースを更新する。
例20は、例1から19のいずれかの主題を含み、ブラウザベース・アプリケーションは、Hypertext Markup Language 5のアプリケーション又は他のウェブアプリケーションである。
例21は、ブラウザベース・アプリケーションのセキュリティを検証するためのクライアントコンピューティングデバイスを含む。クライアントコンピューティングデバイスは、(i)クライアントコンピューティングデバイスがブラウザベース・アプリケーションを要求したかを判断し、(ii)ブラウザベース・アプリケーションが要求されたとの判断に応答して、ブラウザベース・アプリケーションのセキュリティを検証するためのクラウドサービスシステムにアプリケーション検証要求を送信するアプリケーションセキュリティモジュールと、クラウドサービスシステムからセキュリティ勧告を受信する通信モジュールとを含み、アプリケーションセキュリティモジュールはさらに、セキュリティ勧告に応答してセキュリティアクションを実行する。
例22は、例21の主題を含み、ブラウザベース・アプリケーションは、Hypertext Markup Language 5のアプリケーション又は他のウェブアプリケーションである。
例23は、例21及び22のいずれかの主題を含み、クライアントコンピューティングデバイスがブラウザベース・アプリケーションを要求したかを、アプリケーションセキュリティモジュールが判断することは、クライアントコンピューティングデバイスが、ブラウザベース・アプリケーションに向けられたハイパーリンクを実行したかを判断することを備える。
例24は、例21から23のいずれかの主題を含み、アプリケーションセキュリティモジュールがアプリケーション検証要求を送信することは、ブラウザベース・アプリケーションのソースコードの少なくとも一部を、クラウドサービスシステムに送信することを備える。
例25は、例21から24のいずれかの主題を含み、アプリケーションセキュリティモジュールがアプリケーション検証要求を送信することは、ブラウザベース・アプリケーションを入手可能なロケーションを示すロケーションデータを送信することを備える。
例26は、例21から25のいずれかの主題を含み、ロケーションデータは、ブラウザベース・アプリケーションのユニフォームリソースロケータを備える。
例27は、例21から26のいずれかの主題を含み、セキュリティアクションは、クライアントコンピューティングデバイスのユーザに、セキュリティ勧告を通知することを備える。
例28は、例21から27のいずれかの主題を含み、セキュリティアクションは、ブラウザベース・アプリケーションのソースコードを、クライアントコンピューティングデバイスから削除することを備える。
例29は、例21から28のいずれかの主題を含み、セキュリティアクションは、クライアントコンピューティングデバイスのメモリへの、ブラウザベース・アプリケーションのダウンロードを妨げることを備える。
例30は、例21から29のいずれかの主題を含み、セキュリティアクションは、クライアントコンピューティングデバイスのメモリのセキュアロケーション内に、ブラウザベース・アプリケーションを隔離することを備える。
例31は、例21から30のいずれかの主題を含み、アプリケーションセキュリティモジュールは、クラウドサービスシステムにフィードバックを送信する。
例32は、例21から31のいずれかの主題を含み、フィードバックが、クライアントコンピューティングデバイスによって実行されたセキュリティアクションを示すことをさらに含む。
例33は、例21から32のいずれかの主題を含み、クライアントコンピューティングデバイス上で、ブラウザベース・アプリケーションのローカルセキュリティ解析を実行するローカルコード解析モジュールをさらに含む。
例34は、例21から33のいずれかの主題を含み、ローカルセキュリティ解析は、ブラウザベース・アプリケーションを複数のウイルスシグネチャと比較することを備える。
例35は、クラウドサービスシステム上でブラウザベース・アプリケーションのためのセキュリティ勧告を生成するための方法を含む。方法は、ブラウザベース・アプリケーション、及び、ブラウザベース・アプリケーションのソースを特定するアプリケーションソースデータを受信する段階と、ソース認証データ及びアプリケーション検証データを取得する段階と、アプリケーションソースデータ及びソース認証データに応じて、ソースを認証する段階と、アプリケーション検証データに応じてブラウザベース・アプリケーションのセキュリティを検証する段階と、ソースを認証すること及びブラウザベース・アプリケーションを検証することに応じて、セキュリティ勧告を生成する段階と、セキュリティ勧告をクライアントコンピューティングデバイスに送信する段階とを含む。
例36は、例35の主題を含み、ブラウザベース・アプリケーションを受信する段階は、(i)ブラウザベース・アプリケーションのロケーションを特定するロケーションデータを受信する段階と、(ii)特定されるロケーションに位置するウェブサーバから、ブラウザベース・アプリケーションをダウンロードする段階とを備える。
例37は、例35及び36のいずれかの主題を含み、ブラウザベース・アプリケーションのロケーションを特定するロケーションデータを受信する段階は、ブラウザベース・アプリケーションのユニフォームリソースロケータを受信する段階を備える。
例38は、例35から37のいずれかの主題を含み、ブラウザベース・アプリケーションに関するセキュリティ勧告を生成するようクライアントコンピューティングデバイスから要求を受信する段階さらに含む。
例39は、例35から38のいずれかの主題を含み、ブラウザベース・アプリケーション及びアプリケーションソースデータを、クライアントコンピューティングデバイス以外の遠隔ロケーションから受信する。
例40は、例35から39のいずれかの主題を含み、セキュリティ勧告を生成する段階は、ブラウザベース・アプリケーションの信頼のレベルを特定する段階を備える。
例41は、例35から40のいずれかの主題を含み、セキュリティ勧告に応答して、クライアントコンピューティングデバイスからフィードバックを受信する段階をさらに含む。
例42は、例35から41のいずれかの主題を含み、フィードバックを受信する段階は、クライアントコンピューティングデバイスによってなされたアクションを示すフィードバックを受信する段階を備える。
例43は、例35から42のいずれかの主題を含み、クライアントコンピューティングデバイスからフィードバックを受信したことに応答して、クラウドサービスシステムのローカルデータベースを更新する段階をさらに含む。
例44は、例35から43のいずれかの主題を含み、アプリケーションソースデータを受信する段階は、ブラウザベース・アプリケーションのホストを特定するソースデータを受信する段階を備える。
例45は、例35から44のいずれかの主題を含み、ソースデータを受信する段階は、ブラウザベース・アプリケーションを入手可能なインターネットプロトコルアドレスを受信する段階を備える。
例46は、例35から45のいずれかの主題を含み、ソース認証データ及びアプリケーション検証データを取得する段階は、クラウドサービスシステムのローカルデータベースから、ソース認証データ及びアプリケーション検証データを取得する段階を備える。
例47は、例35から46のいずれかの主題を含み、ソース認証データ及びアプリケーション検証データを取得する段階は、クラウドサービスシステムがアクセス可能な複数のクラウドリソースから、ソース認証データ及びアプリケーション検証データを取得する段階を備える。
例48は、例35から47のいずれかの主題を含み、ソースを認証する段階は、アプリケーションソースデータをソース認証データと比較する段階を備え、ソース認証データは、既知の悪意のあるブラウザベースのアプリケーションの複数のホストのリストを含む。
例49は、例35から48のいずれかの主題を含み、ブラウザベース・アプリケーションのセキュリティを検証する段階は、ブラウザベース・アプリケーションを、ブラウザベース・アプリケーションの信頼されたソースコードと比較する段階を備える。
例50は、例35から49のいずれかの主題を含み、ブラウザベース・アプリケーションのセキュリティを検証する段階は、ブラウザベース・アプリケーションを、アプリケーション検証データと比較する段階を備え、アプリケーション検証データは、既知の複数のマルウェアシグネチャを含む。
例51は、例35から50のいずれかの主題を含み、アプリケーション検証データを取得する段階は、クラウドサービスシステムがアクセス可能な複数のクラウドリソースからアプリケーション検証データを取得する段階を備える。
例52は、例35から51のいずれかの主題を含み、アプリケーション検証データを取得する段階は、クラウドサービスシステムのローカルデータベースからアプリケーション検証を取得する段階を備える。
例53は、例35から52のいずれかの主題を含み、セキュリティ勧告を生成する段階は、ブラウザベース・アプリケーションがセキュアであるかを知らせる段階を備える。
例54は、例35から53のいずれかの主題を含み、セキュリティ勧告の生成に応答して、クラウドサービスシステムのローカルデータベースを更新する段階をさらに含む。
例55は、例35から54のいずれかの主題を含み、ブラウザベース・アプリケーションは、Hypertext Markup Language 5のアプリケーション又は他のウェブアプリケーションである。
例56は、プロセッサと、プロセッサによって実行された場合にコンピューティングデバイスに例35から55のいずれかの方法を実行させる、格納された複数の命令を持つメモリとを持つコンピューティングデバイスを含む。
例57は、実行されることに応答して、例35から55のいずれかの方法を実行するコンピューティングデバイスをもたらす、格納された複数の命令を備える1又は複数の機械可読ストレージ媒体を含む。
例58は、ブラウザベース・アプリケーションのセキュリティを検証するための方法を含む。方法は、クライアントコンピューティングデバイス用いて、クライアントコンピューティングデバイスがブラウザベース・アプリケーションを要求したかを判断する段階と、ブラウザベース・アプリケーションが要求されたとの判断に応答して、ブラウザベース・アプリケーションのセキュリティを検証するためのクラウドサービスシステムにアプリケーション検証要求を送信する段階と、アプリケーション検証要求の送信に応答して、クライアントコンピューティングデバイスで、クラウドサービスシステムからセキュリティ勧告を受信する段階と、クライアントコンピューティングデバイス上で、クラウドサービスシステムから受信したセキュリティ勧告に応答して、セキュリティアクションを実行する段階とを含む。
例59は、例58の主題を含み、ブラウザベース・アプリケーションは、Hypertext Markup Language 5のアプリケーション又は他のウェブアプリケーションである。
例60は、例58及び59のいずれかの主題を含み、クライアントコンピューティングデバイスがブラウザベース・アプリケーションを要求したかを判断する段階は、クライアントコンピューティングデバイスが、ブラウザベース・アプリケーションに向けられたハイパーリンクを実行したかを判断する段階を備える。
例61は、例58から60のいずれかの主題を含み、アプリケーション検証要求を送信する段階は、ブラウザベース・アプリケーションのソースコードの少なくとも一部を、クラウドサービスシステムに送信する段階を備える。
例62は、例58から61のいずれかの主題を含み、アプリケーション検証要求を送信する段階は、ブラウザベース・アプリケーションを入手可能なロケーションを示すロケーションデータを送信する段階を備える。
例63は、例58から62のいずれかの主題を含み、ロケーションデータを送信する段階は、ブラウザベース・アプリケーションのユニフォームリソースロケータを送信する段階を備える。
例64は、例58から63のいずれかの主題を含み、セキュリティアクションを実行する段階は、クライアントコンピューティングデバイスのユーザに、セキュリティ勧告を通知する段階を備える。
例65は、例58から64のいずれかの主題を含み、セキュリティアクションを実行する段階は、ブラウザベース・アプリケーションのソースコードを、クライアントコンピューティングデバイスから削除する段階を備える。
例66は、例58から65のいずれかの主題を含み、セキュリティアクションを実行する段階は、クライアントコンピューティングデバイスのメモリへの、ブラウザベース・アプリケーションのダウンロードを妨げる段階を備える。
例67は、例58から66のいずれかの主題を含み、セキュリティアクションを実行する段階は、クライアントコンピューティングデバイスのメモリのセキュアロケーション内に、ブラウザベース・アプリケーションを隔離する段階を備える。
例68は、例58から67のいずれかの主題を含み、クラウドサービスシステムにフィードバックを送信する段階をさらに含む。
例69は、例58から68のいずれかの主題を含み、クラウドサービスシステムにフィードバックを送信する段階は、クライアントコンピューティングデバイスによって実行されたセキュリティアクションを示すフィードバックを送信する段階を備える。
例70は、例58から69のいずれかの主題を含み、クライアントコンピューティングデバイス上で、ブラウザベース・アプリケーションのローカルセキュリティ解析を実行する段階をさらに含む。
例71は、例58から70のいずれかの主題を含み、ブラウザベース・アプリケーションのローカルセキュリティ解析を実行する段階は、ブラウザベース・アプリケーションを、複数のウイルスシグネチャと比較する段階を備える。
例72は、プロセッサと、プロセッサによって実行された場合にコンピューティングデバイスに例58から71のいずれかの方法を実行させる、格納された複数の命令を持つメモリとを持つコンピューティングデバイスを含む。
例73は、実行されることに応答して、例58から71のいずれかの方法を実行するコンピューティングデバイスをもたらす、格納された複数の命令を備える1又は複数の機械可読ストレージ媒体を含む。

Claims (73)

  1. ブラウザベース・アプリケーションについてセキュリティ勧告を生成するためのクラウドサービスシステムであって、クラウドサーバは、
    クライアントコンピューティングデバイスからアプリケーション検証要求を受信する通信モジュールと、
    (i)前記ブラウザベース・アプリケーションのソースを特定するアプリケーションソースデータを受信し、(ii)ソース認証データを取得し、(iii)前記アプリケーションソースデータ及び前記ソース認証データに応じて、前記ソースを認証するソース認証モジュールと、
    (i)アプリケーション検証データを取得し、(ii)前記アプリケーション検証データに応じて前記ブラウザベース・アプリケーションを検証するアプリケーション検証モジュールと、
    前記ソース認証モジュールの前記認証及び前記アプリケーション検証モジュールの前記検証に応答して、セキュリティ勧告を生成する勧告エンジンと
    を備え、
    前記通信モジュールはさらに、前記セキュリティ勧告を前記クライアントコンピューティングデバイスに送信する
    クラウドサービスシステム。
  2. 前記ソース認証モジュールは、(i)前記ブラウザベース・アプリケーションのロケーションを特定するロケーションデータを受信し、(ii)前記特定されたロケーションに位置するウェブサーバから前記ブラウザベース・アプリケーションをダウンロードする
    請求項1に記載のクラウドサービスシステム。
  3. 前記ロケーションデータは、前記ブラウザベース・アプリケーションのユニフォームリソースロケータを含む
    請求項2に記載のクラウドサービスシステム。
  4. 前記ソース認証モジュールは、
    前記クライアントコンピューティングデバイス以外の遠隔ロケーションから前記アプリケーションソースデータを取得し、
    前記アプリケーション検証モジュールは、前記遠隔ロケーションから前記ブラウザベース・アプリケーションを取得する
    請求項1から3のいずれか1項に記載のクラウドサービスシステム。
  5. 前記セキュリティ勧告は、前記ブラウザベース・アプリケーションの信頼のレベルを特定する
    請求項1から4のいずれか1項に記載のクラウドサービスシステム。
  6. 前記勧告エンジンは、前記セキュリティ勧告に応答して前記クライアントコンピューティングデバイスからフィードバックを受信する
    請求項1から5のいずれか1項に記載のクラウドサービスシステム。
  7. 前記フィードバックは、前記クライアントコンピューティングデバイスによってなされたセキュリティアクションを示す
    請求項6に記載のクラウドサービスシステム。
  8. 前記勧告エンジンは、前記クライアントコンピューティングデバイスからフィードバックを受信したことに応答して前記クラウドサーバのローカルデータベースを更新する
    請求項6又は7に記載のクラウドサービスシステム。
  9. 前記アプリケーションソースデータは、前記ブラウザベース・アプリケーションのホストを特定する
    請求項1から8のいずれか1項に記載のクラウドサービスシステム。
  10. 前記アプリケーションソースデータは、前記ブラウザベース・アプリケーションを入手可能なインターネットプロトコルアドレスを示す
    請求項1から9のいずれか1項に記載のクラウドサービスシステム。
  11. 前記ソース認証モジュールは、前記クラウドサーバのローカルデータベースから前記ソース認証データを取得し、
    前記アプリケーション検証モジュールは、前記ローカルデータベースから前記アプリケーション検証データを取得する
    請求項1から10のいずれか1項に記載のクラウドサービスシステム。
  12. 前記ソース認証モジュールは、前記クラウドサーバがアクセス可能な複数のクラウドリソースから前記ソース認証データを取得し、
    前記アプリケーション検証モジュールは、前記複数のクラウドリソースから前記アプリケーション検証データを取得する
    請求項1から10のいずれか1項に記載のクラウドサービスシステム。
  13. 前記ソース認証モジュールは、前記アプリケーションソースデータを前記ソース認証データと比較することによって前記ソースを認証し、
    前記ソース認証データは、既知の悪意のあるブラウザベースのアプリケーションの複数のホストのリストを含む
    請求項1から12のいずれか1項に記載のクラウドサービスシステム。
  14. 前記アプリケーション検証モジュールは、前記ブラウザベース・アプリケーションを、前記ブラウザベース・アプリケーションの信頼されたソースコードと比較することによって、前記ブラウザベース・アプリケーションの前記セキュリティを検証する
    請求項1から13のいずれか1項に記載のクラウドサービスシステム。
  15. 前記アプリケーション検証モジュールは、前記ブラウザベース・アプリケーションを、前記アプリケーション検証データと比較することによって、前記ブラウザベース・アプリケーションの前記セキュリティを検証し、
    前記アプリケーション検証データは、既知の複数のマルウェアシグネチャを含む
    請求項1から10のいずれか1項に記載のクラウドサービスシステム。
  16. 前記アプリケーション検証モジュールは、前記クラウドサーバがアクセス可能な複数のクラウドリソースから前記アプリケーション検証データを取得する
    請求項15に記載のクラウドサービスシステム。
  17. 前記アプリケーション検証モジュールは、前記クラウドサーバのローカルデータベースから前記アプリケーション検証データを取得する
    請求項16に記載のクラウドサービスシステム。
  18. 前記セキュリティ勧告は、前記ブラウザベース・アプリケーションがセキュアであるかを示す
    請求項1から17のいずれか1項に記載のクラウドサービスシステム。
  19. 前記勧告エンジンは、前記セキュリティ勧告の生成に応答して、前記クラウドサーバのローカルデータベースを更新する
    請求項1から18のいずれか1項に記載のクラウドサービスシステム。
  20. 前記ブラウザベース・アプリケーションは、Hypertext Markup Language 5のアプリケーション又は他のウェブアプリケーションである
    請求項1から19のいずれか1項に記載のクラウドサービスシステム。
  21. ブラウザベース・アプリケーションのセキュリティを検証するためのクライアントコンピューティングデバイスであって、前記クライアントコンピューティングデバイスは、
    (i)前記クライアントコンピューティングデバイスが前記ブラウザベース・アプリケーションを要求したかを判断し、(ii)前記ブラウザベース・アプリケーションが要求されたとの判断に応答して、前記ブラウザベース・アプリケーションの前記セキュリティを検証するためのクラウドサービスシステムにアプリケーション検証要求を送信するアプリケーションセキュリティモジュールと、
    前記クラウドサービスシステムからセキュリティ勧告を受信する通信モジュールと
    を備え、
    前記アプリケーションセキュリティモジュールはさらに、前記セキュリティ勧告に応答してセキュリティアクションを実行する
    クライアントコンピューティングデバイス。
  22. 前記ブラウザベース・アプリケーションは、Hypertext Markup Language 5のアプリケーション又は他のウェブアプリケーションである
    請求項21に記載のクライアントコンピューティングデバイス。
  23. 前記クライアントコンピューティングデバイスが前記ブラウザベース・アプリケーションを要求したかを、前記アプリケーションセキュリティモジュールが判断することは、
    前記クライアントコンピューティングデバイスが、前記ブラウザベース・アプリケーションに向けられたハイパーリンクを実行したかを判断することを備える
    請求項21又は22に記載のクライアントコンピューティングデバイス。
  24. 前記アプリケーションセキュリティモジュールが前記アプリケーション検証要求を送信することは、
    前記ブラウザベース・アプリケーションのソースコードの少なくとも一部を、前記クラウドサービスシステムに送信することを備える
    請求項21から23のいずれか1項に記載のクライアントコンピューティングデバイス。
  25. 前記アプリケーションセキュリティモジュールが前記アプリケーション検証要求を送信することは、
    前記ブラウザベース・アプリケーションを入手可能なロケーションを示すロケーションデータを送信することを備える
    請求項21から23のいずれか1項に記載のクライアントコンピューティングデバイス。
  26. 前記ロケーションデータは、前記ブラウザベース・アプリケーションのユニフォームリソースロケータを備える
    請求項25に記載のクライアントコンピューティングデバイス。
  27. 前記セキュリティアクションは、前記クライアントコンピューティングデバイスのユーザに、前記セキュリティ勧告を通知することを備える
    請求項21から26のいずれか1項に記載のクライアントコンピューティングデバイス。
  28. 前記セキュリティアクションは、前記ブラウザベース・アプリケーションのソースコードを、前記クライアントコンピューティングデバイスから削除することを備える
    請求項21から26のいずれか1項に記載のクライアントコンピューティングデバイス。
  29. 前記セキュリティアクションは、前記クライアントコンピューティングデバイスのメモリへの、前記ブラウザベース・アプリケーションのダウンロードを妨げることを備える
    請求項21から26のいずれか1項に記載のクライアントコンピューティングデバイス。
  30. 前記セキュリティアクションは、前記クライアントコンピューティングデバイスのメモリのセキュアロケーション内に、前記ブラウザベース・アプリケーションを隔離することを備える
    請求項21から26のいずれか1項に記載のクライアントコンピューティングデバイス。
  31. 前記アプリケーションセキュリティモジュールは、前記クラウドサービスシステムにフィードバックを送信する
    請求項21から30のいずれか1項に記載のクライアントコンピューティングデバイス。
  32. 前記フィードバックは、前記クライアントコンピューティングデバイスによって実行された前記セキュリティアクションを示す
    請求項31に記載のクライアントコンピューティングデバイス。
  33. 前記クライアントコンピューティングデバイス上で、前記ブラウザベース・アプリケーションのローカルセキュリティ解析を実行するローカルコード解析モジュール
    をさらに備える請求項21から32のいずれか1項に記載のクライアントコンピューティングデバイス。
  34. 前記ローカルセキュリティ解析は、前記ブラウザベース・アプリケーションを複数のウイルスシグネチャと比較することを備える
    請求項33に記載のクライアントコンピューティングデバイス。
  35. クラウドサービスシステム上でブラウザベース・アプリケーションについてセキュリティ勧告を生成するための方法であって、前記方法は、
    前記ブラウザベース・アプリケーション、及び、前記ブラウザベース・アプリケーションのソースを特定するアプリケーションソースデータを受信する段階と、
    ソース認証データ及びアプリケーション検証データを取得する段階と、
    前記アプリケーションソースデータ及び前記ソース認証データに応じて、前記ソースを認証する段階と、
    前記アプリケーション検証データに応じて前記ブラウザベース・アプリケーションの前記セキュリティを検証する段階と、
    前記ソースを認証すること及び前記ブラウザベース・アプリケーションを検証することに応じて、セキュリティ勧告を生成する段階と、
    前記セキュリティ勧告をクライアントコンピューティングデバイスに送信する段階と
    を備える方法。
  36. 前記ブラウザベース・アプリケーションを受信する段階は、
    (i)前記ブラウザベース・アプリケーションのロケーションを特定するロケーションデータを受信する段階と、
    (ii)前記特定されるロケーションに位置するウェブサーバから、前記ブラウザベース・アプリケーションをダウンロードする段階と
    を備える請求項35に記載の方法。
  37. 前記ブラウザベース・アプリケーションのロケーションを特定するロケーションデータを受信する段階は、
    前記ブラウザベース・アプリケーションのユニフォームリソースロケータを受信する段階
    を備える請求項36に記載の方法。
  38. 前記ブラウザベース・アプリケーションに関するセキュリティ勧告を生成するよう前記クライアントコンピューティングデバイスから要求を受信する段階
    をさらに備える請求項35から37のいずれか1項に記載の方法。
  39. 前記ブラウザベース・アプリケーション及びアプリケーションソースデータを、前記クライアントコンピューティングデバイス以外の遠隔ロケーションから受信する
    請求項38に記載の方法。
  40. セキュリティ勧告を生成する段階は、
    前記ブラウザベース・アプリケーションの信頼のレベルを特定する段階
    を備える請求項38又は39に記載の方法。
  41. 前記セキュリティ勧告に応答して、前記クライアントコンピューティングデバイスからフィードバックを受信する段階
    をさらに備える請求項38から40のいずれか1項に記載の方法。
  42. フィードバックを受信する段階は、
    前記クライアントコンピューティングデバイスによってなされたアクションを示すフィードバックを受信する段階
    を備える請求項41に記載の方法。
  43. 前記クライアントコンピューティングデバイスからフィードバックを受信したことに応答して、前記クラウドサービスシステムのローカルデータベースを更新する段階
    をさらに備える請求項41又は42に記載の方法。
  44. アプリケーションソースデータを受信する段階は、
    前記ブラウザベース・アプリケーションのホストを特定するソースデータを受信する段階
    を備える請求項35から43のいずれか1項に記載の方法。
  45. 前記ソースデータを受信する段階は、
    前記ブラウザベース・アプリケーションを入手可能なインターネットプロトコルアドレスを受信する段階
    を備える請求項44に記載の方法。
  46. ソース認証データ及びアプリケーション検証データを取得する段階は、
    前記クラウドサービスシステムのローカルデータベースから、ソース認証データ及びアプリケーション検証データを取得する段階
    を備える請求項35から45のいずれか1項に記載の方法。
  47. ソース認証データ及びアプリケーション検証データを取得する段階は、
    前記クラウドサービスシステムがアクセス可能な複数のクラウドリソースから、ソース認証データ及びアプリケーション検証データを取得する段階
    を備える請求項35から45のいずれか1項に記載の方法。
  48. 前記ソースを認証する段階は、
    前記アプリケーションソースデータを前記ソース認証データと比較する段階
    を備え、
    前記ソース認証データは、既知の悪意のあるブラウザベースのアプリケーションの複数のホストのリストを含む
    請求項35から47のいずれか1項に記載の方法。
  49. 前記ブラウザベース・アプリケーションの前記セキュリティを検証する段階は、
    前記ブラウザベース・アプリケーションを、前記ブラウザベース・アプリケーションの信頼されたソースコードと比較する段階
    を備える請求項35から48のいずれか1項に記載の方法。
  50. 前記ブラウザベース・アプリケーションの前記セキュリティを検証する段階は、
    前記ブラウザベース・アプリケーションを、前記アプリケーション検証データと比較する段階
    を備え、
    前記アプリケーション検証データは、既知の複数のマルウェアシグネチャを含む
    請求項35から45のいずれか1項に記載の方法。
  51. アプリケーション検証データを取得する段階は、
    前記クラウドサービスシステムがアクセス可能な複数のクラウドリソースからアプリケーション検証データを取得する段階
    を備える請求項50に記載の方法。
  52. アプリケーション検証データを取得する段階は、
    前記クラウドサービスシステムのローカルデータベースからアプリケーション検証を取得する段階
    を備える請求項51に記載の方法。
  53. セキュリティ勧告を生成する段階は、
    前記ブラウザベース・アプリケーションがセキュアであるかを知らせる段階
    を備える請求項35から52のいずれか1項に記載の方法。
  54. 前記セキュリティ勧告の生成に応答して、前記クラウドサービスシステムのローカルデータベースを更新する段階
    をさらに備える請求項35から53のいずれか1項に記載の方法。
  55. 前記ブラウザベース・アプリケーションは、Hypertext Markup Language 5のアプリケーション又は他のウェブアプリケーションである
    請求項35から54のいずれか1項に記載の方法。
  56. コンピューティングデバイスであって、
    プロセッサと、
    前記プロセッサによって実行された場合に、請求項35から55のいずれか1項に記載の前記方法を前記コンピューティングデバイスに実行させる複数の命令が格納されたメモリと
    を備えるコンピューティングデバイス。
  57. 請求項35から55のいずれか1項に記載の前記方法をコンピュータに実行させるためのプログラム。
  58. ブラウザベース・アプリケーションのセキュリティを検証するための方法であって、前記方法は、
    クライアントコンピューティングデバイス用いて、前記クライアントコンピューティングデバイスが前記ブラウザベース・アプリケーションを要求したかを判断する段階と、
    前記ブラウザベース・アプリケーションが要求されたとの判断に応答して、前記ブラウザベース・アプリケーションの前記セキュリティを検証するためのクラウドサービスシステムにアプリケーション検証要求を送信する段階と、
    前記アプリケーション検証要求の送信に応答して、前記クライアントコンピューティングデバイスで、前記クラウドサービスシステムからセキュリティ勧告を受信する段階と、
    前記クライアントコンピューティングデバイス上で、前記クラウドサービスシステムから受信した前記セキュリティ勧告に応答して、セキュリティアクションを実行する段階と
    を備える方法。
  59. 前記ブラウザベース・アプリケーションは、Hypertext Markup Language 5のアプリケーション又は他のウェブアプリケーションである
    請求項58に記載の方法。
  60. 前記クライアントコンピューティングデバイスが前記ブラウザベース・アプリケーションを要求したかを判断する段階は、
    前記クライアントコンピューティングデバイスが、前記ブラウザベース・アプリケーションに向けられたハイパーリンクを実行したかを判断する段階
    を備える請求項58又は59に記載の方法。
  61. 前記アプリケーション検証要求を送信する段階は、
    前記ブラウザベース・アプリケーションのソースコードの少なくとも一部を、前記クラウドサービスシステムに送信する段階
    を備える請求項58から60のいずれか1項に記載の方法。
  62. 前記アプリケーション検証要求を送信する段階は、
    前記ブラウザベース・アプリケーションを入手可能なロケーションを示すロケーションデータを送信する段階
    を備える請求項58から60のいずれか1項に記載の方法。
  63. 前記ロケーションデータを送信する段階は、
    前記ブラウザベース・アプリケーションのユニフォームリソースロケータを送信する段階
    を備える請求項62に記載の方法。
  64. 前記セキュリティアクションを実行する段階は、
    前記クライアントコンピューティングデバイスのユーザに、前記セキュリティ勧告を通知する段階
    を備える請求項58から63のいずれか1項に記載の方法。
  65. 前記セキュリティアクションを実行する段階は、
    前記ブラウザベース・アプリケーションのソースコードを、前記クライアントコンピューティングデバイスから削除する段階
    を備える請求項58から63のいずれか1項に記載の方法。
  66. 前記セキュリティアクションを実行する段階は、
    前記クライアントコンピューティングデバイスのメモリへの、前記ブラウザベース・アプリケーションのダウンロードを妨げる段階
    を備える請求項58から63のいずれか1項に記載の方法。
  67. 前記セキュリティアクションを実行する段階は、
    前記クライアントコンピューティングデバイスのメモリのセキュアロケーション内に、前記ブラウザベース・アプリケーションを隔離する段階
    を備える請求項58から63のいずれか1項に記載の方法。
  68. 前記クラウドサービスシステムにフィードバックを送信する段階
    をさらに備える請求項58から67のいずれか1項に記載の方法。
  69. 前記クラウドサービスシステムにフィードバックを送信する段階は、
    前記クライアントコンピューティングデバイスによって実行された前記セキュリティアクションを示すフィードバックを送信する段階
    を備える請求項68に記載の方法。
  70. 前記クライアントコンピューティングデバイス上で、前記ブラウザベース・アプリケーションのローカルセキュリティ解析を実行する段階
    をさらに備える請求項58から69のいずれか1項に記載の方法。
  71. 前記ブラウザベース・アプリケーションの前記ローカルセキュリティ解析を実行する段階は、
    前記ブラウザベース・アプリケーションを、複数のウイルスシグネチャと比較する段階
    を備える請求項70に記載の方法。
  72. コンピューティングデバイスであって、
    プロセッサと、
    前記プロセッサによって実行された場合に、請求項58から71のいずれか1項に記載の前記方法を、前記コンピューティングデバイスに実行させる複数の命令が格納されたメモリと
    を備えるコンピューティングデバイス。
  73. 請求項58から71のいずれか1項に記載の前記方法をコンピュータに実行させるためのプログラム。
JP2015531349A 2012-09-28 2013-09-27 アプリケーションのセキュリティ検証のためのクラウド支援された方法及びサービス Expired - Fee Related JP6061364B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/631,283 2012-09-28
US13/631,283 US9430640B2 (en) 2012-09-28 2012-09-28 Cloud-assisted method and service for application security verification
PCT/US2013/062407 WO2014052892A1 (en) 2012-09-28 2013-09-27 Cloud-assisted method and service for application security verification

Publications (2)

Publication Number Publication Date
JP2015527685A true JP2015527685A (ja) 2015-09-17
JP6061364B2 JP6061364B2 (ja) 2017-01-18

Family

ID=50386611

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015531349A Expired - Fee Related JP6061364B2 (ja) 2012-09-28 2013-09-27 アプリケーションのセキュリティ検証のためのクラウド支援された方法及びサービス

Country Status (6)

Country Link
US (1) US9430640B2 (ja)
EP (1) EP2901615A4 (ja)
JP (1) JP6061364B2 (ja)
KR (1) KR101723937B1 (ja)
CN (1) CN104584480B (ja)
WO (1) WO2014052892A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430640B2 (en) 2012-09-28 2016-08-30 Intel Corporation Cloud-assisted method and service for application security verification
US9436838B2 (en) * 2012-12-20 2016-09-06 Intel Corporation Secure local web application data manager
US9852290B1 (en) * 2013-07-12 2017-12-26 The Boeing Company Systems and methods of analyzing a software component
US10063654B2 (en) 2013-12-13 2018-08-28 Oracle International Corporation Systems and methods for contextual and cross application threat detection and prediction in cloud applications
US9692789B2 (en) 2013-12-13 2017-06-27 Oracle International Corporation Techniques for cloud security monitoring and threat intelligence
US9665718B2 (en) 2014-03-14 2017-05-30 International Business Machines Corporation Correlating a task with commands to perform a change ticket in an IT system
CN104378345B (zh) * 2014-06-24 2016-04-13 腾讯科技(深圳)有限公司 移动客户端url的安全检测方法及系统
US9356969B2 (en) 2014-09-23 2016-05-31 Intel Corporation Technologies for multi-factor security analysis and runtime control
US9715597B2 (en) * 2014-09-25 2017-07-25 Mcafee, Inc. Data verification using enclave attestation
JP6717206B2 (ja) * 2015-01-29 2020-07-01 日本電気株式会社 マルウェア対策装置、マルウェア対策システム、マルウェア対策方法、及び、マルウェア対策プログラム
US9727737B1 (en) * 2015-07-27 2017-08-08 Amazon Technologies, Inc. Trustworthy indication of software integrity
US9667657B2 (en) * 2015-08-04 2017-05-30 AO Kaspersky Lab System and method of utilizing a dedicated computer security service
US10693906B2 (en) 2015-09-24 2020-06-23 Saudi Arabian Oil Company Providing secure data transfer between networks
CN107113316A (zh) * 2015-11-03 2017-08-29 国民技术股份有限公司 一种app认证的系统和方法
US10536478B2 (en) 2016-02-26 2020-01-14 Oracle International Corporation Techniques for discovering and managing security of applications
KR101875863B1 (ko) * 2016-09-08 2018-07-06 주식회사 유플렉스소프트 암호화된 해시값에 기반하여 클라우드 접속 허가를 결정하는 클라우드 시스템, 및 클라우드 접속 방법과 클라우드 단말에 설치된 소켓 데몬 장치
US9753834B1 (en) * 2016-12-19 2017-09-05 General Electric Company Certification process for cloud platform
US20180191718A1 (en) * 2016-12-29 2018-07-05 Ingram Micro Inc. Technologies for securely extending cloud service apis in a cloud service marketplace
US10333918B2 (en) * 2017-02-22 2019-06-25 Accenture Global Solutions Limited Automated system identification, authentication, and provisioning
JP7081210B2 (ja) * 2018-02-28 2022-06-07 ブラザー工業株式会社 アプリケーションプログラム
US20200242251A1 (en) * 2019-01-24 2020-07-30 Citrix Systems, Inc. Providing application security, validation and profiling to an application
US10628244B1 (en) * 2019-10-29 2020-04-21 Snowflake Inc. Calling external functions from a data warehouse
CN111767489B (zh) * 2020-06-29 2024-04-19 百度在线网络技术(北京)有限公司 网页运行的加速方法、装置、设备以及存储介质
CN111859378B (zh) * 2020-07-31 2022-11-18 中国工商银行股份有限公司 保护数据模型的处理方法和装置
WO2022191746A1 (en) * 2021-03-11 2022-09-15 Telefonaktiebolaget Lm Ericsson (Publ) Adapting a communication device in a network node
US11601451B1 (en) * 2022-05-15 2023-03-07 Uab 360 It Optimized analysis for detecting harmful content

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198054A (ja) * 2009-02-23 2010-09-09 National Institute Of Information & Communication Technology コンピュータ検査システム、コンピュータ検査方法
US20110145926A1 (en) * 2009-12-15 2011-06-16 Mcafee, Inc. Systems and methods for behavioral sandboxing
US20120066346A1 (en) * 2010-09-13 2012-03-15 Microsoft Corporation Reputation checking obtained files
US20120102545A1 (en) * 2010-10-20 2012-04-26 Mcafee, Inc. Method and system for protecting against unknown malicious activities by determining a reputation of a link

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467211B1 (en) 1999-10-18 2008-12-16 Cisco Technology Inc. Remote computer system management through an FTP internet connection
US20030177248A1 (en) 2001-09-05 2003-09-18 International Business Machines Corporation Apparatus and method for providing access rights information on computer accessible content
US8615800B2 (en) 2006-07-10 2013-12-24 Websense, Inc. System and method for analyzing web content
US20080104699A1 (en) 2006-09-28 2008-05-01 Microsoft Corporation Secure service computation
US8930555B2 (en) * 2007-03-08 2015-01-06 Microsoft Corporation Extending functionality of web-based applications
US20090070873A1 (en) 2007-09-11 2009-03-12 Yahoo! Inc. Safe web based interactions
US8806618B2 (en) 2008-03-31 2014-08-12 Microsoft Corporation Security by construction for distributed applications
EP2144420B1 (en) 2008-07-07 2011-06-22 Barracuda Networks AG Web application security filtering
US8763071B2 (en) * 2008-07-24 2014-06-24 Zscaler, Inc. Systems and methods for mobile application security classification and enforcement
US9235704B2 (en) * 2008-10-21 2016-01-12 Lookout, Inc. System and method for a scanning API
US8141158B2 (en) 2008-12-31 2012-03-20 International Business Machines Corporation Measuring coverage of application inputs for advanced web application security testing
US8272065B2 (en) 2009-03-11 2012-09-18 Telefonaktiebolaget Lm Ericsson (Publ) Secure client-side aggregation of web applications
US8392973B2 (en) 2009-05-28 2013-03-05 International Business Machines Corporation Autonomous intelligent user identity manager with context recognition capabilities
EP2402860B1 (en) * 2010-06-29 2020-10-07 Brother Kogyo Kabushiki Kaisha Data processing apparatus
WO2012023050A2 (en) 2010-08-20 2012-02-23 Overtis Group Limited Secure cloud computing system and method
US8756691B2 (en) 2010-11-10 2014-06-17 Symantec Corporation IP-based blocking of malware
CN102469146B (zh) * 2010-11-19 2015-11-25 北京奇虎科技有限公司 一种云安全下载方法
US20120192280A1 (en) 2011-01-20 2012-07-26 Board Of Trustees Of The University Of Illinois Apparatus for enhancing web application security and method therefor
US8726387B2 (en) 2011-02-11 2014-05-13 F-Secure Corporation Detecting a trojan horse
KR101295709B1 (ko) * 2011-08-24 2013-09-16 주식회사 팬택 백그라운드 프로세스에 대한 보안 정보 제공 장치 및 방법
US8181254B1 (en) 2011-10-28 2012-05-15 Google Inc. Setting default security features for use with web applications and extensions
US9053042B2 (en) 2012-06-27 2015-06-09 Intel Corporation Method, system, and device for modifying a secure enclave configuration without changing the enclave measurement
US9245144B2 (en) 2012-09-27 2016-01-26 Intel Corporation Secure data container for web applications
US9213827B2 (en) 2012-09-27 2015-12-15 Intel Corporation Security data aggregation and business intelligence for web applications
US8856864B2 (en) 2012-09-27 2014-10-07 Intel Corporation Detecting, enforcing and controlling access privileges based on sandbox usage
US9430640B2 (en) 2012-09-28 2016-08-30 Intel Corporation Cloud-assisted method and service for application security verification
US9092617B2 (en) 2012-11-08 2015-07-28 Intel Corporation Protecting systems from unauthorized access to system resources using browser independent web page technology
US9436838B2 (en) 2012-12-20 2016-09-06 Intel Corporation Secure local web application data manager
US8918837B2 (en) 2012-12-28 2014-12-23 Intel Corporation Web application container for client-level runtime control

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198054A (ja) * 2009-02-23 2010-09-09 National Institute Of Information & Communication Technology コンピュータ検査システム、コンピュータ検査方法
US20110145926A1 (en) * 2009-12-15 2011-06-16 Mcafee, Inc. Systems and methods for behavioral sandboxing
WO2011084431A2 (en) * 2009-12-15 2011-07-14 Mcafee, Inc. Systems and methods for behavioral sandboxing
US20120066346A1 (en) * 2010-09-13 2012-03-15 Microsoft Corporation Reputation checking obtained files
WO2012036893A2 (en) * 2010-09-13 2012-03-22 Microsoft Corporation Reputation checking obtained files
US20120102545A1 (en) * 2010-10-20 2012-04-26 Mcafee, Inc. Method and system for protecting against unknown malicious activities by determining a reputation of a link
WO2012054449A2 (en) * 2010-10-20 2012-04-26 Mcafee, Inc. Method and system for protecting against unknown malicious activities by determining a reputation of a link

Also Published As

Publication number Publication date
CN104584480A (zh) 2015-04-29
KR20150040325A (ko) 2015-04-14
EP2901615A1 (en) 2015-08-05
EP2901615A4 (en) 2016-06-22
US20140096241A1 (en) 2014-04-03
WO2014052892A1 (en) 2014-04-03
KR101723937B1 (ko) 2017-04-06
CN104584480B (zh) 2018-10-26
US9430640B2 (en) 2016-08-30
JP6061364B2 (ja) 2017-01-18

Similar Documents

Publication Publication Date Title
JP6061364B2 (ja) アプリケーションのセキュリティ検証のためのクラウド支援された方法及びサービス
US11188645B2 (en) Identifying whether an application is malicious
CN111164596B (zh) 用于证实虚拟可信平台模块的系统和方法
JP5830102B2 (ja) 取得ファイルの評判チェック
JP6282349B2 (ja) ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するための方法およびシステム
US8819787B2 (en) Securing asynchronous client server transactions
WO2015101561A1 (en) Method and system for providing transparent trusted computing
WO2015027846A1 (zh) 应用程序的权限确定方法和装置
US8127033B1 (en) Method and apparatus for accessing local computer system resources from a browser
CN108028843B (zh) 保护计算机实现的功能的递送的方法、系统和计算设备
CN108737338B (zh) 一种认证方法及系统
RU2638779C1 (ru) Способ и сервер для вьполнения авторизации приложения на электронном устройстве
US9398041B2 (en) Identifying stored vulnerabilities in a web service
CN110177096B (zh) 客户端认证方法、装置、介质和计算设备
EP2793160A1 (en) Method and device for verification of an application
Angelogianni et al. How many FIDO protocols are needed? Surveying the design, security and market perspectives
KR102672181B1 (ko) 프라이버시 보호 애플리케이션 및 장치 오류 검출
CN112333134A (zh) 密码安全的动态第三方资源
CN104077304A (zh) 文件识别系统和方法
CN114047882A (zh) 一种单桶读写权限分离的身份认证方法及系统
CN117744093A (zh) 一种数字签名方法、装置、设备以及存储介质
CN114024688A (zh) 网络请求方法、网络认证方法、终端设备和服务端

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160308

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160705

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160927

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: 20161018

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20161116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161208

R150 Certificate of patent or registration of utility model

Ref document number: 6061364

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees