JP2002533791A - アプリケーション・プログラムあるいはオペレーティング・システムのたの制限された運転環境を維持する方法およびシステム - Google Patents

アプリケーション・プログラムあるいはオペレーティング・システムのたの制限された運転環境を維持する方法およびシステム

Info

Publication number
JP2002533791A
JP2002533791A JP2000570670A JP2000570670A JP2002533791A JP 2002533791 A JP2002533791 A JP 2002533791A JP 2000570670 A JP2000570670 A JP 2000570670A JP 2000570670 A JP2000570670 A JP 2000570670A JP 2002533791 A JP2002533791 A JP 2002533791A
Authority
JP
Japan
Prior art keywords
program
data
operating
processor
memory space
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.)
Abandoned
Application number
JP2000570670A
Other languages
English (en)
Inventor
レシェフ、エラン
ラーナン、ジル
ソラン、エイロン
Original Assignee
サンクタム、リミテッド
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 サンクタム、リミテッド filed Critical サンクタム、リミテッド
Publication of JP2002533791A publication Critical patent/JP2002533791A/ja
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • 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
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 プロセッサ上で分離された実行プログラムあるいはオペレーティングシステムを同時に実行するプロセッサにおいて、不正なプログラムの実行環境をプロテクトする方法を提供する(502)。第1のプログラム(306)が実行される間、この第1のプログラムのみが利用するメモリ空間が設定される(504)。第1のプログラムとコンピュータの実行環境との通信は、共有メモリ空間(508)の利用、専用の割り込み、あるいは、専用のI/Oポート(510)を含む複数の手段中の単一のリンクを介して実行される。モニターは、プロセッサ上の第1のプログラム(306)に対して、制限された実行環境を管理する(546)。この制限された実行環境では、第1のプログラムは設定されたメモリ空間と前記の単一のリンクを除いて、プロセッサ上のリソースをアクセスする事が制限される。

Description

【発明の詳細な説明】
【0001】 発明の背景 この発明はコンピュータープログラム隔離方法に関連する。特に、発明はコン
ピュータープログラムがバグあるいは制限されて、よく制御する通信ある形状を
同時に実現する一方同じハードウェアを共有する別のコンピュタープログラムの
デ−タの開発からプログラムを防御するための、制限された転環境を確立するお
よび維持する方法およびシステムである。 同時代のコンピュータは、スペシャル上で、コンピュータープログラムよびコ
ンピュータのメモリおよびCPU(CPU)のようなコンピュータ部用インター
フェースを供給するためにオペレーティング・システム(O/Sを定義する、指
示書のセットを依存する。電流オペレーティング・システムコンピュータープロ
グラムが同時に実行することを実現するマルチに仕事をする性能を有する。別の
ものの端末が指示書を実行するのを待たないための各プログラム。マルチに仕事
を課するO/S、他のプログラムと資源を共するための実現するプログラムによ
り、同時に実行するためのプログラムを現する。例えば、同時に実行する多重プ
ログラムを実行するオペレーティグ・システムは、コンピュータのCPU時を共
有するためのプログラムを実現る。同系統上で実行するプログラム、そうでなけ
れば、他のプログラムと同時に同じ永久貯蔵媒体上の空間を共有する。同時に実
行しているプログラムは、適切にインプリメントされた限度に、O/Sの制限お
よびポリシーによる定の程度に限定的に、同じ物理的メモリにおける、2値およ
びデ−タを現在時に設置することができる。メモリ・セグメントは、同じ方法で
O/Sによてサービスされているプログラムによって共有される。O/Sはスレ
ッドのうな、プロセステ−ブルおよびメモリ・セグメントを資源化する。 同時に同様に実行するプログラムによって共有される。資源を共有すためのプ
ログラムを実現する間に;多くの恩典を有する、そこに、生じている安全は枝分
れを関連した。いくつかのプログラムはプログラムの指示書における誤りかバグ
により実施における問題を有する。あるいは、他の実行はプログラムと衝突する
。あるいはそれらに渡された病定形かあるいは有害な入から。後続の、それらに
おける故意に埋設された誤りを有する、いくつかのログラムは循環した;その結
果、プログラムは道に迷って実行し、いわゆるンピューター・ウイルスになる。
誤りにより、あるいはプログラマーの悪意ある意図により、多くの主な問題がま
た頻繁に生じる、それはこれらの不確なプログラムまでさかのぼることができる
;その実施結果は予測不能で不要ある。これらの問題;不確実かあるいは欠陥品
プログラムを実現することを含している:CPUタイムを消費し、CPUタイム
を無くした他のプログラを中止する;他のプログラムによって生成されたファイ
ルを偽造し、読み、き、削除し、あるいは破壊する;他のプログラムの実行可能
なファイルを偽造読み、書き、削除し、あるいは破壊する;また、他のプログラ
ムによって使されるための記憶場所を読み書くことにより、これらプログラムの
実施悪くるする。上記のことは、これは故意に悪意のあるコード、あるいは善の
コーにおけるバグ、あるいはコードへの誤入力、あるいはコードへの悪のある入
力あるいはこれらの組合せの結果であり。 そのようなシナリオの例;1セットの確実なプログラム;第2と同時に実なプ
ログラムのセットを実行するために有する。インターネットに接続されるための
コンピュータである。この場合コンピュータは、複数のユーザー適用を備えたO
/Sをともに実行できる。下記から成ること:その、確実、Java appl
etsのようなダウンロードされたコー実施を要求する、インターネット・ブラ
ウザーと同時にプログラムのセット あるいはEXE/COM実施可能 後のプ
ログラム 下記から成ること:不確実なセット。 時々、そのようなプログラムの起点は確認できない、それが疑いをかけるができ
るe、悪意のあることブラウザー、病にフォーマットされたウェブサイトあるい
は悪意のあるウサイトのブラウズが入力にある場合がある場合、それ、その行為
をまた破すための企て、コードのバッファー・オーバーフローおよび可能な不要
の施をき起こす大型入力の流れ。それは所望である、それ、不確実なプログラム
の実施;確実なプログラムする最小の影響を有する。 また、この効果は制御され、前調整ファイルあるいは記憶場所(特定のみ機構
)を通って制限された形状に制限されるべきである。多くの安全特徴および製品
はそのような破損が発生するのを防御するためソフトウェア・メーカーによって
、およびO/Sプログラマーによって成形れている。 またプログラム間の隔離の正確なレベルを保証すること。これらの中で、異な
る信頼レベルがメモリ部分および仕事とは割り当てらる保護の環、物理的部分に
論理的なメモリのマッピングを包含している呼出るいはページのような総括的な
建築術の解決である、異なる仕事を実現するとに;異なる信頼レベルを持ったペ
ージと異なるマッピングを有する。 また論理的な部分あるいはセグメントに論理的なメモリを写像すること連して
いる分節それ自身の信頼レベルを備えた各セグメント そこで: 各仕事は参照することができる、1つの、異なる、セグメントのセット来のオ
ペレーティング・システムによる共有性能が広範囲であるので、しがて、安全特
徴である。しかしながら より複合、安全メカニズムはそうである。 より容易、それ、欠陥品プログラムは安全をバイパスするために、そ時々共有
およびそうするためのプログラム間の通信を実現する特徴により、他プログラム
あるいはオペレーティング・システムそれ自身を悪くするめに欠陥品またはビー
ルスのプログラムに関して、後続の、のために、事実上てのソフトウェア安全メ
カニズム プログラマー;破壊するための方向と分かられて、有する。あるいは
、まわりに叩き切る。 安全システム、共有された環境における他のプログラムに危害をもたらめの、
欠陥品プログラムを実現すること これ;すべてのオペレーティング・システム
、およびインターネット・ダロード可能なプログラムあるいはapplets用
の標準インタフェース砂箱を生成することだったJava言語を包含している。
コンピュータープログラムの脆弱性は、コンピュータ・オペレーティングステム
それ自身の構成で位置する。典型的な従来の技術オペレーティング・システム・
スキームは図1で描写る。 従来で、マルチ仕事を課するO/S環境;コンピュータの始動でコンピタ・ラン
ダム・アクセス・メモリー(RAM)に積載されたO/S核100を含している
。 O/S核100はそうである、1つの、最小、指示書のセット、どの積荷してか
ら――積荷、資源化する、また102に一般に示されて、コンピュタで実行する
、個別プログラムによって訪問されるようなRAMにベクトを資化する。 時々、二つ又はそれ以上の実行プログラムがプリンター出力のような同じ源を要
求する場合、O/S核100は全プログラムまでRAMで資源を載ておく;その
資源を備えた仕上げされて、有する。ディスク読出しおよび書き込みのような他
の資産 そのような資源が他のものよりより頻繁に使用されるので、オペレーン
グ・システムが実行している間、RAMの中に残される。 図1で描写された従来の技術構成に関する固有の問題は、RAMのような資産で
ある。あるいはディスクアクセスし、かつ他のものを悪くするためのパイプライ
ンがプログラム欠陥品プログラムと同時にプログラムによって共有される。 あるいはO/Sそれ自身、従来の技術で使用されることになっている適用般自然
であるように、共用資源によって更に、多くの特徴は、O/S安全カズムをバイ
パスする、多くの容器にO/Sによってそれらに可能にされとこように作成され
る。デバイスドライバ−かデ−モンがそれを可能にする核モードにおけるO/よ
って実行される場合、そのようなものは容器である、無制限のアクセスに全、資
産。転化はこのように生じることができる、システム、広く。
【0002】 発明の要約 従って、それは上に記述された現存システムに関する問題を解決するための発明
の集まりである。 それはシステムを供給するためのこの発明の別の体、および同時に実行す数のコ
ンピュータープログラムおよびオペレーティング・システムを分離る法である。
それは同時に実行する多数のコンピュータープログラムおよびオペレーテグ・シ
ステムの真実の保護を供給するためのこの発明の別の体である、不実、そして潜
在的に欠陥品プログラムおよびオペレーティング・システム。 それは同時に実行する多数のコンピュータープログラムおよびオペレーテグ・シ
ステム用シンプルな固定された共有環境を供給するためのこの発明別の体である
。 それはデ−タの限定的な制御された共有を供給するためのこの発明の別ので互い
から多数の工程を保護する間に同時に実行する多数のコンピューターログラム、
およびオペレーティング・システムを間に資源化する。 それは1つのプログラム、別のプログラムの欠陥の起因からオペレーテグ・シス
テムあるいは同じコンピュータ上のオペレーティング・システムの欠を防御する
ためのこの発明の別の体である。 これらの物および他の利点は方法およびシステムによって、プロセッサー作動す
る第1のプログラムからプロセッサー上の運転環境を保護すること供される。 方法;次のステップを包含している: 共用メモリ空間で構成される第1のプログラム間の通信を実現して、第1ログラ
ムが実行している間、グループから選ばれたシングル方法を使用するングル・リ
ンクによる、第1のプログラムおよび運転環境による割り付けるモリ−スペ−ス 専用割込み機構 また専用I/Oポート そして、プロセッサーに関する第1のプログラム用の制限された運転環管理す
る。 第1のプログラムが、割り付けられたメモリ−スペ−スおよびシングルリンク
を除いてプロセッサー上の資産をアクセスするのを防御する制限さた転環境。 本当に固定された共有環境の生成 この発明のシステムは、制限された資源アクセスを実現するシンプル有された
環境を供給する。 O/Sあるいは他のプログラムによって供給された、共有性能に対立するとして
のハードウェアによって直接供給されるものへのシステム限界共有能 そして、これらの共有性能の動作および非活性化以外は何も行わない。 これは、同じコンピュータに関する複数のプログラムを実行する本当にシルで固
定された方向を導く。 システムの多くの解釈は制限された運転環境と残存する処理環境の間に通るデ−
タのためのフォーマットおよびプロトコルをインプリメントする特の/Oルーテ
ィンを包含して、形式的に確認できる。 プロトコルそれ自身と同様に。 システムは、ディスクのような、資産の従来の共有を実現しない、読取り込み、
プリンター出力、割込み機構、I/Oポ−ト・アクセス システムはほぼどの型のコンピュータープログラムをインプリメントできがそれ
は、高安全および限定的な資産を要求するプログラムあるいはオペレティング・
システムには有効である。 例えば 同じコンピュータ上の複数のオペレーティング・システムを実行するコュータ
は、この発明のシステムによりそれらのオペレーティング・システにハードウェ
ア資産を割り当てることができる。 資源へのアクセスを共有するためのプログラムの間の制限されたリンクりいる間
、各オペレーティング・システムは共同実行するオペレーティグ・ステムと同時
に異なるハードウェア資産への直接アクセスを実現されるろう1つの、制御され
た、また方向を制限した。 各ハードウェア資源に関して 各走行オペレーティング・システムを供給された信頼レベルか安全レベ異なる
。 この同じスキームは、同じコンピュータ上で実行する1つあるいは複数のレーテ
ィング・システム内の多数のコンピュータープログラムに等しく適できる。 各適用は入力(それと出力が関連されている他のシステム資源なしに生じ程)を
受けることができる。 この平穏なハードウェア資源取得は、安全ポリシーの実行を実現する。 そこで: 第1のオペレーティング・システムあるいはプログラム;第二であるととは異
なっている信頼レベルか安全レベル、同じハードウェアを共有するくオペレーテ
ィング・システムあるいはプログラムを有する。 同じプロセッサー上の潜在的に異なる信頼レベルを備えた複数のプログラ維持し
ている間 そして、プロセッサーによって供給されるハードウェア・メカニズムにてそれ
らのプログラムを分離しておく。 この発明は、プロセッサーにとって当然のメカニズムの開発によりプログラム
間の通信のための制限されて、高く制御される手段を再び実現し、それより通信
メカニズムを比較的シンプルにしておく。 下記の討議で 用語「プログラム」は択一実施例について記述するためにオペレーテグ・シス
テムを備えた交換できる、でないならば、そうでなければ述べた、特の特徴のた
めに。 第1の実施で この発明のシステムは、そのシングル・オペレーティング・システムでする他
のプログラムからシングル・オペレーティング・システムで実行すプグラムを分
離することができる。 択一実施例で この発明のシステムは、各オペレーティング・システム内に実行する1るいは
複数のコンピュータープログラムを有することができるコンピュターステム上で
実行する、他のオペレーティング・システムからオペレーテングシステムを分離
することができる。
【0003】 好ましい実施例の詳細な説明 コンピューターシステム300における図2に関して この発明の第1の実施;2つの要素から成る。 制御可能に保護容器の役割をするマスタ−・ソフトウェア・プログラム2 またRAMセグメント容器としての制限された運転環境かセル204動それ(
セル204容器で実行する)、マスタ−202モニタ−および制御ロラムによっ
て。 マスタ−202は、セル204で実行するプログラムからコンピュータのS 2
00のような他の工程を保護する。 システムは、VM86切り替え可能なモードにおけるウィンドウズ(登録商標) /NTテム上でインプリメントできる。 ウィンドウズ/NTによってインプリメントされたシステムは、インテルCPU
の上で実行できる、80386以上.マスタ−202は、同じ優先およびシステ
ムの200がO/S 200と水平化するサイドO/Sに沿って切り替え可能に
作動する。 A工程マスタ−202はセル204を構成し、セル204にプログラムをする。
マスタ−202はセル204におけるプログラムの実行用責任を負う。 そして、外部環境302にセル204からデ−タを通過する。 下記から成ること: O/S 200、マスタ−202 また周辺装置のような、他のプログラムおよび資産。 マスタ−202は、プログラムおよび分解セル204のシャットダウン用を負う
。 図3に関して コンピュータ300の図解の概観は、設置され実行しているこの発明の的なシ
ステムを備えた描写される。 コンピュータ300;外部システム環境を一般に包含している、どれがレーティ
ング・システム200を包含するか302に示す。 実施例は基本的に、どれが、インテル号のモデル80386と80486セッサ
ーに適用可能かであるが、次の実施例におけるプロセッサーは内電番Penti
umであると仮定される。 多様な他のCPUへの当業者に公知の必要な修正を備えた。図3で描写された
システムは、リンクかベクトルにより外部環境302をた伝達するセル204に
おけるプログラムを実行している、304、それ成るこの実施例、共用メモリで
。この実施例において実行するプログラムはネットワ−ク通信カードのよハード
ウェア部品を連携するためのTCP/IP積重ねドライバ−である。この発明の
システムは、多くのバグ、および外部環境302におけるプログラムとの潜在的
なソフトウェア衝突を有することができるそれらのソフトウアおける複雑性のた
めにそのようなハードウェア・ドライバ−・プログラの実には優れている。セル
204における実行プログラムと外部環境302の間のメディエイタて202を
マスターする。セル204で実行する典型的なプログラム306;この場合ネッ
トワ−クカードである、外部資源にル−ティングするためのデ−タをキューにす
TCP/IP通信積重ねを包含している。マスタ−202は、詳細に下に記述さ
れて、明確で狭窄部、制御可能なリあるいはベクトル304によるのみ情報の通
路を実現する。外部環境302はハードウェア周辺装置、オペレーティング・シ
ステムあは他のコンピュータープログラムを具備できる。環境はマスタ−202
によってセル204で実行するプログラムから保護る。しかしながら プログラ
ムはベクトル304によって環境302から情報を送り受けるができる。 マスタ−202 デバイスドライバ−のような特権のある仕事として実行する外
部環境3における工程である。 そして、1つのCPUの上に潜在的にフル制御を行っている。マスタ−202
は、環境302の外からのセル204を分離できる、その果外部環境302はセ
ル204に気づいていない。O/S 200はマスタ−202を与える、実行時
間スライス(マスタ−2はそれ中に資源をアクセスすることができる)のような
、その、仕事ィクリプタで供給されるそのハンドラおよびページ・ディレクタリ
ー表に割込機構を写像する割込み機構説明表(IDT)308は、マスタ−の初
設定のに設定する。マスタ−202はセル204におけるプログラムに時スライ
スを与える。マスタ−202は、接続に外部環境302とセル204で実行する
プログの間の304を供給する。一度プログラムの実施が終了すれば、マスタ−
202は浄化用責任を負う。プログラムが終了した後、マスタ−202はセル2
04を分解する。セル204は積載された実行可能プログラムの306の即時の
環境である。マスタ−202は仮想割込み機構ハンドラを備えたセルに204を
供給する。あるいは、実行のためにセル204内に必要とされるスタブ、仕事デ
ィスプタあるいは他の資産は、306をプログラムする。セル204は、仕事デ
ィスクリプタで供給されるページ表を通ってマスタ02によってそれに割り当て
られたアドレス空間が、セットアップの間に積したRAMをアクセスするための
、実行プログラム306を実現する。外部環境302を備えたプログラム306
のための通信のための手段はベル304によってある。ベクトル304はどちら
かでありうる、割込み機構、I/Oポート、ある1つの、特に、RAMにおける
指定共用メモリ・アドレス空間、それはベト304からデ−タへのアクセスを実
現する前にマスタ−202によって密に御され評価できる。あるいは他のプログ
ラムあるいはオペレーティング・システム200から誘導されたデ−タをアクセ
スするためにプログラムにセル204のうちの0を実現すること。この発明の作
動用必要でないが セル204における実施のために積載されたプログラム306;ベクト部環境
302への304以外のどのサービスと無関係に、実行するために計れたか適応
されたソフトウェアから成る。プログラム306ソフトウェアは容器以外におい
てはシステム・コ−ルをできない;プログラムは別々に下に議論された第2の実
施のO/Sである。 第1の実施で もしそれらがその制御されたリンク・ベクトル外部環境302
への30一部でなければ、プログラム306は割込み機構あるいはI/O指示書
を行きない。プログラム306は、セル204にこのように制限される。 そし
て、マスタ−202によってサービスされた。 しかしながら、最多のCPU集中的なプログラムを備えた、外部環境30おける
一定の資源は、セル204で実行するプログラム306を連携する。 例えば、O/S 200の時計割込み機構ハンドラ310が起動される場ハード
ウェア(H/W)割込み機構が起動される場合、マスタ−202はセル204で
実行するプログラム306へのイベントを同様に伝達しなけれらない。 特別のハードウェア・イベントを備えたO/S 200関連のH/W割機構ハ
ンドラは、セル204で実行するプログラム306へのイベントを達るに違いな
い。マスタ−202は、リンクあるいはベクトルにセル204で実行するプログ
ラム306とシンプルで、できるだけシンプルな実行を維持するために制限れ外
部環境302の間の304を供給する。H/W割込み機構は、図3の典型的なT
CP/IPプログラム306によアクセスされた、ネットワ−ク・カードのよう
なハードウェア周辺装置とコュニケーションのために必要である。プログラム3
06が、H/W周辺装置とのコミュニケーションを要求しなル204で実行して
いる場合、この発明のシステムの作動を単純化するよな/Wハンドラの必要はな
い。リンク304を供給する1つの方法は、受動メモリ・リンクの使用による。
受動メモリ・リンクは最多の固定方法である、最も抑制ものである。受動メモリ
・リンクを備えた、マスタ−202積荷はセル204に、特にされた入力バッフ
ァーと一緒に306をプログラムする。 プログラム306が実施を始める場合
、入力バッファーは、既にプログ306用のアクセス可能な記憶領域の中にある
。 同様に プログラム306が終了した後、出力バッファはマスタ−202によ
っ出される。この方法への恩典は、交互作用が外部ことのプログラム306と要
素の間いということである、環境用302.この方法の短所、それである、30
6をプログラムする、プログラム30実施の間に外部環境302を備えた対話式
でない。通信は、2つの取引きをこのように供給される。 実施の初めに306
をプログラムするための入力 また実施の端末の出力。 プログラムと外部環境の302(306)の間のリンク・ベクトル304給す
る代替方法は、割込み機構を備えた、あるいはその割込み機構を伴わい型共用メ
モリ・セグメントによってある。メモリの特定のパーツは共用メモリとしてプロ
グラム306に譲渡した。 プログラムと外部環境の302(306)の間の通信用の範囲あるいはマスタ
−202それ自身と。プログラム306は共用メモリ上にデ−タを書くことがで
きる、表示、どかによる書き込みの完成、共用メモリ制御ブロックにおける前調
整位置にけビットにフラグを立てることあるいは下に議論されるような割込み機
構の起動により。 外部環境302あるいはマスタ−202、同様な方式でその完成にフラグを立
てて、その−タを読むことができる。プログラム306による読取りデ−タは同
様なファッションで遂行される。専用割込み機構は共用メモリ・リンク方法をイ
ンプリメントできる。 セル204の一部としてマスタ−は特別のリンク割込み機構ハンドラを設置で
きる。あるいはセル204のためのスタブ。l/Oスタブは、外部環境における
、プログラムの306の割り付けられモリ−スペ−スからメモリ−スペ−スまで
デ−タを実行すること原因である。あるいはマスタ−204その逆も正しい(ま
た)。 プログラム306は起動基準割込み機構コ−ルによりI/Oを実行できる。セ
ル204および外部環境302におけるプログラム306間のデータリを供給す
る別の代替方法は、専用IIOポートの使用によってある。セル204の一部と
して、I/Oポートはプログラム306には備蓄場合る。 I/Oポートは外部環境302のためのI/Oポートへ接続されるためにアル
・バス、並列バス、NICあるいは別の周辺機器に次には接続されるCI装置の
ような周辺機器に接続できる。より多くの安全を獲得するために代わりに 外部環境302のためのI/Oポートは202をマスターするために接きる。
この方法でプログラム306は、I/OポートへI/Oポートからデ−タおよび
書デ−タを読むことにより外部環境302を連携する。 上記のリンク方法のうちのいかなるものおよび外部環境302でも送るこできる
ばいばい、/、デ−タを受ける、直接。あるいはマスタ−202によって作動す
るマスタ−202によって;マス202がプログラム306から到着するデ−タ
へのメディエイタになるよにより多くの固定であるという利点を有する。 それ、第2の実施に関してのような可能なise、に;2つのプログラム効に
有する、により、1つの、シングル、資源化する、であるが、で、1の制限され
た、上記されるようなリンクによって、方法を制御した。 そして透明でなく。
このメカニズムはすることができる、beimplementedされたの、そ
の上の完全な制御を有する第1のプログラムへの資源を割り当てことより。この
プログラムは、2つのプログラムの間の制限されたリンクにより第二ログラムへ
の資源間のデ−タを中継できる。両方のプログラムはこのメカニズムに気づいて
おり、メカニズムを非透明成して、その設備および保守における必要なステップ
を取る。 図4に関して、描写されたフローダイヤグラムは、この発明の第1の実施ンプ
リメントに対する主な段階を再現する。第1のステップは、メモリにマスタ−2
02を初期化し積載することであCPUの上のどのゲイン完全な制御、また必要
とされるデ−タ、ステップ40を設定する。次 各プログラム306は204を
セル化する、初期化される、ステップ402.ステップ402;複数のサブ・ス
テップから成る。各セル204のために実行可能プログラム306は物理的メモ
リに積載される。 メモリは各セル204用分配される、ハードウェアと同様に、資源化する、プ
ログラム用のCPUによって直接られたCPUタイミング、割込み機構ベクトル
および他の資源は、20をセル化する。 マスタ−202構造、第1の設定による各セル、CPUの保護、I/O許を包含
していること、仮想記憶表、割込み機構再方向マップ、仕事表、そ以のどのメモ
リあるいはハードウェアからプログラム306を分離するたの、節表、それに分
配された、により、202をマスターする。 CPUの工程立案メカニズム あるいは時計割込み機構 セル204と外部環
境302の間のCPU時を分配するためにセット・プされる。工程立案メカニズ
ムは始動する。CPUの工程立案メカニズムが各セル、ステップ404 204
に時スラを分配するように、各プログラム306の実施は各セル204内に始め
らる。各プログラム306が実行するように、プログラム306 I/Oから多
リクエストサービスされる、ステップ406. サービスが供給されるように、外部環境302はアクセスするための各プラム
306の却下により保護される、資源化する、その割り付けられたメリよび前調
整以外に、資源化する、それ、ステップ408に割り当てられた。 これらの制限を破るための企ての場合には、マスタ−202がプログラム6を
終了できる。あるいは、企てを無視する。あるいは、マスタ−302にプログラ
ムされた他の適切な手段をとる。詳細に下に説明されるように、ハードウェア割
込み機構はマスタ−202びステップ410によって扱われる、時計割込み機構
、ステップ412と同様に。 プログラム306が終了する場合、マスタ−202はセル204をシャトダウ
ンし、204をセル化するために割り付けられたメモリ、ステップ44リセット
する。 CPUレベル・サービスにセルにプログラム306を制限することをよりに作
成するために、プログラム306はそうでありうる、のような、セル0で実行す
る用採用された。ゼロから書かれたソフトウェアはアカウントにこの発明の限定
的な共有環とるためにコード化できる。 既存のプログラムのためにソース・コードは、O/S 200の高さにサービ
スへの全コ−ルを除るために修正できる。そうでなければ、外部環境302否定
で資源を使用するための、プログラム306ならしセル204企てが、それに譲
渡した場合、マスタ−202はリクエストを視るために割込み機構スタブを起動
できる。例えば 入力バッファーから出力バッファを計算するプログラム306
は、スクンにメッセージを書くことを試みることができる、一方、その処理、デ
−タつ、スクリ−ン;有する、マスタ−202により204をセル化するために
はり付けられない。そのような容器に;制限を破るための企てが期待される。こ
の容器における資源のための割込み機構スタブ書き込みからスクリ−ンへの割込
み機構のためのスタブは構成できる;環境204を通知するための代わりにのよ
うに(プログラム306)割込み機構スタブは成功した作動をエミュレートして
、平易にリクエス無視する。またプログラム306への戻り制御。 この実施例で 書き込みからスクリ−ンへの割込み機構のための割込み機構ス
タブはス−ンへの成功した書き込みをエミュレートして、成功した状態を備えた
プグム306に戻すべきである;事実、無で;有する、起こった。 この方法で プログラム306はすることができる、仕上げ、その仕事、所望の
ものえた終了することは出力バッファを導く。 この方法で プログラム306は、プログラム306の修正を伴わないセルで実
行でる。
【0004】 図5に関して 制御およびデ−タフロ−はこの発明の第1の好ましい実施例の
ために描れる。ウィンドウズ/NTシステムが活動中の後システムは、マスタ−
、ステップ500 202の初期設定を実行する。システムは、マスタ−202
およびセル204、ステップ502用メモリ配する。マスタ−はウィンドウズ/
NT基準VM86仕事、ステップ504を生成る。 次に、マスタ−202は、セル、ステップ506 204に実施のためのグラ
ム306をロードする。マスタ−202は、プログラム306のためのI/Oベ
クトルかバッファ04を定義する場合がある、に;外部環境302との限定的な
接触を有する。あるいはマスタ−、ステップ508 202それ自身。l/Oバ
ッファー304はどちらかを缶詰めにする;それらは、割込み機I/Oポートあ
るいは他のプログラムへのプログラム306によって電波誘されたデ−タへのア
クセスを実現する前にマスタ−202によって厳密制御れ評価できるRAMにお
ける特に示された共用メモリ・アドレス空間ら成る。初期設定における最後のス
テップ;割込み機構ハンドラあるいはスタブ、ップ510にセル204における
プログラム306用の正常なコンピュー割み機構ルーティンを取り替えることか
ら成る。割込み機構スタブは、環境302の外から分離されたプログラム306
をする、多くの異なる方法におけるプログラム306によって実行された割み構
コ−ルを扱うことができる。 確かに、コンピュータの物理的メモリ・アドレスの範囲に書くというコ−よう
な割込み機構の種類 その割込み機構のための割込み機構スタブは、セル204
のためのプログラム306実施を終了し、プログラム306のためにどの出力バ
ッファにおるラーを戻すことができる。プログラム306実施それ自身に同じく
らい重大になりえないスクリ−ンのような他の種類の割込み機構のために割込み
機構スタブは、平易にそれを無視することにより書き込みからス−ンへの割込み
機構コ−ルを扱うことができる。異なるセル204は、プログラムの外部環境3
02に関しての安全の30目的およびレベルに従って異なる割込み機構スタブを
要求できる。特別のセル204用の記憶割当は変わることができる。 今日適用を備えた、1メガバイト以上(1M)はメモリに割り付けることかで
きる必要がある。基準MS−DOSプログラムのような他のプログラムは実行す
るために1未満を必要とする。メモリを割り付けることから成るステップ502
は仮想記憶マッピング表成して、具備する。 プログラム306がロードする場合 プログラム306は、RAMで特別のセ
ル204用分配された空間の上あるいはその空間より下のどのメモリに気づいて
いない、プログラム306積載された。プログラム306にメモリOの下端また
、メモリの上部端は、204をセル化するために割り付けられた空量を均等化す
る。表はメモリ・アクセス割込み機構コ−ルをプログラム306から物理的リ・
アドレスに翻訳する;その結果、それに分配されたデ−タは204をセルする、
読まれるか書かれている。 TSSエントリーおよび共用メモリ・セグメントへのポインターあるいはもの
を含有するグローバル説明表(GDT)への仕事状態セグメント(TSエントリ
ーの挿入により、マスタ−がVM86 CPU仕事を割り付けるスップ504を
完成するために、積載された、資源化する。セル204のための仕事用のページ
・ディレクタリーの物理的記憶場所をTSSの中でレジスターは、セットである
。TSSのEFLAGSレジスターにおけるVM86ビットはセットであるの結
果仕事はVM86モードで実行される、3にセットされるTSSのための電流特
権レベル(CPL)と同様に。 最も特権がないレベル。 3のCPLは、TSSがそのセルを修正できないことを意味する。仕事か割込
み機構ゲ−トのための特権レベルは、マスタ−・サービスのた3まで同様に設定
される。プログラム306がセル204に積載され、実施の準備ができている後
マスタ−は、セル、ステップ512 204用ウィンドウズ/NTに時イスを
要請する。一度時スライスが与えられれば、そのCPUタイムシェア、ステップ
51ためのセル204内にプログラム306、ステップ515への動きを制御る
。プログラム306は、基準幅跳び指示書によるセル204内のVM86仕して
実行する。外部環境302で動くプログラムを備えたのようにセル204内のプ
ログラム306は複数のイベントを起こすことができる。あるいは、複数のイベ
ントは、プログラム306の実施を中断できる。 それらのイベントのうちの1つは、プログラム306がソフトウェアI/込み
機構に遭遇するか作製できるということである、I/O割込み機構がじ場合、ス
テップ516.、制御はステップ5 1 Oに設置されるI/のたの対応する割
込み機構スタブに通過される。セル204がI/O割込み機構によって限定的な
入出力を実現するもので場合 セル・スタブは入出力操作、ステップ520を実
行するためにウィンド/NTによってリクエストを中継できる。そうする前にル
ーティンは、それが外部環境302における、ウィンドウズ/NTあは他の実行
する適用への障害を起因しないことを確実にするためのリクエトチェックする場
所にありうる。 リクエストを加工した後に、マスタ−202は、セル、ステップ522 4の
ためのIIO割込み機構スタブに制御を送る。入出力操作がデ−タの要請だった
場合、マスタ−202は共用メモリ・プラム、ステップ524 306への30
4からデ−タをル−ティングする。プログラム306は入力を受ける、もし要求
されれば そして、実施、ステップ514を継続する。プログラム306が実行
、ステップ526である間、ハードウェア(HW割込み機構は作製できる。 制御は作製された特別のH/W割込み機構のための割込み機構スタブに通れる
、ステップ528.H/W割込み機構がプログラム306の実施の間に実現され
るものである合204をセル化する、マスターするための制御を通過する、20
2、それ特別のウィンドウズ/NTルーティンへのコントロールを通過する、ス
テッ29、どのサービス、NTモード、ステップ530にCPUを切り替えると
よるH/W割込み機構。 H/W割込み機構が扱われた後、制御は、VM86モード、プログラム、ップ
534 306に次には制御を通過するステップ532における割込機スタブに
通過される。VM86仕事に分配された時スライスは時計割込み機構、ステップ
636製して、消滅できる。時計割込み機構のための割込み機構スタブは割込み
機構コ−ル、ステップ8を受ける。 時計割込み機構は、NTモードにCPUを返しウィンドウズ/NT、ステ540
への制御を通過することによりサービスされる。プログラム306は自然に終了
できる、ステップ542.マスタ−は洗浄する。また、戻りはメモリを割り付け
て、セル204によ使用されることを資源化する。そして、NT、ステップ54
4に制御を解除する。 プログラム306は、阻害された作動、ステップ542を実行しようと努こと
ができる。これが生じる場合 CPUは一般的な保護故障(GPF)、ステップ
546を発行する。制御はマスタ−202内に維持され、ウィンドウズ/NT、
ステップ54下に実行している、他のプログラムを妨害しないようにプログラム
306シットダウンすることにより扱われる。マスタ−は、NT、ステップ57
0にプログラム306の実施およびレポを代わりに終了する。システムは、指示
書の実施のためのプログラム306への違反および戻御を無視できる。 図6に関してこの発明の第二の好ましい実施例は1つの物理的コンピュータ上
で実行複数のオペレーティング・システムを分離するために使用される。O/S
モニタ−、コンピュータの600のゲイン・フル制御。モニタ−600は、I/
Oポートおよび他の記憶場所へのアクセスを選択可能にするか不能にすることが
できる。例えば、モニタ−600は、フロッピー(登録商標)ディスク制御装置 のためのI/ポトへのアクセスを不能にすることができる。第2の実施;1つ又 は複数の同時に実行するオペレーティング・システム有するモニタ−600の上 のO/S層602から成る。 ユーザー・プログラムは実行できる、で、1つの、O/S層602の上の層6
04。オペレーティング・システムはO/Sサービスを仮定しない特別の型のプ
ラムである。発明の第2の実施で、システム;それは、O/Sがそれを仮定する
ことをするメカニズムとしてモニタ−600を使用する;O/Sのための事実上
環の生成によりコンピュータ上のフル制御を有する。システムは、CPUの安全
特徴を再プログラムするための、限定O/Sの企てをトラッピングする。あるい
は仮想記憶のような他のO/Sレベル特徴。 モニタ−600サービス、これらの企て、ある意味では、第1の実施のう20
2をマスターするのに同様、上記した。システムは、CPUの安全特徴の状態に
関する情報を受けるための、どのをトラッピングする。また、モニタ−は、実際
に安全構成を修正せずに、実行されると思われPUインストラクションの結果を
エミュレートする。マスタ−は、交換することを有することができる、O/Sの
ためのサブルィン、ので、一定のシステム上のあるCPU指示書、それらの交換
なしにそでなければすることができないCPU状態に関する情報を戻す、例えば
ラッングされる。 インテル号−Pentiumの上で動くウィンドウズ/NTのようなOは、そ
れが、実施の中で最も特権のある環である結果「0」を予期して、行しいる電流
特権レベルを発見するためにCPUを疑問とできる。この照会がトラッピングす
ることができるということでないように O/Sの中で個々のそのようなインス
トラクションは、0の所望の結果をュレートする、特に設計されたルーティンへ
のコ−ルと取り替えられる。 図7に関して、描写されたフローダイヤグラムは、この発明の第2の実施ンプ
リメントのために主なステップを再現する。コンピューターシステム・ブーツ・
アップで第1のステップは、メモリにモニタ−600を初期化し積載することで
る。そして、それを実行する;その結果、それは、CPU、ステップ700の完
全な制御を獲得する。ステップに、700のCPU仕事はより詳細に下に説明さ
れるようなモニ700によって割り付けられる。各O/Sはステップ700のそ
れらの割り付けられた仕事に積載される。CPUの工程立案メカニズムが各O/
S、ステップ702に時スライスをするように、各O/Sの実施は各仕事内に始
められる。各O/Sが実行するように、O/S I/Oから多様なリクエスト
サービスされる、ステップ704.サービスが供給されるように、他のO/S仕
事はその割り付けられたメモよび前調整以外に資産をアクセスすることから各O
/Sの却下により保護れる資源化する、それ、ステップ706に割り当てられた
。 これらの制限を破るための企ての場合には、モニタ−600がプログラム了で
きる。あるいは、企てを無視する。あるいは、モニタ−600にプログラムされ
た他の適切な手段をとる。 第2の実施のシステムで より詳細に下に説明されるように、O/Sは、他のO/S、ステップ7の特別
の共用メモリ・セグメントへのアクセスを読むことがある。時計割込み機構は、
電流時スライス、ステップ710で動くO/Sへのモ−を通ってろ過される。あ
るいは、それに異なるO/Sへの制御を実行するように信号して、モニによって
トラッピングされる。 O/Sが終了する場合、ステップ712。モニタ−は、O/Sが実行していたt
hetaskをシャット・ダウン仕事に分配されたメモリをリセットする。最後
のO/Sが終了する場合、ステップ714。モニタ−は構成モードにシャット・
ダウンするか変わることができる。
【0005】 図8に関して 制御およびデ−タフロ−はこの発明の第2の実施のために描写される。コンピ
ュータがブートする場合、システムの初期設定は生じる、ステップ0.モニタ−
は、コンピューターハードウェアのインターフェースの上の最低として最初に挿
入される。各オペレーティング・システム(O/S)の構成情報はモニタ−、ス
テッ02から読み取られる。実用コンピューターシステムのファームウェアを模
倣する各O/Sの事実環境が、初期化される。 代わりに、特別のO/Sがコンピューターシステムの特定のハードウェアを備
えた弾ない場合特にそのO/Sのためのモニタ−はエミュレーション層を設置で
きる。仕事は積載されることになっているO/Sごとの割り付けられたメモリペ
ジと始められる、ステップ806.第1の実施でのように各メモリ・ページは仮
想記憶アドレス表を備えたインスト−ルされる、その果、O/Sはそれに分配さ
れたそれ以外に他のメモリ−スペ−スに気づいいない。 このステップにモニタ−は低レベル分節、割込み機構およびCPUのための他
の安全お制御機構を設定する。各O/Sについては、仕事が低い許可レベル、一
方の1あるいは2を備えットアップである。O/Sは、3の許可レベルを受ける
ことができるO/Sそれ自身の内に動ユーザー適用よりなおもっと特権を与えら
れる実施特権を与えられる。しかしながら、システムの中で最も特権のある実施
層、0値で実行するOごとは、それにモニタ−それ自身より少ない特権を与える
許可レベルを受る。各O/Sは第1の実施、ステップ808における応用プログ
ラムでのようPU時を割り付けることができる。O/Sの間の時を分配するため
の、時スケジューラはセットアップ、ステ810である。 次O/S画像はそれらのそれぞれの仕事空間、ステップ812に積載される。
第1の実施でのように、限定的な共用メモリはO/S、ステップ814のセット
・アップできる。しかしながら共用メモリはこのステップに動作されない。後続
の、重大表の保護、GDTおよびIDTページ・ディレクタリー、おページ表の
ような、モニタ−、ステップ816によって供給される。利用可能である場合、
CPU呼出メカニズムはこの保護を、インテル号のティアム・プロセッサーに組
み込まれた、呼出メカニズムのような達成でる。次に、各O/Sセル、ステップ
818のために交換された除外、および割機構ハンドラ。このステップは上に記
述された第1の実施の点でステップ51Oに似ている。しかしながら、オペレー
ティング・システム用の除外ハンドラは適用のたよりも広範囲である。 例えば、一般的な保護除外ハンドラは、CPUを代表してウィンドウズ/NT
Sのための特権命令を注意深くエミュレートすることにより、ilyer62
(図6)にウィンドウズ/NT O/Sが実行することを可能にするめに置され
る。ページ故障除外ハンドラは、ページ故障を引き起こすO/Sに属さない記域
へのトラップ言及への重大表の上の保護をインプリメントする。一度O/S、積
載され、実施の準備ができている。時スライス積重ねの上の第1のO/Sは、C
PU、ステップ820からライスを保持する。 モニタ−の工程立案メカニズムはそれ自身の事実上の環境でそれを実行さてO
/Sのために時スライスを与える。これがO/Sが実行する第1の時である場合
、事実上の環境はO/Sにユーザーか自動ブーツ・アップ・シーケンスを予想通
りにエミュレートする。そうでなければO/Sは走行を再開する;それは止めら
れた、ステップ824.第1の実施を備えたのように多くのイベントは、実行す
るO/SのCPU時スライス、1の間に生じとができる;その、することができ
る、H/W割込み機構、ステップ82をcする。 特別のハードウェアのための割込み機構スタブは、割込み機構がどのO/ル−
ティングされるか決めるに違いない、ステップ828.これは、特定のハードウ
ェアが分配されるハードウェア資源を信頼できる。 第2の実施では、割込み機構のサービスが、ハードウェアがサービスしてO/
Sに割り当てられる、ステップ830.制御は、モニタ−割込み機構スタブ、電
流時スライス、ステップ834を付けられたO/Sに制御を通過するステップ8
32に通過される。同様に第1の実施に時計割込み機構は現在のO/Sを止まら
せる、ステップ836.しかしながら、第1の実施と異なり、制御は、次のO/
S、ステップ83転送される。モニタ−は平易に仲裁する、O/Sは受けること
である(それ)時に、スス、ステップ840。 O/Sにより事実上の環境を修正するための、どの企て、割込み機構を変るか
、仮想ページ・ディレクタリーを修正するようなステップ842は、般な保護故
障を生成するためにCPUを起因する、ステップ844、この障は修正をエミュ
レートするモニタ−によって扱われる;その結果、O/に修正成功したように見
える、ステップ846.参照かリクエストが事実上の環境に作成される場合、そ
れはトラッピングる。あるいは、CPUメカニズムによって遮られた。そのよう
な試みられた参照の結果活性化されたかもしれない割込み機構がる。容器に;現
在の許可を決定するためにセグメント・レジスターを使用するへのトラップ言及
へのCPUのための方向はない。O/Sに予期された結果を返して、アクション
をエミュレートする、特コードへのコ−ルか枝に問題のインストラクションを取
り替えることによO/Sに継ぎを当てるに違いない;その結果、モニタ−はそれ
を制限するた使用できる。O/Sがセグメント・レジスターを直接参照する場合
、それはトラッピンることができる/ということでありえない。(中断すること
ができる)この特定のシナリオでモニタ−の存在はO/Sに透明になりえない、
ので、セグメント・レター;O/Sがモニタ−を備えた実行しているという事実
を開示する情報を含する。そして、期待されたよりより特権を与えられない。そ
のように。O/Sはこの情報を受けた後に行儀よくすることができない。これが
、情報を開示するO/Sから完全にインストラクションを取り除くであると決心
するのに一方向である。 例えば読出しセグメント・レジスター・インストラクションは、コ−ルをエレ
ートするモニタ−・ルーティンへのcal1と取り替えることができる;そ結果
、ルーティンは予期された結果を供給する。この種のパッチはバイナリものでコ
ードの実施に先立って作成される。あるいはO/Sのメモリ形に似せてO/S画
像を積載した後。各O/S;共用メモリ・ページを有する、どれのために、それ
;書き込みを有する。そして、他のO/Sによって読むことができる。このペー
ジをうまく利用するために別のO/Sにデ−タを要請するO/Sいては、ソフト
ウェア割込み機構、ステップ848の起動によりそれを動すためにそれがモニタ
−へリクエストを送る。O/S、ステップ850の間の情報分割を容易にする、
特別のドライバ−積載される。 一度それがデ−タ、ステップ852を受ければ、要求するO/Sは仕上げみ機
構を始めることができる。制御はモニタ−のデ−タ株割込み機構ルーティンに通
過する、ステップ84どの仕上げ、実施。モニタ−は結果バッファーをコピーす
る、場合、いかなるもの、共用メモリ、ステップ856に。O/Sが一時停止(
HLT)インストラクション、ステップ870を起動場合 モニタ−は、発信O
/S、ステップ872用時を分配するのを中止する。モニタ−は、HLTインス
トラクションを起動する特定のO/Sをサービるのを中止する。またそれを再開
する場合がある、ステップ878.全である場合、O/Sシャットダウン、ステ
ップ874モニタ−は一方のすることができる、シャットダウン、コンピュータ
、いは、代わりに、構成モード、ステップ876に実行する。特別の熱いキー組
合せはこのモードを動作できる。 この発明の両方の第1、第二の実施は、隔離、特権レベルのような保護構仮想
計算機および呼出メモリを支える、どのプロセッサー上でインプリメンできる。
インテルの80386以上(80386+)の保護されたモード、およインテル
の80386の+VM86モードは、システムによって支えられる。モニタ−支
持、保護モードと一致するどのオペレーティング・システム、用のそれ。例えば
Linux、ウィンドウズ/95、ウィンドウズ/NT、ソラリス86、全、イ
ンテル号の80386+上で作動する、モードを保護した。保護/隔離がこのモ
ードで提示されないので、MS−DOSは、インテル80386の+の実際のモ
ードで使用できない、 MS−DOSのためのVM86モードはシステムをインプリメントできる。こ
の発明のシステムは他のもの、同様なプロセッサーを備えたありうる。それは理
解されるべきである、それ、この発明が制限されないsystef、インテル号
80386の+構成。セル内に、より少ない集中的なCPUである他のプログラ
ムを実行できる環境用資産の減少された必要のためにこの発明のシステムを備え
た最良のCU集中的な作業であるプログラム。優先権は各セルのために必要とさ
れるオペレーティング・システム・サーを制限することである。プログラムを備
えた最良のシステム作業、どれのために、一度、全、所望力は与えられる、限定
的なI/O機能によりいる間、プログラムのほとんの動は各セルの割り付けられ
たメモリ・セグメント内に生じる、すべてで場合。それがCPUなので、この発
明のシステムを備えた最良に実行する適用のな例は、SSL decrypto
rかHTTPパーザのようなプロトル・ロセッサーである、初期の入力バッファ
ーおよび最終出力バッファ以外I/の低需要を備えたいる間集中的。 図9に関して、またより非常に詳しく下に記述されたように。 この発明のシ
ステムは外部環境から内部確実なネットワ−クを保護する全ゲ−トウェイ・シス
テムを形成する、二つ又はそれ以上のプログラムを作るために使用できる。外部
プログラムかロボット6は外部環境7からメッセージを受ける、シンな無害な形
状へのこれらのメッセージの内容物を変換する。 そして、内部ネットワ−ク2
における適用により使用可能な形状への内の単純化された形状を変換する、内部
のロボット3にそれらを沿って通過る。内外ロボット6。3は、ここに記述され
たシステムによる内部ネットワ−ク2のセキュリテ維持する間にシングル・プロ
セッサー上で操作できる。 例えば、外部ロボット6は制限された運転環境で操作できる;その結果、外部
ネワ−クに対する攻撃は内部のロボットを代わりに包含する運転環境の残り増し
ない、両方の内外ロボット6、4は保護を供給して、制限された環境このうに操
作できる。彼、2つのロボット4、6はVMMプログラム9おびPetium技
術として再現される、マスタ−またはモニタ−のプログムによっ供給される、V
M86モードあるいは制限された運転環境のよう保護されモードによってシング
ルCPUの上でインプリメントされる。 例えばウィンドウズNT(WlNNT)オペレーティング・システムを実る、
シングルCPUで各ロボットあるいは外部ロボット6、各ロボットが他方の作動
、およびCPUの環境の残りに影響するのを防るモニタ−・プログラムの監督の
下の保護されたモードで操作される。モニタ−・プログラムは、通信チャンネル
をインプリメントして、それらのデ−タの通信を協定する。あるいは、共用メモ
リによるそれらの間のバ45および各保護されたモードの特別のAPIを資源化
する。
【0006】 2つのソフトウェア・ロボット4、6は、VMMプログラムの制御の下PUに
よってある意味では分離される、各ロボットは、他方のロボットと有れないコン
ピュータ1、8(ディスク空間、メモリ・アドレス範囲、フッピディスクのよう
な周辺機器あるいはテ−プドライブのような)のある産を譲される。また、分離
のポリシーはVMMプログラムによって強化される。単に1つの資源通信バス2
8、2つのロボット4、6によって共有される。 また、専用メモリ・アドレス空間はこのバス4をインプリメントできる。VM
Mプログラム9、およびロボット4、6、それらの個人の環境の上でできるなら
し運転、専用コンピュータ。それらは、さらに非専用コンピュータ上で実行でき
る。標準のOS(eg.. ウィンドウズ。)への一定の修正は保護されたモー
ドで実行することをを進行するために必要な場合がある。VMMプログラム9は
CPUレベルでイベントをすべて制御する。そして、ハードウェア割込み機構に
よりシングルCPU機械に2つの仮理要素を強いる。 ゲ−トウェイ・システムの構成および作動の実施は、図L0aに今より非詳し
く記述される。 −18.図10aに参照することネットワ−ク安全ゲ−トウェ
イ10は、内部演算環境12と外部演算環0の間にある。 図10aで示される実施で内部演算環境;ウェブ・サブネットに属する場合が
あるウェブ・サ−バを含有する。そして感受性のシステム・サ−バ14、外部環
境16はウェブ、シスムサ−バ13、14に外部どの環境でありうる、典型的に
;インターネットを包含している。ゲ−トウェイよう素Oはバス20bによって
、ウェブ・サ−バ13への通ス20aによって内部システム・サ−バ14に接続
される。そしてバス22による外部環境に。従来のネットワ−ク・インターフェ
ース・カードはこれらのバスをイ−サトPCIカードのようなイ−サネット(登 録商標)接続としてインプリメントできる。あるいは、V.35インターフェー スによって直列接続としてインプリメできる。 当業者に公知のものとして他の接続方法。 バス20a、20bまた、22は同じかあるいは異なる型の接続を使用できる。
安全ゲ−トウェイ10;ロボットとしてここに参照されて、2つの分離でる処理
要素24、26を含有する、接続された、1つの、献呈された、固通バス28。
内部のロボット24は、バス20b(20a)によって、ウェブ・サ−バ1 3
つおよびシステム・サ−バ14にそれぞれ接続される。また、外部ロボット26
はバス22によって、インターネットあるいは外部環境1 6に接続される。 より非常に詳しく下に記述されたように各ロボットは、内部ロボット移送プロ
トコルあるいはIRPによって内部ット・バス28で、他方のロボットにCIP
メッセージを伝送する、クリ−部プロトコルあるいはCIPとしてここに参照さ
れた、単純化されたプトル・フォーマットによって、それぞれの環境から単純化
されたメッセーまで受られた通信かメッセージを翻訳するか減少する。そして、
それぞれの環境には定形メッセージに他方のロボットから受けたそのようなCI
Pメッセージを翻訳する。 1つの実施で、安全ゲ−トウェイ10は次の方法で機構の内部ネットワ−クに
接続される。適用プロキシは、内部システム・サ−バ14へのバス20aによっ
て接続る。また、ウェブ・プロキシはウェブ・サブネットへのバス20bによっ
てされる。そこで:ウェブ・サ−バ13は存する。 当業者が了解するように、それは可能である、に;専用インターフェースえた
多数のウェブ・サブネットを有する、につき、1つの、各々あるいはに;同じサ
ブネットにおける複数のウェブ・サ−バを有する;同様に、専用インターフェー
スを多数の内部環境に給仕することは装置にて可能である、につき、1つの、各
々また同じ内部域での複数のサ−バあるいは適用。実施は一人のサ−バがシング
ル適用を実行して、図1aサービスに関してグル内部環境について記述した。ま
た単純性の理由および実行のしやすさのためのシングル・ウェブ・サットにおけ
るシングル・ウェブ・サ−バ。しかしながら、ゲ−トウェイ・システム10の複
製および拡充の原理は、当業者によっ解されたシステム設計パラメータである。 例えば図、10bは、内部環境12aのための代替構成を例示する。図10b
で示されたようにLANサ−バ13aは複数のインターフェース20a、20b
、20cって内部のロボット24に接続される。多くのそれ自身の付加的なサ−
バ安全を備えた、SQLデータ・ベース・バ1 4a、および金融機関用サ−バ
14bを包含する内部適用サ−バ1a14fのLANサ−バ13aサービス通信
は、11を加工する、それはクセ制御および他のセキュリティ対策を供給する。
3のインターフェース20a、20bまた20c、SQLデータ・ベース・サ−
バ14aおよびemailをするための1 20bにSQLコマンドを発行する
ための1 20aを包して使用するための様々な通信プロトコル、およびHTM
Lデ−タ内のCIコ−ルを包含するウェブ通信プロトコルに備える。そして高安
全用の1 20c、金融機関用サ−バ14bに特有の金融通ロトコル。 対応する多重インターフェース22a−22cは外部ロボット26間で供きる
。また、受理への外部環境16は多様な通信プロトコルを備えた通信る。各メッ
セージ・プロトコルの分離処理モジュ−ルあるいはこの組合せはあ1つのモジュ
−ルを供給するのに合理化された、のために、その「ゲ−トウイ」安全ゲ−トウ
ェイでインプリメントする移送プロトコル、1つ、のめに「ミドルウェア」プロ
トコル、それはウェブ・サ−バ(恐らく暗号化プトルおよび適用プロトコル用の
1つ用の1つ)をバイパスする。その、合理化された、代替、それがそうでなけ
れば生じるというHTTPトコル・メッセージの二重濾過によって招られた、シ
ステム・オーバーヘド廃止する、に、明白な安全の傷のフリーである間に、ある
いは漏出するまたおタッピングをブロックすること(未満で、線状付加物のそれ
)他方では、先進オペレーティング・システム動作および特徴を備えた「強力な
」機サンのSPARCのような、ステーションは末端ユ−ザのためのその全面的
コストに添加して、それを実行するために要求される。 標準寸法設計の利点は、仕事に特有の個別モジュ−ルを近づいて添加するによ
り追加のプロトコルを選択的にインプリメントすることができる経済でる。内部
の通信バス28はシリアル・バスに従ってそれぞれのロボット24、を接続する
、並列バスか自在シリアル・バス基準、この発明に従って、2のボットをリンク
する内部バス28はSCSIバスである(代わりに)光ファイバー。ネットワ−
ク・インターフェース・リンクあるいは無線リンク;ロボッより大きな距離、V
MMに保護された共用メモリ上で作動するに違いない。あるいは同種のもの。と
もに、これらの3つのエレメント24、26、28は、ネットワ−ク安−トウェ
イ10によって保護された内部環境12用供給される保護をインリントする。ロ
ボット24、26はそれぞれの安全ゲ−トウェイ・ソフトウェア・パケジによっ
て定義されたルーティンを実行する、2つの分離かつ独立論理的工である。ロボ
ット24、26は2つの分離処理装置あるいは1上に設置できる、保れたモード
におけるロボット24、26の片方又は両方ものを操作するシグ処理装置。 いくつかの実施で、それぞれのソフトウェア・パッケージは、単純性および既
製の部品有用ための二つ又はそれ以上のそれぞれの分離CPU上に設置される。
このアプロ−チで各ロボットは、それ(例えばディスク空間、メモリ・アドレス
、ネットク・アダプター、多様な周辺装置)に割り当てられた、非共用資源を備
えたシグル独立コンピュータ・プロセッサー上で実行する。また同種のもの。こ
のアプロ−チにおける共用資源は通信バス28である。複数の構成はこのアプロ
−チをインプリメントするために使用できる。そのような1つの構成は、直列ラ
インのような通信バスで接続された異な立コンピュータ(PC)である。内部ネ
ットワ−クあるいは外部世界の残りを連携するための別のネットク・アダプター
を備えた各PCを備えた、SCSIライン、およびその他同種もの。代わりに、
1つのロボット・プログラムは、専用カードか装置でありうる加のカード上でコ
ンピュータ(PC)および他方上で実行できる。あるいは基準カード(インテル
80x86の追加のカードのような)(は通信バス28としてこのスロットを備
えたPCの1つのスロットに設置る)。PCおよび追加のカードの両方;内部ネ
ットワ−クあるいは外部環境の残連携のために付加的なネットワ−ク・アダプタ
ーを有する。2つのロボット・プログラムは、基準(e.g。 二重インテル号
80xプロセッサー・カード。)あるいは専用追加のカード上でインプリメント
れた異なる独立プロセッサー上で実行できる。これらの2つのプロセッサーは、
SCSIライン(キタノウグイ・バス)うな通信バスで接続される。 PCIバスおよび同種のもの、各ロボットは内部環境12あるいは外部環境1
6ののために別のネットワ−ク・アダプターを包含している。この追加のカード
は基準に設置されるか、あるいはルータ、ブリッジ(通−バ)のようなネットワ
−ク通信装置を献呈した。また同種のもの。他の実施で2つのロボット24、2
6は、VMMおよびPentium技術によっ給される、VM86モードのよう
な保護されたモードによってシングルCU上でインプリメントされる。例えばウ
ィンドウズNT(WINNT)オペレーティング・システムを実る、シングルC
PUで各ロボットあるいは外部ロボット26作動される、保護された、モニタ−
・プログラムあるいは「メディエタの監督の下に作成された、それは各ロボット
が他方の作動、およびCPU環の残りに影響するのを防御する。 モニタ−・プログラムは、共用メモリ資産および各保護されたモードの特AP
Iによりそれらの間の通信チャンネル28をインプリメントして、そら間のデ−
タの通信を協定する。2つのソフトウェア・ロボット24、26は、VMMプロ
グラムの制御のCPUによってある意味では分離される、各ロボットは、他方の
ロボッと有されないコンピュータ(ディスク空間、メモリ・アドレス範囲、フロ
ピーィスクのような周辺機器あるいはテ−プドライブのような)のある資産を譲
される。また、分離のポリシーはVMMプログラムによって強化される。 単に1つの資源通信バス28、2つのロボット24、26によって共有される。
また、専用メモリ・アドレス空間はこのバス28をインプリメントできる。それ
らの個人の環境で動くVMMおよびロボットは専用コンピュータ上でできる。そ
れらは非専用コンピュータ上で実行できる。標準のOS(e.g。 ウドウズ。
)への一定の修正は保護されたモードで実行することをそれを進すために必要な
場合がある。VMMプログラムはCPUレベルでイベントをすべて制御する。そ
して、ハードウェア割込み機構によりシングルCPU機械に2つの仮理要素を強
いる。内外ロボットの構造および作動内外ロボット26、24は、図11aおよ
び11bに今より詳細に記述さる。図11aに参照すること、外部ロボット26
;内部ロボット・プロトコルあるいはIRPで内部のット24への発信CIPメ
ッセージを包み、入込みメッセージからIRP取除くためのチャネル・マネージ
ャー4aを含有する。
【0007】 外部ロボットは、外部環境16用のTCP/IPあるいは他の移送プロトでメ
ッセージを包むネットワ−ク・プロキシ4eを含有する。これらのプロトコルは
TCP/IP、およびUDP、SPX/IPX、HP、SNA、NCP、COR
BA、RMI、RPCを包含することができる。あるいは、通信はプロトコルを
転送する。CIPはSMTP(〜POP3)のような、使用される適用プロトコ
ルにである。SQL。CGI、また積み上がるためのもののような適用特定のプ
ロトコル。保護された環境12がTCP/IPの上に、TCP/IP(あるいは
同様全スキームSSL)および構造化した照会言語(SQL)の上に安全なハパ
テキスト移行プロトコル(S−HTTP)を使用できるので、専門の金融通信プ
ロトコルおよび適用プロトコルと同様に。ロボットは、3つのCIPプロトコル
積重ねのそれぞれの相補形セット要とすることができる。外部ロボット;外部ロ
ボット26の多様な要素間のCIPまたは適用のォマット・メッセージをル−テ
ィングするためのル−ティング・マネージャ4を含有する。下に記述された手順
に従って外部環境16からCIPまで受けられた、フォーマットからメッセージ
を減少するためのル−ティング・マネージャ4へ接続されたあるためのプロトコ
ル・マネージャー4c、そしてル−ティング・マネージャー4bの指導のもとに
安全ゲ−トウェ0用解読と認証のサービスを供給する通信層安全(塩素)ルーテ
ィン4d。第1のル−ティング・マネージャー4bは塩素ルーティン4dへ適用
メセジを転送する。そして、メッセージからプロトコル・マネージャーへ確証さ
れ解読され−タを4c転送する。プロトコル・マネージャー4cは、特にその天
然プロトコルのためのそれのCIPフォーマットに不確実な環境からそれが受け
る、天然適用プロトル減少する。外部ロボット26におけるチャネル・マネージ
ャー4aは内部ロボット通ス28上にCIP定形デ−タを実行する。 図2bで見られたように、内部のロボット24;外部ロボット26に似ている
構成を有する、内部ボット24、したがって;外部ロボット26のチャネル・マ
ネージャー4にているチャネル・マネージャー2aを含有する。ル−ティング・
マネージャー2b、プロトコル・マネージャー2c、また内部環境の構成に従う
多くのプロキシ。図1aで例示された内部環境を与えられた。プロキシ;適用プ
ロキシ2eおよびウェブ・プロキシを2f包含する。内部のロボット24のチャ
ネル・マネージャー2aによって受けられたデは、それぞれの天然適用プロトコ
ルにCIPフォーマットから後部再翻訳れるめの、そのル−ティング・マネージ
ャー2bの指導のもとにそのプロコル・ネージャーへ2c転送される。 また、再翻訳された結果は、ウェブ・プロキシ2fまでバス20bによゲ−ト
ウェイ10へ送られ、保護されたシステム・サ−バ14に再度導かる−タ・スト
リ−ムで対応するウェブ・サ−バ13まで、適用プロキシ2およバス20aによ
って、あるいはウェブ・プロキシによって内部環境1に2fられる。相似性の機
能が供給される限り、これらの多様な仕事はこの実施におけるモジュ−ルで実行
されると評されるが;その結果、それらは協同する、記さた結果を作製する際に
、これらの仕事はグループ化するか、あるいは異るモュ−ルに割り当てることが
できるか、互いに、あるいは他のところに付できる。 例えば、安全機能(塩素モジュ−ル4dによって実行されたように)はそれ(
キサイン)に格納された、暗号の可変のための安全を供給するために内部と部ボ
ットに恐らく割り当てることができる。外部ロボットと内部のロボットの間の通
信は専用内部ロボット・バス28に単独で専用シンプルな内部ロボット・プロト
コルあるいはIRPによって行される。デ−タは、受けられたデ−タおよび内部
の適用プロトコルに特有の安全プコルによって安全ゲ−トウェイ作動に翻訳され
る。確実な環境内の適用は選択された通信によりデ−タフロ−を認可するためボ
ットを形成できる、シンプルなメ−ル転送プロトコル(SMTP)のよなロトコ
ル(CTP)、ファイル転送プロトコル(FTP)および固定を送する電子移送
(セット)プロトコル。、好ましくは通信に割り当てられたCIPは、可能にな
ったフローのいかなる破損もなオペレーティング・システム・コ−ルにより配列
するCTP使用中に特でる。あるいは、ル−プ化はトラッピングされ、ロギング
だろう。 例えば、ファイル転送プロトコル(FTP)では、もしパス・コマンドにて、
ユーザー・コマンドを包含する成功したログイン・シーケンスによっ先行れなか
ったならばgetコマンドは認識できない。所要流量オ−ダ−の違反は、ロギン
グおよびFTPセッションを終了したアラームを起因する。各翻訳機および通訳
ペアが入込みメッセージおよび安全アドミニストレタによって可能にされたデ−
タフロ−の型用のプロトコルの対の特別なトラス誘導体であるので、ゲ−トウェ
イ10はデ−タフロ−規定を強化する。 例えば、外部SMTPユーザーが発行する場合、その「メイル、から」コマン
ド外部サ−バは技術均等を送る、1つの「メイル、から」コマンド、そ「HEL
O」コマンドを伴う場合。図、12aおよび12bは、図10a、11aおよび
11bで示される装よってインプリメントされたデ−タフロ−を示す。概観に、
図12aで示されたように、工程の最初40では、外部環境16受けられた通信
パケットが、外部ロボット26、平易なデ−タへの解読のうデータ秘密保護処理
機能によるステップ50によりタイムスタンプでロングです。ロギングは、「一
時書き込み」媒体(e.g。 CDW。)上の安全ゲ−ェイ内の同期APIモジ
ュ−ルによって始められる。ロギング工程は、プログラム状態変化の希薄な記録
を実行する、タイムスプのメッセージ・エス、システム誤差、アクセス、そして
今、違反企て、パットには発火支配、一般に、エラーとデバッグのエントリは、
メッセージと状態のエントリよきな細部で維持される。 各サービス・モジュ−ルはすべてのアドミニストレーター・アクションユザー
・ログイン/ログアウト、データ・ベース・エラー、単純化されたネトワ−ク管
理プロトコル・トラップあるいはアラームの完全監査トレールをするために自動
的に周期的に獲得される。公知の侵入パタ−ンのデータ・ベースは確実な環境内
のグループの供給さ使用パタ−ン、および習慣的な使用パタ−ンである、モニタ
ーされる、またドミニストレーターは事件をそれに通知した、そのパタ−ンから
分岐する。安全のために、ログは、内部で確実なターミナルを通って局所的にア
クセスされる。しかしながら、外部ログは、外部ログの天然プロトコルに対応す
る内部のPプロトコルによって内部の記録に安全にコピーされ、偽造を妨げるた
め内エントリによって使用されるためのそれから異なるアイテム・フォーマトに
釈される。代わりに、外部ログはロギング工程によって内部のロボットに課され
たオーバーヘを減少するために分離システムに書くことができる。 「二重チャネル・マネージャー構造」そこで:メッセージの記録のために献呈さ
れて、各ロボットの中に付加的なチル・マネージャーがある、使用されたかもし
れない。ロギングを扱うためのソフトウェアは実行のためにACEパッケ−ジあ
る他の業務用製品を使用できる。内部および外部ログは、ロガー・デ−モンによ
って非同期に記録される、結果、ロギング・アイテムは、糸ロックアウトあるい
はI/Oの使用中の態間に脆弱な列で待たずに、書かれた記録に直ぐに行く。非
同期ラッパ−はこれを、UNlX Syslogd&エラーと違反用のEven
tLoggerのような総括的なOSロギングによってインプリンできる。また
プログラム状態とメッセージに関する業務処理の情報のためのOD標準のファイ
ル構造。オーブン・データベース会議(ODBC)ロガー;いくつかの非同期行
為ションを有する、それらは直接適用可能ではない。したがって、それは現実的
な代案を再ることができない。 そのときステップ60で、平易なデ−タはクリア−・デ−タにそれを減少する
ために編集され、Cフォーマットに翻訳される;その後に、CIPフォーマット
は内部のロボト4に、安全ゲ−トウェイの内部通信バス28上に送られる。 ステップ70に、内部のロボット24は再翻訳する。また恐らく改造する。そ
のCIPフォーマットからデ−タは、それが恐らくいくつかの編集変導入して、
出される適用に固有のフォーマットに後退する。 ステップ90に、デ−タが、それがウェブ・サ−バ12まで最初に送られるウ
ェブ・セッシ(HTTP)に属する場合、ウェブ・サ−バ12は、ステップ11
00で注意されるように、デ−タの目的地へ行っている一方そのネットワ−ク安
全ゲ−トウェイ10を通ってェブ・サ−バが受けたデ−タのインターネット・ソ
−スにレスポンスを送りして、適用リクエストを始めることができる。 場合、他方では。デ−タは適用サ−バに直接伝達されたデ−タのようなウェブ
・セッショ属さない、内部のロボットは、適用プロキシ2eに、およびステップ
110ら成り、ステップ1104に安全ゲ−トウェイの安全保証工程を仕上げる
、部環境l4へのバス20aの上に平易にそのデ−タを送る。図12bに、より
明確に参照すること、場合、TCP/IPパケット、利用可能媒体用の適当な通
信プロトコルに組み合わされるデ−タの他のあ本ユニット(あるいは)外部バス
22によって、そのプロトコルに対応する安全ゲ−トウェイ・キシ4eによって
受けられる、それはそうである、ステップ51に外部ロッをログインした。これ
は、パケットのために完成した移送ステップを再現するパケットのエ数および運
用上の状態コードを記録する。しかしながら、このロボットがバリケードを築か
れるので、詳細なログはされない。ステップ52に、安全ゲ−トウェイ・プロキ
シ4e、の後に、を備えた、P/IPによって、あるいは他のある程度の輸送プ
ロトコルによって安全−ウェイへのデ−タの伝達用供給されるカプセル化を除去
する、ステップ3に信層安全(塩素)モジュ−ルへそれを転送するル−ティング
・マネーャー4にデ−タを送る。 ステップ54に、塩素モジュ−ルはSSLフォーマットを解読する、そのよう
な暗号化がメッセージおよびインターフェースに存在する(ある他の安全スキー
ムS−HTTP)場合、を備えた、また差出人のアイデンィィを確証する「メカ
ニズム」によって要求された情報を仲介する、そのような認証が必要で、それに
より、ル−ティング・マネージャー4b易な適用フォーマット・デ−タを供給す
る場合。好ましくは、解読用の公開暗号キー・インフラ。クリア−・デ−タに適
用デ−タを編集し、ステップ61にそれをCIPォマットに翻訳するル−ティン
グ・マネージャー4bは、プロトコル・マネャーに平易な適用フォーマット・デ
−タを4c送る。 プロトコル・マネージャー4cはステップ62にル−ティング・マネーャ4bに
CIPデ−タを実行する。ル−ティング・マネージャー4bは、ステップ64の
内部の通信バス28内部のロボット24に、このIRPにカプセル化されたCI
Pフォーマト・−タを伝送して、IRPによりCIPデ−タをカプセル化するス
テップ3にャネル・マネージャー4aの上へのCIPデ−タを送る。IRP輸送
プロトコルは、異なる天然適用および輸送プロトコルから起こIPデ−タをカプ
セル化できる。CIPフォーマット・デ−タは内部のIRP輸送プロトコルに従
ってカプ化された。 ステップ71のチャネル・マネージャー2aによって内部の通信バス2ら受け
られる。チャネル・マネージャー2aはIRPカプセル化を除去し、ステップ7
3ロトコル・マネージャーにCIPフォーマット・デ−タを2c送るステッ7の
ル−ティング・マネージャー2bにCIPフォーマット・デ−タを送る。それが
CIPフォーマット・デ−タをデ−タを修正するその天然適用フォットに最終的
に再度後部翻訳することは内部のロボット24におけるプロル・マネージャー2
cである、デ−タ、したがって行うこと、したがって、外部バスによって受けら
れた通信から外部ロボット26によ解読された平易な適用フォーマット・デ−タ
、内部の通信バス20aの上ネトワ−ク安全ゲ−トウェイよう素Oによって確実
な環境1 4に供給さる天適用フォーマットにおけるクリア−・デ−タと類似に
なりえない。アクセス制御のための特別のユーザーによる特別のアクションの認
可に導た試験のようなある付加的な受入れ試験はデ−タの合法性を確認するため
こ時点でデ−タに適用できる。摂理は、適応性に強化するためのモジュ−ルを加
工する第三者統合およびテムの柔軟性のために実現するためのこの発明の構成で
作成される。「プラグ・イン」として下に参照されたモジュ−ルは、外部および
内部のットの両方の中に、装置のプロセスフローにおける多様な場所に呼出し可
でる。
【0008】 実施例、1つの、有用、そのような、プラグ・イン、CIPが図に関して後記
述されるようなプロトコル要素レベルに解釈された後内部のロボット付られて、
直ぐに下に記述されるようなアクセス制御である、17−16.そのようなアク
セス制御プラグ・インが供給される場合プロトコル・マネージャーはその規則の
編集によってアクセス制御を制る。プロトコル・マネージャーはそれに4つの照
会パラメータを送ることによクセス制御を起動する:アクタ−(アクション)、
資源化する、そして属性、文脈依存の試験は同−スから3時以上受けられる、冗
長メッセージを識別するために使用できる。アクセス制御プラグ・インはさらに
するに違いない;そのような文脈依存定をなすために安全ゲ−トウェイよう素O
によって維持された取引ログへ読りアクセスを有する。この理由のために、侵入
発見は、ログへのアクセス制御インターフェース用できる。 アクセス制御ロジック(ACL)は、監視ネットワ−ク活動から、あるいアド
ミニストレーターの制御の下に解析されたパケットに対するネットワク・アドミ
ニストレーターの反応から法則を抽出することにより抽出できる。自動ことの概
念あるいはフロー、アクセス法則、アクセス・リストおよびな/無効のデ−タの
ガイドされた、半自動認識は、装置それ自身に加えて供に意図される。ユーザー
、それらの実現された活動の固定されたサ−バ間の交通をすべり、この交通を解
析し、リストを作製するユーティリティ、また他の適切なパラメータ(アクショ
ンの時および日付)。 それは、サ−バそれ自身からアクセス情報を聞き出すユーティリティを供るよう
に意図される、それである、ウィンドウズ/NTサ−バ(登録)あいUNIX( 登録商標)ステーション(/etc/passwd)。ACLデ−タは部分的に オフタイム(初期設定)において、ゲ−トウェイに輸入される。また部分的にオ ンライン(アップデ−ト)。インプリメントされた安全基準はRADlUSとT ACACSのRAS基包含することができる。TSSメインフレーム基準あるい はモデム代案:ニッケル、NTドメイン。 ステップ74に、それが全試験を通過する場合、プロトコル・マネージャcは
、その目的地を決定するル−ティング・マネージャー2bに適用フォマト・デ−
タを送る。デ−タが適用に直接送られることになっている場合、それはステップ
11に移る。デ−タがウェブ・サ−バ、e.gに出された場合。その適用フォー
マットがHITPである場合、ル−ティング・マネージャー2bは、TCP/I
Pパケットとしてそれカプセル化するステップ91にウェブ・プロキシへ適用フ
ォーマット・デタ2f送る。 あるいは、他の適当な移送プロトコルがであるものすべてはウェブ・サ−よって
使用されることになっていて、プロトコルで積み重ねる。ステップ92に、ウェ
ブ・プロキシ2fは、バス20bへ再カプセル化さデ−タを最終的に転送する。
ステップ93のウェブ・サ−バ12はデ−タを加工する。装置にそれを転送する
前に、ウェブ・サ−バ1 2つがデ−タをある適ォーマットに翻訳することが予
想される。例えば、ユーザーがCGI 5つによりウェブ・サ−バ12の上のC
GIリプトを起動する場合、HTTP移送プロトコルでカプセル化されて、要す
る。また、CGIスクリプトはそのリクエストを適用フォーマットSQLあはバ
ンキングに翻訳する。ウェブ・サ−バ12は、ネットワ−ク安全ゲ−トウェイ1
0へ適用フォットを後部(e.g。 SQL照会(バンキング・コマンド)。)
伝送す;−チング・マネージャー2bに適用デ−タを送る前に、ウェブ・プロキ
2fそれを受けて、ステップ94の適用デ−タのTCP/IPカプセル化除去す
る。 ステップ1101のうち、ル−ティング・マネージャー2bは適用プロキeに
適用フォーマット・デ−タを送る。適用プロキシ2eは、TCP/IPにおける
適用デ−タを再カプセル化する。あるいはネットワ−ク安全ゲ−トウェイ10へ
のデ−タの伝達のためにあたすべてのプロトコル、またステップ1102で内部
環境12における適用サ−バ14のもとへタを送る、そこでそのデ−タ(ステッ
プ1104に端)のためのこの発明従安全保証処理。外部ドメイン16に内部の
ドメイン12から送出デ−タを加工し伝送するトウェイ10によって実行された
バック工程は、図で識別された要素への続れた言及を備えた、図、13aおよび
13bにフローチャートに関して記述れる。10a、11a、また11b。 図、13aに参照して、デ−タより優れるゲ−トウェイ10による処理はップ
110に始まる。 ステップ120に、内部のロボット24は内部システム12から適用デ−タを
受ける。 ステップ130に、デ−タの目的地が決定される:それが間接のセッション(
それはそうである)から起こされる場合、ウェブ・サ−バ13のようなゲ−トウ
ェイに関連しているセッション、タはゲ−トウェイ(ウェブ・サ−バ)へ中継さ
れる、以来。デ−タが、直接セッション(ユーザー・クライアントは、内部シス
テム・バ14と直接伝達している)から起こった場合、デ−タの処理がステップ
5に直接移る。ウェブ・サ−バ13、ステップ140にいる間、デ−タはウェブ
・フォーマット(e.g、HTTPプロトコル上のHTページ)で示されるため
にウェブ・サ−バ13によって翻訳され再構成さる。そして、加工されるための
ゲ−トウェイよう素Oに送られた。このステージでは、実施がステップ150に
進む。 ステップ150にデ−タは、情報の性質、e.gに関係する、ある濾過を備え
たいくつか変個所を備えたCIPフォーマットに減少される。「極秘の」タイト
ルのある物品は内部の域から通過するを実現することきない。その後、デ−タは
外部ロボット26に通信バス28上に伝送される。外部ロボット26は、デ−タ
へのいくつかの変化を備えた適用フォーマッ再度後部CIPフォーマット・デ−
タを整理する、ステップ160、それそを暗号化するか、認証デ−タを備えたそ
れを添付するようなデ−タを備た関されたいくつかの通信安全仕事を実行すると
進む。そして最終的に。安全なデ−タは、外部域5、工程、ステップ180を完
成するステップ0へ送られる。工程のより詳細な表示、で、ステップ110に始
まって、図13bで示さた適用デ−タは内部システム12から適用プロキシ2e
、ステップ121ま到着する。 ステップ122に、適用プロキシ2eはTCP/IPカプセル化(あるいはプ
ロトコルはどである、内部システムのネットワ−クを連携するために)を除去し
、ル−ィグ・マネージャー2bにデ−タ(それらは適用フォーマットの中にある
を送る。ル−ティング・マネージャー2bは、セッションとのその関係によって
デタステップ130の目的地を決定する。デ−タが直接セッションに属する場合
、どれがあるか。 クライアントが内部システム14を備えた直接伝達するセッションル−ティン
グ・マネージャーは、ステップ151に直ぐに移る場合、他方では。デ−タは、
クライアントがウェブ・サ−バ13のようなゲ−トウェイをする、間接のセッシ
ョンに属する。そして後のリレー、内部システム間の情報、ル−ティング・マネ
ージャbはウェブ・プロキシ2f、ステップ141にデ−タを送る。ウェブ・プ
ロキシ2fは、TCP/IP(あるいはウェブ・サ−バ13あは使用された他の
ゲ−トウェイを連携するために使用される、どちらのプトル)におけるデ−タを
カプセル化する。 そして、ウェブ・サ−バ13、ステップ142までそれを送る。ウェブ・サ−
バ13は、典型的に装置10を通って、ウェブ・サ−バ13内部システム14ま
で送られた、前の照会への応答であるデ−タを加工する。そして、ウェブ・フォ
ーマット(e.g。 典型的に。)でそれを再現る。HTTPプロトコル上のH
TMLデ−タ「ページ」、全に、TCP/Iカプセル化された。そして、ウェブ
・プロキシ2f、ステップ143にこのデ−タを送る。ウェブ・プロキシ2fは
TCP/IP(あるいはウェブ・サ−バとのコミケーション用の他のプロトコル
)カプセル化、ステップ144を除去する。そして、ル−ティング・マネージャ
ー2bに適用デ−タを送る。 ステップ151にル−ティング・マネージャー2bは、プロトコル・マネージ
ャーに適用タを2c送る。プロトコル・マネージャーはデ−タ、ステップ1 5
2を加工する。この工程は内部システム1 2つを保護し、かつ内部のドメイン
に練習された安全ポリシーを実施するために複数の試験あるいは修正を行うこと
を含ることができる。例えば、それはすることができる、ごみ、に、前にそれら
が運搬する情報る、文書あるいはページあるいは、それはある情報を除去するか
隠すことができる。あるいは、すはその内容物を上に基づかせた。プロトコル・
マネージャーはデ−タを入込み方向のそれとは異なっている体系でありうるCI
Pに翻訳する。 ステップ152の端にCIPデ−タはル−ティング・マネージャー2bに送ら
れる。 ステップ153にル−ティング・マネージャー2bはチャネル・マネーャ2a
にデ−タを送る。 ステップ154にチャネル・マネージャー2aは、バス通信用のIRPプロト
コルを備えIPデ−タをカプセル化する。そして、外部ロボット26に通信バス
28上のデ−タを伝送する。 ステップ161にデ−タは、通信バス外部ロボット26への28によって到着
する;それ外部ロボットのチャネル・マネージャー4a、ステップl62によっ
て扱わる。チャネル・マネージャー4aはIRPカプセル化を除去し、ル−ティ
ングネージャー4bにCIPデ−タを送る。 ステップ163にル−ティング・マネージャー4bは、外部ロボットのプコル
・マネージャーにデ−タを4c送る。プロトコル・マネージャー4cはCIPフ
ォーマットからデ−タを適用ォマット、デ−タへのいくつかの改変個所を備えた
ステップ164に翻訳する。デ−タはル−ティング・マネージャー4bに送られ
る。 ステップ171にル−ティング・マネージャー4bは、使用された(e.g。
SSL。全モデルによって、デ−タに、暗号化のような複数の通信安全負荷、
ステプ72を実行する塩素モジュ−ル4dへ適用デ−タおよび添付する認証情を
送る。ネットワ−ク・プロキシ、ステップ173にル−ティング・マネージャー
がデ−タを最終的に送るル−ティング・マネージャー4bにモジュ−ル4が全な
デ−タを送る塩素;適用または固定のデ−タはTCP/IP(あるはプトコルは
どちらである、外部域16でのクライアントとのコミュニケションために)を備
えたカプセル化される。そして、NIC、ステップ174によって外部域16へ
送られた。 内部域12から外部域16への情報のフローは、このように完成する、スプ1
80.プロトコル・マネージャーの構造および作動ロボット作動の芯は、図11
bおよび11aの中にそれぞれプロトコルネージャー、表示された2cおよび4
cである。プロトコル・マネージャーは、そばに認可され、安全ゲ−トウェイ1
0にるそれぞれのCIPプロトコルによってインプリメントされる適用プロトル
よって使用されるための、多様な適用フォーマットと安全ゲ−トウェイ0にって
内部的に使用されるCIPフォーマットの間の移行を供給する。プロトコル・マ
ネージャー2c、4cはアクセス制御のようなデ−タの内に関係して、多様な他
の仕事を実行できる。
【0009】 図14で示されたようにプロトコルmanagers2bおよび4b;それぞ
れの入力待ち行列0、410を有する。また出力列250、450、それらの間
の複数の相似性の処理要素また共通の2つの物。内部の入力待ち行列210は、
ル−ティング・マネージャー2b、天然適ロトコル・フォーマットの中にある4
b、および外部入力待ち行列41 か来るデ−タを保持する、CIP適用フォー
マットの中にあるル−ティグ・ネージャーからデ−タを保持する。内部の出力列
250は後にCIP適用フォーマットの中にル−ティングネージャー2bあるい
は4bにデ−タ踏面を固定する、を備えた、天然適用ォーマットからCIPに翻
訳される。また、外部出力列450は、CIPから翻訳されたデ−タを保持する
。そして、ル−ティング・マネージャー2b(天然適用フォーマット50ける4
b)へ行く。 それぞれのプロトコル2マネージャーcの入出力列の間の処理物、4c、ショ
ン・マネージャー220、420である、それはセッション・ハンド20、43
0のそれらのそれぞれのセット用作業量バランスを供給する。シングル・セッシ
ョン体240、440を一度に扱う各セッション・ハンラ。より携帯セッション
、230、430は決定する;入込みデ−タは属するれ「セッション」、また、
そのようなセッションが活性でない場合、ハンドラは1つを始める。セッション
物240、440のそれぞれのセット;それらは総括的なセッン・プロセッサー
から成る。 デ−タを現在結合することにより、プロトコル・マネージャーによって受れる
、プロトコル・マネージャーの体容器1300から2c 4c得られ2c4cお
よびセッション記録、セッション物240、440のそれぞれセットにおける各
エレメントは、それぞれのセッションを加工する、どれがるか。 必ず接触するパケットではなく多重こととして安全ゲ−トウェイによっなされ
たそれぞれの通信ストリ−ム。しかしながら、2つのセッションは、シングル要
素に通常結合される。 「ツイン・セッション」、 常に。 連結された2つのセッションは、情報の流れ(すなわちその1つのセッン・ハ
ンドル受信デ−タ、他方のハンドル発信デ−タ)の同じサーキット関係している
。 継手は、サ−バの状態および全体のサーキットの前後関係に両方ともセッンが同
期されることが必要である。 同様な]y メカニズムは内部のロボット(より正確に)のために供給される。 外部ロボットのセッション物を同期することができるための、内部のロトのセ
ッション物;内部のロボットのセッション物は、安全を維持するたに装置として
外部ロボットのマスタ−およびそれらの役割をする。 各セッション体240、440は体容器1300へデ−タを書くことがでる。 どれによって処方されたシーケンス・オ−ダ−が、そのプロトコルによっ方され
たフォーマットにおけるセッション体によって受けられたデ−タを工るための適
用可能なプロトコルであることを決めるために下に記述されようにセッション物
240、440はプロトコル要素表(PET)131を調べる。セッション物は
各々、出力列250、450のそれぞれの1つにそれらのぞれの移行および編集
工程の出力を書く。 プロトコル・マネージャーの共有された格納要素、体容器1300およびPE
T 310は、列210、250、410、0の中に保持されるものより自然界
においてより全体的かそれほど仮設でい報を保持する。体容器1300における
情報はどちらかである、全体の安全ゲ−トウェイに対して全体的。あるいは全体
的;のために各ユーザー;あるいは各セッションのために。あるいは、セッショ
ン広く、どれが、シングル・プロトコル層のための局情報あるいはシングル・パ
ケットのための情報に対立するものとしての全のッションに対して全体的で、あ
るか。 例えば、体容器1300におけるユーザー名エントリは、ユーザーとサ−バの間
送されたすべての通信に対して全体的である。他方ではPET 1310デ−タ
を減少するかあるいはそれを改造するためにどのプロトコル要素用するべきであ
るか、特別のセッション体が選択する規則を執行するためにれが使用されるとい
う点で全体的である。 セッション物のうちの1つのブロック図は図15で示される。セッション体2
40、440は、セッション内のデ−タ内に遭遇した異なロトコルの扱いのため
に多様なプロトコル要素1710を使用する。セッション体240、440は決
定するためにPET1310を調べるのプロトコル、次に使用するための要素1
710。プロトコル要素1710沈積物情報、に、また体容器1300から情報
を戻す。それは終わった。 セッション体240、440、コ−ル・パッカ−/unpackersらの同
じプロトコルに対応する720はセッション体240、440によて力されるた
めのバイトのシーケンスに体容器1300に残された必要情を合化するためにプ
ロトコル要素1710の選択での際に。プロトコル・マネージャーを通って、適
用フォーマットにおける安全ゲ−ェイ10へ中へ2cおよび4c入るデ−タのフ
ローは、図、16で示される。デ−タはステップ1500にその天然適用フォー
マットに着く。そして、プロトコル・マネージャーによって列210から2cお
よび4まれる;それは、ル−ティング・マネージャー2b、4bから来るデ−タ
含している。この適用フォーマット・デ−タはステップ1510にセッション・
マネャー220に転送される。 ステップ1520に、セッション・マネージャー220は利用可能セッン・ハ
ンドラ230を位置する。そして、そのセッションhanderにデ−タ・バッ
ファーを送る。 ステップ1530にセッション・ハンドラ230はセッションを現在走査する
、活性、ある加工する用対応するセッション体240にデ−タを送る前に、デ−
タがどセションを属するか決めるための「オーブン。」デ−タがオーブン・セッ
ションのうちの1つに属さない場合セッション・ハンドラ230は新規なセッシ
ョン体240を始めて、デタすべてのこれを送る。下記から成ること: ステップ1530.セッション体240は、体容器(あるいは)1300、ス
テップ1540−タ・バッファーを格納することにより始まる。セッション体2
40は、ステップ1550にCIPフォーマットにおけるア−・デ−タにそれを
減少して、デ−タを加工するために使用されるべきのロトコル要素1710のア
イデンティティを得るためにPET 131を調る。他のプロトコルがタイトル
をつける場合、デ−タを加工するために必要でるデ−タはステップに加工する用
次のプロトコル要素1710上へ渡される1560、プロトコルその要素171
0はバッファーからデ−タを回収するでその、あるいは1300、またその工程
が完全な場合、ステップ1570加工された結果をそこに蒸着する。デ−タが、
ステップ1580に現在それを加工する、プロトコル要素17によって完全に加
工された場合セッション体はより多くのプロトコル要素がデ−タのために必要か
どうェックするためにステップ1550を繰り返す。すべきだ、格納されたバッ
ファーで供給されるデ−タ、その、あるいはプコルが満たされる前に、1300
の端デ−タはステップ1580に不完全であると仮定される。 デ−タが不完全な場合 プロトコル要素1710、およびセッション体240、440は、それそれぞ
れの仕事を完成できない。したがって、別のバッファーは入力チャル連続ステッ
プ1510から読まれる。また、このセッションのデ−タがセッション・マネー
ジャーによってそ送られるまで、セッション体は待つ。これ以上のプロトコル要
素がステップ1560に必要でない場合、セッション体240;それはパックへ
のセッション体によって使用されめにプロトコル要素に対応するパッカ−720
を使用する、バッファーかデタ、で、その、あるいはステップ1590にバイト
の直列ストリ−ムへ300.バイトのこのCIPにフォーマットされたストリ−
ムは、出力列250踏ル−ティング・マネージャーに転送される。このポイント
で処理サイクルは完全である、ステップ1600.図に参照すること。 CIP
から適用フォーマットまで内容物デ−タを変換する過程は記述さステップ170
0からスタートする。プロトコル・マネージャー2cおよび4cは入力待ち行列
1410からデを読み、セッション・マネージャー、ステップ2710 420
にデ−タ送る。 次セッション・マネージャー420は、利用可能セッション・ハンドラ、ップ
720 430のうちの1つまでデ−タ・バッファーを送る。 利用可能セッション・ハンドラは、デ−タが既存セッションに属するか新セッシ
ョンを生成する必要があるかどうかチェックする。セッション・ハンドラは、適
切なセッション体、ステップ730 440−タを送る。セッション体440;
それはデ−タに包含されたCIP情報を開梱するた多様なunpackers
720を使用し、OR、ステップ740 10に個別デ−タ・アイテムを格納す
る。セッション体440はステップ750に、PET1310および情報を調る
で、その、あるいは今体容器1300にあるデ−タを加工するべき次のプトコル
要素のアイデンティティ用の1300.そのようなプロトコル要素710、ステ
ップ760がある場合 制御はそれに通過する。 また、そのプロトコル要素1710は、OR、ステップ770 130おける
デ−タからその適用層デ−タを改造する。ステップ780にプロトコル要素71
0は決定する。作動が完成する(。それに際して容器実施は次のプロトコル要素
の決定にステップ750に再開する)場合。そうでなければ、実施は最初に進む
;より多くのデ−タは待たれる、ステ2710.全プロトコル要素が排出される
場合、ステップ760。改造されたデ−タ(どれが体容器1310に残されるか
は、「適用でルィングすることへの列」450に送られる、また、工程サイクル
が完全な9である。) 試料PET1310は図、18で示される。延伸で見られたように、PT13
10は、処理(TCP/IPプロトコル要素が使用される場合)タートのような
、与点でどのプロトコル要素が選択されているか示す、そしての後。PET13
10は、与えられたプロト要素の使用を起こすために、どの規則および状況が要
求されるか示す。 上に説明されたように、セッション・ハンドラはどのプロトコル要素が変換工
程で定められたテジで使用されることになっているか決めるためにPET131
0を調べる。CIPとIRPのプロトコルこの発明に従って安全ゲ−トウェイの
内部CIPおよびIRPプロトコルは、ロボットのリンクにおけるメッセージの
天然プロトコルを交換する。この方法で、デ−タ転送は、定められたプロトコル
内の特定のデ−タ内容ためにインプリメントされる。例えば、特別の適用プロト
コルによるメッセージがそのプロトコルのため部ロボットのCIP翻訳機がコー
ド化できる、外部ロボットによって分解れ場合、適用のGUIを供給する画像情
報。
【0010】 同様に、内部ロボットの翻訳機は、それらのグラフィックスに対応するユ−ザ
−ウスおよびキ−ボ−ド入力のためのCIPコ−ド化をインプリメントできる。
この実例では、コマンド・コードが通過されない。シンタックスおよび確実な環
境に通過することを実現されることになってる定められたプロトコルの機能的な
組の許容可能なサブ・セットを定義する程、定義と同様に、CIPにおけるその
表示ロボット工程における異なる時に生じて、複数の分離ステップに実行さる。
第1、ユーザーは、確実な環境に通過することを実現されるプロトコルあるいロ
トコル特性のセットを識別する。これは、ストリング直定数を扱うプロトコル定
義言語(「ペダル」)として参照さ第四世代言語(4GL)で好適に行うことが
できる。そして、目的言語として「C」に取ってかわることにバイナリ仮想計算
語(VML)を供給する。選択されたコマンド・コードは、翻訳機によって一方
の明示的にあるいはにコード化されることにより通過できる。 例えば、紙幣観察適用はメッセージによって使用されるための標準の規則により
応するCIPプロトコルを生成することによりこの発明に従って固定できる然プ
ロトコル、および安全な環境のネットワ−ク・アドミニストレーターがる用車両
として紙幣観察適用を使用できる攻撃に対して安全であるとえる天プロトコル内
容物から選択すること、確実な環境。単純性のために、次のことを仮定する、下
記コマンド、また流れる、シースは紙幣観察プロトコルにより所定である: l) 「ログイン」コマンドはその議論として「username」(8ラクタ
ー、正確に)および「パスワード」(8キャラクター、正確に)をえ出されるべ
きである;その後 2) ユーザーは、3つのコマンドのうちの1つを発行することを選択で:印刷
する。 どちらかへのビュ−あるいはログアウトは、スクリ−ン上の紙幣を見るた紙幣の
アウトプットを作製する。あるいは適用をそれぞれ中止すること。プリントまた
はビュ−のコマンドに対する反応が完成した場合、しかしならシステムは、新規
なコマンドを受けるための準備ができている。 対照的に、ログアウト・コマンドを受けた後その初期状態へのシステム・リセ
ットそれで、ログイン・コマンドにその後対応する。紙幣ビューアの天然適用プ
ロトコルを備えた弾性なコマンド・シーケンスめの対応するCIPプロトコル・
フォーマットは、以下のとおりである: 1) ユ−ザ名+パスワード(最初の8バイトは、アスキーコードでユ−ザ名を
ャラクター再現する)を再現する16バイトの未知の構造化したストリングまた
、最後の8バイトは、来たアスキーコード・ペアにおけるパスワーこのフォーマ
ットを中へ制限したと再現する。 2) 公知のストリングの限定的セットは、3つのコマンド:プリント用の0と
3、ビュ−用の1およびログアウト用の2用が次の2ビットによって識別される
3) 印刷コマンド(=0又は=3)ビュ−(=1)は他マンド識別子 が続くことができる。 4) コマンド・ログアウトはどのシーケンスを終了する。 16キャラクターの初期の有効なストリングが受けられた後、通訳は2方法の
う1つに対応する:CIP通訳がログアウト・コマンドを受けるときは常に、「
2」としてそ期状態への通訳リセットをコード化する、また次の16バイトを待
つ、配する。プリント(=0又は=3)あるいはビュ−(=1)が代わりに現われ
る合 通訳は3つのコマンドのコードのうちのいかなるものにでも対応する。ビ
ット果実汁のすべてのシーケンス以来;25セントによって再現されるのコマン
ドを備えた有効な解釈を有する、余分のビット組合せのうちの1を成する。なお
、解釈が冗長組合せのために必要なように、任意のコマンドはこの組合せによっ
てこの実施例において再現されるた選択される。リント・コマンド。 ログイン・コマンドは実際は「定数」ストリングであることに注意する。した
がって、それは、CIPプロトコルによって明示的にコード化されない。16の
文字列が受けられる時に、通訳がログイン以外のコマンドを加工すとができない
ので、他方のロボットにおける補足的な通訳はログインを暗に過し再挿入できる
、ノルは他の環境の下に加工されたログインである。したがって、LOCINあ
るいは他のそのような「定量ストリング」に対するコマ識別子値を明示的に供給
することには、意味はない。数には日付を除いて、両立性検査のために、論理上
関連された「健全範囲伴う。シングル日付フォーマットだけが、IP翻訳機に与
えられたどのものある通訳から実現される。同様に、未知かつ非体系的のストリ
ングは、ストリングのために予期された長さ限界を述「健全検査」値を供給され
る。 ストリングの要素はキャラクターの連続範囲に写像される。したがって、このC
IPコ−ド工程は、デ−タの容疑者クラスの適用レベメッセージを同時に取り除
き、翻訳機作動の転化が内部の域を傷つけない効コマンドの(無意味であるが)
シーケンスを作製するので、内部のロボトの全性を確認する。IRPは使用m用
適応された、単純化された移送プロトコルである、内部び外部ロボットの間での
ようなポイント対ポイントの通信リンク。通信が二地点間であるので、ル−ティ
ング情報は移送プロトコルに必要でい。 1つの実施で、IRP;備蓄使用用利用可能に作成されている残存バイトを備え
た4がのとおりである12バイトを備えたCIPデ−タへのヘッダーから成る:
第1のバイトは無効である; 第2のバイト;パケット・エスおよびi.eを含有する、静止可変がトラックへ
使用される、0から127までの数、また割り当れたパケット・エスをインクリ
メントする;また、第3、第4のバイトは、CIPメッセージにおけるデ−タの
長さをする。 形式的検定 その役割を完了するための安全ソフトウェア製品については、それが全体確実
であるべきである、それはそうである。製品をそれがその仕様に応じることを示
すために証明しなければならない。 技術アルゴリズム/技術のユニークな組合せ、そしてそれらの間のシングル・
リンクを備えた2つのロボットをデカッングして、強く記述された特定の構成、
内部のロボットのみの正確さの確にり全体の安全ゲ−トウェイを証明することを
1つを可能にする。ここに記述されるような減少方法論の使用によって、何でも
が通信バスを送ったので、これはそのようである;上に説明されるようにその解
釈は無味デ−タにありうるがそれが確認されると仮定して、内部のロボットによ
有効解釈を有する。更に、できるだけシンプルな内部のロボットを維持する、内
部ロボットおよびロボットへ安全仕事の分離、により、を備えた、全、外部ロボ
ットで実施れプロトコルを解析する「激しい」作業、そしてバス・ドライバ−を
単純化するためのIRPのようなシンプルな点間内部ロボット・プロトコルによ
りより多く、作成する、内部のロボッの認、実際的なゴール。内部のロボットお
よびそれがトップダウン・アプロ−チをとることでありことを形式的に確認する
ために、仮定、第1、ロボット・モジュ−ル(PMM、CM、App−プロキシ
、ウェブ・プロキシ)はそれらの組合せが所望の性(ウェブ・プロキシおよび適
用プロキシから出力が応じるべきCへの入力適切な解釈、内部適用のオーナーに
よって供給される仕様)を産することを明して、確認される。各モジュ−ルの特
性は、共用メモリにおける記憶領域しても(―)、それに利用可能な多様な出力
チャネルでそれ作製する出力で発現できる。あるいは、あるためのI/Oポート
が周辺機器/装置に接続するように、が受ける入力の仮定は前調整フォーマット
の中にある。これは、I/Oチャネルでは個別モジュ−ル検定により全面的な特
性の検可能にする。不必要な情報を抜き取ると、CSPあるいはその誘導体のよ
うな仕様言語のようなシステムについて記述できる。そして、スピンとFDR2
のような装置によって証明される。したがって、内部のロボットの確認はその入
力チャネルの正確さを仮定しその出力チャネル特性に対する各モジュ−ルの確認
になる。その後、ものは、そのサブ・モジュ−ルにそれを分解することにより各
々別モジュ−ルであることを証明することに再び移ることができる。 分解の工程は、「原子の」コード部分機能および手順のレベルまで繰り返分解
はもはや付けることができない。しかしながら、これらのコード部分は通常小型
である、e「直接」方法に証明可能である。これらの方法はマニュアル議論を包
含することができる、定理試験器(NQTHM。 ACL2、PV。)およびモ
デル・チェッ(回る、ステップ)のような機械化された方法と同様に。 発明は現在好ましい実施への特別の言及を備えた記述された、変動と修正が、発
明の有効成分およびスコ−プ内に可能なことは当業者白である。
【図面の簡単な説明】
発明についてのよりフル理解については、どれで添付図面に関して得られの説明
が言及される:
【図1】従来の技術O/S核および応用プログラムのシステム層を再現するイア
グラム
【図2】この発明の第1の実施のシステム層を再現するダイアグラム
【図3】この発明の第1の実施の運転環境の図解の概観
【図4】この発明の第1の実施のインプリメントのために大手術を再現すローダ
イヤグラム
【図5】この発明の第1の実施のシステムコントロールを再現する詳細なロダイ
ヤグラム
【図6】この発明の第二の実施のシステム層を再現する環ダイアグラム
【図7】この発明の第2の実施の大手術を再現するフローダイヤグラム
【図8】この発明の第二の実施のシステムコントロールを再現する詳細なロダイ
ヤグラム
【図9】この発明の安全構成を使用して、ゲ−トウェイ・システムのブロック図
【図10】この発明の1つの好ましい実施例の内部および外部演算環境の間−ト
ウェイ・システムのブロック図
【図10b】この発明に従ってインターネットに接続されるための、内部演境間
のゲ−トウェイ・システム用の代替構成を示すブロック図である;
【図11a】図10aおよび10bで示されて、それぞれ内外ットのブロック図
【図11b】図10aおよび10bで示されて、それぞれ内外ットのブロック図
【図12a】図の装置によって実行された入込みデ−タを加工する過程を示ロー
チャート
【図12b】図12aで示される工程を示すフローチャー
【図13a】図10aの装置によって実行された発−タを加工する過程を示すフ
ローチャート
【図13b】図13aで示される工程を示すフローチャート
【図14】図11aおよび11bで示される、プロトコル・マネージャー・ュ−
ルのフローダイヤグラム
【図15】図14で示される装置用のセッシンサブ・モジュ−ル図
【図16】適用プロトコルから単純化され部プロトコルまでデ−タを変換する過
程を示すフローダイヤグラム
【図17】単純化された内部プロトコルか用プロトコルまでデ−タを変換する過
程を示すフローダイヤグラム
【図18】図14の装置で示されるプロトコル要素図
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SZ,UG,ZW),EA(AM ,AZ,BY,KG,KZ,MD,RU,TJ,TM) ,AL,AM,AT,AU,AZ,BA,BB,BG, BR,BY,CA,CH,CN,CU,CZ,DE,D K,EE,ES,FI,GB,GE,GH,GM,HR ,HU,ID,IS,JP,KE,KG,KP,KR, KZ,LC,LK,LR,LS,LT,LU,LV,M D,MG,MK,MN,MW,MX,NO,NZ,PL ,PT,RO,RU,SD,SE,SG,SI,SK, SL,TJ,TM,TR,TT,UA,UG,UZ,V N,YU,ZW (72)発明者 ソラン、エイロン イスラエル国 ヘルゼリア、ハ − ヤル デン ストリート 5 Fターム(参考) 5B017 AA01 BB00 CA01 5B098 AA03 GA02 GA04 GB05 GD03 GD14 GD21

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】プロセッサー上で作動する第1のプログラムからプロセッサー上の
    環境を保護する方法であって、次の各ステップから成っている方法: 第1のプログラムが実行している間、第1のプログラムによりメモリ−ススを
    割り付けるステップと; 共用メモリ空間、割込み機構または専用I/Oポートを構成するグループから
    選択された単一の法を使用すシングル・リンクによってのみ第1のプログラムと
    運転環境の間の通信を実現するステップと;そして プロセッサーに上の第1のプログラム用の制限された運転環境を管理し、制限
    された運転環境は第1のプログラムが割り付けられたメモリ−スペ−スおよびシ
    ングルリンクを除いてプロセッサー上の資源をアクセスするのを制限するステッ
    プ。
  2. 【請求項2】制限された運転環境内の第1のプログラムを実行する、請求項1記
    載の方法。
  3. 【請求項3】制限された運転環境によって制限されるプロセッサー上の資源をセ
    スする、第1のプログラムによる試みによって第1のプログラムの実行を終了す
    る、請求項2の成っている方法。
  4. 【請求項4】制限された運転環境によって制限されるプロセッサー上の資源をセ
    スする、第1のプログラムによるどのリクエストを無視し、制限された資源への
    アクセスを与えずに、第1のプログラムの実施を継続するこを試る、請求項2記
    載の方法。
  5. 【請求項5】第1のプログラムの実施に先立つ時期と第1のプログラムの実行の
    終了の後に、運転環境が割り付けられたメモリ−スペ−スをアクセスすることを
    許す、請求項2記載の方法。
  6. 【請求項6】第1のプログラムの実施に先立って第1のプログラムによる利用の
    ために運転環境が割り付けられたメモリ−スペ−スへデータの書き込み、また第
    1のプログラム実行の終了の後に運転環境が第1のプログラムによって生成され
    たデータを割り付けられたメモリ−スペ−スから読み取る、請求項5の方法
  7. 【請求項7】共用メモ間を介してのみ第1のプログラムと運転環境の間の通信を
    実現するステップを有する、請求項1の方法。
  8. 【請求項8】第1のプログラムおよび運転環境の各々が共用メモリ空間へデータ
    を書込み、そして共用メモリ空間の特定位置におけるビットを設定することによ
    り共用メモリ空間に書かれたデ−タの有用性を指示するステップから成る、請求
    項7の方法。
  9. 【請求項9】ビットがセットされているときに運転環境および第1のプログラム
    が共用メモリ空間に書かれたデ−タを読み取る、請求項8記載の方法。
  10. 【請求項10】第1のプログラムと運転環境の間の通信を実現するステップが専
    用割込によって通信を実現する、請求項1の方法。
  11. 【請求項11】第1のプログラムによって割り付けられたメモリースペースに書
    かれデーを運転環境のメモリースペースへ移動させるか、または運転環境のメモ
    リースペースから割り付けられたメモリースペースへ移動させることにより専用
    割込を扱う、請求項10方法。
  12. 【請求項12】第1のプログラムと運転環境の間の通信を実現するステップが専
    用I/Oポートを通って通信を実現する、請求項1の方法。
  13. 【請求項13】第1のプログラムが実行してる間のプロセッサーにおけるハード
    ウェア割込みの発生を、運転環境における割込み機構ルーテによってハードウェ
    ア割込みを扱う、請求項1の方法。
  14. 【請求項14】第1のプログラムはオペレーティング・システムである請求項1
    の方法。
  15. 【請求項15】プロセッサー上で第1のプログラムの実行からプロセッサー上の
    運転環境を保護する方法であって次の各ステップから成っている方法: 第1のプログラムが実行している間、第1のプログラムによりメモリ−スペース
    を割り付けること; 運転環境が第1のプログラムの実施に先立った、および第1のプログラムの終了
    の後の割り付けられたメモリ−スペ−スをアクセスすることを実現ると; 第1のプログラムの実行;および、 プロセッサーの第1のプログラム用の制限された運転環境、第1のプログラムが
    割り付けられたメモリ−スペ−スを除いてプロセサ上の資源をアクセスするのを
    防御する制限された運転環境を管理するステップ。
  16. 【請求項16】第1のプログラムの実施に先立った第1のプログラムによる利用
    のため運転環境が割り付けらたモリ−スペ−スへデ−タを書き込み、第1のプロ
    グラムの終了の後付けらたモリ−スペ−スから第1のプログラムによって生成さ
    れたデータを運転環境が読み出すステップを含む、請求項15の方法。
  17. 【請求項17】メモリー素子に結合されたプロセッサーにおいてプロセッサー上
    で作動する第1のプログラムから運転環境を保護するためのシステムであって、
    次のものから成るシステム: 第1のプログラムが実行している間、第1のプログラムによる使用のために割り
    付けられたメモリー素子のメモリ−スペ−ス; 共用メモリ空間、専用割込み機構および専用I/Oポートで構成されるグループ
    から選ばれたシングルの方法を使用す第1のプログラムと運転環境の間の通信リ
    ンク;および プロセッサーの第1のプログラム用の制限された運転環境、第1のプログラムが
    、割り付けられたメモリ−スペ−スおよびシングルリンクを除いてプロセッサー
    上の資産をアクセスするのを防御する制限さた運転環境を管理するためのメディ
    エイタ・プログラム。
  18. 【請求項18】シングル・プロセッサー上で多くのオペレーティング・システム
    作する方法であって、次のもの記載の方法: プロセッサー上の資源のセット、多くのオペレーティング・システムのうちの1
    つにより利用可能な各セットを割り付けるステップ; オペレーティング・システムの各々がプロセッサー上で作動し、かつそれのオペ
    レーティング・システムに利用可能な資源のセットへのアクセスを実現するステ
    ップ; アクセスするためのオペレーティング・システムのうちの1番めによる試みに対
    して、1つ以上は、第1のオペレーティング・システムに利用可能な資源のセッ
    トを外部で資源化する決定、どの資源のセット;1以上資産を含するアクセスさ
    れることを試みた、そして決定すること、1つの、どれ、方のオペレーティング
    ・システムの第二のオペレーティング・システム;そに利用可能に設定されたそ
    のようなものを有するステップ;および 1つ又は複数ののそのような試みられたアクセスの扱いは第2のオペレーティン
    グ・システムによって資源化するステップ。
  19. 【請求項19】1以上資源は、第1のオペレーティング・システムによってアク
    セスることを試み、第1のオペレーティング・システムによって出されたハドェ
    ア割込みである、請求項18の方法。
  20. 【請求項20】周辺装置によって起動されたH/W割込みを渡すことから成る、
    請求項8の方法であって、: モニタ−は、どのオペレーティング・システムが割込み機構をサービスか決め
    る方法。
  21. 【請求項21】次のものから成るシングル・プロセッサー上で多くのオペレーテ
    グ・システムを操作するためのシステム・モニタ−: プロセッサー上の資源のセット、多くのオペレーティング・システムのうちの1
    つにより利用可能な各セットを割り付けるための手段; オペレーティング・システムの各々がプロセッサー上で作動するためそれぞれの
    オペレーティング・システムに利用可能な資産のセットへのアセを実現する手段
    ; アクセスするためのオペレーティング・システムのう1番めによる企てに際して
    、1つ以上は、第1のオペレーティング・シスム利用可能な資産のセットを外部
    で資源化する、どれ、資産のセット;1上資を含有する、アクセスされることを
    試みた、そして決定のために、どれ他方オペレーティング・システムの第二のオ
    ペレーティング・システム;それに用可能に設定されたそのようなものを有し、
    1つ又は複数ののそのような試みられたアクセスを扱うための手段2のオペレー
    ティング・システムを通り抜けて資源化を決定のための手段。
JP2000570670A 1998-09-10 1998-09-10 アプリケーション・プログラムあるいはオペレーティング・システムのたの制限された運転環境を維持する方法およびシステム Abandoned JP2002533791A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IL1998/000443 WO2000016200A1 (en) 1998-09-10 1998-09-10 Method and system for maintaining restricted operating environments for application programs or operating systems

Publications (1)

Publication Number Publication Date
JP2002533791A true JP2002533791A (ja) 2002-10-08

Family

ID=11062358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000570670A Abandoned JP2002533791A (ja) 1998-09-10 1998-09-10 アプリケーション・プログラムあるいはオペレーティング・システムのたの制限された運転環境を維持する方法およびシステム

Country Status (4)

Country Link
EP (1) EP1127314A4 (ja)
JP (1) JP2002533791A (ja)
AU (1) AU9094198A (ja)
WO (1) WO2000016200A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8365021B2 (en) 2005-06-17 2013-01-29 Nec Corporation Information processing device comprising a plurality of domains having a plurality of processors, recovery device, program and recovery method
US8640194B2 (en) 2004-08-25 2014-01-28 Nec Corporation Information communication device and program execution environment control method

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1305688A2 (en) * 2000-05-28 2003-05-02 Yaron Mayer System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
US9213836B2 (en) 2000-05-28 2015-12-15 Barhon Mayer, Batya System and method for comprehensive general electric protection for computers against malicious programs that may steal information and/or cause damages
US7146305B2 (en) * 2000-10-24 2006-12-05 Vcis, Inc. Analytical virtual machine
GB2376763B (en) * 2001-06-19 2004-12-15 Hewlett Packard Co Demonstrating integrity of a compartment of a compartmented operating system
US7882555B2 (en) 2001-03-16 2011-02-01 Kavado, Inc. Application layer security method and system
US7313822B2 (en) 2001-03-16 2007-12-25 Protegrity Corporation Application-layer security method and system
GB2376764B (en) * 2001-06-19 2004-12-29 Hewlett Packard Co Multiple trusted computing environments
IL149583A0 (en) 2002-05-09 2003-07-06 Kavado Israel Ltd Method for automatic setting and updating of a security policy
US7103914B2 (en) 2002-06-17 2006-09-05 Bae Systems Information Technology Llc Trusted computer system
AU2003901454A0 (en) * 2003-03-28 2003-04-10 Secure Systems Limited Security system and method for computer operating systems
WO2015052831A1 (ja) * 2013-10-11 2015-04-16 順子 杉中 情報処理装置、方法およびプログラム
WO2015052829A1 (ja) * 2013-10-11 2015-04-16 順子 杉中 情報処理装置、方法およびプログラム
US11017109B1 (en) 2018-06-02 2021-05-25 Apple Inc. Dynamic sandboxing of user data

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4876664A (en) * 1987-08-26 1989-10-24 Allen-Bradley Company, Inc. Programmable controller with a dual intermodule message system
US4937777A (en) * 1987-10-07 1990-06-26 Allen-Bradley Company, Inc. Programmable controller with multiple task processors
US5027271A (en) * 1987-12-21 1991-06-25 Bull Hn Information Systems Inc. Apparatus and method for alterable resource partitioning enforcement in a data processing system having central processing units using different operating systems
EP0520709A3 (en) * 1991-06-28 1994-08-24 Digital Equipment Corp A method for providing a security facility for remote systems management
US5566326A (en) * 1993-09-28 1996-10-15 Bull Hn Information Systems Inc. Copy file mechanism for transferring files between a host system and an emulated file system
US5689708A (en) * 1995-03-31 1997-11-18 Showcase Corporation Client/server computer systems having control of client-based application programs, and application-program control means therefor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8640194B2 (en) 2004-08-25 2014-01-28 Nec Corporation Information communication device and program execution environment control method
US8365021B2 (en) 2005-06-17 2013-01-29 Nec Corporation Information processing device comprising a plurality of domains having a plurality of processors, recovery device, program and recovery method

Also Published As

Publication number Publication date
EP1127314A4 (en) 2003-03-12
AU9094198A (en) 2000-04-03
WO2000016200A1 (en) 2000-03-23
EP1127314A1 (en) 2001-08-29

Similar Documents

Publication Publication Date Title
US10956184B2 (en) On-demand disposable virtual work system
KR102255767B1 (ko) 가상 머신 감사를 위한 시스템 및 방법들
JP5275407B2 (ja) 複数の仮想マシンで共有されるネットワークインターフェースのための方法
US5566326A (en) Copy file mechanism for transferring files between a host system and an emulated file system
US8104083B1 (en) Virtual machine file system content protection system and method
US8495750B2 (en) Filesystem management and security system
Macdonell Shared-memory optimizations for virtual machines
JP2002533791A (ja) アプリケーション・プログラムあるいはオペレーティング・システムのたの制限された運転環境を維持する方法およびシステム
US8893306B2 (en) Resource management and security system
US20060179476A1 (en) Data security regulatory rule compliance
EP0803101A2 (en) A mechanism for linking together the files of emulated and host system for access by emulated system users
WO2002008870A2 (en) Distributive access controller
Wilson et al. Implementing embedded security on dual-virtual-cpu systems
JP2002533792A (ja) 信頼された内部ネットワ−クの作動を保護方法およびシステム
JP7416480B2 (ja) オープンインターコネクトを介してヘテロジニアスプロセッサ上でリモート認証及び情報分離を備えた信頼できるコンピューティングを実行するためのシステム及び方法
CN112433822A (zh) 基于三权分立的跨域网络终端虚拟机的实现方法
US20150229606A1 (en) Securely virtualizating network services
JP2007506162A (ja) バーチャルマシーンの動作の復帰に対する割込又は実行のベクトル処理
WO2023123850A1 (zh) 一种固件可信根的实现方法、装置、设备和可读存储介质
Li et al. SGXPool: Improving the performance of enclave creation in the cloud
US20210133315A1 (en) Unifying hardware trusted execution environment technologies using virtual secure enclave device
CN111783165B (zh) 一种基于硬件隔离调用模式的安全可信系统芯片架构
CN115033348B (zh) 一种对虚拟机和容器统一管理方法、系统、设备及介质
Fernandes et al. Decomposable trust for Android applications
Hansen Virtual machine mobility with self-migration

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050422

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050912

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20060726