JP2009009566A - アクセス制御システムおよびアクセス制御方法 - Google Patents

アクセス制御システムおよびアクセス制御方法 Download PDF

Info

Publication number
JP2009009566A
JP2009009566A JP2008161206A JP2008161206A JP2009009566A JP 2009009566 A JP2009009566 A JP 2009009566A JP 2008161206 A JP2008161206 A JP 2008161206A JP 2008161206 A JP2008161206 A JP 2008161206A JP 2009009566 A JP2009009566 A JP 2009009566A
Authority
JP
Japan
Prior art keywords
access
network service
compartment
rule
rules
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
JP2008161206A
Other languages
English (en)
Other versions
JP4907603B2 (ja
Inventor
Subramanian Murali
ムラリ・サブラマニアン
Anantha Keerthi Banavara Ramaswamy
アナンサ・キールシー・バナバラ・ラマスワミー
Arun Keshava Murthy
アラン・ケシャバ・マーシー
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2009009566A publication Critical patent/JP2009009566A/ja
Application granted granted Critical
Publication of JP4907603B2 publication Critical patent/JP4907603B2/ja
Expired - Fee Related 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/105Multiple levels of security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/2113Multi-level security, e.g. mandatory access control

Landscapes

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

Abstract

【課題】ネットワークサービスが損なわれた場合に、通常はセキュアであるシステムに与えられる可能性のある損傷を抑制または制御する。
【解決手段】本発明にかかるアクセス制御システムおよびアクセス制御方法は、1つ以上のコンパートメントを定義し、このコンパートメントに適用され、このコンパートメントに関連付けられているエンティティによるネットワークサービスへのアクセスを制御する規則を提供する。この規則は、少なくとも、動的に割り当てられる通信ポートを使用するネットワークサービスへのアクセスを制御するための第1の種類の規則を含む。
【選択図】図4

Description

本発明は、コンピュータシステムにおけるアクセス権に関する。
オペレーティングシステムは、通常、コンピュータのその後のオペレーションを制御するためにコンピュータのメモリにロードされて実行されるコンピュータプログラムまたはコンピュータプログラムのセットである。
しかしながら、オペレーティングシステムは、特に、たとえば移動電話およびPDA等のポータブルデバイスでは、ファームウェアまたはハードウェアの組み込みプログラムとすることもできる。
ほとんどの従来のコンピュータオペレーティングシステムは、アクセス制御の形で、或る種の論理的保護をデータに提供する。
この論理的保護は、特定の人々または特定の人々のグループに対して付与または拒否することができる。
一般に、任意アクセス制御(DAC)を提供するシステムでは、ユーザ(アドミニストレータと相対する者として)は、自身のデータに許可を割り当てることができる。
これによって、他者(または他者のグループ)のそのデータへのアクセスが許可または拒否される。
これは、個人にとっては満足のいくものである。
しかしながら、いくつかの組織、特に軍隊組織または政府機関等では、情報へのアクセスをより厳重に制御する能力が必要とされる。
たとえば、最高機密情報は、組織内のほとんどの人に見えるものであるべきではなく、制限情報は、そのラベルが示唆するように、一般に利用可能であるべきではないのに対し、非制限情報は、組織内のだれによるアクセスにも利用可能とすることができる。
したがって、組織の情報に対してより優れたアクセス制御を提供するセキュアオペレーティングシステムが知られている。
通常、セキュアオペレーティングシステムは、付加的な分類またはラベルをファイルに関連付け、いわゆる強制アクセス制御(MAC)を適用する。
MACは、(たとえば、機密ラベルによって表されるような)ファイルの機密性に基づいてファイルへのアクセスを制限する手段を提供する。
DACとは対照的に、MACの下では、ユーザは、誰が自身のデータを見るのかを決定する権利を有しない。
すなわち、互換性のある情報取扱許可(clearance)を有するユーザのみが、データを見ることを許可される。
たとえば、最高機密情報取扱許可を有するユーザは、それよりも下位の情報取扱許可を有する他者が自身のデータを見ることを許可する能力を有しない。
MACは、「コンパートメント」によって表すことができる。
実際には、コンパートメントは、通常、名称等の識別子を有する論理構成体(logical construct)であって、そのコンパートメントを定義する一組のアドミニストレータが構成したアクセス制御規則が適用される論理構成体である。
コンパートメント規則は、アプリケーションの実行に必要な資源(ファイル、プロセス、プロセス間通信メソッド等)のみへのアクセスを許可するのに使用される。
これらの規則は、コンパートメントにおいて動作する許可を有するユーザおよびプロセスの双方に適用され、したがって、別段の指定のない限り、または、文脈上別の意味が指示されていない限り、このようなユーザおよびプロセスは、本明細書では「エンティティ」と総称される。
したがって、コンパートメント内で動作するエンティティは、デフォルトとは逆の特定のMAC規則が提供されない限り、デフォルトでは、同じコンパートメントにおいてアクセス可能であると定義されたファイル、他のプロセスおよび資源にしかアクセスすることができない。
コンパートメントは、アプリケーションについて隔離されたランタイム環境を提供することができる。
この隔離されたランタイム環境では、コンパートメント規則によって、アプリケーションの実行に必要な資源のみへのアクセスが可能になる。
これによって、たとえアプリケーションが損なわれていても、その損傷が、そのアプリケーションが実行されているコンパートメント(複数可)にのみ限定される可能性が増加する。
ファイルシステム等へのアクセスを制御することに加えて、MAC規則を定義することによって、MACが、一般のリモートサービス、より詳細にはネットワークサービスを提供するネットワークエンドポイント等、コンパートメントの外部の資源へのアクセスを制御するのに使用されることが知られている。
これらのMAC規則は、コンピューティングプラットフォームの特定の通信インターフェースへのアクセスを許可または拒否する。
本明細書で使用される場合、「ネットワークサービス(またはネットワーク接続サービス)」という用語は、ネットワーク接続された複数のコンピュータから成る分散コンピューティング環境においてリモートコンピュータ、すなわちサーバ上で実行されるコンピュータプログラムである。
ネットワークサービスは、サービスを実行するホストから遠隔にあるクライアント(たとえば、セキュアオペレーティングシステムを実行しているホスト)からアクセスして起動する、すなわち「呼び出す」ことができる。
ネットワークサービスの例は、既知のサービスを2〜3例を挙げると、RPCサービス(ypserv、mountd等)、ウェブサイト、X端末(X-terminal)、およびFTPサイトである。
ネットワークサービスへのアクセスを制御する能力は、既に損なわれているおそれのあるネットワークサービスまたは今後損なわれるおそれのあるネットワークサービスにエンティティがアクセスすることを防止するためのメカニズムを提供することによって、セキュリティを増加させる。
ネットワークサービスが損なわれる可能性のある最も一般的な様態は、サービス拒否攻撃によるものである。
この攻撃は、適法なユーザに対してサービスを利用不能にしようとして、サービスのダミー要求でサービス(またはサービスを実行しているサーバ)をフラッドさせるものである。
資源アクセスのためのMACを定義する1つの既知の方法は、いわゆるラベル化セキュリティ保護プロファイル(labelled security protection profiles)(LSPP)に基づくものである。
このLSPPでは、資源(たとえば、ネットワークエンドポイント)は、資源上のアクセス制御ポリシーを指定するラベルを保持するように構成されている。
しかしながら、MACをこのように実施するには、多大な労力と、従来のアプリケーションおよびシステムへの適応が必要とされる。
資源アクセスのためのMACを定義する既知のより簡単な方法は、アクセス制御規則を使用することに基づくものである。
アクセス制御規則は、個々のコンパートメントごとに指定される。
このような制御規則は、通常、TCPポート番号を使用して、ネットワークエンドポイント、たとえばネットワークサービスを一意に識別する。
多くのネットワークサービスは、事前に割り当てられている既知のポート番号を使用する。
たとえば、HTTPはTCPポート80を使用し、POP3はポート110を使用し、IRCはポート194を使用する。
このような場合に、MAC規則を使用してそれぞれのポートへのアクセスを付与または拒否することによって、サービスへのアクセスを付与または拒否することが可能である。
しかしながら、RPCサービスおよびXTERMサービス等のいくつかのネットワークサービスは、事前に割り当てられているポート番号を使用せず(すなわち、ポート番号は、ランタイムにおいて動的に配分、すなわち割り当てられ)、したがって、コンパートメント規則でポート番号を指定することによってアクセスを付与または拒否することが可能でない。
このようなアクセス制御がないことから、いずれかのこのようなネットワークサービスが損なわれた場合に、通常はセキュアであるシステムに与えられる可能性のある損傷を抑制または制御することが容易でない場合がある。
従来技術の問題の1つ以上を少なくとも軽減することが、本発明の実施の形態の目的である。
本発明の一態様によれば、1つ以上のコンパートメントを定義すると共に、当該コンパートメントに関連付けられるエンティティによるネットワークサービスへのアクセスを制御するための、コンパートメント(複数可)に適用される規則を提供するアクセス制御システムであって、規則は、動的に割り当てられる通信ポートを使用するネットワークサービスへのアクセスを制御するための少なくとも第1の種類の規則を含む、システムが提供される。
本発明の別の態様によれば、アクセス制御方法であって、
セキュアオペレーティングシステムのコンパートメントに関連付けられる要求側エンティティからのネットワークサービスコールを受信することであって、上記ネットワークサービスは、動的に割り当てられる通信ポートを使用する、受信すること、
コンパートメントに適用されているあらゆる規則に関して、エンティティがネットワークサービスにアクセスするための許可を有するか否かを判断すること、および
適用されるコンパートメント規則が、ネットワークサービスにアクセスするための許可を付与する場合にのみ、ネットワークサービスコールを処理することを含む、方法が提供される。
本発明のさらに別の態様によれば、ネットワークサービスコールを処理するように構成されているデータ処理システムであって、
該システムのコンパートメントに関連付けられるエンティティから、動的に割り当てられる通信ポートを使用するネットワークサービスのコールを受信するための入力と、
コンパートメントに適用されると共に関連するネットワークサービスアクセス許可を定義する規則を記憶するストアと、
ストアが、ネットワークサービスにアクセスするための許可を付与するコンパートメントの規則を含む場合にのみ、ネットワークサービスコールを実行に移すプロセスとを備える、システムが提供される。
既知のセキュアオペレーティングシステムは、SELinux(商標)、Trusted Solaris(商標)、およびHP−UX Security Containment(商標)であり、本発明の態様の実施の形態は、これらのオペレーティングシステムに適用することができる。ただし、教示される原理は、より広く適用可能である。
本発明のさらなる特徴および利点は、単なる例として与えられた、本発明の好ましい実施の形態の以下の説明から明らかになる。以下の説明は、添付図面を参照して為される。
既知のポート番号を使用するネットワークサービスへのアクセス(またはその使用)を制御することが可能であることが知られているが、本発明の実施形態は、新しいクラスのコンパートメント規則に関するものであり、この新しいクラスのコンパートメント規則は、動的に割り当てられるポート番号を使用するネットワークサービスへのアクセス(またはその使用)を制御するものである。
次に、本発明の実施形態を詳細に説明する前に、本発明の特定の実施形態を実施するのに適したコンピューティング環境を説明する。
本発明の実施形態を実施するのに適した例示的なコンピューティングプラットフォーム10を図1の図解に示す。
このコンピューティングプラットフォーム10は、キーボード14、マウス16、および視覚表示ユニット(VDU)18の標準的な機能を有する。
これらは、プラットフォームの物理的な「ユーザインターフェース」を提供する。
プラットフォームは、マザーボード、および、ファイルシステムを記憶するためのハードディスクドライブ等の標準的なコンポーネントを含む。
図2に示すように、コンピューティングプラットフォーム10のマザーボード20は、(他の標準的なコンポーネントの中でも特に)メインプロセッサ21、メインメモリ22、データバス26およびそれぞれのアドレス指定ライン27および制御ライン28、プラットフォーム10のBIOSプログラムを含むBIOSメモリ29、並びに入出力(IO)コントローラ25を含む。
IOコントローラ25(1つ以上の独立したサブシステムを備えることができる)は、マザーボードのコンポーネントと接続されているデバイスとの間の相互作用を制御する。
接続デバイスは、(入力コントローラ253を介した)キーボード14およびマウス16、(出力コントローラ254、たとえば、スクリーンコントローラまたはグラフィックスコントローラを介した)VDU18、(ストレージコントローラ252を介した)ハードディスク等のストレージデバイス12、並びに(ネットワークコントローラ251、たとえば、イーサネット(登録商標)LANコントローラを介した)外部世界等である。
ネットワークコントローラ251は、ネットワークインターフェースカード(NIC)上に具現化することができる。
たとえばインターネット全体にわたる外部世界との通信は、ネットワークコントローラ251を介して方向付けられ、通常、データパケットを含む。
既知のシステムでは、以下でより詳細に説明するように、データパケットは、通常、NIC等の論理ポート番号を介して移動するようにアドレス指定される。
メインメモリ22は、通常、ランダムアクセスメモリ(RAM)であり、BIOSメモリは、通常、EEPROMである。
EEPROMは、BIOS更新で「フラッシュ」することができる。
動作中、プラットフォーム10は、BIOSメモリ29からRAM内へBIOSをロードし、次に、ハードディスク12からRAM内へオペレーティングシステムをロードする。
オペレーティングシステムは、コンピューティングプラットフォームのオペレーションのあらゆる態様を制御し、本発明例では、コンパートメントを提供するセキュアオペレーティングシステムである。
加えて、動作中、オペレーティングシステムは、ハードディスク12からRAM22内へ、プラットフォーム10によって実行することができるプロセスまたはアプリケーションもロードする。
図3の図解は、マシン1(300)、マシン2(310)、およびマシン3(320)のラベルが付けられた3つのネットワーク接続されているコンピュータが存在するネットワークシナリオを示している。
マシン1は、RPCネットワークサービスrpcbind301、ypserv302、およびrpc.mountd303を実行するサーバである。
これらのRPCサービスは、ネットワークカード305に対して動的に割り当てられるポート番号304を使用する。
マシン2は、セキュアオペレーティングシステム312を実行している。
このセキュアオペレーティングシステム312は、指定された「ファイル共有」313、「アイフェース」(ifaces)314、および「データベース」315の3つのコンパートメントを定義する。
これらのコンパートメントは、ネットワークカード314のポート315を使用して通信することができる。
マシン3は、ウェブサーバ322を実行している。
ウェブサーバ322は、ネットワークカード324に対して事前に割り当てられているポート番号80(325)を使用する。
図解の斜線領域は、たとえばLANによって提供される、マシン間の通信ファブリックまたは通信インフラストラクチャを表している。
第1の斜線領域330は、マシン1およびマシン2が原則として互いに通信できることを示し、第2の斜線領域340は、マシン2およびマシン3が原則として互いに通信できることを示している。
しかしながら、通信を行うには、(パケットベースまたはストリームベースのいずれかの)論理接続が確立されなければならない。
マシン2のポート81とマシン3のポート80との間で通信を行うことを可能にするこのような1つの論理接続は、350として指定された実線矢印によって示されている。
既知のセキュアオペレーティングシステムを使用して、マシン2のコンパートメントで動作するエンティティによる、マシン3のウェブサーバ322へのアクセスを制御することが可能である。
この既知のセキュアオペレーティングシステムは、固定されたポート番号割り当てと、ポート番号(すなわち、より具体的には、NIC、宛先IPアドレス、およびポート番号)に基づくコンパートメント特有の規則とを使用するネットワークサービスへのアクセスを制御することができる。
次に、背景として、この種の例示的な既知の規則を説明する。
この規則は、次のシンタックスを有する。
「アクセス,方向,プロトコル,ポート(ポート番号),ピアポート(ポート番号),コンパートメント」
ここで、アクセスは、付与または拒否に設定される。
方向は、規則がクライアント(コンパートメントからのアウトバウンドメッセージ)に適用されるのか、またはサーバ(コンパートメントへのインバウンドメッセージ)に適用されるのかを指示する。
プロトコルは、たとえば、TCPまたはUDP(または他の任意の認識されているプロトコル)として設定することができる。
ポートは、コンパートメントを含むマシンのポートである。
ピアポートは、サービスを含むマシン(またはネットワークエンドポイント)によって使用されるポートである。
コンパートメントは、通信に使用されるネットワーク(またはLAN)インターフェースに関連付けられているコンパートメントの識別子または名称である。
たとえば、「ファイル共有」と呼ばれる、コンパートメントのアクセス規則は以下のように表され得る。
[従来技術のMAC規則]
10 compartment File_Sharing {
20 grant server tcp port 81 peer port 80 ifaces
30 deny client tcp port 81 peer port 80 ifaces
40 }
50 compartment ifaces {
60 interface lan0
70 }
このアクセス規則は、以下の意味を有する。
すなわち、ライン10は、コンパートメントをFile Sharing(ファイル共有)と命名している。
ライン20は、(サーバによって指定される)リモートコンピュータのTCPポート80からTCPポート81へのTCPプロトコルインバウンド通信を受信するためのアクセス制御権をコンパートメントFile Sharingに付与している。
TCPポート81は、インターフェースカードが指定するlan0(図示せず)に関連付けられている。
lan0は、それ自体ifaces(アイフェース)と呼ばれるコンパートメントに関連付けられている。
ライン30は、TCPポート81からlan0インターフェースカードを通じてリモートコンピュータのTCPポート80へTCP通信を送出するためのアクセス制御権を(クライアントによって指定される)コンパートメントFile Sharingに付与する。
ライン40は、File Sharingコンパートメントの定義を終了する。
ライン50は、ifacesと呼ばれるコンパートメントの定義を開始する。
ライン60は、(File Sharingコンパートメントにライン20および30で付与されたように、他の任意のコンパートメントのエンティティが、ifacesコンパートメントにアクセスする許可を有する場合に、lan0インターフェースを介してのみ通信できるように)lan0インターフェースを含むようにifacesコンパートメントを定義する。
ライン70は、ifacesコンパートメントの定義を終了する。
ポート80は、HTTPに関連付けられるTCPポートであることが知られている。
HTTPは、ウェブページを転送するのに使用され、したがって、File Sharingコンパートメントは、上述のアクセス制御規則によって、ウェブサーバと相互作用する許可を付与されている。
マシン1のポート305が動的に割り当てられ(したがって、それぞれのポート番号は、未知であるとして「?」のラベルが付けられ)、規則を適用することができないとき、ファイル共有コンパートメント313とウェブサーバ322との間のアクセスを制御することができるのとは対照的に、マシン1によってホスティングされているRPCサービスへのファイル共有コンパートメント313によるアクセスを付与することは(上述したクラスの規則を使用して)可能でなく、同時に、マシン1のRPCサービスへのデータベースコンパートメント315によるアクセスを拒否することも可能でない。
一方、本発明の特定の実施形態によれば、説明するように、コンパートメントのそれぞれについて独立したネットワークサービスアクセス制御を達成することができる。
本明細書で詳細に説明するように、本発明の実施形態は、動的に割り当てられるポート割り当てを使用するアクセスネットワークサービスを制御するように設計されている新しいクラスの規則に依存する。
この新しい規則は、例として、以下のように表すことができる。
DPR G/D <MODULE> <STRING>
ここで、DPRは、「Dynamic Port Rule」(動的ポート規則)を表す規則名である。
G/Dは、許可GRANT(付与)またはDENY(拒否)である。
<MODULE>は、規則が適用されるネットワークサービス(および対応するモジュールまたは関数、説明する)の名称である。
<STRING>は、命名されたネットワークサービス(および対応するモジュールまたは関数)に関連付けられている一意の識別子(番号、名称、または他の任意の種類の参照子とすることができる)である。
図4の図解は、例示的なセキュアオペレーティングシステムの一部の高レベルの機能表現を提供する。
このセキュアオペレーティングシステムは、本発明の実施形態によるオペレーションに適合されている。
本発明の実施形態は、図4に示す配置にもアーキテクチャにも決して限定されるものではないことを強調しておく。
本発明の特定の実施形態を実施することができるセキュアオペレーティングシステムの一例は、HP−UX Security Containmentのバージョン2、リリース11.31である。
このHP−UX Security Containmentは、MACを提供するものであり、本明細書で説明するように、ネットワークサービスアクセス規則を、コンパートメント単位で、動的に割り当てられるポートを使用するネットワークサービスに提供するように適合することができる。
しかしながら、本発明の特定の実施形態は、他の既存のセキュアオペレーティングシステム上で実施することができ、本明細書で説明する原理は、HP−UX製品のアプリケーションに決して限定されるものではないことが認識されよう。
以下の例では、オペレーティングシステムは、説明するように、コンパートメント規則を使用して(ネットワークサービスに関連して)実施される、MACを提供するコンパートメントベースのオペレーティングシステムである。
オペレーティングシステムは、UNIX(登録商標)のようなコマンドと、既知のポート番号を有するネットワークサービスへのアクセスを制御するための既存の規則と、動的に割り当てられるポート番号を有するネットワークサービスへのアクセスを制御するための新しい規則とをサポートする。
この場合も、本発明の実施形態は、UNIX(登録商標)のようなオペレーティングシステムに決して限定されるものではない。
たとえば、これらの原理は、Microsoft(商標)Windows(登録商標)ベースのオペレーティングシステムにも等しく適用することができるし、さらには、bespokeまたは組み込みオペレーティングシステム等を含む、他の任意の種類のオペレーティングシステムにも適用することができる。
図4のオペレーティングシステム400は、カーネル空間402およびユーザ空間404を有するものとして示されている。
カーネル空間402は、オペレーティングシステムのカーネルを実行するために確保されたメモリである。
カーネルは、一般に、コンピューティングプラットフォームの資源の管理、および、ハードウェアコンポーネントとソフトウェアコンポーネントとの間の通信の管理を担当する。
ユーザ空間404は、ユーザアプリケーションが実行されて動作するメモリエリアである。
ユーザ空間404は、(時に「標準入力」と呼ばれるマウス16またはキーボード14を介して)ユーザからの入力を受け取り、その入力をシステムコールインターフェース406に引き渡す。
本発明の文脈では、この入力が、或る種のネットワークサービス要求に関するものであるとき、コマンドが、システムコールインターフェース406によってネットワークサービスハンドラ408へ渡される。
ネットワークサービスハンドラ408は、オペレーティングシステムにおける(または、オペレーティングシステムによってコールされる)ソフトウェアプログラムまたは関数である。
このソフトウェアプログラムまたは関数は、セキュリティコンテインメントコントローラ(Security Containment controller)410によって提供されるアクセス制御規則を参照してネットワークサービスコールを処理する。
セキュリティコンテインメントコントローラ410は、セキュリティコンテインメント規則関数412内にMAC規則を含む。
セキュリティコンテインメント規則関数412は、システムのコンパートメントのそれぞれを定義する一般の規則を含む。
特に、セキュリティコンテインメント規則関数412は、本発明の本実施形態によれば、以下でより詳細に説明するように、コンパートメントのネットワークサービスアクセス制御を定義する規則を含む。
ネットワークサービスハンドラ408は、コンパートメントに関連付けられている、ネットワークサービスコールを発行したエンティティ(すなわち、ユーザまたはプロセス)がコールの起動および完了に必要なアクセス制御権を有するか否かを、セキュリティコンテインメントコントローラ410を参照することによって確認する。
エンティティが権利を有する場合には、ネットワークサービスハンドラ408は、既知の方法で関連するネットワークサービスコールを実行し、LANカードコントローラ414(BIOSコールを使用する)と相互作用して、LANカード416およびLAN330を介してそれぞれのネットワークサービスサーバ300と相互作用する。
エンティティが権利を有しない場合には、アクセスは従来の方法で拒否される。
特にネットワークサービスアクセス制御規則に関しては、図4に示すように、セキュリティコンテインメント規則関数412は、アクセス制御許可を割り当てられる各ネットワークサービスについて、識別されるコンパートメントごとに、エントリー420を含むテーブル418を含む。
示される例では、「FS」コンパートメントの1つのテーブルエントリー420しか示されていないが、実際には、アクセス制御が必要とされるさまざまなコンパートメントについて多くの規則が存在し得ることが認識されよう。
原則として、コンパートメントは特定の規則を一切必要とせず、その場合に、デフォルトの姿勢は、コンパートメントで動作するエンティティがそれぞれのネットワークサービスへのアクセスを拒否されるということである。
図4に示すように、コンパートメント規則テーブル418は、コンパートメント名またはコンパートメントIDの列420と、モジュール名の列422と、ポインタの列424とを含む。
ここで、テーブルの各行(すなわち、識別されるコンパートメントの各モジュール名のエントリー)は、対応するポインタを有する。
この例では、(ポインタの列424の)ポインタ426は、好ましくは、「不透明ポインタ」である。
この不透明ポインタは、当該ポインタが汎用的であるという既知の利点を提供し、その結果、不透明ポインタは、動的なポート番号を使用するあらゆる種類のネットワークサービス(たとえば、RPCサービスおよびXTERMサービス)をサポートすることができる。
ただし、各種のネットワークサービスに固有の他の種類のポイントを代わりに使用することもできる。
ポイント426のそれぞれは、関連するネットワークサービスのMAC規則を提供する、対応するアクセスチェックモジュール428を指し示す。
RPCネットワークサービスの場合、たとえば(図示するように)、モジュール428の名称は、そのサービスを表す「RPC」であり、ポイント426は、RPCサービスのアクセスチェックモジュール428を指し示す。
既に示したように、このモジュール名は、「FS」(図3のファイル共有コンパートメントとすることができる)と呼ばれるコンパートメントに関連付けられている。
アクセスチェックモジュール428のこのインスタンスでは、(RPCプログラム番号によって識別される)RPCサービスへの(FSコンパートメントのエンティティの)アクセスはGRANTである。
各アクセスチェックモジュールは、それぞれのネットワークサービスのMAC規則を提供する。
各ネットワークサービスが異なるとき、各アクセスチェックモジュールは、適切なそれぞれの機能を備え、通常は、異なる入力要件(すなわち、異なる入力引数)で異なって動作する傾向があるが、それぞれのネットワークサービスへのアクセスをGRANTまたはDENYすることになる同じ種類のMAC出力を有する。
原則として、各種のアクセスチェックモジュールの多数の異なるインスタンスを有することが必要な場合がある。
異なるコンパートメントは、RPCサービス(または、実際には他の任意のサービス)の異なるアクセス制御要件を有する場合がある(また、おそらく有する)ので、たとえば、RPCアクセスチェックモジュールの複数のインスタンスが存在する場合がある。
たとえば、規則テーブルの第2のエントリー430は、「DB」コンパートメント(図3のデータベースコンパートメント315とすることができる)に関するものである。
DBエントリー430のそれぞれのポインタ432は、第2のRPCアクセスチェックモジュール434を識別する。
この第2のRPCアクセスチェックモジュール434は、このインスタンスでは、識別されたRPCサービスへのアクセスを拒否する。
実際には、いずれの特定のネットワークサービスについてもコンパートメント規則がない場合にも、アクセスは拒否されることになり、それによって、拒否されるコンパートメントおよびネットワークサービスのあらゆる組み合わせについてアクセスチェックモジュールが存在する必要があるという事態が回避される。
しかしながら、同じネットワークサービスが、異なるコンパートメントの要件に応じるために、複数のアクセスチェックモジュールを必要とする場合があるが、2つ以上のコンパートメントが所与のネットワークサービスについて同じアクセス制御要件を有する場合に、コンパートメント規則テーブル418の2つのそれぞれのエントリーは、同じアクセスチェックモジュールを指し示すことができる。
単なる例示として、コンパートメント規則テーブル418の最後のエントリー440は、任意のネットワークサービス「xyz」に関するものとして示されている。
このネットワークサービス「xyz」は、動的に割り当てられるポートを使用する任意のネットワークサービスとすることができる。
それぞれのポインタ442は、ネットワークサービスへのアクセスを拒否する適切なアクセスチェックモジュール444を指し示す。
図5のフロー図を参照して、例示的なネットワークサービスMACプロセスを説明する。
この例では、RPCサービスコールを説明するが、まず、背景理解のためだけに、RPCサービスを一般的に説明する。
RPCによる例示的なリモートプロシージャコールは、コール側プロセスがコールメッセージをサーバプロセスへ送信して応答メッセージを待つことを伴う。
このコールメッセージは、プロシージャのパラメータを含み、応答メッセージは、プロシージャを実行したプロシージャ結果を含む。
コール側プロセスは、応答メッセージを受信すると、実行を続ける。
サーバ側では、RPCサービスは、通常、ドーマントであり、それぞれのRPCコールメッセージの到着を待ち受けている。
RPCコールメッセージが到着すると、サービスは要求しているコール側プロセスへその後返信する応答を計算する。
一般に、RPCサービスは少なくとも、自身のRPCプログラム番号、バージョン番号、および当該RPCサービスに到達することができるトランスポートアドレスによって識別することができる。
バージョン番号は、同じサービスのさまざまな異なるバージョン間を区別するために使用され、大部分は、時間と共にサービスを発展させるのに利用される。
トランスポートアドレスはネットワークアドレスおよびトランスポートセレクタから成る。
TCPまたはUDP上で利用可能なサービスの場合、ネットワークアドレスはIPアドレスであり、トランスポートセレクタはTCPポート番号またはUDPポート番号である。
コール側プロセスは、サービスを利用するために、そのサービスに対応するRPCプログラム番号、バージョン番号、およびトランスポートアドレスを知っている必要がある。
これらのうち、RPCプログラム番号およびバージョン番号は、サービス定義の一部としてコール側プロセスに組み込むことができる。
トランスポートアドレスのネットワークアドレスコンポーネントは、通例、(たとえば、HP−UXのディレクトリパス/usr/sbin/namedに見られる)「named」等のネームサービスデーモンから取得可能であるか、またはコール側プロセスにパラメータとして提供することができる。
本明細書で既に説明したように、RPCサービスの場合、トランスポートセレクタ(すなわち、TCPポートまたはUDPポート)は通例、動的に決定され、サービスの各起動と共に変化する。
サーバプログラムは、トランスポートアドレスを配分し、ルックアップサービス(rpcbindまたはbind等)に登録する。
ルックアップサービスは、固定されたトランスポートセレクタ(すなわち、TCPポート番号111)に関連付けられ、サーバと同じネットワークアドレスに存在する。
コール側プロセスは通常、サーバのトランスポートアドレスを取得するために、ルックアップサービスを調べることが可能であり、その後、RPCサービスを起動して完了することができる。
次に図5に戻って、最初のステップ500において、システムは、たとえばypserv RPCサービスのRPCコールを受信する。
このRPCコールは、ypservのRPCプログラム番号を含めて受信される。
プログラム番号は100004である。
一般に既知のシステムでは、RPCコールはマシンにおいて既知のRPCサービス(またはプロセス)によって受信される。
この既知のRPCサービス(またはプロセス)は、rpc_call()と呼ばれ、rpc_call()は、RPCプログラム番号およびバージョン番号を含む、多数の引数またはパラメータを受信する予定である。
本発明の実施形態によれば、RPCコールは、システムコールインターフェース406によって受信されると、ネットワークサービスコールとして認識され、ネットワークサービスハンドラ408に渡される。
ネットワークサービスハンドラ408は、rpc_call()プロセスの修正バージョンを組み込む。
このrpc_call()プロセスは、たとえば、以下の形を有する新しいセキュリティコンテインメント関数コールを含めることによって適合されている。
"network_services_mac_access_check(
network_service_name,
rcp_info_pointer,
compartment)."
本発明のypservの例によれば、network_services_mac_access_check()の引数は、
network_service_name="RPC"
rcp_info_pointer=100004
compartment=FS
である。
XTERM等の他のサービスの場合、rpc_call()プロセスの均等物は、network_services_mac_access_check()関数コール(すなわち「hook」)を含むようになっている。
ただし、もちろん、パラメータは、RPCサービスのパラメータではなくXTERMサービスに必要とされるパラメータに一致する。
network_services_mac_access_check ()関数自体は、セキュリティコンテインメントコントローラの一部である。
図5の次のステップ505において、network_services_mac_access_check()関数は、FSコンパートメントおよびモジュール名「RPC」の双方に対応するエントリーを識別するために、セキュリティコンテインメント規則関数412を検索する。
ステップ510において、エントリーが存在しない場合には、デフォルトの応答は、アクセス制御要求がステップ515において拒否されるというものであり、この応答は、network_services_mac_access_check()関数を介してrpc_call()プロセスに戻され、コール側エンティティには、従来の方法で、アクセスが拒否されることが通知される。
一方、エントリーが存在する場合には(図4によれば、エントリーは存在する)、ステップ520において、それぞれの不透明ポインタ426が使用されて、対応するアクセスチェックモジュール428が識別される。
ステップ525において、モジュールが存在しない場合には、この場合も、デフォルトの応答は、アクセス要求がステップ515において拒否されるというものである。
モジュールが存在する場合(図4では、「RPCアクセスチェックモジュール」という名称のものが存在する)には、ステップ530において、そのモジュールは、rpc_info_pointer値を使用して、ypservプロシージャのそれぞれのアクセス許可を識別する。
図4の図解の複雑さを低減するために図示されていないが、RPCアクセスチェックモジュール434は、1つ以上のRPCネットワークサービスのアクセス制御規則と、(RPCプログラム番号によって識別される)指定されたサービスの適切なアクセス制御規則を検索するためのロジックとを定義するテーブルを含む。
ステップ535において、アクセス許可が存在し、且つ、GRANTである場合には、ステップ540において、サービスへのアクセスが付与され、許可は、network_services_mac_access_check()関数を介してrpc_call()プロセスへ戻される。
rpc_call()プロセスは、通常の方法によるターゲットRPCサーバとの相互作用でRPCサービスを起動することを引き受ける。
アクセス許可が「DENY」である(または、指定されたRPCネットワークサービスについて設定されたアクセス許可が存在しない)場合には、アクセス許可は、ステップ515において拒否され、応答は、network_services_mac_access_check()関数を介してrpc_call()プロセスへ戻され、コール側エンティティには、従来の方法でアクセスが拒否されことが通知される。
ネットワークサービスアクセス許可は、本発明の実施形態によれば、適切なエントリーをセキュリティコンテインメント規則関数412に追加することによって設定される。
セキュリティコンテインメント規則関数412は、図4の図解で示すように、セキュリティコンテインメントコントローラ410によって使用される。
次に、HP-UX Security Containmentセキュアオペレーティングシステムにおいて、本発明の実施形態に従ってネットワークサービスアクセス許可を設定する一例を、「FS」と呼ばれる例示のコンパートメントについて説明する。
アクセス許可は、他のコンパートメント規則と同様に、database.rulesと呼ばれる(HP−UX製品内の)テキストファイルに入力される。
このテキストファイルは以下の形を取る。
compartment FS {
DPR G RPC 100003 {grant access to 'NFS'}
DPR G RPC 100004 {grant access to 'ypserv'}
DPR G RPC 100005 {grant access to 'mountd'}
DPR G RPC 100006 {grant access to 'rpcbind'}
DPR G XTERM putty {grant access to 1st xterm service, 'putty'}
DPR D XTERM refx {deny access to 2nd xterm service, 'refx'}
}
上記は、「FS」と呼ばれるコンパートメントを定義し、第1のXTERMサービス「putty」へのアクセスを付与すること、および、第2のXTERMサービス「refx」へのアクセスを拒否することに加えて、RPCサービス「NFS」、「ypserv」、および「mountd」へのアクセスを付与するMAC規則も定義している。
同様のテキスト構造は、MAC規則が必要とされる他のあらゆるコンパートメントについても提供される。
説明してきたように、本発明の実施形態に従って動作するように適合することができるHP−UX Security Containmentオペレーティングシステムによれば、コンパートメントおよびそれぞれのMAC規則は通常、システムディレクトリ/usr/sbinに見られる、setrules(規則設定)と呼ばれるプログラムを使用して、セキュリティコンテインメント規則関数412内にロードされる。
setrulesプログラムは、database.rulesを解析すると共に、コンパートメントの各規則を順に設定するように構成されている。
setrulesプログラムは、アドミニストレータがdatabase.rulesを記憶しなければならない場所である/etc/cmptと呼ばれるシステムディレクトリからdatabase.rulesを読み出すように構成されている。
システムアドミニストレータは、以下のコマンドラインを使用してsetrulesを実行する。
# /usr/sbin/setrules
図4に示すセキュアオペレーティングシステムは、setrulesプログラムを表す機能ブロック450を含む。
既に説明したように、このプログラムは指定されたディレクトリ/usr/sbin/setrulesに存在するが、インターフェースを提供するので、セキュリティコンテインメントコントローラ410の一部として示されている。
このインターフェースによって、システムアドミニストレータはカーネルコードおよび関連する定義にアクセスすると共にそれらを生成または修正する必要なく、テキストファイルの定義に基づきコンパートメントをセットアップすることが可能になる。
システムアドミニストレータは、上述したようにコンパートメントのMACポリシーを定義することによってコンパートメントをセットアップしたいとき、たとえばdatabase.rulesと呼ばれるテキストファイルを生成し、そのテキストファイルを/etc/cmptディレクトリに記憶する。
次に、システムアドミニストレータは、
# /usr/sbin/setrules
等のコマンドラインを発行して、コンパートメントの生成を開始する。
システムコールインターフェース406は、このコマンド入力を受信して認識し、アクセス設定ハンドラ(Set Access Handler)452へ転送する。
アクセス設定ハンドラ452は、次に、setrules関数にアクセスし、コンパートメント定義をロードする。
次に、図6のフロー図を参照して、動的に割り当てられるポート番号を使用するネットワークサービスにアクセスするためのMAC規則を構築するための例示的なプロセスを説明する。
図6のフロー図は、FSコンパートメントについて上述したコンパートメント定義に基づいている。
図6の最初のステップ600において、システムコールインターフェース406は、setrulesコマンドを受信し、そのコマンドをアクセス設定ハンドラ452に渡す。
アクセス設定ハンドラ452は、ステップ605において、setrulesプログラムを起動する。
setrulesプログラムは、ステップ610において、database.rulesファイルにアクセスし、定義テキストの最初のラインを解析する。
この例では、定義ファイルの最初のラインは、「FS」と呼ばれる新しいコンパートメントを定義する。
ステップ615において、ラインがコンパートメント定義ラインである場合には、ステップ620において、新しいコンパートメントエントリーがセキュアオペレーティングシステムのコンパートメントリスト(図示せず)に追加され、後続のあらゆるMAC規則がそのコンパートメントに関連付けられ、プロセスはステップ610に戻る。
ステップ610において、定義テキストの次のラインが解析される。
ステップ615において、ラインがコンパートメントのDPR規則である場合には、プロセスはステップ625に続く。
この例では、DPR規則のプロセスしか含まれていないが、他の既知のプロシージャおよび同等のプロシージャがこのような他の規則の種類について提供されることが認識されよう。
ステップ625において、プロセスは(<MODULE>フィールドを使用して)、規則が既存のアクセスチェックモジュールへの追加であるか、または、規則が新しいアクセスチェックモジュールの生成を必要としているかを識別する。
規則が新しいアクセスチェックモジュールに関するものである場合、ステップ630において、このプロセスは、それぞれのアクセスチェックモジュールの適切なRPCサービステンプレートを見つけ(RPCサービステンプレートでは、規則を設定することができる既知の各サービスが、特定のアクセスチェックモジュールのフレームワークを提供する事前に定義されているテンプレートを有する)、(識別子としての<MODULE>フィールド、RPCプログラム番号フィールドを満たす<STRING>値100003、および許可であるG/D値を使用して)新しいアクセスチェックモジュールを生成する。
ステップ635において、このプロセスはエントリーを規則テーブル418に追加する。
このエントリーは、コンパートメントIDを含む第1のフィールド420、モジュール名を含む第2のフィールド422、および(第3のフィールド424の)不透明ポインタを含む。
この不透明ポインタはテーブルエントリーをアクセスチェックモジュールコードに向けるものである。
次に、ステップ640において、このプロセスは規則が定義内にさらに存在するか否かを判断する。
定義する規則がさらに存在する場合には、このプロセスはステップ610に戻って、定義の次のラインを解析する。
定義する規則がそれ以上存在しない場合には、このプロセスはステップ645において終了する。
ステップ625において、新しい規則が既存のアクセスチェックモジュールに追加されると判断された場合には、ステップ650において、このプロセスは、RPCプログラム番号フィールドを満たす<STRING>値10003、および許可であるG/D値を使用して、既存のアクセスチェックモジュールにエントリーを追加する。
このプロセスは次に、ステップ640に続く。
図6のプロセスは、新しい規則が発見されなくなるまで定義内の規則ごとに繰り返され、そして、プロセスは終了する。
その結果、規則テーブルは、セキュアオペレーティングシステムによってネットワークサービスへのアクセスを制御するのに必要とされるすべてのコンパートメント規則への参照子でポピュレートされる。
上記実施形態は本発明の説明例として理解されるべきである。
本発明のさらなる実施形態が予想される。
HP−UX Security Containmentセキュアオペレーティングシステムを適合させることによって本発明の特定の実施形態を実施できることが示されたが、SELinux(商標)またはTrusted Solaris(商標)等の他の既知のセキュアオペレーティングシステム、または実際には、動的に割り当てられるポートを使用するネットワークサービスにアクセスするためのコンパートメント規則を定義するように適合することができる他の任意のセキュアオペレーティングシステムを適合させることによって、他の実施形態を実施することができる。
本発明の実施形態は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせの形で実現することができることが認識されよう。
このようなどのソフトウェアも、たとえば、消去可能であろうとなかろうと、再書き込み可能であろうとなかろうと、ROMのようなストレージデバイス等の揮発性ストレージまたは不揮発性ストレージの形で記憶することもできるし、たとえば、RAM、メモリチップ、デバイス、または集積回路等のメモリの形で記憶することもできるし、たとえば、CD、DVD、または磁気ディスク、磁気テープ等の光可読媒体または磁気可読媒体に記憶することもできる。
これらのストレージデバイスおよびストレージ媒体は、実行されると本発明の実施形態を実施する1つ以上のプログラムを記憶するのに適したマシン可読ストレージの実施形態であることが認識されよう。
したがって、実施形態は、先行するいずれかの請求項に記載のシステムまたは方法を実施するためのコードを含むプログラム、および、このようなプログラムを記憶する機械可読ストレージを提供する。
またさらに、本発明の実施形態は、有線接続または無線接続によって運ばれる通信信号等のあらゆる媒体を介して電子的に搬送することもでき、実施形態はそれらも適切に包含する。
本明細書(添付のあらゆる請求項、要約書、および図面を含む)に開示された機能のすべて、および/または、そのように開示されたあらゆる方法若しくはプロセスのステップのすべては、このような機能および/またはステップの少なくともいくつかが相互に排他的である組み合わせを除いて、任意の組み合わせで組み合わせることができる。
本明細書(添付のあらゆる請求項、要約書、および図面を含む)に開示した各機能は、明示的に別段の定めをした場合を除き、同じ目的、等価な目的、または類似の目的を果たす代替的な機能に置き換えることができる。
したがって、明示的に別段の定めをした場合を除き、開示された各機能は、一般的な一連の等価な機能または類似の機能の一例にすぎない。
本発明は、上記のいずれの実施形態の詳細にも限定されるものではない。
本発明は、本明細書(添付したあらゆる請求項、要約書、および図面を含む)に開示した機能の新規ないずれのものにも若しくは新規ないずれの組み合わせにもおよび、または、そのように開示されたあらゆる方法またはプロセスのステップの新規ないずれのものにも若しくは新規ないずれの組み合わせにも及ぶ。
特許請求の範囲は、上記実施形態のみを包含するように解釈されるべきではなく、特許請求の範囲の範中に含まれるあらゆる実施形態も包含するように解釈されるべきである。
本発明の実施形態によるオペレーションに適した例示的なコンピューティング環境を示す図解である。 図1に示す種類のコンピューティングプラットフォームと共に使用するための例示的なマザーボードを示す図解である。 分散コンピューティング環境における3つのコンピューティングプラットフォームを示す概略図解である。第1のプラットフォームはRPCサーバとして動作し、第2のプラットフォームはコンパートメント化されたオペレーティングシステムを実行するクライアントとして動作し、第3のプラットフォームはウェブサーバとして動作する。 本発明の一実施形態を実施するのに必要なセキュアオペレーティングシステムの機能要素を示す概略図解である。 本発明の一実施形態によるネットワークサービスへのアクセスを制御することに関与するステップを示すフロー図である。 動的なポート割り当てを使用するネットワークサービスの新しいコンパートメント強制アクセス制御規則を定義することに関与するステップを示すフロー図である。
符号の説明
300・・・マシン1,
402・・・カーネル空間,
404・・・ユーザ空間,
406・・・システムコールインターフェース,
408・・・ネットワークサービスハンドラ,
410・・・セキュリティコンテインメントコントローラ,
412・・・セキュリティコンテインメント規則,
414・・・LANカードコントローラ,
416・・・LANカード,
420・・・コンパートメントID,
422・・・モジュール名,
424・・・ポインタ,
428・・・RPCアクセスチェックモジュール,
452・・・アクセス設定ハンドラ,

Claims (17)

  1. 1つ以上のコンパートメントを定義し、このコンパートメントに関連付けられているエンティティによるネットワークサービスへのアクセスを制御するために、前記1つ以上のコンパートメントに適用される規則を提供するアクセス制御システムであって、
    前記規則は、
    少なくとも、動的に割り当てられる通信ポートを使用するネットワークサービスへのアクセスを制御するための第1の種類の規則
    を含む
    システム。
  2. 事前に割り当てられている通信ポートを使用するネットワークサービスへのアクセスを制御するための第2の種類の規則
    を含む
    請求項1に記載のシステム。
  3. 前記第1の種類の規則と、前記第2の種類の規則とは異なる
    請求項2に記載のシステム。
  4. 前記第1の種類の規則は、いずれの通信ポートとも無関係に定義される
    請求項1に記載のシステム。
  5. 前記第1の種類の規則は、ネットワークサービス識別子に関して定義される
    請求項1に記載のシステム。
  6. 前記適用される規則は、前記システムの規則テーブルにおいて識別される
    請求項1に記載のシステム。
  7. 前記適用される規則は、モジュールにおいて定義され、
    前記規則テーブルは適用される各規則を識別し、それぞれの前記モジュールへの関連するポインタ
    を含む
    請求項6に記載のシステム。
  8. 前記ポインタは、不透明ポインタ(opaque pointer)である
    請求項7に記載のシステム。
  9. エンティティからのネットワークサービスコールを受信するネットワークサービスハンドラ
    を備える請求項1に記載のシステム。
  10. 前記ネットワークサービスハンドラは。ネットワークサービスコールを受信し、適用されるアクセス制御規則に関して、前記コール側エンティティが、前記識別されたネットワークサービスにアクセスするための許可を有するか否かを確認するように、このシステムに指示し直し(redirect)、適用されるアクセス制御規則が前記ネットワークサービスにアクセスする許可を付与する場合にのみ、前記ネットワークサービスコールを処理するように構成されている
    請求項9に記載のシステム。
  11. 前記ネットワークサービスハンドラは、ネットワークサービスコールを処理するrpc_call()機能
    を備える
    請求項9に記載のシステム。
  12. 前記コール側エンティティが、前記ネットワークサービスにアクセスする権利を有するか否かを確認するための関数をコールする関数コール
    を含む請求項11に記載のシステム。
  13. 強制アクセス制御の規則を適用して、ネットワークサービスへのアクセスを制御する
    請求項1に記載のシステム。
  14. セキュアオペレーティングシステム
    を含む請求項1に記載のシステム。
  15. RPCネットワークサービスへのアクセスを制御するアクセス制御規則を提供する
    請求項1に記載のシステム。
  16. 要求側エンティティからのネットワークサービスコールを受信することであって、この要求側エンティティは、セキュアオペレーティングシステムのコンパートメントに関連付けられ、前記ネットワークサービスは、動的に割り当てられる通信ポートを使用することと、
    前記コンパートメントに適用されているあらゆる規則に関して、前記エンティティが、前記ネットワークサービスにアクセスするための許可を有するか否かを判断することと、
    適用されるコンパートメント規則が、前記ネットワークサービスにアクセスするための許可を付与する場合にのみ、前記ネットワークサービスコールを処理することと
    を含むアクセス制御方法。
  17. ネットワークサービスコールを処理するように構成されるデータ処理システムであって、
    このシステムのコンパートメントに関連付けられているエンティティから、動的に割り当てられる通信ポートを使用するネットワークサービスのコールを受信する入力と、
    コンパートメントに適用され、関連するネットワークサービスアクセス許可を定義する規則を記憶するストアと、
    前記ストアが、前記ネットワークサービスにアクセスするための許可を付与する前記コンパートメントの規則を含む場合にのみ、前記ネットワークサービスコールを実行に移すプロセスと
    を備えるシステム。
JP2008161206A 2007-06-27 2008-06-20 アクセス制御システムおよびアクセス制御方法 Expired - Fee Related JP4907603B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN1380/CHE/2007 2007-06-27
IN1380CH2007 2007-06-27

Publications (2)

Publication Number Publication Date
JP2009009566A true JP2009009566A (ja) 2009-01-15
JP4907603B2 JP4907603B2 (ja) 2012-04-04

Family

ID=40162454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008161206A Expired - Fee Related JP4907603B2 (ja) 2007-06-27 2008-06-20 アクセス制御システムおよびアクセス制御方法

Country Status (2)

Country Link
US (1) US9219740B2 (ja)
JP (1) JP4907603B2 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4907603B2 (ja) * 2007-06-27 2012-04-04 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. アクセス制御システムおよびアクセス制御方法
WO2011030755A1 (ja) * 2009-09-10 2011-03-17 日本電気株式会社 ロール設定装置、ロール設定方法及びロール設定プログラム
CN101674268A (zh) * 2009-09-25 2010-03-17 中兴通讯股份有限公司 接入因特网控制装置及其方法、网关
US10310696B1 (en) 2010-05-28 2019-06-04 Bromium, Inc. Supporting a consistent user interface within a virtualized environment
US9767274B2 (en) 2011-11-22 2017-09-19 Bromium, Inc. Approaches for efficient physical to virtual disk conversion
US9135038B1 (en) 2010-05-28 2015-09-15 Bromium, Inc. Mapping free memory pages maintained by a guest operating system to a shared zero page within a machine frame
US8972980B2 (en) * 2010-05-28 2015-03-03 Bromium, Inc. Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity
US9148428B1 (en) 2011-05-25 2015-09-29 Bromium, Inc. Seamless management of untrusted data using virtual machines
US8752047B2 (en) 2010-05-28 2014-06-10 Bromium, Inc. Automated management of virtual machines to process untrusted data based on client policy information
US9558051B1 (en) 2010-05-28 2017-01-31 Bormium, Inc. Inter-process communication router within a virtualized environment
US9239909B2 (en) 2012-01-25 2016-01-19 Bromium, Inc. Approaches for protecting sensitive data within a guest operating system
US9104837B1 (en) 2012-06-18 2015-08-11 Bromium, Inc. Exposing subset of host file systems to restricted virtual machines based on upon performing user-initiated actions against host files
US10095530B1 (en) 2010-05-28 2018-10-09 Bromium, Inc. Transferring control of potentially malicious bit sets to secure micro-virtual machine
US9386021B1 (en) 2011-05-25 2016-07-05 Bromium, Inc. Restricting network access to untrusted virtual machines
US9116733B2 (en) 2010-05-28 2015-08-25 Bromium, Inc. Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity
US10846396B1 (en) 2011-05-25 2020-11-24 Hewlett-Packard Development Company, L.P. Downloading data in a dedicated virtual machine
US9921860B1 (en) 2011-05-25 2018-03-20 Bromium, Inc. Isolation of applications within a virtual machine
US8839245B1 (en) 2012-06-18 2014-09-16 Bromium, Inc. Transferring files using a virtualized application
US10546118B1 (en) 2011-05-25 2020-01-28 Hewlett-Packard Development Company, L.P. Using a profile to provide selective access to resources in performing file operations
US9245108B1 (en) 2012-03-13 2016-01-26 Bromium, Inc. Dynamic adjustment of the file format to identify untrusted files
US9201850B1 (en) 2012-06-18 2015-12-01 Bromium, Inc. Composing the display of a virtualized web browser
US10095662B1 (en) 2012-06-18 2018-10-09 Bromium, Inc. Synchronizing resources of a virtualized browser
US9727534B1 (en) 2012-06-18 2017-08-08 Bromium, Inc. Synchronizing cookie data using a virtualized browser
US9734131B1 (en) 2012-06-18 2017-08-15 Bromium, Inc. Synchronizing history data across a virtualized web browser
US9384026B1 (en) 2012-06-18 2016-07-05 Bromium, Inc. Sharing and injecting cookies into virtual machines for retrieving requested web pages
US11023088B2 (en) 2012-06-18 2021-06-01 Hewlett-Packard Development Company, L.P. Composing the display of a virtualized web browser
US9292328B2 (en) 2013-05-24 2016-03-22 Bromium, Inc. Management of supervisor mode execution protection (SMEP) by a hypervisor
US20150049643A1 (en) * 2013-08-13 2015-02-19 Alcatel-Lucent Canada Inc. Method and apparatus for providing default services to prospective subscribers in a communication network
US10599565B2 (en) 2013-12-24 2020-03-24 Hewlett-Packard Development Company, L.P. Hypervisor managing memory addressed above four gigabytes
US10430614B2 (en) 2014-01-31 2019-10-01 Bromium, Inc. Automatic initiation of execution analysis
US9680873B1 (en) 2014-06-30 2017-06-13 Bromium, Inc. Trusted network detection
US10311122B1 (en) 2014-08-22 2019-06-04 Bromium, Inc. On-demand unprotected mode access
US9912783B2 (en) 2016-01-29 2018-03-06 Veritas Technologies Llc Securing internal services in a distributed environment
US20170223056A1 (en) * 2016-01-29 2017-08-03 Symantec Corporation Securing internal services in an appliance

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4919545A (en) * 1988-12-22 1990-04-24 Gte Laboratories Incorporated Distributed security procedure for intelligent networks
CN1151235A (zh) * 1994-06-21 1997-06-04 英国电讯公司 通信网络中呼叫的建立和业务调用
ES2251118T3 (es) * 1997-12-12 2006-04-16 Alcatel Usa Sourcing, L.P. Gestion de red.
US6745245B1 (en) * 1998-04-09 2004-06-01 Webtv Networks, Inc. Managing access to set-top box objects using television conditional access system
US6189103B1 (en) * 1998-07-21 2001-02-13 Novell, Inc. Authority delegation with secure operating system queues
US6289462B1 (en) * 1998-09-28 2001-09-11 Argus Systems Group, Inc. Trusted compartmentalized computer operating system
GB0020441D0 (en) * 2000-08-18 2000-10-04 Hewlett Packard Co Performance of a service on a computing platform
US20030041268A1 (en) * 2000-10-18 2003-02-27 Noriaki Hashimoto Method and system for preventing unauthorized access to the internet
US7032243B2 (en) * 2000-12-15 2006-04-18 Hewlett-Packard Development Company, L.P. System and method for a group-based network access control for computer
US6801948B2 (en) * 2000-12-15 2004-10-05 Hewlett-Packard Development Company, L.P. System and method for a streams based network access control for a computer
DE60230601D1 (ja) * 2001-01-10 2009-02-12 Cisco Tech Inc
US20020112186A1 (en) * 2001-02-15 2002-08-15 Tobias Ford Authentication and authorization for access to remote production devices
GB2382419B (en) * 2001-11-22 2005-12-14 Hewlett Packard Co Apparatus and method for creating a trusted environment
US7305469B2 (en) * 2001-12-18 2007-12-04 Ebay Inc. Prioritization of third party access to an online commerce site
JP2003319092A (ja) * 2002-04-25 2003-11-07 Ntt Docomo Inc 通信端末、サービス提供部、共通設定情報管理部及び通信制御方法
GB2399902A (en) * 2003-03-28 2004-09-29 Hewlett Packard Development Co Security in trusted computing systems
US7735114B2 (en) * 2003-09-04 2010-06-08 Foundry Networks, Inc. Multiple tiered network security system, method and apparatus using dynamic user policy assignment
US7769875B1 (en) * 2004-08-03 2010-08-03 Juniper Networks, Inc. Managing a network flow using application classification information and active signaling relay
GB2434712A (en) * 2006-01-30 2007-08-01 Hewlett Packard Development Co Barring calls from a first network to a second network
US20080022414A1 (en) * 2006-03-31 2008-01-24 Robert Cahn System and method of providing unique personal identifiers for use in the anonymous and secure exchange of data
US20070250933A1 (en) * 2006-04-20 2007-10-25 Nokia Corporation Apparatus, method, and computer program product for managing access rights in a dynamic node
US8103756B2 (en) * 2006-10-31 2012-01-24 Hewlett-Packard Development Company, L.P. Network access device capability alert mechanism
US20080295114A1 (en) * 2007-05-07 2008-11-27 Pramod Vasant Argade Method and apparatus for execution control of computer programs
JP4907603B2 (ja) * 2007-06-27 2012-04-04 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. アクセス制御システムおよびアクセス制御方法
US8359467B2 (en) * 2007-07-07 2013-01-22 Hewlett-Packard Development Company, L.P. Access control system and method

Also Published As

Publication number Publication date
US20090007242A1 (en) 2009-01-01
JP4907603B2 (ja) 2012-04-04
US9219740B2 (en) 2015-12-22

Similar Documents

Publication Publication Date Title
JP4907603B2 (ja) アクセス制御システムおよびアクセス制御方法
US20220224726A1 (en) Distribution and Management of Services in Virtual Environments
US10375111B2 (en) Anonymous containers
US10348711B2 (en) Restricting network access to untrusted virtual machines
US10176020B2 (en) Dynamic management of computing platform resources
US20210173919A1 (en) Systems and methods for controlling privileged operations
US9367703B2 (en) Methods and systems for forcing an application to store data in a secure storage location
US7865876B2 (en) Multiple trusted computing environments
US7587755B2 (en) System and method for executing interactive applications with minimal privileges
US8627451B2 (en) Systems and methods for providing an isolated execution environment for accessing untrusted content
US7856653B2 (en) Method and apparatus to protect policy state information during the life-time of virtual machines
US8108907B2 (en) Authentication of user database access
US10102371B2 (en) Computer device and method for isolating untrusted content on a clipboard
US20080109898A1 (en) Modular enterprise authorization solution
US10331599B2 (en) Employing session level restrictions to limit access to a redirected interface of a composite device
US11924210B2 (en) Protected resource authorization using autogenerated aliases
WO2020046630A1 (en) Directory access sharing across web services accounts
US7950000B2 (en) Architecture that restricts permissions granted to a build process
US8938473B2 (en) Secure windowing for labeled containers
Kamp et al. Building Systems to Be Shared, Securely: Want to securely partition VMs? One option is to put’em in Jail.
JP6619690B2 (ja) 処理装置、アクセス制御システム、アクセス制御方法およびアクセス制御プログラム
KR20010040981A (ko) 스택에 기초한 보안 조건
Attali et al. Hierarchical and declarative security for grid applications
Haber et al. Just in Time
Rahalkar et al. Operating System Basics

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110713

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111124

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111130

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4907603

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees