JP6326497B2 - 動的アプリケーションセキュリティ検証 - Google Patents

動的アプリケーションセキュリティ検証 Download PDF

Info

Publication number
JP6326497B2
JP6326497B2 JP2016537815A JP2016537815A JP6326497B2 JP 6326497 B2 JP6326497 B2 JP 6326497B2 JP 2016537815 A JP2016537815 A JP 2016537815A JP 2016537815 A JP2016537815 A JP 2016537815A JP 6326497 B2 JP6326497 B2 JP 6326497B2
Authority
JP
Japan
Prior art keywords
application
instance
security
code
logic
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
JP2016537815A
Other languages
English (en)
Other versions
JP2016534460A (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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2016534460A publication Critical patent/JP2016534460A/ja
Application granted granted Critical
Publication of JP6326497B2 publication Critical patent/JP6326497B2/ja
Active 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/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/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • 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
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/128Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity

Description

本開示は、移動体用アプリケーションについてのセキュリティ検証に関する。
移動体用アプリケーションは通常、非常に多くの開発者が提供するアプリケーションを特徴とするアプリケーションマーケットプレイスを通じて取得される。顧客は、アプリケーションマーケットプレイスを多種多様な理由から利用することができる。例えば、顧客の移動体通信端末装置は、特定のアプリケーションマーケットプレイスを利用することにより、アプリケーション群を取得する操作を、特定のアプリケーションマーケットプレイスを介して最も容易な選択肢として行なうように予め構成しておくことができる。幾つかの場合では、顧客の移動体通信端末装置は、アプリケーション群を、特定のアプリケーションマーケットプレイスを介してのみ取得するように予め構成しておくことができる。最終的に、顧客は、マーケットプレイスを介して取得されるアプリケーション群は比較的安全であるという感覚があるので、所定のアプリケーションマーケットプレイスを利用することを好む。別の表現をすると、顧客は、アプリケーションマーケットプレイスの所有者に信頼を置けるので、アプリケーションマーケットプレイスを介して提供されるアプリケーション群に信頼を置けるという感覚を持っている可能性がある。
顧客は、所定のアプリケーションマーケットプレイスを介して提供されるアプリケーション群が安全であり、かつアプリケーションマーケットプレイスの所有者が、提供アプリケーション群のセキュリティを保証しているという感覚を持っている可能性がある。従って、所有者の関心は、セキュリティ検証を、提供するアプリケーション群について行なうことにある。しかしながら、幾つかのアプリケーションについてのセキュリティ分析は、解決困難な課題である。幾つかのアプリケーションが一体化されていることにより、これらのアプリケーションのコードをこれらのアプリケーション全体について、顧客が使用する前に分析することができるが、他のアプリケーション群は動的アプリケーションである可能性があり、コードの一部はアプリケーションを顧客の端末にインストールした後にダウンロードされる。別の表現をすると、アプリケーションマーケットプレイスの所有者は、後でダウンロードしたコードを、セキュリティリスクについて分析する機会を決して持つことができない。
態様の1つは、少なくとも1つのコンピューティング装置と、前記少なくとも1つのコンピューティング装置内で実行することができるセキュリティ検証サービスと、を備える。前記セキュリティ検証サービスは、アプリケーションのインスタンスを実行するロジックであって、前記アプリケーションが、アプリケーションマーケットプレイスの中から提供される、前記実行するロジックと、前記アプリケーションの前記インスタンスの実行時に、前記アプリケーションの前記インスタンスが、動的に読み込まれるコードにネットワークサイトからアクセスしようとしていることを確認するロジックと、前記アプリケーションの前記インスタンスが、動的に読み込まれる前記コードにアクセスしようとしていることが確認されると、セキュリティ分析を動的に読み込まれる前記コードに対して行なうロジックと、前記セキュリティ分析の結果を、前記アプリケーションマーケットプレイスに送信するロジックと、を含む。
本開示は、セキュリティ検証を動的アプリケーション群に対して行なうアプローチを提供することができる。
本開示の1つの実施形態によるユーザインターフェースをディスプレイにレンダリングするクライアント装置の一実施例の図面である。 本開示の種々の実施形態によるネットワーク構成環境の図面である。 本開示の種々の実施形態による図2のネットワーク構成環境のコンピューティング環境内で実行されるアプリケーションマーケットプレイスシステムの一部として実行される機能の一実施例を示すフローチャートである。 本開示の種々の実施形態による図2のネットワーク構成環境のコンピューティング環境内で実行されるセキュリティ検証サービスの一部として実行される機能の一実施例を示すフローチャートである。 本開示の種々の実施形態による図2のネットワーク構成環境に用いられるコンピューティング環境を表わす1つの実施例を与える模式ブロック図である。 本開示の種々の実施形態による図2のネットワーク構成環境に用いられるクライアント装置を表わす1つの実施例を与える模式ブロック図である。
本開示の多くの態様は、以下の図面を参照することにより一層深く理解することができる。これらの図面に含まれる構成要素群は、必ずしも寸法通りにはなっていないが、その代り、本開示の原理を明確に示すために誇張されている。更に、これらの図面では、同様の参照番号は、対応する構成要素群を、幾つかの図面を通じて指している。
本開示は、移動体用アプリケーションについてのセキュリティ検証に関するものである。顧客は、所定のアプリケーションマーケットプレイスを介して提供されるアプリケーション群が安全であり、かつアプリケーションマーケットプレイスの所有者が、提供アプリケーション群のセキュリティを保証しているという感覚を持っている可能性がある。従って、所有者の関心は、セキュリティ検証を、提供するアプリケーション群について行なうことにある。しかしながら、幾つかのアプリケーションについてのセキュリティ分析は、解決困難な課題である。幾つかのアプリケーションが一体化されていることにより、これらのアプリケーションのコードをこれらのアプリケーション全体について、顧客が使用する前に分析することができるが、他のアプリケーション群は動的アプリケーションである可能性があり、コードの一部はアプリケーションを顧客の端末にインストールした後にダウンロードされる。別の表現をすると、アプリケーションマーケットプレイスの所有者は、後でダウンロードしたコードを、セキュリティリスクについて分析する機会を決して持つことができない。
非限定的な実施例として、トカゲをミキサーに入れて混ぜ合わせるゲームとして現われるアプリケーションが提供される可能性がある。このアプリケーションは、種々のセキュリティ許可を顧客の端末に対して害を及ぼすことなく要求するように見える。しかしながら、一旦、このアプリケーションが顧客の端末で実行されると、アプリケーションは、顧客の知らないうちに、パスワード、クレジットカード番号、及び他の個人情報を収集して送信する不正コードをダウンロードしてバックグランドで実行する虞れがある。この問題に対する1つの単純な解決策では、動的コードを有する如何なるアプリケーションもアプリケーションマーケットプレイスから提供されることがないようにアプリケーションをブロックする。セキュリティリスクを未然に防ぐが、このような解決策では、動的コードを使用することにより開発者に与えられる多くの恩恵を無視することになる。例えば、動的コードを使用すると、より多くのフレキシビリティを開発者に提供することができ、かつ開発者が新製品リリースをより迅速に行なうことができる。動的コードを使用しない場合には、コードの微調整のたびに、開発者は、新バージョンのアプリケーションを提供して、アプリケーションマーケットプレイスに承認されるようにする必要がある。
本開示の種々の実施形態は、セキュリティ検証を動的アプリケーション群に対して行なうアプローチを提供する。動的アプリケーションで取得されるコードが特定される。1つの実施形態では、アプリケーション群は、取得コードを取得データから識別するアプリケーションプログラミングインターフェース(API)を使用して書き込まれる。別の実施形態では、アプリケーション群を動作させて挙動を観測し、そしてサンドボックス実行環境で、取得データが、システムメモリの実行可能コード領域に、またはシステムメモリのデータ領域に格納されるかどうかを追跡する。一旦、取得コードが確認されると、当該コードをセキュリティリスクについて分析することができる、または既に分析されているコードと比較することができる。幾つかの場合では、検出されたセキュリティ問題は、自動的に修復することができる、または当該アプリケーションを無効化する、かつ/またはアプリケーションマーケットプレイスから排除することができる。
図1を参照するに、図示されているのは、1つの実施形態によるユーザインターフェース103をディスプレイ104にレンダリングするクライアント装置100の一実施例である。ユーザインターフェース103は、前述の実施例において説明したトカゲをミキサーに入れて混ぜ合わせるゲームアプリケーションにより生成される。本開示の原理によれば、セキュリティ検証サービスは、個人情報をクライアント装置100から不正に記録しようとしている実行可能コードをゲームアプリケーションが読み込んでしまっていることを検出したところである。その結果、セキュリティ検証サービスは、当該アプリケーションを修正して、セキュリティリスクを無くしてしまっている。ユーザインターフェース103にレンダリングされるユーザインターフェースコンポーネント105は、ユーザに、当該アプリケーションが修正されてセキュリティリスクを解消してしまっていることを通知する。続いて、ユーザは、不正部分が無くなった後に、当該アプリケーションを使用し続けることができる。ユーザインターフェースコンポーネント105が図1の実施例に図示されているが、他の実施例では、当該アプリケーションは、ユーザ通知を行なうことなく、修正する、ブロックする、終了させるなどとすることができる。以下の説明では、システム、及び当該システムのコンポーネントについての概要説明が行なわれ、続いてシステム及びコンポーネントの動作についての説明が行なわれる。
次に、図2を参照するに、図示されているのは、種々の実施形態によるネットワーク構成環境110である。ネットワーク構成環境110は、コンピューティング環境113と、コンピューティング環境116と、データ通信を、ネットワーク119を介して行なう1つ以上のクライアント装置100と、を含む。ネットワーク119は、例えばインターネット、イントラネット、エキストラネット、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、有線ネットワーク、無線ネットワーク、ケーブルネットワーク、衛星ネットワーク、または他の適切なネットワークなどを含む、または2つ以上のこのようなネットワークの任意の組み合わせを含む。
コンピューティング環境113は、例えばサーバコンピュータ、または計算機能を提供する他のいずれかのシステムを備えることができる。別の構成として、コンピューティング環境113は、複数のコンピューティング装置を用いることができ、これらのコンピューティング装置は、例えば1つ以上のサーババンクに、またはコンピュータバンクに、或いは他の機構に配置される。このようなコンピューティング装置は、単一の設置箇所に格納するか、または多くの異なる地理的位置に分散配置することができる。例えば、コンピューティング環境113は、複数のコンピューティング装置を含むことができ、これらのコンピューティング装置は一体となって、ホスト上の利用可能なコンピューティングリソース、グリッドコンピューティングリソース、及び/または他のいずれかの分散コンピューティング機構を構成することができる。幾つかの場合では、コンピューティング環境113は、エラスティックコンピューティングリソースに対応させることができ、この場合、割り当て処理能力、ネットワーク、ストレージ、または他の計算関連リソースは経時的に変わる可能性がある。
種々のアプリケーション、及び/または他の機能は、種々の実施形態によるコンピューティング環境113で実行することができる。また、種々のデータは、コンピューティング環境113にアクセス可能なデータストア122に格納される。データストア122は、図から分かるように、複数のデータストア122を表わすことができる。データストア122に格納されるデータは、例えば以下に説明する種々のアプリケーション及び/または機能エンティティの動作に関連付けられる。
コンピューティング環境113で実行されるコンポーネント群は、例えばアプリケーションマーケットプレイスシステム125、セキュリティ検証サービス128、サンドボックス環境129、及び本明細書において詳細には説明されない他のアプリケーション、サービス、プロセス、システム、エンジン、または機能を含む。アプリケーションマーケットプレイスシステム125が実行されると、アプリケーション群131を複数の開発者から容易に供給することができる。1つの実施形態では、アプリケーションマーケットプレイスシステム125は、本明細書において、所有者(proprietor)と表記される単一のエンティティによって管理される。アプリケーションマーケットプレイスシステム125は、セキュリティ検証サービス128を用いてセキュリティ分析を、アプリケーション群131に対して行なうことができる。セキュリティ検証サービス128で、アプリケーション131が、セキュリティリスクを全く含んでいないことが確認される場合、アプリケーション131をアプリケーションマーケットプレイスシステム125から提供することができる。
セキュリティ検証サービス128を実行してこれらの分析を行なうことができる。この分析を行なうために、セキュリティ検証サービス128は、種々のツールを用いて、アプリケーション131が、セキュリティリスクを含んでいるかどうかを確認することができる。例えば、セキュリティ検証サービス128は、アプリケーション131が、既知の不正サーバと通信しているかどうかを検出することができる、セキュリティ検証サービス128は、アプリケーション131内の既知の不正コードの署名を検出することができる、またはセキュリティ検証サービス128は、既知の挙動または挙動パターンを、不正なアプリケーション131から検出することができる。幾つかの実施形態では、セキュリティ検証サービス128は、他の種類のコンテンツ検査またはコード検査を実施するサードパーティツールを用いることができる。幾つかの実施形態では、セキュリティ検証サービス128は、アプリケーション131を修復して、またはその他には、修正して、検出されるセキュリティリスクを取り除くか、またはその他には、無くすように構成することができる。
アプリケーション131が一体化されている、または内蔵されている場合、セキュリティ分析は比較的簡単に行なうことができる。セキュリティ分析の種々の実施例は、2013年6月25日に出願され、かつ“ANALYZING SECURITY OF APPLICATIONS(アプリケーションのセキュリティ分析)”と題する米国特許出願第13/926,211号に開示されており、この米国特許出願は、本明細書において参照されることにより、当該米国特許出願全体が本明細書に組み込まれる。しかしながら、アプリケーション131が、外部サイトから取得されるコードを読み込む動的アプリケーションである場合、セキュリティ分析は、アプリケーション131のコードが、アプリケーション131がクライアント装置100にダウンロードされた後に変化する可能性があるので一層極めて困難となる。
1つの実施形態では、セキュリティ検証サービス128は、アプリケーション取り込み処理の一部として、アプリケーションインスタンス134をサンドボックス環境129内で実行することができる。サンドボックス環境129は、この状況では、クライアント装置100をエミュレートする仮想化環境に対応させることができる。別の構成として、サンドボックス環境129は、コードの実行を監視し、かつアプリケーションからデータ及び/またはシステムサービスへのアクセスを禁止する実行環境に対応させることができる。サンドボックス環境129は、実行可能コードメモリ137と、データメモリ140と、を含むことができる。アプリケーションインスタンス134が、サンドボックス環境129内で実行されると、セキュリティ検証サービス128は、アプリケーションインスタンス134により外部ネットワークサイト147から取得されて動的に読み込まれるコード143を検出することができる。従って、セキュリティ検証サービス128は、セキュリティ分析を、動的に読み込まれるコード143に対して行なうことができる。コンピューティング環境113に常駐するセキュリティ検証サービス128について説明してきたが、セキュリティ検証サービス128の種々のサービス構成部分は、これらのクライアント装置100においても実行することができることを理解されたい。更に、クライアント装置100においてではなく、セキュリティ検証サービス128の少なくとも1つのサービス構成部分は、ネットワーク119の内部のネットワーク装置、例えばファイアウォール、負荷バランサ、ルータなどにおいて実行してもよい。
データストア122に格納されるデータは、例えばアプリケーションマーケットプレイスデータ150、アプリケーション群131、動的に読み込まれるコードデータ153、前のセキュリティ分析結果157、セキュリティ分析設定データ160、及び場合によっては他のデータを含む。アプリケーションマーケットプレイスデータ150は、アプリケーションマーケットプレイスシステム125の機能をサポートするデータを含み、当該データは、アプリケーション群131からなる複数の提供アプリケーション163を含む。提供アプリケーション群163の各提供アプリケーションは、タイトル、記述、価格、デバイス互換性情報、スクリーンショット、顧客審査、顧客評価、ダウンロード統計、アプリケーション131が要求するデバイス優先度、及び/または他の情報に関連付けることができる。これらの提供アプリケーション163は更に、アプリケーション131のセキュリティ検証レベルの指標値に関連付けることができる。セキュリティ分析により完全には検証することができないアプリケーション群131は、完全に分析されているアプリケーション群131と比較して、相対的に低いセキュリティ検証レベルに関連付けることができる。
アプリケーション群131は、アプリケーションマーケットプレイスシステム125を介して提供されるアプリケーション131を実行するパッケージ群またはコードに対応する。アプリケーション群131は、移動体用アプリケーション、例えばスマートフォン、タブレット、電子ブックリーダなどに搭載されるアプリケーション、またはデスクトップ用アプリケーション、例えば場合によっては、デスクトップコンピュータ、ラップトップコンピュータなどに搭載されるアプリケーションとすることができる。アプリケーション群131は、アプリケーション131のソース、完全性、及び/またはバージョンを検証するために使用することができる署名、指紋、チェックサム、バージョン情報、及び/または他の情報に関連付けることができる。アプリケーション群131は、ネイティブアプリケーションまたは一体型アプリケーション、アプリケーションマーケットプレイスから提供される動的アプリケーション用のコンテナ、顧客から提供される動的アプリケーション用のコンテナ、及び/または他の種類のアプリケーションに対応させることができる。
動的に読み込まれるコードデータ153は、動的に読み込まれるコード143のバージョンの、またはパッケージを含むことができ、これらのコードをセキュリティ検証サービス128が既に処理している。幾つかの実施形態では、動的に読み込まれるコードデータ153は、動的に読み込まれるコード143のソース、完全性、及び/またはバージョンを検証するために使用することができる署名、指紋、チェックサム、バージョン情報、及び/または他の情報を含むことができる。前のセキュリティ分析結果157は、動的に読み込まれる種々のバージョンのコード143に対してセキュリティ検証サービス128によって行なわれた前のセキュリティ分析の結果に対応する。セキュリティ分析設定データ160は、不正コードの検出、不正コードの修復を設定する、かつ/またはセキュリティ検証サービス128によって行なわれる、または開始される他の操作を設定するデータを含むことができる。
コンピューティング環境116は、例えばサーバコンピュータまたは計算機能を提供する他のいずれかのシステムを備えることができる。別の構成として、コンピューティング環境116は、複数のコンピューティング装置を用いることができ、これらのコンピューティング装置は、例えば1つ以上のサーババンクに、またはコンピュータバンクに、或いは他の機構に配置される。このようなコンピューティング装置は、単一の設置箇所に格納するか、または多くの異なる地理的位置に分散配置することができる。例えば、コンピューティング環境116は、複数のコンピューティング装置を含むことができ、これらのコンピューティング装置は一体となって、ホスト上で利用可能なコンピューティングリソース、グリッドコンピューティングリソース、及び/または他のいずれかの分散コンピューティング機構を構成することができる。幾つかの場合では、コンピューティング環境116は、エラスティックコンピューティングリソースに対応させることができ、この場合、割り当て処理能力、ネットワーク、ストレージ、または他の計算関連リソースは経時的に変わる可能性がある。
種々のアプリケーション、及び/または他の機能は、種々の実施形態によるコンピューティング環境116で実行することができる。また、種々のデータは、コンピューティング環境116にアクセス可能なデータストアに格納することができる。コンピューティング環境116で実行されるコンポーネント群は、例えば外部ネットワークサイト147、及び本明細書において詳細には説明されない他のアプリケーション、サービス、プロセス、システム、エンジン、または機能を含む。外部ネットワークサイト147は、アプリケーションマーケットプレイスシステム125の所有者とは異なるエンティティによって動作させられ、かつ動的に読み込まれるコード143を、クライアント装置100及び/またはコンピューティング環境113で実行されているアプリケーション群131のインスタンスに付与するように構成される。外部ネットワークサイト147は、アプリケーション131の開発者によって、またはサードパーティによって動作させることができる。幾つかの場合では、外部ネットワークサイト147は、マルウェアを、動的に読み込まれるコード143を利用して拡散させようとする不正ユーザによって動作させられる、または悪用される可能性がある。
クライアント装置100は、ネットワーク119に接続することができる複数のクライアント装置100を表わしている。クライアント装置100は、例えばコンピュータシステムのようなプロセッサ利用システムを備えることができる。このようなコンピュータシステムは、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末、携帯電話機、スマートフォン、セットトップボックス、ミュージックプレーヤ、ウェブパッド、タブレットコンピュータシステム、ゲームコンソール、電子ブックリーダ、または同様の機能を備える他のデバイスの形態で具体化することができる。クライアント装置100はディスプレイ104を含むことができる。ディスプレイ104は、例えば液晶表示(LCD)ディスプレイ、ガスプラズマ放電を行う方式のフラットパネルディスプレイ、有機発光ダイオード(OLED)ディスプレイ、電気泳動インク(E Ink)を用いた電気泳動ディスプレイ、LCDプロジェクタ、または他の種類のディスプレイ装置などのような1つ以上の装置を備えることができる。
クライアント装置100は、マーケットプレイスクライアントアプリケーション166、サンドボックス環境129、アプリケーションインスタンス134、セキュリティ検証クライアントサービス169、及び/または他のアプリケーションのような種々のアプリケーションを実行するように構成することができる。マーケットプレイスクライアントアプリケーション166は、例えばクライアント装置100内で実行することにより、コンピューティング環境113、116、及び/または他のサーバから与えられるネットワークコンテンツにアクセスして、ユーザインターフェース103をディスプレイ104にレンダリングすることができる。詳細には、マーケットプレイスクライアントアプリケーション166をユーザがクライアント装置100に用いて、アプリケーションマーケットプレイスシステム125と対話する。マーケットプレイスクライアントアプリケーション166は、アプリケーション131の検索、アプリケーション131の購入、アプリケーション131のダウンロード、アプリケーション131のインストール、及び/またはアプリケーションマーケットプレイスシステム125に対する、そしてクライアント装置100に対する他の操作を容易にすることができる。幾つかの場合では、マーケットプレイスクライアントアプリケーション166は、例えばブラウザ、移動体用アプリケーションなどに対応させることができ、ユーザインターフェース103は、ネットワークページ、移動体用アプリケーションスクリーンなどに対応させることができる。
種々の実施形態では、アプリケーションインスタンス群134は、クライアント装置100内で、またはサンドボックス環境129内で別々に実行することができる。サンドボックス環境129を用いて、動的に読み込まれるコード143を監視し、当該コードは、アプリケーションインスタンス群134によってダウンロードされてメモリに読み込まれる。コンピューティング環境113のサンドボックス環境129と同じように、クライアント装置100のサンドボックス環境129は、実行可能コードメモリ137と、データメモリ140と、を含むことができる。クライアント装置100のサンドボックス環境129は、エミュレーション、及び/または仮想化を実現することができる、または実現する必要はなく;実現しない場合には、サンドボックス環境129は単に、アプリケーションインスタンス群134がクライアント装置100のリソース群に直接アクセスするのを防止するレイヤとすることができる。
セキュリティ検証クライアントサービス169は、セキュリティ検証サービス128のクライアント実行部分に対応する。アプリケーションインスタンス群134宛てに動的に読み込まれるコード143は、実行時には変化している可能性があるので、動的に読み込まれるコード143のセキュリティ分析の少なくとも一部をクライアント装置100内で行なうと有利となる。例えば、セキュリティ検証クライアントサービス169は、動的に読み込まれるコード143のバージョンを検証して、前のセキュリティ分析157が確実に行なわれた状態を維持する。セキュリティ検証クライアントサービス169は更に、修復機能を含むことにより、動的に読み込まれるコード143について検出されるあらゆるセキュリティリスクを除去しようとする。幾つかの実施例では、セキュリティ検証クライアントサービス169の少なくとも1つのサービス構成部分を、ネットワーク119内のネットワーク装置により、例えばファイアウォール、負荷バランサ、ルータ、及び/または他の装置により実行することができる。
クライアント装置100は、マーケットプレイスクライアントアプリケーション166、サンドボックス環境129、アプリケーションインスタンス群134、及びセキュリティ検証クライアントサービス169以外のアプリケーション群、例えばブラウザ、移動体用アプリケーション、emailアプリケーション、ソーシャルネットワーキングアプリケーション、及び/または他のアプリケーションを実行するように構成することができる。
次に、ネットワーク構成環境110の種々のコンポーネントの動作についての概要説明を行なう。最初に、開発者または他のユーザは、アプリケーション群131をアプリケーションマーケットプレイスシステム125に供給する。アプリケーションマーケットプレイスシステム125は、提供されて承認されるアプリケーション131の種類を確認することができる。アプリケーション群131がネイティブアプリケーションまたは一体型アプリケーションである場合、セキュリティ検証サービス128は、セキュリティ分析をアプリケーション群131に対して行ない、セキュリティリスクが検出されると、検出されたセキュリティリスクを含むアプリケーション群131を拒否する、修復する、アプリケーション群131にフラグを立てるなどとすることができる。
アプリケーション群131が動的アプリケーションである場合、セキュリティ検証サービス128は、種々のアプローチをセキュリティ分析に適用することができる。第1の一連のアプローチでは、アプリケーション131をサンドボックス環境129内でアプリケーションインスタンス134として実行し、セキュリティ検証サービス128は、アプリケーションインスタンス134が、動的に読み込まれるコード143に外部ネットワークサイト147からアクセスすることを要求している、またはアクセスしようとしているかどうかを監視する。アプリケーションインスタンス134が、動的に読み込まれるコード143にアクセスすることを要求している、またはアクセスしようとしている場合、セキュリティ検証サービス128は、動的に読み込まれるコード143をセキュリティリスクについて分析することができる。
適用可能である場合、セキュリティ検証サービス128は、検出されるセキュリティリスクに対応する問題を修正または修復しようとすることができる。更に、セキュリティ検証サービス128は、セキュリティリスクが検出されると、アプリケーションマーケットプレイスシステム125内のアプリケーション131の提供アプリケーション163を修正する、提供アプリケーション163にフラグを立てる、または提供アプリケーション163を中断することができる。セキュリティ検証サービス128は、動的に読み込まれるコード143のチェックサム、署名、指紋、プロファイルなどを、動的に読み込まれるコードデータ153に格納して、当該コードを将来時点で識別することができるようにする。更に、セキュリティ検証サービス128は、セキュリティ分析の結果を、前のセキュリティ分析結果157に格納することができる。
第2の一連のアプローチでは、動的アプリケーション131は、クライアント装置100にダウンロードしてインストールすることができる。アプリケーション131は、アプリケーションインスタンス134として別々に実行することができる、またはクライアント装置100のサンドボックス環境129内で実行することができる。アプリケーションインスタンス134が、動的に読み込まれるコード143にアクセスすることを要求している、またはアクセスしようとしている場合、セキュリティ検証クライアントサービス169は、動的に読み込まれるコード143をセキュリティリスクについて分析することができる。セキュリティ検証クライアントサービス169は、セキュリティ分析の結果をセキュリティ検証サービス128に報告することができる。
セキュリティ分析をクライアント装置100内で行なうと、プロセッサ利用効率、メモリ利用効率、及び/またはバッテリ消費量の点でコストが比較的高く付いてしまう。幾つかの実施形態では、セキュリティ分析をクライアント装置100内で行なうのではなく、セキュリティ検証クライアントサービス169は、動的に読み込まれるコード143、または動的に読み込まれるコード143のソースに対応するユニフォームリソースロケータ(URL)を、セキュリティ検証サービス128に送信して、分析をコンピューティング環境113内で行なうようにしてもよい。別の構成として、セキュリティ検証クライアントサービス169は、動的に読み込まれるコード143のチェックサム、指紋、署名、または他のバージョン識別子を確認し、次にセキュリティ検証サービス128にクエリを送信して、前のセキュリティ分析157の結果を、利用可能な場合に、確認するようにしてもよい。1つの実施形態では、Certificate pinning(証明書のピン留め)を利用して、外部ネットワークサイト147から取得されるデータの署名を検証することができる。前のセキュリティ分析結果157を利用することができない場合、セキュリティ検証サービス128及び/またはセキュリティ検証クライアントサービス169は、セキュリティ分析を、動的に読み込んで新たに取得されるコード143に対して行なって、これらの結果を次に、前のセキュリティ分析結果157として格納することができる。
セキュリティ検証クライアントサービス169は、修復機能を実行して、セキュリティ検証クライアントサービス169及び/またはセキュリティ検証サービス128で発見されるセキュリティ問題を解決するように構成することができる。セキュリティ検証クライアントサービス169は、動的に読み込まれる攻撃コード143を修復する、置き換える、または消去することにより、セキュリティリスクを無くすことができる。これにより、アプリケーションインスタンス134の動作を停止することになるが、アプリケーションインスタンス134を停止する方が、セキュリティリスクが検出された状態で動作を継続するよりも望ましい。幾つかの場合では、セキュリティ検証クライアントサービス169は、アプリケーションインスタンス134を終了することを選択してもよい。セキュリティリスクが検出される、かつ/または無くなる場合、クライアント装置100のユーザに、これらの結果を通知することができる。
セキュリティリスクを検出して無くす非限定的な実施例として、セキュリティ検証クライアントサービス169は、アプリケーションインスタンス134が、データを、不正ユーザに関連していることが判明しているサイトに対応する“www.malicioususers.site,”に送信しようとしていることを検出することができる。アプリケーションインスタンス134を修復するために、セキュリティ検証クライアントサービス169は、アプリケーションインスタンス134のドメイン名前解決を変更して“NXDOMAIN”とすることにより、ドメイン名前解決が不正サイトの実際のネットワークアドレスで行なわれるのを防止することができる。別の構成として、クライアント装置100のファイアウォールルールは、ドメイン名前に関連するネットワークホストとの通信をブロックするように設定することができる。攻撃を行なうネットワークホストとの通信をブロックすることにより、アプリケーションインスタンス134のエンドユーザ機能に影響を与える場合もあるし、または影響を与えない場合もあるが、セキュリティリスクは無くすことができる。
アプリケーションインスタンス134が、動的に読み込まれるコード143にアクセスしようとしているかどうかの判断は、幾つかの方法で行なうことができる。例えば、アプリケーションマーケットプレイスシステム125は、リモートデータを取得するアプリケーション群131が、特定のアプリケーションプログラミングインターフェース(API)コールを、アプリケーションマーケットプレイスシステム125から提供される条件として使用するように要求することができる。この条件を強制的に適用するために、セキュリティ検証サービス128は、アプリケーション131が、外部ネットワークサイト147に、特定のAPIコールを使用することなくコンタクトするように設定されているかどうかを検出し、そのように設定されている場合、アプリケーション131の承認を拒否する。これらのAPIコールは、単なるデータを取得する処理を、動的に読み込まれるコード143を含むデータを取得する処理から識別することができる。アプリケーションインスタンス134が実行時に、コードのAPIコールを行なう場合、セキュリティ検証クライアントサービス169及び/またはセキュリティ検証サービス128は、次にセキュリティ分析を、動的に読み込まれて取得されるコード143に対して行なうように設定することができる。
更に、セキュリティ検証サービス128及び/またはセキュリティ検証クライアントサービス169は、データが、データメモリ140ではなく、実行可能コードメモリ137に読み込まれる時点を検出するように設定することができる。例えば、セキュリティ検証サービス128及び/またはセキュリティ検証クライアントサービス169は、アプリケーション131によりネットワーク119を経由して、サンドボックス環境129を使用することによりダウンロードされるデータを追跡して当該データにラベリングすることができる。データメモリ140に読み込まれるデータが禁止されて非実行可能データとなるのに対し、実行可能コードメモリ137に読み込まれるデータは実行することができる。検出は、サンドボックス環境129を使用することにより行なうことができ、サンドボックス環境129は、ダウンロードされるデータの読み込み先がいずれのメモリ領域であるかを追跡するように構成することができる。データが実行可能コードメモリ137にアプリケーションインスタンス134により読み込まれると、セキュリティ検証サービス128及び/またはセキュリティ検証クライアントサービス169は、セキュリティ分析を当該データに対して行なうことができる。1つの実施形態では、アプリケーション131は、サンドボックス環境129によって、実行可能コードをメモリに、特定のAPIコール以外で読み込むことが禁止される。
幾つかの場合では、コードは、ダウンロードされたデータを分析することにより検出することができる。しかしながら、殆どの方法はアーキテクチャ固有である。例えば、特定の分析は、x86コード、ARMコード、ハイパーテキストマークアップ言語(HTML)5コードなどを検出するために行なうことができる。
別の実施形態では、クライアント装置100のサンドボックス環境129は、全ての外部データ要求をルーティングするように構成することができる、またはセキュリティ検証サービス128から提供されるプロキシサービスでアプリケーションインスタンス134により行なわれる要求であって、動的に読み込まれるコード143に対する要求として特定される外部データ要求をルーティングするように構成することができる。従って、セキュリティ分析は、セキュリティ検証サービス128により、クライアント装置100内で行なうのではなく、コンピューティング環境113内のサーバ側に対して行なうことができる。これらのデータ要求をプロキシすることにより、種々の利点をもたらすことができ、これらの利点として、動的に読み込まれるコード143を動的に読み込まれるコードデータ153にキャッシュすることができること、及びダウンロード速度を高速化することができることを挙げることができる。
セキュリティ分析の結果から、セキュリティ検証サービス128及び/またはセキュリティ検証クライアントサービス169により開始される操作を指示することができる。幾つかの場合では、検出されるセキュリティリスクの重要度は変わる可能性がある。リスクが低い場合、アプリケーションマーケットプレイスシステム125は、当該アプリケーションを完全に除去するのではなく、単にアプリケーション131の提供アプリケーション163にフラグを立てるだけである。幾つかの場合では、アプリケーション131の優先レベルは、アプリケーション131に対して行なわれるセキュリティ分析のセキュリティレベル、及び/またはアプリケーション131に検出されるセキュリティリスクレベルに基づいて指定することができる。優先レベルにより、いずれの優先度をクライアント装置100のアプリケーションインスタンス134に付与するかについて設定することができる。
幾つかの場合では、アプリケーションマーケットプレイスシステム125の所有者は、特定のアプリケーション群131またはアプリケーション群131のベンダー群をホワイトリストに登録して、セキュリティ分析を行なわないで済ませるように選択を行なうことができる。このようなアプリケーション群131またはアプリケーション群131のベンダー群は、所有者に信頼されて、追加のセキュリティ分析が、アプリケーションマーケットプレイスシステム125の支援を受けて、不必要であると見なされるようになる。このようなアプリケーション群131には、認証の署名を付与することができ、そして署名を検証してソースを確認することができる。
次に、図3を参照するに、図示されているのは、種々の実施形態によるアプリケーションマーケットプレイスシステム125の一部の動作の一実施例を提供するフローチャートである。図3のフローチャートは、多くの異なる種類の機能配置の一実施例を示しているに過ぎず、これらの機能配置を行なって、本明細書において記載されるアプリケーションマーケットプレイスシステム125の一部の動作を実行することができることを理解されたい。別の構成として、図3のフローチャートは、1つ以上の実施形態によるコンピューティング環境113(図2)において実行される方法のステップ群の一実施例を図示しているものとして見ることができる。
ボックス303から始まって、アプリケーションマーケットプレイスシステム125は、アプリケーション131(図2)を受信する。アプリケーション131は、開発者またはユーザによりアップロードすることができる。別の構成として、アプリケーション131は、データストア122(図2)に、アプリケーションマーケットプレイスシステム125の所有者によってダウンロードすることができる。ボックス306では、アプリケーションマーケットプレイスシステム125は、アプリケーション131の種類、アプリケーション131がネイティブ/スタンドアローンアプリケーション131または動的アプリケーション131であるかどうかを確認する。例えば、アプリケーションマーケットプレイスシステム125は、セキュリティ検証サービス128(図2)を用いて、アプリケーション131が、動的に読み込まれるコード143(図2)のダウンロードに関連するAPIコールを行なうかどうかを確認することができる。
ボックス309では、アプリケーションマーケットプレイスシステム125は、アプリケーション131が動的アプリケーション131であるかどうかを確認する。動的アプリケーション131が、開発者により行なわれるような、自己宣言アプリケーションとすることができる、またはアプリケーション131は、クライアント装置100からのアプリケーション実行時の挙動の報告により、API分析により、アプリケーションをサンドボックス環境129(図2)内で実行することにより、または別のアプローチにより動的アプリケーションであることを確認することができる。アプリケーション131が動的アプリケーション131である場合、アプリケーションマーケットプレイスシステム125は、動作を継続してボックス312に進み、そして動的アプリケーションセキュリティ分析アプローチを用いる。
このアプローチでは、アプリケーション131がアプリケーションマーケットプレイスシステム125に、当該アプリケーションの挙動がコード更新とともに変化している可能性があるときに受け入れられた後に、検証手順を継続することができる。動的アプリケーションセキュリティ分析アプローチでは更に、動的アプリケーション群131が通常、セキュリティリスクについて分析される可能性があるコンテナのような所定のネイティブコードを含んでいるので、セキュリティ分析を、ネイティブアプリケーションセキュリティ分析アプローチにより行なうことができる。その後、アプリケーションマーケットプレイスシステム125は動作を継続してボックス315に進む。アプリケーション131が動的アプリケーション131ではない場合、アプリケーションマーケットプレイスシステム125は、動作を継続してボックス309からボックス318に進み、そしてネイティブアプリケーションセキュリティ分析アプローチを用いる。次に、アプリケーションマーケットプレイスシステム125は、動作を継続してボックス315に進む。
ボックス315では、アプリケーションマーケットプレイスシステム125は、アプリケーションの提供アプリケーション163(図2)を、セキュリティ分析結果に少なくとも部分的に基づいて、生成する、修正する、または除去する。例えば、セキュリティリスクを持たないことが検証されたアプリケーション131は、アプリケーションマーケットプレイスに追加することができる。別の構成として、セキュリティリスクを含んでいることが確認されるアプリケーション131は、修正可能な場合に、修正することによりセキュリティリスクを除去することができる、またはアプリケーションマーケットプレイスから完全に除去することができる。幾つかの場合では、提供アプリケーション163は、セキュリティ問題が生じている可能性があることを示すフラグに関連付けることができる。1つの実施形態では、提供アプリケーション163にフラグを立てて、当該提供アプリケーションが、更に別の検証手順を受ける動的アプリケーション131であることを通知することができる。このようなフラグは、テキスト警告、アイコン、及び/または他の証印を含むことができる。提供アプリケーション163は、アプリケーション131に許可される優先レベルを、既に行なわれているセキュリティ検証のレベルに少なくとも部分的に基づいて通知することができる。その後、アプリケーションマーケットプレイスシステム125の一部が終了する。
図4に移って図4を参照するに、図示されているのは、種々の実施形態によるセキュリティ検証サービス128の一部の動作の一実施例を提供するフローチャートである。図4のフローチャートは、多くの異なる種類の機能配置の一実施例を示しているに過ぎず、これらの機能配置を用いて、本明細書において記載されるセキュリティ検証サービス128の一部の動作を実行することができることを理解されたい。別の構成として、図4のフローチャートは、1つ以上の実施形態によるコンピューティング環境113(図2)において実行される方法のステップ群の一実施例を図示しているものとして見ることができる。図4に示すタスク群の幾つかのタスク、または全てのタスクは、セキュリティ検証クライアントサービス169(図2)により、クライアント装置100(図1)内で、代わりに実行するか、または追加で実行することができる。
ボックス403から始まって、セキュリティ検証サービス128は、アプリケーション131(図2)をアプリケーションインスタンス134(図2)として実行する。ボックス406では、セキュリティ検証サービス128は、アプリケーション131が、動的に読み込まれるコード143(図2)に、実行時にアクセスしていることを確認する。例えば、アプリケーション131は、動的コード使用に対応するAPIコールを行なうことができる、アプリケーション131は、ダウンロードデータを実行可能コードメモリ137に読み込むことができる、アプリケーション131は、認識可能な実行可能コードを含むデータをダウンロードすることができるなどである。
ボックス409では、セキュリティ検証サービス128は、外部ネットワークサイト147(図2)から要求されて動的に読み込まれるコード143を取得する。1つの実施形態では、セキュリティ検証サービス128は、動的に読み込まれるコード143に対する要求を、クライアント装置100に代わってプロキシすることができる。別の実施形態では、セキュリティ検証サービス128は、動的に読み込まれるコード143に対する外部ネットワークサイト147からの当該サービス固有の要求を開始することができる。更に別の実施形態では、セキュリティ検証クライアントサービス169は実際に、動的に読み込まれるコード143を外部ネットワークサイト147から取得することができ、しかも次に、バージョン識別子をセキュリティ検証サービス128に送信することができる。
ボックス412では、セキュリティ検証サービス128は、動的に読み込まれるコード143のバージョンを確認する。例えば、セキュリティ検証サービス128は、動的に読み込まれるコード143に関連する指紋、コード署名、チェックサムなどを確認することができる。ボックス415では、セキュリティ検証サービス128は、前のセキュリティ分析157(図2)が、動的に読み込まれるコード143のバージョンについて行なわれているかどうかを確認する。例えば、セキュリティ検証サービス128は、動的に読み込まれるコード143の指紋を、前に分析されたコードに関連する動的に読み込まれるコードデータ153(図2)に含まれる指紋ライブラリと比較することができる。前のセキュリティ分析157が行なわれている場合、セキュリティ検証サービス128は、ボックス415からボックス418に移動して、前のセキュリティ分析157の結果を、データストア122(図2)から取得する。次に、セキュリティ検証サービス128は、動作を継続してボックス421に進む。前のセキュリティ分析157が特定のバージョンについて行なわれていない場合、セキュリティ検証サービス128は、ボックス415からボックス418に移動するのではなく、ボックス415からボックス424に移動して、セキュリティ分析を、動的に読み込まれるコード143に対して行なう。幾つかの実施形態では、セキュリティ検証サービス128は、セキュリティ分析の結果をクライアント装置100から受信することができる。セキュリティ検証サービス128は、動作を継続してボックス421に進む。
ボックス421では、セキュリティ検証サービス128は、セキュリティリスクが、動的に読み込まれる所定バージョンのコード143について検出されるかどうかを確認する。セキュリティリスクが検出されない場合、アプリケーション131は問題がないことが検証されて、アプリケーション131を実行し続けることができる。その後、セキュリティ検証サービス128は終了する。セキュリティリスクが検出される場合、セキュリティ検証サービス128は、ボックス421からボックス427に進んで、1つ以上の操作をセキュリティリスクが検出されると開始する。セキュリティ分析の結果は、アプリケーションマーケットプレイスに関連するエンティティに送信することができる。例えば、セキュリティ検証サービス128は、アプリケーションマーケットプレイスのアプリケーション131の提供アプリケーション163(図2)を修正する、提供アプリケーション163にフラグを立てる、または提供アプリケーション163を除去することができる。
セキュリティ検証サービス128は、アプリケーション131を修復または修正して、セキュリティリスクを無くすことができる。セキュリティ検証サービス128は、クライアント装置100に指示して、アプリケーション131の実行を終了させる、かつ/またはアプリケーション131をアンインストールさせることができる。幾つかの場合では、セキュリティ検証サービス128は、サンドボックス環境129の構成を変更して、セキュリティリスクを無くすことができる。例えば、ネットワークフィルタリングルールを更新して、サンドボックス環境129の不正ネットワークサイトへのトラフィックをブロックすることができる、またはアプリケーション131にサンドボックス環境129を介してアクセス可能なコンタクトを、ダミーコンタクトに置き換えることができる。その後、セキュリティ検証サービス128の一部が終了する。
図5を参照するに、図示されているのは、本開示の1つの実施形態によるコンピューティング環境113の模式ブロック図である。コンピューティング環境113は、1つ以上のコンピューティング装置500を含む。各コンピューティング装置500は、少なくとも1つのプロセッサ回路を含み、当該プロセッサ回路は、例えばプロセッサ503と、メモリ506と、を有し、プロセッサ503及びメモリ506は共に、ローカルインターフェース509に接続される。この構成を実現するために、各コンピューティング装置500は、例えば少なくとも1つのサーバコンピュータまたは同様の装置を備えることができる。ローカルインターフェース509は、図から分かるように、例えばアドレス/制御バスまたは他のバス構造が付随したデータバスを備えることができる。
メモリ506に格納されているのは、プロセッサ503で実行可能なデータ及び幾つかのコンポーネントの両方である。詳細には、メモリ506に格納され、かつプロセッサ503で実行することができるのは、セキュリティ検証サービス128、アプリケーションマーケットプレイスシステム125、サンドボックス環境129、及び場合によっては、他のアプリケーションである。更に、メモリ506に格納されているのは、データストア122及び他のデータとすることができる。更に、オペレーティングシステムをメモリ506に格納して、プロセッサ503で実行することができる。
図6を参照するに、図示されているのは、本開示の1つの実施形態によるクライアント装置100の模式ブロック図である。クライアント装置100は、少なくとも1つのプロセッサ回路を含み、当該プロセッサ回路は、例えばプロセッサ603と、メモリ606と、を有し、プロセッサ603及びメモリ606は共に、ローカルインターフェース609に接続される。ローカルインターフェース609は、図から分かるように、例えばアドレス/制御バスまたは他のバス構造が付随したデータバスを備えることができる。ディスプレイ104が更に、ローカルインターフェース609に接続される。
メモリ606に格納されているのは、プロセッサ603で実行可能なデータ及び幾つかのコンポーネントの両方である。詳細には、メモリ606に格納され、かつプロセッサ603で実行することができるのは、マーケットプレイスクライアントアプリケーション166、サンドボックス環境129、アプリケーションインスタンス134、セキュリティ検証クライアントサービス169、及び場合によっては、他のアプリケーションである。更に、メモリ606に格納されているのは、データストア及び他のデータとすることができる。更に、オペレーティングシステムをメモリ606に格納して、プロセッサ603で実行することができる。
次に、図5及び図6の両方を参照するに、図から分かるように、メモリ506、606に格納され、かつそれぞれのプロセッサ503、603で実行することができる他のアプリケーションを設けることができることを理解されたい。本明細書において説明されるいずれのコンポーネントも、ソフトウェア構成で実現される場合、複数のプログラミング言語のうちのいずれか1つのプログラミング言語を用いることができ、これらのプログラミング言語として、例えばC、C++、C#、Objective C、Java(登録商標)、JavaScript(登録商標)、Perl、PHP、Visual Basic(登録商標)、Python(登録商標)、Ruby、Flash(登録商標)、または他のプログラミング言語を挙げることができる。
複数のソフトウェアコンポーネントは、メモリ506、606に格納され、かつそれぞれのプロセッサ503、603で実行することができる。この点に関して、“executable(実行可能な)”という用語は、最終的にプロセッサ503、603で実行することができる構成のプログラムファイルを意味している。実行可能プログラムの実施例として、例えばメモリ506、606のランダムアクセス部分に読み込むことができ、かつプロセッサ503、603で実行することができるフォーマットの機械コードに変換することができるコンパイルプログラム、メモリ506、606のランダムアクセス部分に読み込むことができ、かつプロセッサ503、603で実行することができるオブジェクトコードのような正しいフォーマットで表現することができるソースコード、または別の実行可能プログラムにより解釈されて命令群を、プロセッサ503、603で実行されることになるメモリ506、606のランダムアクセス部分に生成することができるソースコードなどを挙げることができる。実行可能プログラムは、メモリ506、606のいずれかの部分またはコンポーネントに格納することができ、これらのメモリとして、例えばランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、ハードドライブ、固体ドライブ、USBフラッシュドライブ、メモリカード、コンパクトディスク(CD)またはデジタル多用途ディスク(DVD)のような光ディスク、フロッピー(登録商標)ディスク、磁気テープ、または他のメモリコンポーネントを挙げることができる。
メモリ506、606は、本明細書において、揮発性メモリ及び不揮発性メモリの両方のメモリ、及びデータストレージコンポーネントを含むものとして定義される。揮発性コンポーネントは、データ値を電源遮断時に保持しないコンポーネントである。不揮発性コンポーネントは、データを電源遮断時に保持するコンポーネントである。従って、メモリ506、606は、例えばランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、ハードディスクドライブ、固体ドライブ、USBフラッシュドライブ、メモリカードリーダでアクセス可能なメモリカード、接続先のフロッピーディスクドライブでアクセス可能なフロッピーディスク、光ディスクドライブでアクセス可能な光ディスク、適切なテープドライブでアクセス可能な磁気テープ、及び/または他のメモリコンポーネント、またはこれらのメモリコンポーネントのうちのいずれか2つ以上のメモリコンポーネントの組み合わせを含むことができる。更に、RAMは、例えばスタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、または磁気ランダムアクセスメモリ(MRAM)、及び他のこのようなメモリ装置を含むことができる。ROMは、例えばプログラマブルリードオンリメモリ(PROM)、消去可能なプログラマブルリードオンリメモリ(EPROM)、電気的消去可能なプログラマブルリードオンリメモリ(EEPROM)、または他の同様なメモリ装置を含むことができる。
また、プロセッサ503、603はそれぞれ、複数のプロセッサ503、603及び/または複数のプロセッサコアを表わすことができ、メモリ506、606はそれぞれ、処理回路群をそれぞれ同時に動作させる複数のメモリ506、606を表わすことができる。このような場合、ローカルインターフェース509、609は、複数のプロセッサ503、603のいずれか2つのプロセッサの間、いずれかのプロセッサ503、603とメモリ506、606のいずれかのメモリとの間、またはメモリ506、606のいずれか2つのメモリの間などの通信を容易にする適切なネットワークとすることができる。ローカルインターフェース509、609は、この通信を調整するように設計される更に別のシステムを備えることができ、これらのシステムは、例えば負荷バランスを実行する。プロセッサ503、603は、電気的構成とする、または他の所定の利用可能な構成とすることができる。
本明細書において記載されるセキュリティ検証サービス128、アプリケーションマーケットプレイスシステム125、サンドボックス環境129、マーケットプレイスクライアントアプリケーション166、アプリケーションインスタンス134、セキュリティ検証クライアントサービス169、及び他の種々のシステムは、ソフトウェアで具体化することができる、または上に説明した汎用ハードウェアで実行されるコードとすることができるが、別の構成として、これらの同じ構成要素は、専用ハードウェアで、またはソフトウェア/汎用ハードウェア及び専用ハードウェアの組み合わせで具体化することもできる。専用ハードウェアで具体化される場合、各構成要素は、複数の技術のいずれか1つの技術、または複数の技術の組み合わせを用いる回路またはステートマシンとして実現することができる。これらの技術は、これらには限定されないが、種々の論理機能を1つ以上のデータ信号が印加されると実行する論理ゲートを有する個別論理回路、適切な論理ゲートを有する特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他のコンポーネントなどを含むことができる。このような技術は、この技術分野の当業者に広く知られているので、ここで詳細に説明することはしない。
図3及び図4のフローチャートは、アプリケーションマーケットプレイスシステム125及びセキュリティ検証サービス128の種々の構成部分の実施形態の機能及び動作を示している。ソフトウェアで具体化される場合、各ブロックは、モジュール、セグメントを表わすか、または指定される論理機能(群)を実行するプログラム命令群を含むコード部分を表わすことができる。プログラム命令群は、プログラミング言語で記述されるヒューマン可読命令文を含むソースコードの形式、またはコンピュータシステムまたは他のシステムのプロセッサ503、603のような適切な実行システムが認識可能な数値命令を含む機械コードの形式で具体化することができる。機械コードは、ソースコードなどから変換することができる。ハードウェアで具体化される場合、各ブロックは、指定される論理機能(群)を実行する回路または複数の相互接続回路を表わすことができる。
図3及び図4のフローチャートは、特定の実行順序を示しているが、この実行順序は、図示の実行順序と異なっていてもよいことを理解されたい。例えば、2つ以上のブロックの実行順序は、図示の順序をごちゃ混ぜにしたものとしてもよい。また、図3及び図4に連続して図示される2つ以上のブロックは、同時に実行してもよい、または一部を同時に実行してもよい。更に、幾つかの実施形態では、図3及び図4に示すブロック群のうちの1つ以上のブロックは、飛ばしてもよい、または省略してもよい。更に、任意の数のカウンタ、状態変数、警告セマフォ、またはメッセージを、本明細書において記載される論理フローに追加して、可用性改善、会計処理、性能測定、またはトラブルシューティング支援などを行なう。このような変更は、本開示の範囲に含まれることを理解されたい。
また、セキュリティ検証サービス128、アプリケーションマーケットプレイスシステム125、サンドボックス環境129、マーケットプレイスクライアントアプリケーション166、アプリケーションインスタンス134、及びセキュリティ検証クライアントサービス169を含み、かつソフトウェアまたはコードを含む本明細書に記載の任意のロジックまたはアプリケーションは、例えばコンピュータシステムまたは他のシステムのプロセッサ503、603のような命令実行システムにより使用される、または命令実行システムに接続される任意の非一時的なコンピュータ可読媒体で具体化することができる。この意味において、ロジックは、例えばコンピュータ可読媒体からフェッチすることができ、かつ命令実行システムにより実行することができる命令及び宣言を含む命令文を含むことができる。本開示の状況では、“computer−readable medium(コンピュータ可読媒体)”とは、命令実行システムにより使用される、または命令実行システムに接続され、かつ本明細書において記載されるロジックまたはアプリケーションを収容する、格納する、または保持することができる任意の媒体とすることができる。
コンピュータ可読媒体は、例えば磁気媒体、光媒体、または半導体媒体のような多くの物理媒体のうちのいずれか1つの媒体を含むことができる。適切なコンピュータ可読媒体の更に具体的な実施例として、これらには限定されないが、磁気テープ、磁気フロッピーディスケット、磁気ハードドライブ、メモリカード、固体ドライブ、USBフラッシュドライブ、または光ディスクを挙げることができる。また、コンピュータ可読媒体は、例えばスタティックランダムアクセスメモリ(SRAM)、及びダイナミックランダムアクセスメモリ(DRAM)、または磁気ランダムアクセスメモリ(MRAM)を含むランダムアクセスメモリ(RAM)とすることができる。更に、コンピュータ可読媒体は、リードオンリメモリ(ROM)、プログラマブルリードオンリメモリ(PROM)、消去可能なプログラマブルリードオンリメモリ(EPROM)、電気的消去可能なプログラマブルリードオンリメモリ(EEPROM)、または他の種類のメモリ装置とすることができる。
本開示の種々の実施形態は、以下の条項に記載することができる:
条項1.
少なくとも1つのコンピューティング装置で実行することができるプログラムを具体化する非一時的なコンピュータ可読記憶媒体であって:
アプリケーションのインスタンスをサンドボックス環境内で実行するコードであって、前記アプリケーションが、アプリケーションマーケットプレイスから受信される、前記実行するコードと;
前記アプリケーションの前記インスタンスの実行時に、前記アプリケーションの前記インスタンスが、動的に読み込まれるコードにアクセスしようとしているかどうかを確認するコードであって、前記確認するコードが:
前記アプリケーションの前記インスタンスが、特定のアプリケーションプログラミングインターフェース(API)コールを行なって、実行可能コードをネットワークサイトから取得しようとしているかどうかを確認するコードであって、前記アプリケーションの前記インスタンスが、前記実行可能コードを前記特定のAPIコール以外のコールで取得することが禁止される、前記確認するコード;
前記アプリケーションの前記インスタンスが、ダウンロードデータを前記サンドボックス環境内のメモリ実行可能領域に読み込んでいるかどうかを確認するコード;または
前記アプリケーションの前記インスタンスが、認識可能な実行可能コードを含むダウンロードデータを有しているかどうかについて確認するコードのうちの少なくとも1つのコードを含む、前記確認するコードと;
前記アプリケーションの前記インスタンスが、動的に読み込まれる前記コードにアクセスしようとしていることが確認されると、セキュリティ分析を動的に読み込まれる前記コードに対して行なうコードと;
前記セキュリティ分析の結果を、前記アプリケーションマーケットプレイスに関連するエンティティに送信するコードと;
前記セキュリティ分析で検出されるセキュリティリスクを無くす操作を開始するコードと、を備える、非一時的なコンピュータ可読記憶媒体。
条項2.
前記操作では、前記アプリケーションマーケットプレイスの前記アプリケーションの提供アプリケーションを修正する、条項1に記載の非一時的なコンピュータ可読記憶媒体。
条項3.
前記少なくとも1つのコンピューティング装置はクライアント装置に対応する、条項1または2に記載の非一時的なコンピュータ可読記憶媒体。
条項4.
前記セキュリティ分析を行なう前記コードは更に、動的に読み込まれる前記コードに対する前のセキュリティ分析の結果を前記アプリケーションマーケットプレイスから受信するコードを含む、条項1乃至3に記載の非一時的なコンピュータ可読記憶媒体。
条項5.
少なくとも1つのコンピューティング装置と;
前記少なくとも1つのコンピューティング装置内で実行することができるセキュリティ検証サービスと、を備え、前記セキュリティ検証サービスは:
アプリケーションのインスタンスを実行するロジックであって、前記アプリケーションが、アプリケーションマーケットプレイスの中から提供される、前記実行するロジックと;
前記アプリケーションの前記インスタンスの実行時に、前記アプリケーションの前記インスタンスが、動的に読み込まれるコードにネットワークサイトからアクセスしようとしていることを確認するロジックと;
前記アプリケーションの前記インスタンスが、動的に読み込まれる前記コードにアクセスしようとしていることが確認されると、セキュリティ分析を動的に読み込まれる前記コードに対して行なうロジックと;
前記セキュリティ分析の結果を、前記アプリケーションマーケットプレイスに送信するロジックと、を含む、システム。
条項6.
前記アプリケーションの前記インスタンスの実行時に、前記アプリケーションの前記インスタンスが、動的に読み込まれる前記コードに前記ネットワークサイトからアクセスしようとしていることを確認する前記ロジックは更に:
前記アプリケーションの前記インスタンスが、特定のアプリケーションプログラミングインターフェース(API)コールを行なっていることを確認するロジックを含み、前記アプリケーションの前記インスタンスは、動的に読み込まれる前記コードを前記特定のAPIコール以外のコールで取得することが禁止される、条項5に記載のシステム。
条項7.
前記アプリケーションの前記インスタンスの実行時に、前記アプリケーションの前記インスタンスが、動的に読み込まれる前記コードに前記ネットワークサイトからアクセスしようとしていることを確認する前記ロジックは更に:
前記アプリケーションの前記インスタンスが前記ネットワークサイトからダウンロードするデータを追跡して、前記データが実行可能コードを含んでいることを確認するロジックを含む、条項5または6に記載のシステム。
条項8.
前記セキュリティ分析を行なう前記分析ロジックは:
前のセキュリティ分析が既に、動的に読み込まれる前記コードに対して行なわれているかどうかを確認し;そして
前記前のセキュリティ分析が既に行なわれている場合に、前記前のセキュリティ分析を、前記セキュリティ分析として利用するように構成される、条項5乃至7に記載のシステム。
条項9.
前記前のセキュリティ分析が既に行なわれているかどうかを確認する際に更に:
動的に読み込まれる前記コードの指紋を確認し;そして
前記指紋を、動的に読み込まれるコードに対する複数の前のセキュリティ分析に関連する指紋ライブラリと比較する、条項4に記載のシステム。
条項10.
前記セキュリティ検証サービスは更に、セキュリティリスクが前記セキュリティ分析で特定されると、前記アプリケーションの前記インスタンスを終了させるロジック、または動的に読み込まれる前記コードが、前記アプリケーションの前記インスタンスによって読み込まれるのを防止するロジックを含む、条項5乃至9に記載のシステム。
条項11.
前記セキュリティ検証サービスは更に、動的に読み込まれる前記コードを修正して、前記セキュリティ分析で特定されるセキュリティリスクを無くすロジックを含む、条項5乃至10に記載のシステム。
条項12.
前記セキュリティ検証サービスは更に、セキュリティリスクが前記セキュリティ分析で特定されない場合に、前記アプリケーションの前記インスタンスに許可して、動的に読み込まれる前記コードを実行させるロジックを含む、条項5乃至11に記載のシステム。
条項13.
前記セキュリティ検証サービスは更に、前記アプリケーションマーケットプレイスの中から提供される前記アプリケーションの提供アプリケーションを無効化する、または前記提供アプリケーションにフラグを立てるロジックを含む、条項5乃至12に記載のシステム。
条項14.
前記アプリケーションの前記インスタンスは、移動体通信端末装置内で、前記実行するロジックによって実行される、条項5乃至13に記載のシステム。
条項15.
前記アプリケーションの前記インスタンスは、サーバ環境内で、前記実行するロジックによって実行され、前記サーバ環境は、前記アプリケーションマーケットプレイスに代わって動作する、条項5乃至14に記載のシステム。
条項16.
少なくとも1つのコンピューティング装置によって、アプリケーションのプロバイダから受信するアプリケーションのインスタンスをサンドボックス環境内で実行し;
前記少なくとも1つのコンピューティング装置によって、前記アプリケーションの前記インスタンスが、ネットワークサイトからダウンロードしたデータを有していることを確認し;
前記少なくとも1つのコンピューティング装置によって、前記ダウンロードデータが、実行可能コードを含んでいるかどうかを確認し、前記確認する際に:
前記アプリケーションの前記インスタンスが、前記ダウンロードデータの少なくとも一部を、前記サンドボックス環境内のメモリの実行可能領域に既に読み込んでいるかどうかを確認する;または
前記アプリケーションの前記インスタンスが、特定のアプリケーションプログラミングインターフェース(API)コールを行なって、前記ダウンロードデータを既に取得しているかどうかを確認して、前記アプリケーションの前記インスタンスが、前記実行可能コードを前記特定のAPIコール以外のコールで取得することを禁止されるようにし;
前記ダウンロードデータが前記実行可能データを含んでいることが確認されると、前記少なくとも1つのコンピューティング装置によって、セキュリティ分析を前記ダウンロードデータの少なくとも一部に対して行ない;そして
前記少なくとも1つのコンピューティング装置から、前記セキュリティ分析の結果を前記アプリケーションの前記プロバイダに送信する、方法。
条項17.
更に:
前記少なくとも1つのコンピューティング装置によって、前記ダウンロードデータの少なくとも一部に関連するコード署名を確認し;そして
前記少なくとも1つのコンピューティング装置によって、前記コード署名に対応する前のセキュリティ分析の結果を受信する、条項11に記載の方法。
条項18.
前記アプリケーションの前記プロバイダはアプリケーションマーケットプレイスであり、前記アプリケーションマーケットプレイス及び前記ネットワークサイトは、異なるエンティティによって制御される、条項16または17に記載の方法。
条項19.
更に:
前記セキュリティ分析が行なわれると、前記少なくとも1つのコンピューティング装置によって、前記ダウンロードデータの前記少なくとも一部を修正してセキュリティリスクを無くす;または
前記セキュリティ分析が行なわれると、前記少なくとも1つのコンピューティング装置によって、前記サンドボックス環境の構成を変更して、前記セキュリティリスクを無くす、条項16乃至18に記載の方法。
条項20.
動的アプリケーション通知を前記アプリケーションの前記プロバイダから受信して、前記動的アプリケーション通知が前記アプリケーションに関連付けられると、前記アプリケーションの前記インスタンスを前記サンドボックス環境内で実行する、条項16乃至19に記載の方法。
上に説明した本開示の種々の実施形態は、本開示の原理を明確に理解するために開示される種々の実施形態の適用可能な実施例に過ぎないことを強く認識されたい。多くの変更及び変形は、上に説明した実施形態(群)に対して、本開示の思想及び原理から大きく逸脱しない限り行なうことができる。全てのこのような変形及び変更は、本明細書においては、本開示の範囲に含まれ、かつ以下の請求項により保護されるべきである。

Claims (15)

  1. 少なくとも1つのコンピューティング装置と;
    前記少なくとも1つのコンピューティング装置内で実行することができるセキュリティ検証サービスと、を備え、前記セキュリティ検証サービスは:
    アプリケーションのインスタンスを実行するロジックであって、前記アプリケーションが、アプリケーションマーケットプレイスの中から提供される、前記実行するロジックと;
    前記アプリケーションの前記インスタンスの実行時に、前記アプリケーションの前記インスタンスが、ネットワークサイトから動的にロードされたコードにアクセスしようとしていることを確認するロジックと;
    前記アプリケーションの前記インスタンスが、動的にロードされた前記コードにアクセスしようとしていることが確認されると、セキュリティ分析を動的にロードされた前記コードに対して行なうロジックと;
    前記セキュリティ分析の結果を、前記アプリケーションマーケットプレイスに送信するロジックと、を含む、システム。
  2. 前記アプリケーションの前記インスタンスの実行時に、前記アプリケーションの前記インスタンスが、ネットワークサイトから動的にロードされた前記コードにアクセスしようとしていることを確認する前記ロジックは更に:
    前記アプリケーションの前記インスタンスが、特定のアプリケーションプログラミングインターフェース(API)コールを行なっていることを確認するロジックであって、前記アプリケーションの前記インスタンスが、動的にロードされた前記コードを前記特定のAPIコール以外のコールで取得することが禁止される、前記確認するロジック;
    前記アプリケーションの前記インスタンスが、ダウンロードデータを、サンドボックス環境内のメモリの実行可能領域にロードしているかどうかを確認するロジック;または
    前記アプリケーションの前記インスタンスが、認識可能な実行可能コードを含むダウンロードデータを有しているかどうかを確認するロジックのうちの少なくとも1つのロジックを含む、請求項1に記載のシステム。
  3. 前記アプリケーションの前記インスタンスの実行時に、前記アプリケーションの前記インスタンスが、ネットワークサイトから動的にロードされた前記コードにアクセスしようとしていることを確認する前記ロジックは更に:
    前記アプリケーションの前記インスタンスが前記ネットワークサイトからダウンロードしたデータを追跡して、前記データが実行可能コードを含んでいることを確認するロジックを含む、請求項1に記載のシステム。
  4. 前記セキュリティ分析を行なう分析ロジックは:
    前のセキュリティ分析が既に、動的にロードされた前記コードに対して行なわれているかどうかを確認し;そして
    前記前のセキュリティ分析が既に行なわれている場合に、前記前のセキュリティ分析を、前記セキュリティ分析として利用するように構成される、請求項1に記載のシステム。
  5. 前のセキュリティ分析が既に行なわれているかどうかを確認する際に更に:
    動的にロードされた前記コードの指紋を確認し;そして
    前記指紋を、動的にロードされたコードに対する複数の前のセキュリティ分析に関連する指紋ライブラリと比較する、請求項4に記載のシステム。
  6. 前記セキュリティ検証サービスは更に:
    セキュリティリスクが前記セキュリティ分析で特定されると、前記アプリケーションの前記インスタンスを終了させるロジック、または動的にロードされた前記コードが、前記アプリケーションの前記インスタンスによってロードされるのを防止するロジックと;
    セキュリティリスクが前記セキュリティ分析で特定されない場合に、前記アプリケーションの前記インスタンスに許可して、動的にロードされた前記コードを実行させるロジックと、を含む、請求項1に記載のシステム。
  7. 前記セキュリティ検証サービスは更に、動的にロードされた前記コードを修正して、前記セキュリティ分析で特定されるセキュリティリスクを無くすロジックを含む、請求項1に記載のシステム。
  8. 前記セキュリティ検証サービスは更に、前記アプリケーションマーケットプレイスの中から提供される前記アプリケーションの提供アプリケーションを無効化する、または前記提供アプリケーションにフラグを立てるロジックを含む、請求項1に記載のシステム。
  9. 前記アプリケーションの前記インスタンスは、移動体通信端末装置内で、前記実行するロジックによって実行される、請求項1に記載のシステム。
  10. 前記アプリケーションの前記インスタンスは、サーバ環境内で、前記実行するロジックによって実行され、前記サーバ環境は、前記アプリケーションマーケットプレイスに代わって動作する、請求項1に記載のシステム。
  11. 少なくとも1つのコンピューティング装置によって、アプリケーションのプロバイダから受信するアプリケーションのインスタンスをサンドボックス環境内で実行し;
    前記少なくとも1つのコンピューティング装置によって、前記アプリケーションの前記インスタンスが、ネットワークサイトからダウンロードしたデータを有していることを確認し;
    前記少なくとも1つのコンピューティング装置によって、ダウンロードデータが、実行可能コードを含んでいるかどうかを確認し、前記確認する際に:
    前記アプリケーションの前記インスタンスが、前記ダウンロードデータの少なくとも一部を、前記サンドボックス環境内のメモリの実行可能領域に既にロードしているかどうかを確認する;または
    前記アプリケーションの前記インスタンスが、前記ダウンロードデータを取得するための特定のアプリケーションプログラミングインターフェース(API)コールを行なっているかどうかを前記少なくとも1つのコンピューティング装置が確認し、
    前記アプリケーションの前記インスタンスは、前記特定のAPIコールによることを除いて前記実行可能コードを取得することが禁止されており;
    前記ダウンロードデータが前記実行可能コードを含んでいることが確認されると、前記少なくとも1つのコンピューティング装置によって、セキュリティ分析を前記ダウンロードデータの少なくとも一部に対して行ない;そして
    前記少なくとも1つのコンピューティング装置から、前記セキュリティ分析の結果を前記アプリケーションの前記プロバイダに送信する、方法。
  12. 更に:
    前記少なくとも1つのコンピューティング装置によって、前記ダウンロードデータの少なくとも一部に関連するコード署名を確認し;そして
    前記少なくとも1つのコンピューティング装置によって、前記コード署名に対応する前のセキュリティ分析の結果を受信する、請求項11に記載の方法。
  13. 前記アプリケーションの前記プロバイダはアプリケーションマーケットプレイスであり、前記アプリケーションマーケットプレイス及び前記ネットワークサイトは、異なるエンティティによって制御される、請求項11に記載の方法。
  14. 更に:
    前記セキュリティ分析が行なわれると、前記少なくとも1つのコンピューティング装置によって、前記ダウンロードデータの前記少なくとも一部を修正してセキュリティリスクを無くす;または
    前記セキュリティ分析が行なわれると、前記少なくとも1つのコンピューティング装置によって、前記サンドボックス環境の構成を変更して、前記セキュリティリスクを無くす、請求項11に記載の方法。
  15. 動的アプリケーション通知を前記アプリケーションの前記プロバイダから受信して、前記動的アプリケーション通知が前記アプリケーションに関連付けられると、前記アプリケーションの前記インスタンスを前記サンドボックス環境内で実行する、請求項11に記載の方法。
JP2016537815A 2013-08-28 2014-08-27 動的アプリケーションセキュリティ検証 Active JP6326497B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/012,520 US9591003B2 (en) 2013-08-28 2013-08-28 Dynamic application security verification
US14/012,520 2013-08-28
PCT/US2014/052932 WO2015031488A1 (en) 2013-08-28 2014-08-27 Dynamic application security verification

Publications (2)

Publication Number Publication Date
JP2016534460A JP2016534460A (ja) 2016-11-04
JP6326497B2 true JP6326497B2 (ja) 2018-05-16

Family

ID=52585234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016537815A Active JP6326497B2 (ja) 2013-08-28 2014-08-27 動的アプリケーションセキュリティ検証

Country Status (6)

Country Link
US (2) US9591003B2 (ja)
EP (1) EP3039841A4 (ja)
JP (1) JP6326497B2 (ja)
CN (1) CN105493470B (ja)
CA (1) CA2919727C (ja)
WO (1) WO2015031488A1 (ja)

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8555388B1 (en) 2011-05-24 2013-10-08 Palo Alto Networks, Inc. Heuristic botnet detection
US9589129B2 (en) 2012-06-05 2017-03-07 Lookout, Inc. Determining source of side-loaded software
US9407443B2 (en) * 2012-06-05 2016-08-02 Lookout, Inc. Component analysis of software applications on computing devices
US9104870B1 (en) * 2012-09-28 2015-08-11 Palo Alto Networks, Inc. Detecting malware
US9215239B1 (en) * 2012-09-28 2015-12-15 Palo Alto Networks, Inc. Malware detection based on traffic analysis
US9208215B2 (en) 2012-12-27 2015-12-08 Lookout, Inc. User classification based on data gathered from a computing device
US9613210B1 (en) 2013-07-30 2017-04-04 Palo Alto Networks, Inc. Evaluating malware in a virtual machine using dynamic patching
US9811665B1 (en) 2013-07-30 2017-11-07 Palo Alto Networks, Inc. Static and dynamic security analysis of apps for mobile devices
US10019575B1 (en) 2013-07-30 2018-07-10 Palo Alto Networks, Inc. Evaluating malware in a virtual machine using copy-on-write
US10362026B2 (en) 2013-12-16 2019-07-23 Amazon Technologies, Inc. Providing multi-factor authentication credentials via device notifications
US9473491B1 (en) 2014-12-16 2016-10-18 Amazon Technologies, Inc. Computing device with integrated authentication token
US10841297B2 (en) 2013-12-16 2020-11-17 Amazon Technologies, Inc. Providing multi-factor authentication credentials via device notifications
US10866711B1 (en) 2013-12-16 2020-12-15 Amazon Technologies, Inc. Providing account information to applications
US9489516B1 (en) 2014-07-14 2016-11-08 Palo Alto Networks, Inc. Detection of malware using an instrumented virtual machine environment
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US9542554B1 (en) 2014-12-18 2017-01-10 Palo Alto Networks, Inc. Deduplicating malware
US9805193B1 (en) 2014-12-18 2017-10-31 Palo Alto Networks, Inc. Collecting algorithmically generated domains
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
KR101756692B1 (ko) * 2015-03-13 2017-07-12 주식회사 에버스핀 다이나믹 보안모듈 단말장치 및 그 구동방법
CN104766006B (zh) 2015-03-18 2019-03-12 百度在线网络技术(北京)有限公司 一种确定危险文件所对应的行为信息的方法和装置
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
EP3289510B1 (en) 2015-05-01 2020-06-17 Lookout Inc. Determining source of side-loaded software
EP3314509A4 (en) * 2015-06-27 2018-12-05 McAfee, LLC Mitigation of malware
US9864852B2 (en) 2015-07-27 2018-01-09 Amazon Technologies, Inc. Approaches for providing multi-factor authentication credentials
KR102431266B1 (ko) 2015-09-24 2022-08-11 삼성전자주식회사 통신 시스템에서 정보 보호 장치 및 방법
US10296737B2 (en) 2015-12-09 2019-05-21 International Business Machines Corporation Security enforcement in the presence of dynamic code loading
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10366213B2 (en) 2016-02-09 2019-07-30 International Business Machines Corporation Protecting an application via an intra-application firewall
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US10084781B2 (en) * 2016-04-26 2018-09-25 International Business Machines Corporation Bypassing certificate pinning
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
CN107622200A (zh) * 2016-07-14 2018-01-23 腾讯科技(深圳)有限公司 应用程序的安全性检测方法及装置
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US10169576B2 (en) * 2016-11-15 2019-01-01 International Business Machines Corporation Malware collusion detection
US11704589B1 (en) * 2017-03-20 2023-07-18 Amazon Technologies, Inc. Automatically identifying dynamic applications
US10218697B2 (en) 2017-06-09 2019-02-26 Lookout, Inc. Use of device risk evaluation to manage access to services
GB2563618B (en) * 2017-06-20 2020-09-16 Arm Ip Ltd Electronic system vulnerability assessment
JP7024792B2 (ja) * 2017-07-31 2022-02-24 日本電気株式会社 プログラム検証システム、方法およびプログラム
KR102456579B1 (ko) * 2017-12-07 2022-10-20 삼성전자주식회사 암호화 관련 취약점 공격에 강인한 전자 장치 및 그 방법
US10831898B1 (en) * 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
CN108710801B (zh) * 2018-05-29 2019-03-22 北京迪诺益佳信息科技有限公司 一种移动应用动态加载代码的行为管控方法
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10956573B2 (en) 2018-06-29 2021-03-23 Palo Alto Networks, Inc. Dynamic analysis techniques for applications
US11010474B2 (en) 2018-06-29 2021-05-18 Palo Alto Networks, Inc. Dynamic analysis techniques for applications
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US10885200B2 (en) * 2018-11-15 2021-01-05 International Business Machines Corporation Detecting security risks related to a software component
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US20200242251A1 (en) * 2019-01-24 2020-07-30 Citrix Systems, Inc. Providing application security, validation and profiling to an application
US11228910B2 (en) * 2019-01-25 2022-01-18 V440 Spó£Ka Akcyjna Mobile communication device and method of determining security status thereof
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11196765B2 (en) 2019-09-13 2021-12-07 Palo Alto Networks, Inc. Simulating user interactions for malware analysis
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11070982B1 (en) 2020-04-15 2021-07-20 T-Mobile Usa, Inc. Self-cleaning function for a network access node of a network
US11392707B2 (en) 2020-04-15 2022-07-19 Capital One Services, Llc Systems and methods for mediating permissions
US11444980B2 (en) 2020-04-15 2022-09-13 T-Mobile Usa, Inc. On-demand wireless device centric security for a 5G wireless network
US11799878B2 (en) 2020-04-15 2023-10-24 T-Mobile Usa, Inc. On-demand software-defined security service orchestration for a 5G wireless network
US11824881B2 (en) 2020-04-15 2023-11-21 T-Mobile Usa, Inc. On-demand security layer for a 5G wireless network
US11115824B1 (en) 2020-05-14 2021-09-07 T-Mobile Usa, Inc. 5G cybersecurity protection system
US11206542B2 (en) 2020-05-14 2021-12-21 T-Mobile Usa, Inc. 5G cybersecurity protection system using personalized signatures
US11057774B1 (en) 2020-05-14 2021-07-06 T-Mobile Usa, Inc. Intelligent GNODEB cybersecurity protection system
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
CN112926049A (zh) * 2021-03-25 2021-06-08 支付宝(杭州)信息技术有限公司 一种信息的风险防控方法、装置及设备
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07230380A (ja) * 1994-02-15 1995-08-29 Internatl Business Mach Corp <Ibm> 適用業務プログラムの利用管理方法およびシステム
US8079086B1 (en) 1997-11-06 2011-12-13 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US5974549A (en) * 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US7488092B2 (en) * 2005-08-05 2009-02-10 Genlyte Thomas Group Llc Track fixture with hinged accessory ring
US20080016339A1 (en) * 2006-06-29 2008-01-17 Jayant Shukla Application Sandbox to Detect, Remove, and Prevent Malware
US20080127114A1 (en) * 2006-11-28 2008-05-29 Amit Vasudevan Framework for stealth dynamic coarse and fine-grained malware analysis
US9779235B2 (en) 2007-10-17 2017-10-03 Sukamo Mertoguno Cognizant engines: systems and methods for enabling program observability and controlability at instruction level granularity
US8341384B2 (en) * 2008-06-06 2012-12-25 Apple Inc. Installation of software onto a computer
US8239824B2 (en) * 2009-05-18 2012-08-07 National Instruments Corporation Developing a graphical data flow program with multiple models of computation in a web browser
US8205257B1 (en) * 2009-07-28 2012-06-19 Symantec Corporation Systems and methods for preventing threats originating from a non-process based component hosted by a trusted process
JP2010040051A (ja) * 2009-09-15 2010-02-18 Spicysoft Kk コンテンツ配信システム及びコンテンツ配信方法、並びにコンテンツ配信装置
US8862699B2 (en) * 2009-12-14 2014-10-14 Microsoft Corporation Reputation based redirection service
US8479286B2 (en) * 2009-12-15 2013-07-02 Mcafee, Inc. Systems and methods for behavioral sandboxing
US8719939B2 (en) * 2009-12-31 2014-05-06 Mcafee, Inc. Malware detection via reputation system
US9135443B2 (en) * 2010-05-06 2015-09-15 Mcafee, Inc. Identifying malicious threads
CN104820801B (zh) * 2011-01-04 2018-10-30 北京奇虎科技有限公司 一种保护指定应用程序的方法及装置
WO2012135048A2 (en) * 2011-04-01 2012-10-04 Votini Llc Systems and methods for capturing event feedback
US20120272320A1 (en) * 2011-04-25 2012-10-25 Verizon Patent And Licensing Inc. Method and system for providing mobile device scanning
JP5654944B2 (ja) * 2011-05-02 2015-01-14 Kddi株式会社 アプリケーション解析装置およびプログラム
EP2710487A4 (en) 2011-05-09 2015-06-17 Google Inc GENERATING APPLICATION RECOMMENDATIONS BASED ON USER INSTALLED APPLICATIONS
US8819638B2 (en) * 2011-09-20 2014-08-26 Alcatel Lucent Application protoyping suite
US8578499B1 (en) * 2011-10-24 2013-11-05 Trend Micro Incorporated Script-based scan engine embedded in a webpage for protecting computers against web threats
US8181254B1 (en) * 2011-10-28 2012-05-15 Google Inc. Setting default security features for use with web applications and extensions
US9235706B2 (en) * 2011-12-02 2016-01-12 Mcafee, Inc. Preventing execution of task scheduled malware
US9081959B2 (en) * 2011-12-02 2015-07-14 Invincea, Inc. Methods and apparatus for control and detection of malicious content using a sandbox environment
US9020925B2 (en) * 2012-01-04 2015-04-28 Trustgo Mobile, Inc. Application certification and search system
US8918881B2 (en) * 2012-02-24 2014-12-23 Appthority, Inc. Off-device anti-malware protection for mobile devices
US20130304677A1 (en) * 2012-05-14 2013-11-14 Qualcomm Incorporated Architecture for Client-Cloud Behavior Analyzer
US9324034B2 (en) * 2012-05-14 2016-04-26 Qualcomm Incorporated On-device real-time behavior analyzer
US9298494B2 (en) * 2012-05-14 2016-03-29 Qualcomm Incorporated Collaborative learning for efficient behavioral analysis in networked mobile device
CN102736978B (zh) * 2012-06-26 2015-09-30 北京奇虎科技有限公司 一种检测应用程序的安装状态的方法及装置
US9747440B2 (en) * 2012-08-15 2017-08-29 Qualcomm Incorporated On-line behavioral analysis engine in mobile device with multiple analyzer model providers
US9344762B2 (en) * 2012-10-18 2016-05-17 Broadcom Corporation Integration of untrusted applications and frameworks with a secure operating system environment
US9665465B1 (en) * 2012-11-19 2017-05-30 Amazon Technologies, Inc. Automated determination of application permissions
US20140215614A1 (en) * 2013-01-30 2014-07-31 Samsung Electronics Co., Ltd. System and method for a security assessment of an application uploaded to an appstore
US9639693B2 (en) * 2013-06-28 2017-05-02 Symantec Corporation Techniques for detecting a security vulnerability

Also Published As

Publication number Publication date
US9591003B2 (en) 2017-03-07
JP2016534460A (ja) 2016-11-04
EP3039841A1 (en) 2016-07-06
CN105493470A (zh) 2016-04-13
CN105493470B (zh) 2019-08-06
US20150067830A1 (en) 2015-03-05
WO2015031488A1 (en) 2015-03-05
EP3039841A4 (en) 2017-03-15
US20170132414A1 (en) 2017-05-11
CA2919727A1 (en) 2015-03-05
CA2919727C (en) 2019-05-07

Similar Documents

Publication Publication Date Title
JP6326497B2 (ja) 動的アプリケーションセキュリティ検証
Acar et al. Sok: Lessons learned from android security research for appified software platforms
US10701030B2 (en) Real-time monitoring of web page code
US10242184B2 (en) Method and system for preventing and detecting security threats
US11055410B2 (en) Malicious program identification based on program behavior
Wang et al. Unauthorized origin crossing on mobile platforms: Threats and mitigation
Chin et al. Bifocals: Analyzing webview vulnerabilities in android applications
CN102741824B (zh) 用于行为沙箱化的系统和方法
Mylonas et al. Smartphone security evaluation the malware attack case
US20170090929A1 (en) Hardware-assisted software verification and secure execution
JP2010033563A (ja) マルチパーティ検証のプラットフォームに基づく信用検証サービスに関する方法およびシステム
CN111191226B (zh) 利用提权漏洞的程序的确定方法、装置、设备及存储介质
CN111737687A (zh) 网页应用系统的访问控制方法、系统、电子设备和介质
Davidson et al. Secure integration of web content and applications on commodity mobile operating systems
Yang et al. {Iframes/Popups} Are Dangerous in Mobile {WebView}: Studying and Mitigating Differential Context Vulnerabilities
CN111177727A (zh) 漏洞检测方法及装置
CN109997138A (zh) 用于检测计算设备上的恶意进程的系统和方法
Pooryousef et al. Fine-grained access control for hybrid mobile applications in android using restricted paths
KR101977428B1 (ko) 애플리케이션용 콘텐츠 핸들링 기법
KR102156340B1 (ko) 웹 페이지 공격 차단 방법 및 장치
Sierra et al. Defending your android app
Marston et al. On evaluating and securing firefox for android browser extensions
Franken Security and Privacy Policy Bugs in Browser Engines
Awade et al. WallDroid: Firewalls for the Android OS
Davidson Enhancing Mobile Security and Privacy through App Splitting

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180326

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180416

R150 Certificate of patent or registration of utility model

Ref document number: 6326497

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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