JP2014526728A - プロセス毎ネットワーキング機能 - Google Patents

プロセス毎ネットワーキング機能 Download PDF

Info

Publication number
JP2014526728A
JP2014526728A JP2014529674A JP2014529674A JP2014526728A JP 2014526728 A JP2014526728 A JP 2014526728A JP 2014529674 A JP2014529674 A JP 2014529674A JP 2014529674 A JP2014529674 A JP 2014529674A JP 2014526728 A JP2014526728 A JP 2014526728A
Authority
JP
Japan
Prior art keywords
network
access
computing device
token
functions
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
JP2014529674A
Other languages
English (en)
Other versions
JP2014526728A5 (ja
JP6038924B2 (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2014526728A publication Critical patent/JP2014526728A/ja
Publication of JP2014526728A5 publication Critical patent/JP2014526728A5/ja
Application granted granted Critical
Publication of JP6038924B2 publication Critical patent/JP6038924B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • 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
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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
    • 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/2121Chip on media, e.g. a disk or tape with a chip embedded in its case
    • 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • 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/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

プロセス毎ネットワーキング機能手法を説明する。1つ又は複数の実現形態では、プロセスと関連付けられたトークンに基づいてコンピュータ装置上で実行されるプロセスについて、ネットワーク機能へのアクセスが許可されるか否かについての判定が行われる。トークンは、マニフェストに記述された1つ又は複数のネットワーク機能を参照する1つ又は複数のセキュリティ識別子を有する。ネットワーク機能へのアクセスは判定に基づいて管理される。

Description

コンピュータ装置によって実行するために実行可能なコード(例えば、ソフトウェア)へのアクセスをユーザが獲得し得るやり方が絶えず増えている。
例えば、ユーザはこれまで、「実」店舗に行ってみて、アプリケーションを見つけ、購入し、前述のアプリケーションは次いで、ユーザにより、手作業でインストールされている。よって、ユーザは通常、店舗自体の評判、及びソフトウェアの開発者の評判により、ソフトウェアを信頼することが可能である。
しかし、アプリケーション市場の出現で、ユーザは、数百及び数千の別々の開発者からの数千の各種アプリケーションへのアクセスを有し得る。したがって、多種多様な出所からの多くのアプリケーションをコンピュータ装置上にインストールし得、その一部は、1つのアプリケーションによる、別のアプリケーションの危殆化をもたらし得る。よって、アプリケーションが信頼でき、したがって、ユーザのコンピュータ装置の機能へのアクセスが許可されるべきか否かについて、ユ―ザにより、かつ、市場自体によっても判定することは難しいことがあり得る。前述の難しさは、信頼できる出所からのアプリケーションであっても、機密データへのアクセスなどの、アプリケーションによってサポートされる機能にアクセスするようアプリケーションを攻撃し得る、悪意のある第三者により、一層増大し得る。
プロセス毎ネットワーキング機能を説明する。1つ又は複数の実現形態では、プロセスと関連付けられたトークンに基づいてコンピュータ装置上で実行されるプロセスについて、ネットワーク機能へのアクセスが許可されるか否かについての判定が行われる。トークンは、マニフェストに記述された1つ又は複数のネットワーク機能を参照する1つ又は複数のセキュリティ識別子を有する。ネットワーク機能へのアクセスは判定に基づいて管理される。
1つ又は複数の実現形態では、プロキシ・サーバ、サブネット、又は遠隔アクセス可能なネットワークを識別するようネットワークのプロービングが行われる。ネットワークのネットワーク機能への、コンピュータ装置上で実行されるプロセスのアクセスは、プロセスに関連付けられたトークンの検査、及びプロキシ・サーバ又はサブネットの識別に基づいて管理される。トークンは、プロセスによる使用が許可された、マニフェストに記述されたネットワーク機能を参照する1つ又は複数のセキュリティ識別子を有する。このことは、プロセスによって影響を受けるよう構成されないセキュアなやり方で行い得る。
1つ又は複数の実現形態では、1つ又は複数のコンピュータ読み取り可能な記憶媒体は、コンピュータ装置上の実行に応じて、コンピュータ装置により、実行可能なコードの実行によって形成されるプロセスに対応するマニフェストに記述されたネットワーク機能を参照する1つ又は複数のセキュリティ識別子を有するトークンを形成するようオペレーティング・システムをコンピュータ装置に実行させる命令を記憶させ、実行可能なコード及びマニフェストはパッケージからコンピュータ装置上にインストールされ、トークンは、ネットワーク機器へのプロセスのアクセスを管理するためにオペレーティング・システムによって使用可能である。
本概要は、詳細な説明において以下に更に説明された、単純化された形式での概念の選択肢を紹介するために提供する。本概要は、特許請求の範囲に記載の主題の主要な構成又は必須の構成を識別することを意図するものでなく、特許請求の範囲に記載の主題の範囲の規定を助けるものとして使用されることを意図するものでもない。
詳細な説明は、添付図面を参照して説明する。図では、参照符号の最も左の文字は、参照符号が最初に現れる図を識別する。明細書及び図における別々の場面において同じ参照符号を使用していることは、同様又は同一の項目を示し得る。
プロセス毎ネットワーキング機能手法を行うよう動作可能な例示的な実現形態における環境を示す図である。 プロセス毎ネットワーキング機能手法の例示的な実現形態を示す、例示的な実現形態におけるシステムを示す図である。 プロセス毎ネットワーキング機能手法の例示的な実現形態を示す、例示的な実現形態におけるシステムを示す別の図である。 実行可能なコード及びマニフェストを有するパッケージが、コンピュータ装置上にインストールされ、実行可能なコードの実行の開始に応じてトークンを形成するために使用される例示的な実現形態における手順を表す流れ図である。 機能へのアクセスが、図4で形成されたトークンを使用してコンピュータ装置によって管理される例示的な実現形態における手順を表す流れ図である。 ネットワーク機能へのプロセス毎アクセスを管理するためにプロービングがトークンとともに使用される例示的な実現形態における手順を表す流れ図である。 図1を参照して説明したようなコンピュータ装置を含む例示的なシステムを示す図である。 本明細書及び特許請求の範囲記載の手法の実施例を実現するための、図1乃至3、及び図7を参照して説明したような何れかのタイプのコンピュータ装置として実現することが可能な例示的な装置の種々の構成部分を示す図である。
従来は、コンピュータ装置の機能の全部でないにしても大半へのアクセスが、コンピュータ装置上で実行されたアプリケーションに、前述のアクセスが要求されていたか否かによらなくても与えられていた。これは、ネットワークへの自由なアクセスを含み得る。しかし、場合によっては、前述の同じアプリケーションは、悪意のある第三者によって攻略され得る。したがって、インターネット上のリソースにアクセスし、不招請接続を受け取り、ウェブ接続された機能にアクセスする等のために、自由なアクセスが前述の悪意ある第三者によって使用され得る。よって、前述のアプリケーションに与えられる幅広いアクセスにより、コンピュータ装置にアクセス可能な装置、及びユーザのコンピュータ装置に対してかなりのリスクをもたらし得る。
プロセス毎ネットワーク機能手法を説明する。1つ又は複数の実現形態では、アプリケーションが、開発者によって定義されたネットワーク・リソースへのアクセスを有し、開発者によって定義されていない他のネットワーク・リソースにアクセスすることが可能でないということを確実にするために機能モデルが利用される。したがって、機能モデルは、攻略されたアプリケーションに、アプリケーションにより、通常、利用されないネットワーク・リソースを利用させないようにし得る。このようにして、危殆化されたアプリケーションの、定義されたネットワーク機器へのアクセスが制限され、危殆化されたアプリケーションが、アプリケーションにアクセス不能であるとして開発者によって定義されたネットワーク機能の攻略を制限するために上記モデルを使用し得る。種々の他の例も想定され、本明細書の以下の部分に関してそれらについて更に記載し得る。
以下の記載では、まず、本明細書及び特許請求の範囲記載のネットワーク機能手法を使用し得る例示的な環境を記載する。例示的な環境及び他の環境において行い得る例示的な手順を次いで説明する。よって、例示的な手順の実行は例示的な環境に制限されず、例示的な環境は例示的な手順の実行に制限されない。
例示的な環境
図1は、概括的に100において1つ又は複数の実施例による動作環境を示す。環境100は、1つ又は複数のプロセッサ、メモリ106として示すコンピュータ読み取り可能な記憶媒体の例、オペレーティング・システム108、及び1つ又は複数のアプリケーション108を有するコンピュータ装置102を含む。コンピュータ装置102は、限定でなく、例示として、タブレット・コンピュータ、携帯電話機、携帯情報端末(PDA)などのハンドヘルド・コンピュータ、ポータブル・コンピュータ、デスクトップ・コンピュータ等などの何れかの適切なコンピュータ装置として実施することが可能である。コンピュータ装置102の種々の例を図6及び図7において示し、以下に説明する。
コンピュータ装置102は更に、処理システム104上で実行されるものとして示し、メモリ106に記憶可能なオペレーティング・システム108も含む。コンピュータ装置102は更に、メモリ106に記憶されているものとして示し、やはり、処理システム104上で実行可能なアプリケーション110を含む。オペレーティング・システム108は、アプリケーション110による使用のために、下にあるハードウェア及びソフトウェアのリソースを抽出し得るコンピュータ装置102の機能を表す。例えば、オペレーティング・システム108は、表示装置112上に、どのようにしてデータが表示装置112上に表示されるかの機能を、どのようにしてこの表示が実現されるかをアプリケーション110が「分かる」必要なしで抽出し得る。コンピュータ装置102の処理システム104及びメモリ106のリソース、ネットワーク・リソース等の抽出などの、種々の他の例も想定される。
コンピュータ装置102は更に、プロセス・マネージャ・モジュール114を含むものとして示す。プロセス・マネージャ・モジュール114は、コンピュータ装置102の機能への実行可能なコードのアクセスを管理するためのコンピュータ装置102の機能を表す。例えば、コンピュータ装置102は、コンピュータ装置102上のインストールのために実行可能なコード118(例えば、アプリケーション)を有するパッケージ116を受け取り得る。パッケージ116は更に、コンピュータ装置102がネットワーク124にアクセスする機能を含み得る、コンピュータ装置102の1つ又は複数の機能122を記述する実行可能なコード118の開発者によって生成されたマニフェスト120を含み得る。よって、前述の記述は、コンピュータ装置102のどの機能に、実行可能なコード118の実行によって形成されたプロセスが許可され、かつ/又は許可されないかを記述し得る。例えば、マニフェスト120は、プロセスにアクセス可能にされる機能を記載し、かつ/又は、プロセスにアクセス不能にされる機能を記載し得る。このようにして、実行可能なコード118の開発者は、悪意のある第三者がアプリケーションを危殆化して、実行可能なコード118によって通常アクセスされない機能にアクセスする能力を低減させ、なくすことに寄与する旨の機能をマニフェスト120において規定し得る。
例えば、プロセス・マネージャ・モジュール114は、上記モジュール自体の一部として、又は、別のモジュール(例えば、専用ファイアウォール・モジュール)と通信してファイアウォール機能を活用し得る。この機能は、パッケージ116のマニフェストによって規定されるように、ネットワーク124へのアクセスを許可又は拒否するために使用し得る。よって、実行可能なコード118は、コードの開発者によって想定されたように機能し、それにより、悪意のある第三者による、コードを危殆化する機会の削減に寄与し得る。
パッケージ116は、各種の出所からの、コンピュータ装置102上のインストールのために受け取り得る。例えば、アプリケーション・サービス126(例えば、アプリケーション・ストア(store))は、ネットワーク124(例えば、インターネット)を介してコンピュータ装置102によってアクセスし得る。購入すると、実行可能なコード118及びマニフェスト120を含むパッケージ116は、コンピュータ装置102上でのインストールのためにネットワーク124を介して通信し得る。別の例では、ユーザは、パッケージ116を含むコンピュータ読み取り可能な記憶媒体(例えば、光ディスク)を取得し得る。コンピュータ装置102上のマニフェスト、及び実行可能なコード118を含むパッケージ118のインストールについては更に、図2に関して記載し得る。
一般に、本明細書及び特許請求の範囲記載の機能の何れかは、ソフトウェア、ファームウェア、ハードウェア(例えば、固定論理回路)、又は前述の実現形態の組合せを使用して実現することが可能である。本明細書及び特許請求の範囲記載の「モジュール」、「機能」、及び「ロジック」の語は一般に、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組合せを表す。ソフトウェア実現形態の場合、モジュール、機能、又はロジックは、プロセッサ(例えば、1つ又は複数のCPU)上で実行されると、特定されたタスクを行うプログラム・コードを表す。プログラム・コードは1つ又は複数のコンピュータ読み取り可能なメモリ装置に記憶することが可能である。後述する手法の構成は、プラットフォームに依存せず、これは、上記手法を、種々のプロセッサを有する商用コンピュータ・プラットフォーム上で実現し得るということを意味する。
例えば、コンピュータ装置102は、更に、コンピュータ装置102のハードウェアに動作(例えば、プロセッサ、機能ブロック等)を行わせるエンティティ(例えば、ソフトウェア)を含み得る。例えば、コンピュータ装置102は、コンピュータ装置、特に、コンピュータ装置102のハードウェアに動作を行わせる命令を保持するよう構成し得るコンピュータ読み取り可能な媒体を含み得る。よって、命令は、動作を行うようハードウェアを構成するよう機能し、このようにして、機能を行うようハードウェアが変換する。命令は、各種構成により、コンピュータ装置102にコンピュータ読み取り可能な媒体によって供給され得る。
コンピュータ読み取り可能な媒体の前述の構成の1つは、信号担持媒体であり、よって、ネットワーク経由などの、コンピュータ装置のハードウェアに命令を(例えば、搬送波として)送信するよう構成される。コンピュータ読み取り可能な媒体は更に、コンピュータ読み取り可能な記憶媒体として構成し得、よって、信号担持媒体でない。コンピュータ読み取り可能な記憶媒体の例には、ランダム・アクセス・メモリ(RAM)、リードオンリ・メモリ(ROM)、光ディスク、フラッシュ・メモリ、ハード・ディスク・メモリ、並びに、命令及び他のデータを記憶するために磁気的手法、光学的手法、及び他の手法を使用し得る他のメモリ装置が含まれる。
図2は、コンピュータ装置のネットワーク機能へのプロセス・アクセスを管理するためのトークンの形成、及びコンピュータ装置102上でのパッケージ116のインストールを示す例示的な実現形態におけるシステム200を示す。上述の通り、開発者が、実行可能なコード118を作成する場合、コードの実行によって実現されるプロセスについて宣言される機能122の組を含むマニフェスト120も作成し得る。前述の機能122は、図2におけるパッケージ配備202として示された、インストール中に登録し得る。
例えば、実行可能なコード118は、アプリケーション・ディレクトリ204を介したアクセスのためにインストールし得る。マニフェストに記述された機能122は、機能記憶装置206にインストールし、実行コード118自体及び/又はパッケージ116の識別情報と関連付け得る。1つ又は複数の実現形態では、機能装置206は、プロセス自体によるアクセスの阻止など、悪意のあるコードが、記述された機能122へのアクセスの取得も、記述された機能122の修正も可能でないような(、例えば、物理的、及び/又は電子的な)耐タンパ性を有するよう構成される。
実行可能なコード118の実行によって生じるプロセス作成208中、プロセス210について記述された機能を見つけるためにプロセス・マネージャ・モジュール114によって使用可能な識別子(例えば、上述したような、パッケージ116の識別子、実行可能なコード118等)が取得される。前述の機能122を次いで、プロセス作成208の一部として使用して、コンピュータ装置102の機能へのアクセスを制御するためにプロセス・マネージャ・モジュール114によって使用し得るトークン212を形成する。
例えば、トークン212は、そのプロセスについて機能記憶装置206に記述された機能122の1つ又は複数に対応するセキュリティ識別子214を含み得る。すなわち、トークン212には、セキュリティ識別子214として、パッケージ116に関連付けられた適切な機能で埋められる。よって、プロセス・マネージャ・モジュール114は、機能に対するアクセスがプロセス210によって要求された場合にトークン212を利用して、そのプロセス210についてそのアクセスを許可するか否かを判定し得る。
1つ又は複数の実現形態では、トークン212はプロセス210によって操作されることが可能でない。トークン212は更に、プロセス210が機能(例えば、リソースのACL)のアクセス検証チェックに参加することを可能にし得る。更に、プロセス・マネージャ・モジュール114は更に、機能へのアクセスを付与する前に、機能(又は機能の組合せ)の存在に基づいた決定を伴う手法を実現し得る。プロセス210はトークンに対する直接アクセスを有しないので、プロセス・マネージャ・モジュール114は、適切なアクセスがプロセス210に付与されることを確実にするためにトークン212の不変性を利用するブローカとして機能し得る。
各種機能122はセキュリティ識別子214によって参照し得る。更に、セキュリティ識別子214は種々のやり方で前述の機能を参照し得る。例えば、開発者は、実行可能なコード118の実行を介して実現されたパッケージ116におけるプロセス毎に宣言された機能の組を含むマニフェスト120及び実行可能なコード118(例えば、アプリケーション)を作成し得る。このパッケージ116は更に、パッケージ116がインストールされる際に当該識別情報を使用してネットワーク機能がオペレーティング・システム108に登録される「強い識別情報」を有し得る。
したがって、プロセス210が後に起動される場合、(及びプロセス210が後に起動され、かつ、プロセス作成パラメータとしてパッケージ識別情報を含む場合)、トークン212は、プロセス識別情報で埋められ得、ネットワーク機能はセキュリティ識別子214で埋められ得る。更に、オペレーティング・システム108は、プロセス210がトークン212を修正することが阻止され得る。1つ又は複数の実現形態では、子プロセスは、ネットワーク機能の部分集合及び識別情報を受け継ぎ得、部分集合は親によって定義される。
各種機能122は、例えば、予め定義されたネットワーク機能から、豊富なファイアウォール型ルールまで、プロセス210のアクセスの管理において使用するためにマニフェスト120によって規定し得る。例えば、「インターネット・クライアント」機能は、プロセス210により、ネットワーク124(例えば、インターネット)への発信接続へのアクセスを管理するよう定義し得る。別の例では、「インターネット・クライアント/サーバ」機能は、着信及び発信のネットワーク124の接続を可能にするよう定義し得る。例えば、前述の機能は、プロセスが、ファイアフォールを介してデータを送受信するとともに、インターネットからの不招請接続を受け入れることを可能にするために使用し得る。更なる例では、同じ定義済ネットワーク124上(例えば、ホーム・ネットワーク上、ワーク・ネットワーク上、イントラネット上等)でコンピュータ装置との間の通信を許可するよう「PrivateNetworkClientServer」機能を定義し得る。より具体的になり、より豊富になり得る機能(例えば、特定のポートへのアクセス)を参照する豊富なファイアフォール・ルールを作成し得るような種々の他の例も想定し得る。このようにして、トークン212におけるセキュリティ識別子214の使用は、ネットワーク機能へのプロセス210のアクセスをプロセス・マネージャ・モジュール114が管理することを可能にし得る。
図3は、図1のプロセス・マネージャ・モジュールによるネットワーク機能へのプロセスのアクセスの管理を示す例示的な実現形態におけるシステムを表す。プロセス210がネットワーク124へのアクセスを要求すると、プロセス・マネージャ・モジュール114は、アプリケーション識別情報(例えば、パッケージID302)であり、トークン212によって規定されたネットワーク機能304,306が、機能記憶装置206においてインストール時に登録されたネットワーク機能の部分集合であることを確実にする。残りの機能が、ネットワーク通信に十分である場合、通信が許可される。さもなければ、通信は阻止される。よって、プロセス・マネージャ・モジュール114は、コンピュータ装置102のネットワーク機能へのアクセスを許可し、かつ/又は拒否するファイアウォールの一部として機能し得る。
1つ又は複数の実現形態では、機能記憶装置206に登録された機能の全部の組にアクセスすることが許可され得る。しかし、親に利用可能なアクセス権の全部の組を有しない子プロセスをプロセス210が作成することも可能であり得る。
上述の通り、各種機能を宣言し得る。更に、発信(例えば、クライアント)接続、又は発信及び着信(例えば、クライアント及びサーバ)接続について、インターネット及びイントラネット(例えば、専用ネットワーク)アクセスをプロセス210に付与するよう機能を組合せ得る。
インターネット機能は更に、HTTPプロキシへのアクセスを可能にし得る。例えば、プロセス・マネージャ・モジュール114は、プロキシ・サーバ又はサブネットが存在しているかを判定するよう、ネットワークのプロービングをアクティブに行い得、よって、専用ネットワーク(例えば、イントラネット)又はインターネットに結びつけられたネットワーキング機能を正しく利用し得る。アクティブ・ディレクトリ・サーバが、サブネット定義についての特定の情報を有している場合、プロセス・マネージャ・モジュール114は更に、この情報を活用してサブネットのエッジの判定に寄与し得る。管理ツールにより、サブネット及びプロキシが予め規定されている機構も使用し得、よって、プロービングは関係しない。管理ツールの使用及び/又はプロービングによる前述の規定なしでは、一部の装置を、誤ったネットワーク・タイプに割り当ててしまい、したがって、プロセス・マネージャ・モジュール114はその場合、アクセスの許可又は拒否を誤って行い得る。よって、プロセス・マネージャ・モジュール114は、前述の識別情報(例えば、イントラネット又はインターネットを介して利用可能か否か)に基づいて機能を正しく管理し得る。
1つ又は複数の実現形態では、同じ機構を使用した共通の攻撃ベクトルを妨げるために、クリティカルであるとみなされるポートは不招請着信アクセスが阻止される。前述の設定は、更に、ポリシーを介して手作業で構成し得る。ループバック(例えば、127.0.0.1を使用した、同じマシンに対する接続)は更に、保護し、それにより、プロセス210が、当該プロセスについて定義された機能を「回避」することを妨げ得る。例えば、ループバックは、上記「PrivateNetworkClientServer」機能に結びつけられ得るが、別の例では、これは、当該モデルを使用した別個の機能として規定し得る。
よって、プロセス毎のネットワーク・アクセスを制限し、上述したような種々の細粒度を提供するための機構をサポートするために使用し得る。上述の通り、プロセス毎のネットワーキング機能は、上記プロセスに対する強い識別情報に結びつけ得る。この識別情報は更に、子プロセスによって受け継ぎ、それにより、親プロセスにより、子プロセスに付与されているネットワーキング機能を出し抜くことができないことを確実にする。ファイアウォール・ルールと同様の柔軟性を有する高忠実度のネットワーキング機能は更に、プロセス・マネージャ・モジュール114によってサポートし得る。ネットワーキング機能は例えば、ファイアウォールにより、インストール時に登録し得、ネットワーク・タイプ、接続タイプ、及び着信/送信接続を含み得るファイアウォール・ルールについて存在し得るように柔軟性を有し得る。トラフィック方向も、ファイアウォールによって定義されるようなネットワーク・プロファイルと関連付け得る。
更に、宣言されたネットワーキング機能を組み合わせて、別々の機能の和集合であるアクセスを提供し得る。例えば、発信インターネット・アクセス、及び専用ネットワーク(例えば、イントラネット)アクセスなどの別々のネットワーク・アクセスの組合せをプロセス210が提供するためにネットワーク機能を組み合わせることが可能である。種々の他の例も想定され、本明細書の以下の部分に関してそれらについて更に記載し得る。
更に、機能を実施するために使用されるファイアウォール・ルールは、(例えば、増大した有用性を有し得る機能を提供するために「高信頼性」システムにより、)実行時に動的に修正、実施、又は微調整し得る。定義された機能は、更にネットワーク内のアプリケーションを正しく管理するためにシステム内の他のファイアウォール構成部分と切り離し、かつ/又は上記他のファイアフォール構成部分に渡し得る。
例示的な手順
以下では、上述のシステム及び装置を利用して実現し得るプロセス毎のネットワーキング機能手法を説明する。手順それぞれの局面は、ハードウェア、ファームウェア、又は、ソフトウェア、又はそれらの組合せで実現し得る。上記手順は、1つ又は複数の装置によって行われる動作を規定するブロックの組として示し、それぞれのブロックによる動作の実行について示された順序に必ずしも制限されないものとする。以下の一部では、図1の環境100、並びに、図2及び図3のシステム200、300をそれぞれ参照する。
図4は、マニフェスト及び実行可能なコードを有するパッケージが、コンピュータ装置上にインストールされ、トークンを形成するために使用される例示的な実現形態における手順400を表す。実行可能なコードの機能を記述するマニフェスト及び実行可能なコードを含むパッケージがコンピュータ装置において受け取られる(ブロック402)。例えば、パッケージ116は、ネットワーク124を介してアプリケーション・サービス126からダウンロードされて、コンピュータ読み取り可能な記憶媒体に記憶し得る。上述の通り、マニフェスト120は、実行可能なコード122の開発者によって想定されるように、コードの実行中に使用される対象の、コンピュータ装置102のネットワーク機能を記述し得る。
実行可能なコードは、実行するためにコンピュータ装置上でインストールされる(ブロック404)。実行可能なコード122は、例えば、アプリケーション・ディレクトリ、サードパーティのプラグインのモジュール等を介したアクセスのために、コンピュータ装置上でインストールする対象のアプリケーションとして構成し得る。
マニフェストにより、実行可能なコードについて記述されたネットワーク機能は、コンピュータ装置上の機能記憶装置に保存され、保存された機能は、コンピュータ装置の機能に、実行可能なコードの実行によって形成された1つ又は複数のプロセスのアクセスを管理するためにトークンを形成するよう使用可能である(ブロック406)。例えば、機能記憶装置206は、(例えば、物理的に、かつ/又は電子的に)耐タンパ性を有するよう構成し得る。このようにして、そこに記述された機能は、認可されていないエンティティによってアクセス可能でない、コンピュータ装置102上で実行されるプロセスによってアクセス可能でない等である。よって、機能の記述は、「信頼できる」とみなし、したがって、プロセスによるアクセスを管理するために使用し得るトークンを形成するために使用し得る。
次いで、コンピュータ装置上にインストールされた実行可能なコードの実行を開始するための入力を受け取り得る(ブロック408)。入力は例えば、コードの表現(例えば、アイコン、タイル等)のユーザ選択によって受け取り得る。入力は更に、コード自体(例えば、所定の間隔でのウェイク)から生じ得、コンピュータ装置102上で実行された他のコードから生じ得る等である。
実行可能なコードについてマニフェストに記述されたネットワーク機能を参照する1つ又は複数のセキュリティ識別子を有するトークンが形成される(ブロック410)。上述の通り、セキュリティ識別子122は、機能記憶装置206に記述された機能を挙げ得る。機能(例えば、トークン自体、及び/又は、トークン212を見つけるために使用可能な識別子)へのアクセスを要求する場合に、パッケージ116は、実行可能なコード118自体によって渡し得、かつ/又は、ト―クン212は例えば、実行可能なコード118の識別子に一致する識別子を含み得る。トークン212は次いで、コンピュータ装置102の1つ又は複数のネットワーク機能へのプロセス210のアクセスを管理するために使用し得、その例は以下の図に関して分かり得る。
図5は、ネットワーク機能へのアクセスが、図4において形成されたトークンを使用してコンピュータ装置によって管理される例示的な実現形態における手順500を表す。プロセスに関連付けられたトークンに基づいてコンピュータ装置上で実行されるプロセスについてネットワーク機能へのアクセスが許可されるか否かについての判定が行われ、トークンは、マニフェストにおいて記述された1つ又は複数のネットワーク機能を参照する1つ又は複数のセキュリティ識別子を有する(502)。例えば、要求は、プロセスからプロセス・マネージャ・モジュール114によって受け取り得る。プロセス210は、上述の通り、コンピュータ装置102による、実行可能なコード118の実行によって実現し得る。
トークン212は次いで、例えば、上述の通り、パッケージ116の識別子、「強いタイプ」等を使用して、プロセス・マネージャ・モジュール114によって位置特定し得る。トークン212は、許可されないアクセス(例えば、対応するプロセス210によるアクセスが許可されない機能の参照)を記述し、かつ/又は、許可されるアクセス(例えば、許可される機能の参照)を記述するよう形成し得る。
ネットワーク機能へのアクセスは判定に基づいて管理される(ブロック504)。プロセス・マネージャ・モジュール114は例えば、発信ネットワーク接続の使用などの、ネットワーク機能のアクセスを行う旨の要求をプロセス210から受け取り得る。プロセス・マネージャ・モジュール114は次いで、発信ネットワーク通信を参照するセキュリティ識別子の位置特定など、このネットワーク・アクセスが許可されるか否かの判定を行うようトークン212を検査し得る。よって、プロセス・マネージャ・モジュール114は、容易に、どのアクセスが許可されるかを判定し、それに応じて到達し得る。上述のように、トークン212による列挙に基づいて、どのアクセスが許可されないかの判定などの、種々の他の例も想定される。
図6は、プロセスに与えられるネットワーク機能アクセスの管理を支援するために使用されるプロキシ・サーバ又はサブネットを識別するためにネットワーク・プロービングが行われる、例示的な実現形態における手順600を表す。プロキシ・サーバ又はサブネットを識別するためにネットワーク・プロービングが行われる(ブロック602)。これは、例えば、ネットワーク設定の検出、サーバに送出される対象の1つ又は複数の通信の形成によって行い得る。
ネットワークのネットワーク機能への、コンピュータ装置上で実行されるプロセスのアクセスは、プロセスに関連付けられたトークンの検査、及びプロキシ・サーバ又はサブネットの識別に基づいて管理され、トークンは、プロセスによる使用が許可された、マニフェストに記述されたネットワーク機能を参照する1つ又は複数のセキュリティ識別子を有する(ブロック604)。上述の通り、どの機能について、トークンに関連付けられたプロセスによるアクセスが許可されるかを「表す」トークンの使用により、プロセス・マネージャ・モジュール114によって管理し得る。更に、ネットワークへのアクセスが上述の列挙と整合していること(例えば、サブネット又はインターネット等を介して装置がアクセス可能か否かをアクセスが正確に反映すること)を確実にするためにプロービングを使用し得る。種々の他の例も想定される。
例示的なシステム及び装置
図7は、図1を参照して説明されたコンピュータ装置102を含む例示的なシステム700を示す。例示的なシステム700は、パソコン(PC)上、テレビジョン装置上、及び/又はモバイル装置上でアプリケーションが実行される場合のシームレスなユーザ体験のためのユビキタス環境を可能にする。サービス及びアプリケーションは、アプリケーションを利用し、ビデオ・ゲームをし、ビデオをみるなどの間に1つの装置から次の装置に移る際の共通のユーザ体験のために3つの環境全てにおいて実質的に同様に実行される。
例示的なシステム700では、複数の装置が、中央コンピュータ装置を介して相互接続される。中央コンピュータ装置は複数の装置に対して局所であり得るか、又は、複数の装置から遠隔に配置され得る。一実施例では、中央コンピュータ装置は、ネットワーク、インターネット、又は他のデータ通信リンクを介して複数の装置に接続された1つ又は複数のサーバ・コンピュータのクラウドであり得る。一実施例では、この相互接続アーキテクチャは、複数の装置のユーザに、共通かつシームレスな体験を提供するよう複数の装置にわたって機能が供給されることを可能にする。複数の装置はそれぞれ、別々の物理的な要件及び機能を有し得、中央コンピュータ装置は、装置に合わせられる一方で、装置全てに共通な体験を装置に提供することを可能にするために、プラットフォームを使用する。一実施例では、ターゲット装置のクラスが作成され、体験は、上記装置の汎用なクラスに合わせられる。装置のクラスは装置の物理的な特性、使用のタイプ、又は他の共通な特性によって定義し得る。
種々の実現形態では、コンピュータ装置102は、コンピュータ702、モバイル704、及びテレビジョン706の用途などのために各種構成を呈し得る。前述の構成はそれぞれ、概ね異なる構成及び機能を有し得る装置を含み、よって、コンピュ―タ装置102は、別々の装置クラスのうちの1つ又は複数に応じて構成し得る。例えば、コンピュータ装置102は、パソコン、デスクトップ・コンピュータ、マルチスクリーン・コンピュータ、ラップトップ・コンピュータ、ネットブック等を含む、コンピュータ702の装置クラスとして実現し得る。
コンピュータ装置102は更に、携帯電話機、携帯音楽プレイヤ、携帯ゲーム装置、タブレット・コンピュータ、マルチスクリーン・コンピュータ等などのモバイル装置を含む、モバイル704の装置クラスとして実現し得る。コンピュータ装置102は更に、カジュアルな視聴環境における一般に、より大きな画面を有し、又は前述の画面に接続された装置を含むテレビジョン706の装置クラスとして実現し得る。前述の装置は、テレビジョン、セットトップ・ボックス、ゲーム・コンソール等を含む。本明細書及び特許請求の範囲記載の手法は、コンピュータ装置102の前述の種々の構成によってサポートされ得、本明細書及び特許請求の範囲に記載の特定の例示的な手法に限定されない。
クラウド708は、コンテンツ・サービス712のプラットフォームを含み、かつ/又は、表す。プラットフォーム710は、クラウド708のハードウェア(例えば、サーバ)及びソフトウェアのリソースの下にある機能を抽出する。コンテンツ・サービス712は、コンピュータ装置102と遠隔にあるサーバ上でコンピュータ処理が実行される間に利用することが可能なデータ及び/又はアプリケーションを含み得る。コンテンツ・サービス712は、セルラー・ネットワーク又はワイファイ(登録商標)ネットワークなどの加入者ネットワーク経由、及び/又はインターネット経由のサービスとして提供することが可能である。
プラットフォーム710は、他のコンピュータ装置とコンピュータ装置102を接続するようリソース及び機能を抽出し得る。プラットフォーム710は更に、プラットフォーム710を介して実現されるコンテンツ・サービス712が受ける要求に対する対応するスケール・レベルを提供するようリソースのスケーリングを抽出する役目を担い得る。よって、相互接続された装置の実施例では、本明細書及び特許請求の範囲記載の機能の機能実現形態はシステム700にわたって分散させ得る。例えば、機能は、クラウド708の機能を抽出するプラットフォーム710を介して、かつ、コンピュータ装置102上に部分的に実現し得る。
図8は、本明細書及び特許請求の範囲記載の手法の実施例を実現するための、図1、図2、及び図7を参照して説明したような何れかのタイプのコンピュータ装置として実現することが可能な例示的な装置800の種々の構成部分を示す。装置800は、装置データ804(例えば、受信済データ、受信中のデータ、報知がスケジューリングされたデータ、デ―タのデータ・パケット等)の有線通信及び/又は無線通信を可能にする通信装置802を含む。装置データ804又は他の装置コンテンツは、装置のユーザに関連付けられた情報、及び/又は装置上に記憶されたメディア・コンテンツ、装置の構成設定を含み得る。装置800上に記憶されたメディア・コンテンツは、何れかのタイプのオーディオ、ビデオ、及び/又は画像データを含み得る。装置800は、ユーザ選択可能な入力、メッセージ、音楽、テレビジョン・メディア・コンテンツ、記録済ビデオ・コンテンツ、何れかのコンテンツ及び/又はデータ・ソースから受け取られた何れかの他のタイプのオーディオ、ビデオ、及び/又は画像データなどの何れかのタイプのデータ、メディア・コンテンツ、及び/又は入力を受け取ることが可能な1つ又は複数の入力806を含む。
装置800は更に、シリアル及び/又はパラレル・インタフェース、無線インタフェース、何れかのタイプのネットワーク・インタフェース、モデムのうちの何れかの1つ又は複数、及び、何れかの他のタイプの通信インタフェースとして実現することが可能な通信インタフェース808を含む。通信インタフェース808は、他の電子、コンピュータ、及び通信装置が装置800とデータを通信する通信ネットワーク及び装置800間の接続及び/又は通信リンクを提供する。
装置800は、装置800の動作を制御し、本明細書及び特許請求の範囲記載の手法の実施例を実現するよう種々のコンピュータ実行可能な命令を処理する1つ又は複数のプロセッサ810(例えば、マイクロプロセッサ、コントローラ等の何れか)を含む。あるいは、又は更に、装置800は、概括的に812として識別された処理及び制御回路と接続して実現される固定論理回路、ソフトウェア、又はハードウェアの何れか1つ又は組合せによって実現することが可能である。図示していないが、装置800は、装置内の種々の構成部分を結合するシステム・バス又はデータ転送システムを含み得る。システム・バスは、種々のバス・アーキテクチャの何れかを利用するプロセッサ若しくは局所バス、及び/又は、ユニバーサル・シリアル・バス、周辺バス、メモリ・バス若しくはメモリ・コントローラなどの別々のバス構造の何れか1つ若しくは組み合わせを含み得る。
装置800は更に、1つ又は複数のメモリ構成部分などのコンピュータ読み取り可能な媒体814を含み、その例には、ランダム・アクセス・メモリ(RAM)、不揮発性メモリ(例えば、リードオンリ・メモリ(ROM)、フラッシュ・メモリ、EPROM、EEPROM等)、及びディスク記憶装置が含まれる。ディスク記憶装置は、ハード・ディスク・ドライブ、記録可能であり、かつ/又は書き換え可能なコンパクト・ディスク(CD)、何れかのタイプのディジタル多用途ディスク(DVD)等などの何れかのタイプの磁気記憶装置又は光記憶装置として実現し得る。装置800は更に、大容量記憶媒体装置816を含み得る。
コンピュータ読み取り可能な媒体814は、装置800の動作上の局面に関するデータ、及び/又は、種々の装置アプリケーション818及び何れかの他のタイプの情報、並びに、装置データ804を記憶するためのデータ記憶機構を提供する。例えば、オペレーティング・システム820は、プロセッサ810上で実行し、コンピュータ読み取り可能な媒体814とともにコンピュータ・アプリケーションとして維持することが可能である。装置アプリケーション818は装置マネージャ(例えば、制御アプリケーション、ソフトウェア・アプリケーション、信号処理及び制御モジュール、特定の装置に対してネーティブであるコード、特定の装置のハードウェア抽象化層等)を含み得る。装置アプリケーション818は更に、本明細書及び特許請求の範囲記載の手法の実施例を実現するために何れかのシステム構成部分又はモジュールを含む。この例では、装置アプリケーション818は、ソフトウェア・モジュール及び/又はコンピュータ・アプリケーションとして示された入力/出力モジュール824及びインタフェース・アプリケーション822を含む。入力/出力モジュール824は、タッチ画面、トラック・パッド、カメラ、マイクロフォン等などの入力を捕捉するよう構成された装置とのインタフェースを提供するために使用されるソフトウェアを表す。あるいは、又は更に、インタフェース・アプリケーション822及び入力/出力モジュール824は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの何れかの組合せとして実現することが可能である。更に、入力/出力モジュール824は、ビデオ入力及びオーディオ入力それぞれを捕捉するための別個の装置などの複数の入力装置をサポートするよう構成し得る。
装置800は更に、表示システム830にビデオ・データを供給し、かつ/又はオーディオ・システム828にオーディオ・データを供給するオーディオ及び/又はビデオ入出力システム826を含む。オーディオ・システム828及び/又は表示システム830は、オーディオ・データ、ビデオ・データ、及び画像データを処理し、表示し、かつ/又は、他のやり方でレンダリングする何れかの装置を含み得る。ビデオ信号及びオーディオ信号は、RF(無線周波数)リンク、Sビデオ・リンク、複合ビデオ・リンク、コンポーネント・ビデオ・リンク、DVI(ディジタル・ビデオ・インタフェース)、アナログ・オーディオ接続、又は他の同様な通信リンクを介して、装置800から、オーディオ装置及び/又は表示装置に通信することが可能である。実施例では、オーディオ・システム828及び/又は表示システム830は装置800に対する外部構成部分として実現される。あるいは、オーディオ・システム828及び/又は表示システム830は、例示的な装置800の一体化された構成部分として実現される。
終わりに
本発明は、構造的な特徴及び/方法論的な動作に特有の文言で記載しているが、特許請求の範囲記載の本発明は、記載された特定の特徴又は動作に必ずしも制限されない。むしろ、上記特定の特徴及び動作は、本特許請求の範囲記載の発明を実現する例示的な形態として開示している。

Claims (10)

  1. コンピュータ装置によって実現される方法であって、
    プロセスに関連付けられたトークンに基づいて前記コンピュータ装置上で実行される前記プロセスについてネットワーク機能へのアクセスが許可されるか否かを判定する工程であって、前記トークンは、マニフェストに記述された1つ又は複数のネットワーク機能を参照する1つ又は複数のセキュリティ識別子を有する工程と、
    前記ネットワーク機能への前記アクセスを判定に基づいて管理する工程と
    を含む方法。
  2. 請求項1に記載の方法であって、前記マニフェストは、実行されると、前記プロセスを実現する実行可能なコードのインストールの一部として前記コンピュータ装置上に記憶される方法。
  3. 請求項2記載の方法であって、前記ネットワーク機能の前記記述は、前記コンピュータ装置上の前記実行可能なコードのインストールの一部として耐タンパ性を有する場所に記憶される方法。
  4. 請求項1記載の方法であって、前記トークンは、前記プロセスにアクセス可能でない前記コンピュータ装置の耐タンパ性の場所に記憶された前記機能の記述にアクセスすることによって形成される方法。
  5. 請求項1記載の方法であって、前記判定する工程及び前記管理する工程は、前記コンピュータ装置上のオペレーティング・システムの実行を介して行われる方法。
  6. 請求項1記載の方法であって、前記マニフェストに記述された少なくとも1つの前記ネットワーク機能が、前記プロセスによるループバックが許可されるか否かを示す方法。
  7. 請求項1記載の方法であって、前記マニフェストに記述された少なくとも1つの前記ネットワーク機能は、前記プロセスによる使用に、ネットワークを介した発信接続が許可されるか否かを示す方法。
  8. 請求項1記載の方法であって、前記マニフェストに記述された少なくとも1つの前記ネットワーク機能は、前記プロセスによる使用に、ネットワークを介した着信及び発信の接続が許可されるか否かを示す方法。
  9. 請求項8記載の方法であって、前記着信接続は、前記プロセスが不招請接続を受け入れることを許可する方法。
  10. 請求項1記載の方法であって、前記マニフェストに記述された少なくとも1つの前記ネットワーク機能は、前記プロセスによる使用に、専用ネットワーク・アクセスに、前記プロセスによる使用が許可されるか否かを示す方法。
JP2014529674A 2011-09-06 2011-10-09 プロセス毎ネットワーキング機能 Active JP6038924B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/226,223 US9118686B2 (en) 2011-09-06 2011-09-06 Per process networking capabilities
US13/226,223 2011-09-06
PCT/US2011/055538 WO2013036253A1 (en) 2011-09-06 2011-10-09 Per process networking capabilities

Publications (3)

Publication Number Publication Date
JP2014526728A true JP2014526728A (ja) 2014-10-06
JP2014526728A5 JP2014526728A5 (ja) 2014-11-13
JP6038924B2 JP6038924B2 (ja) 2016-12-07

Family

ID=47483999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014529674A Active JP6038924B2 (ja) 2011-09-06 2011-10-09 プロセス毎ネットワーキング機能

Country Status (6)

Country Link
US (1) US9118686B2 (ja)
EP (1) EP2754084B1 (ja)
JP (1) JP6038924B2 (ja)
KR (1) KR101839647B1 (ja)
CN (1) CN102882855B (ja)
WO (1) WO2013036253A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9773102B2 (en) 2011-09-09 2017-09-26 Microsoft Technology Licensing, Llc Selective file access for applications
US8990561B2 (en) 2011-09-09 2015-03-24 Microsoft Technology Licensing, Llc Pervasive package identifiers
US9800688B2 (en) 2011-09-12 2017-10-24 Microsoft Technology Licensing, Llc Platform-enabled proximity service
US10356204B2 (en) 2012-12-13 2019-07-16 Microsoft Technology Licensing, Llc Application based hardware identifiers
US9021574B1 (en) * 2013-03-12 2015-04-28 TrustPipe LLC Configuration management for network activity detectors
US9998536B2 (en) * 2013-05-29 2018-06-12 Microsoft Technology Licensing, Llc Metered network synchronization
US9900285B2 (en) 2015-08-10 2018-02-20 International Business Machines Corporation Passport-controlled firewall
US10536464B2 (en) * 2016-06-22 2020-01-14 Intel Corporation Secure and smart login engine
US11381575B2 (en) * 2019-05-03 2022-07-05 Microsoft Technology Licensing, Llc Controlling access to resources of edge devices
DE102022206744B3 (de) 2022-07-01 2023-11-02 Infineon Technologies Ag Ressourcenschutz

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002517854A (ja) * 1998-06-12 2002-06-18 マイクロソフト コーポレイション 制限付きのトークンを使用したセキュリティモデル
JP2005528051A (ja) * 2002-05-28 2005-09-15 シンビアン リミテッド セキュアな移動体無線装置
US20060193467A1 (en) * 2005-02-16 2006-08-31 Joseph Levin Access control in a computer system
JP2010176690A (ja) * 1998-06-12 2010-08-12 Microsoft Corp 信頼できないコンテントを安全に実行するための方法およびシステム
JP2013041370A (ja) * 2011-08-12 2013-02-28 Toshiba Corp エネルギー管理装置および電力管理システム

Family Cites Families (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956715A (en) 1994-12-13 1999-09-21 Microsoft Corporation Method and system for controlling user access to a resource in a networked computing environment
EP0880840A4 (en) * 1996-01-11 2002-10-23 Mrj Inc DEVICE FOR CONTROLLING ACCESS AND DISTRIBUTION OF DIGITAL PROPERTY
US6151643A (en) 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
EP0862124A3 (en) 1997-02-28 2003-03-26 Fujitsu Limited File access system for efficiently accessing a file having encrypted data within a storage device
US5974549A (en) 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US6117187A (en) 1997-09-30 2000-09-12 Hewlett-Packard Company Automatic generation of a software installation package
US6101607A (en) 1998-04-24 2000-08-08 International Business Machines Corporation Limit access to program function
US6697569B1 (en) 1998-09-11 2004-02-24 Telefonaktiebolaget Lm Ericsson (Publ) Automated conversion of a visual presentation into digital data format
US7151832B1 (en) 1999-11-18 2006-12-19 International Business Machines Corporation Dynamic encryption and decryption of a stream of data
US7398532B1 (en) 2000-03-02 2008-07-08 Hewlett-Packard Development Company, L.P. System and method for establishing a secure execution environment for a software process
US6725452B1 (en) 2000-06-01 2004-04-20 Aduoa, Inc. Method for resolving dependency conflicts among multiple operative entities within a computing environment
US20040030926A1 (en) 2000-06-20 2004-02-12 Clark James R. Multi-session secured digital transmission process
US7669238B2 (en) * 2000-06-21 2010-02-23 Microsoft Corporation Evidence-based application security
AU2001280490A1 (en) 2000-07-10 2002-01-21 Critical Devices, Inc. Method and system for software inventory management using a global central repository
US20030084134A1 (en) 2000-09-01 2003-05-01 Pace Charles P. System and method for bridging assets to network nodes on multi-tiered networks
JP3776705B2 (ja) 2000-09-28 2006-05-17 株式会社東芝 通信システム、移動端末装置、ゲートウェイ装置及び通信制御方法
US6604209B1 (en) 2000-09-29 2003-08-05 Sun Microsystems, Inc. Distributed component testing in an enterprise computer system
JP2003044297A (ja) 2000-11-20 2003-02-14 Humming Heads Inc コンピュータリソースの制御を行なう情報処理方法および装置、情報処理システム及びその制御方法並びに記憶媒体、プログラム
US20030037237A1 (en) 2001-04-09 2003-02-20 Jean-Paul Abgrall Systems and methods for computer device authentication
US7069330B1 (en) 2001-07-05 2006-06-27 Mcafee, Inc. Control of interaction between client computer applications and network resources
US7401235B2 (en) 2002-05-10 2008-07-15 Microsoft Corporation Persistent authorization context based on external authentication
US6865659B2 (en) 2002-06-07 2005-03-08 Sun Microsystems, Inc. Using short references to access program elements in a large address space
US7542988B1 (en) 2006-01-03 2009-06-02 Symantec Corporation File type associative application layered system
US7152243B2 (en) 2002-06-27 2006-12-19 Microsoft Corporation Providing a secure hardware identifier (HWID) for use in connection with digital rights management (DRM) system
US7401352B2 (en) 2002-08-30 2008-07-15 International Business Machines Corporation Secure system and method for enforcement of privacy policy and protection of confidentiality
EP1420323A1 (en) 2002-11-18 2004-05-19 Koninklijke KPN N.V. Method and system for distribution of software components
US7337442B2 (en) 2002-12-03 2008-02-26 Microsoft Corporation Methods and systems for cooperative scheduling of hardware resource elements
US20040199787A1 (en) * 2003-04-02 2004-10-07 Sun Microsystems, Inc., A Delaware Corporation Card device resource access control
US7478094B2 (en) 2003-06-11 2009-01-13 International Business Machines Corporation High run-time performance method for setting ACL rule for content management security
US7392383B2 (en) * 2003-09-25 2008-06-24 International Business Machines Corporation Method and apparatus for providing process-based access controls on computer resources
US20050091658A1 (en) 2003-10-24 2005-04-28 Microsoft Corporation Operating system resource protection
US20050091535A1 (en) 2003-10-24 2005-04-28 Microsoft Corporation Application identity for software products
US8590032B2 (en) 2003-12-10 2013-11-19 Aventail Llc Rule-based routing to resources through a network
US7568195B2 (en) 2003-12-16 2009-07-28 Microsoft Corporation Determining a maximal set of dependent software updates valid for installation
US7480655B2 (en) 2004-01-09 2009-01-20 Webroor Software, Inc. System and method for protecting files on a computer from access by unauthorized applications
US7698393B2 (en) 2004-03-23 2010-04-13 Microsoft Corporation Method and system for shadowing information between computing devices
US20050246762A1 (en) * 2004-04-29 2005-11-03 International Business Machines Corporation Changing access permission based on usage of a computer resource
US20050256859A1 (en) 2004-05-13 2005-11-17 Internation Business Machines Corporation System, application and method of providing application programs continued access to frozen file systems
US7650627B1 (en) 2004-05-28 2010-01-19 Sap Ag Abstract configuration files for efficient implementation of security services
US7540013B2 (en) * 2004-06-07 2009-05-26 Check Point Software Technologies, Inc. System and methodology for protecting new computers by applying a preconfigured security update policy
US7509497B2 (en) * 2004-06-23 2009-03-24 Microsoft Corporation System and method for providing security to an application
US20100081375A1 (en) 2008-09-30 2010-04-01 Apple Inc. System and method for simplified control of electronic devices
US7703090B2 (en) 2004-08-31 2010-04-20 Microsoft Corporation Patch un-installation
US7676835B2 (en) * 2004-08-31 2010-03-09 International Business Machines Corporation System and method for regulating access to objects in a content repository
US8499337B1 (en) 2004-10-06 2013-07-30 Mcafee, Inc. Systems and methods for delegation and notification of administration of internet access
WO2006055838A2 (en) 2004-11-18 2006-05-26 America Online, Inc. Runtime environment
US7774753B1 (en) 2004-11-18 2010-08-10 Adobe Systems Incorporated System and method for communicating data among two or more programs
US7475396B2 (en) 2004-12-03 2009-01-06 International Business Machines Corporation Method and apparatus for defining, building and deploying pluggable and independently configurable install components
CN100490387C (zh) 2004-12-28 2009-05-20 北京邮电大学 用于应用服务器的基于令牌的细粒度访问控制系统及方法
US7472377B2 (en) 2005-01-18 2008-12-30 International Business Machines Corporation Systems and methods for determining software package identity during a system build
US7802294B2 (en) * 2005-01-28 2010-09-21 Microsoft Corporation Controlling computer applications' access to data
US7650501B1 (en) 2005-02-15 2010-01-19 Sun Microsystems, Inc. System and methods for construction, fusion, prosecution, and maintenance of minimized operating environments
US7877091B2 (en) 2005-04-18 2011-01-25 Research In Motion Limited Method and system for executing a container managed application on a processing device
US20060259980A1 (en) * 2005-05-16 2006-11-16 Microsoft Corporation Method and system for limiting rights of services
US7716734B2 (en) 2005-05-19 2010-05-11 Microsoft Corporation Systems and methods for pattern matching on principal names to control access to computing resources
US7580933B2 (en) * 2005-07-28 2009-08-25 Microsoft Corporation Resource handling for taking permissions
US8073442B2 (en) 2005-10-05 2011-12-06 Microsoft Corporation Binding a device to a provider
US20070083620A1 (en) 2005-10-07 2007-04-12 Pedersen Bradley J Methods for selecting between a predetermined number of execution methods for an application program
CN1959631B (zh) 2005-11-04 2016-09-21 上海启明软件股份有限公司 一种基于itron的应用软件自主装配系统及方法
US7664924B2 (en) 2005-12-01 2010-02-16 Drive Sentry, Inc. System and method to secure a computer system by selective control of write access to a data storage medium
US20100153671A1 (en) 2005-12-01 2010-06-17 Drive Sentry Inc. System and method to secure a computer system by selective control of write access to a data storage medium
US7779265B2 (en) 2005-12-13 2010-08-17 Microsoft Corporation Access control list inheritance thru object(s)
US8972449B2 (en) * 2005-12-29 2015-03-03 Nextlabs, Inc. Preventing conflicts of interests between two or more groups
US8621549B2 (en) * 2005-12-29 2013-12-31 Nextlabs, Inc. Enforcing control policies in an information management system
US8209747B2 (en) * 2006-01-03 2012-06-26 Cisco Technology, Inc. Methods and systems for correlating rules with corresponding event log entries
US20070192500A1 (en) 2006-02-16 2007-08-16 Infoexpress, Inc. Network access control including dynamic policy enforcement point
US20070208857A1 (en) 2006-02-21 2007-09-06 Netiq Corporation System, method, and computer-readable medium for granting time-based permissions
EP1833222A1 (en) 2006-03-10 2007-09-12 Abb Research Ltd. Access control protocol for embedded devices
US20070240194A1 (en) * 2006-03-28 2007-10-11 Hargrave Bentley J Scoped permissions for software application deployment
US20070234412A1 (en) 2006-03-29 2007-10-04 Smith Ned M Using a proxy for endpoint access control
US8001528B2 (en) 2006-03-30 2011-08-16 Microsoft Corporation Organization of application state and configuration settings
US9489109B2 (en) 2006-03-30 2016-11-08 Sony Ericsson Mobile Communication Ab Data communication in an electronic device
US8166472B2 (en) 2006-10-12 2012-04-24 Apple Inc. Installation utility system and method
US20080120707A1 (en) 2006-11-22 2008-05-22 Alexander Ramia Systems and methods for authenticating a device by a centralized data server
US7934087B2 (en) 2006-11-29 2011-04-26 Novell, Inc. Techniques for secure event recording and processing
US7925875B2 (en) 2006-12-31 2011-04-12 Sandisk Corporation Systems and methods for identifying and booting a computer architecture
CN100483352C (zh) 2007-02-13 2009-04-29 华为技术有限公司 Idl调用装置及调用方法
US20080201705A1 (en) 2007-02-15 2008-08-21 Sun Microsystems, Inc. Apparatus and method for generating a software dependency map
CN101616719A (zh) 2007-02-23 2009-12-30 高通股份有限公司 用以基于接近度创建或加入游戏会话的方法和设备
US7797743B2 (en) 2007-02-26 2010-09-14 Microsoft Corporation File conversion in restricted process
US20080244723A1 (en) 2007-03-27 2008-10-02 Microsoft Corporation Firewall Restriction Using Manifest
US8239954B2 (en) 2007-05-07 2012-08-07 Microsoft Corporation Access control based on program properties
CN102006333B (zh) 2007-06-11 2012-12-26 华为技术有限公司 安装软件组件的方法、系统及装置
US8185889B2 (en) 2007-06-19 2012-05-22 Red Hat, Inc. Methods and systems for porting software packages from one format to another
GB2455059A (en) 2007-10-09 2009-06-03 Symbian Software Ltd Transmitting device pairing information over multiple available out of band channels/interfaces
US8978028B2 (en) 2007-10-10 2015-03-10 Microsoft Technology Licensing, Llc Transactional multi-package installation
US8356335B2 (en) * 2007-10-30 2013-01-15 Apple Inc. Techniques for authentication via network connections
KR101474561B1 (ko) 2007-11-27 2014-12-19 삼성전자주식회사 이동통신 단말기에서의 어플리케이션 실행방법 및 장치
US8107879B2 (en) 2007-12-31 2012-01-31 Intel Corporation Device, system, and method of establishing multiple wireless connections
US20090193507A1 (en) 2008-01-28 2009-07-30 Wael Ibrahim Authentication messaging service
EP2086206A1 (en) 2008-01-31 2009-08-05 Alcatel Lucent System for operating a peer-to-peer network taking into account access network subscriber information
JP4613969B2 (ja) 2008-03-03 2011-01-19 ソニー株式会社 通信装置、及び通信方法
EP2107458A1 (en) 2008-03-31 2009-10-07 Jatho Investments Modelling software appliance
US7930760B2 (en) 2008-04-01 2011-04-19 Microsoft Corporation Centralized enforcement of name-based computer system security rules
US8090852B2 (en) * 2008-06-04 2012-01-03 Sophos Plc Managing use of proxies to access restricted network locations
US8407693B2 (en) 2008-06-09 2013-03-26 International Business Machines Corporation Managing package dependencies
US20090327900A1 (en) 2008-06-26 2009-12-31 Microsoft Corporation Indicating resources to which there are access rights
US8204969B2 (en) 2008-08-05 2012-06-19 Canon Kabushiki Kaisha Method for retrieving updates via the internet
US20100058320A1 (en) 2008-09-04 2010-03-04 Microsoft Corporation Managing Distributed System Software On A Gaming System
US9043919B2 (en) 2008-10-21 2015-05-26 Lookout, Inc. Crawling multiple markets and correlating
US8146134B2 (en) * 2008-10-28 2012-03-27 Yahoo! Inc. Scalable firewall policy management platform
US20100174599A1 (en) 2009-01-05 2010-07-08 Apple Inc. System and method for providing content associated with a product or service
US9288210B2 (en) * 2009-01-26 2016-03-15 Microsoft Technology Licensing, Llc Revocable object access
US8131214B2 (en) 2009-03-02 2012-03-06 Motorola Mobility, Inc. Method for selecting content for transfer or synchronization between devices
US8375377B2 (en) 2009-03-06 2013-02-12 International Business Machines Corporation Controlling java virtual machine component behavior on a per-classloader basis
US8468608B1 (en) 2009-03-30 2013-06-18 Symantec Corporation Enforcing digital rights management in a heterogeneous environment
US20100287513A1 (en) 2009-05-05 2010-11-11 Microsoft Corporation Multi-device gesture interactivity
KR101590188B1 (ko) 2009-05-08 2016-01-29 삼성전자주식회사 휴대단말기에서 소프트웨어 패키지의 무결성을 검증하는 방법
US9270683B2 (en) 2009-05-15 2016-02-23 Amazon Technologies, Inc. Storage device authentication
US8826269B2 (en) 2009-06-15 2014-09-02 Microsoft Corporation Annotating virtual application processes
US20110066851A1 (en) * 2009-09-14 2011-03-17 International Business Machines Corporation Secure Route Discovery Node and Policing Mechanism
US20110070827A1 (en) 2009-09-24 2011-03-24 Research In Motion Limited Communications device and method for initiating communications at a communications device
US20110098030A1 (en) 2009-10-27 2011-04-28 Nokia Corporation Method and apparatus for activating services
US8838644B2 (en) 2009-11-25 2014-09-16 International Business Machines Corporation Extensible access control list framework
CN102129364B (zh) 2010-01-14 2013-09-25 中国电信股份有限公司 应用程序中嵌入微件工具栏的方法和快速访问微件的方法
US8745239B2 (en) 2010-04-07 2014-06-03 Limelight Networks, Inc. Edge-based resource spin-up for cloud computing
US8782106B2 (en) 2010-07-02 2014-07-15 Code Systems Corporation Method and system for managing execution of virtual applications
US20120194534A1 (en) 2011-02-02 2012-08-02 Alcatel-Lucent Usa Inc. System and Method for Managing Cache Storage in Adaptive Video Streaming System
US20120297288A1 (en) 2011-05-16 2012-11-22 Edward Mansouri Method and System for Enhancing Web Content
US9319406B2 (en) 2011-07-12 2016-04-19 Apple Inc. System and method for linking pre-installed software to a user account on an online store
US20130054734A1 (en) 2011-08-23 2013-02-28 Microsoft Corporation Migration of cloud applications between a local computing device and cloud
CN103765427B (zh) 2011-09-07 2017-02-15 英特尔公司 检验设备的固件完整性
US20130067459A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Order-Independent Deployment Collections with Dependency Package Identifiers
US8990561B2 (en) 2011-09-09 2015-03-24 Microsoft Technology Licensing, Llc Pervasive package identifiers
US9800688B2 (en) 2011-09-12 2017-10-24 Microsoft Technology Licensing, Llc Platform-enabled proximity service
CN103188797A (zh) 2011-12-28 2013-07-03 北京三星通信技术研究有限公司 一种改变tdd上下行配置的方法
US9152784B2 (en) 2012-04-18 2015-10-06 Mcafee, Inc. Detection and prevention of installation of malicious mobile applications
US10356204B2 (en) 2012-12-13 2019-07-16 Microsoft Technology Licensing, Llc Application based hardware identifiers
US9858247B2 (en) 2013-05-20 2018-01-02 Microsoft Technology Licensing, Llc Runtime resolution of content references

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002517854A (ja) * 1998-06-12 2002-06-18 マイクロソフト コーポレイション 制限付きのトークンを使用したセキュリティモデル
JP2010176690A (ja) * 1998-06-12 2010-08-12 Microsoft Corp 信頼できないコンテントを安全に実行するための方法およびシステム
JP2005528051A (ja) * 2002-05-28 2005-09-15 シンビアン リミテッド セキュアな移動体無線装置
US20060193467A1 (en) * 2005-02-16 2006-08-31 Joseph Levin Access control in a computer system
JP2013041370A (ja) * 2011-08-12 2013-02-28 Toshiba Corp エネルギー管理装置および電力管理システム

Also Published As

Publication number Publication date
KR20140068935A (ko) 2014-06-09
KR101839647B1 (ko) 2018-03-16
US9118686B2 (en) 2015-08-25
EP2754084A4 (en) 2015-05-06
EP2754084B1 (en) 2016-11-30
CN102882855A (zh) 2013-01-16
WO2013036253A1 (en) 2013-03-14
US20130061309A1 (en) 2013-03-07
CN102882855B (zh) 2016-06-29
EP2754084A1 (en) 2014-07-16
JP6038924B2 (ja) 2016-12-07

Similar Documents

Publication Publication Date Title
JP6038924B2 (ja) プロセス毎ネットワーキング機能
KR101951973B1 (ko) 자원 액세스 허가 기법
KR102146034B1 (ko) 네트워크 종점들의 보안 보호와 원격 관리를 위한 사용자 인터페이스
JP6072792B2 (ja) ウェブランタイムシステムのためのサンドボクシング技術
CN109923522A (zh) 匿名容器
US8533811B2 (en) Developer phone registration
CN107431924B (zh) 将设备标识符和用户标识符相关联的设备盗窃防护
Petracca et al. {AWare}: Preventing Abuse of {Privacy-Sensitive} Sensors via Operation Bindings
KR102076878B1 (ko) 안티 멀웨어 프로세스를 보호하는 기법
KR20150129739A (ko) 자동적인 거짓 디지털 인증서 검출 기법
EP2859487A1 (en) Evaluating whether to block or allow installation of a software application
Sze et al. Hardening openstack cloud platforms against compute node compromises
Neisse et al. A privacy enforcing framework for Android applications
US20130061316A1 (en) Capability Access Management for Processes
KR20140068940A (ko) 애플리케이션용 콘텐츠 핸들링 기법
Gupta et al. A risk-driven model to minimize the effects of human factors on smart devices
CN113687925B (zh) 设备操作处理方法及装置、存储介质、计算机设备
Petracca et al. Aware: Controlling app access to I/O devices on mobile platforms
US10552626B2 (en) System and method for selecting a data entry mechanism for an application based on security requirements
US9240988B1 (en) Computer system employing dual-band authentication
US20170201546A1 (en) Method and apparatus for controlling functionality using codes
Friesen PLOX: A Secure Serverless Framework for the Smart Home
Obser User-controlled Internet Connections in Android
Xing Resource Squatting Hazards in Modern Operating Systems: Analyses and Mitigations

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140925

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140925

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160906

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161102

R150 Certificate of patent or registration of utility model

Ref document number: 6038924

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250