JP2000516740A - 切り離された実行位置 - Google Patents

切り離された実行位置

Info

Publication number
JP2000516740A
JP2000516740A JP10510538A JP51053898A JP2000516740A JP 2000516740 A JP2000516740 A JP 2000516740A JP 10510538 A JP10510538 A JP 10510538A JP 51053898 A JP51053898 A JP 51053898A JP 2000516740 A JP2000516740 A JP 2000516740A
Authority
JP
Japan
Prior art keywords
program
user system
data
execution
user
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.)
Pending
Application number
JP10510538A
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
Priority claimed from GBGB9616783.8A external-priority patent/GB9616783D0/en
Priority claimed from GBGB9703773.3A external-priority patent/GB9703773D0/en
Application filed by サイトリクス システムズ(ケンブリッジ)リミテッド filed Critical サイトリクス システムズ(ケンブリッジ)リミテッド
Publication of JP2000516740A publication Critical patent/JP2000516740A/ja
Pending 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
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44589Program code verification, e.g. Java bytecode verification, proof-carrying code
    • 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/009Trust

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Glass Compositions (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Selective Calling Equipment (AREA)
  • Saccharide Compounds (AREA)
  • Seal Device For Vehicle (AREA)
  • Sink And Installation For Waste Water (AREA)
  • Diaphragms For Electromechanical Transducers (AREA)
  • Stored Programmes (AREA)
  • Preparation Of Compounds By Using Micro-Organisms (AREA)

Abstract

(57)【要約】 本発明は、外部ソースからの1以上のモバイルプログラムコンポーネントを含むか又は関連して有する取り込まれたデータストリームに応答して動作するようにプログラムされたエンドユーザコンピュータシステムを提供する。上記システムは、a)入来データストリームがスクリーニングされることにより、データストリーム内の又はデータストリームに関連するモバイルプログラムコンポーネントを識別すること、b)モバイルプログラムコンポーネントのうちの選択されたいくつか又は全てが、所望の様式で動作するように実行される前に、エンドユーザシステムから又はエンドユーザシステム内で選択的に切り離された1以上のプログラム実行位置に送られること、c)実行位置が、選択されたプログラムコンポーネントのうちの1以上が保持される位置であり且つデータストリームの外部ソースとの1以上のインターフェースおよびエンドユーザシステムとの1以上のインターフェースを有する位置であり、それにより実行位置内のプログラムコンポーネントが、データの外部ソース及び/又はデータ及び/又はエンドユーザシステムによって保持されるプログラムとインタラクトするように実行位置内で実行され得ること、およびd)実行位置とエンドユーザシステムとの間のインターフェースの動作が、実行位置内でプログラムコンポーネントにより特定の制御された様式でインタラクトされているデータ及び/又は特定の様式で動作するプログラムコンポーネントのみがエンドユーザシステムまで又はエンドユーザシステムから送られ得るようにプログラムされていることを特徴とする。

Description

【発明の詳細な説明】 切り離された実行位置 本発明は、方法および装置、特に、データの入来ストリームの部分を外部ソー スから、その入来ストリーム内のプログラムコンポーネントが解釈され実行され 得る選択された位置へと選択的に指示する方法に関する。これは、外部ソースか らそのシステムに取り込まれ、モバイルプログラムコンポーネントによってコン ピュータシステムのエンドユーザネットワークに保持されたデータまたはプログ ラムへの破壊またはダメージに対する危険性を低減する。本発明は、また、入来 データストリーム内の大きなプログラムコンポーネントが特定のサーバー上で解 釈および実行されることを可能にし、これによって、下流のエンドユーザコンピ ュータシステム内のプロセッサ上の負荷を低減する。これは、下流システム内に おける大処理容量の個別端末への必要性が低減する。本発明は、また、本発明の 方法を用いて動作するようにプログラムまたは変更されたコンピュータシステム に関する。発明の背景 以下に集合的にエンドユーザシステムと呼ぶスタンドアローンまたはネットワ ーク化されたコンピュータシステムのユーザは、エンドユーザシステムを所望の 方法で動作するために、以下に集合的または個別にプログラムコンポーネントと 呼ぶデータ、プログラム全体、またはプログラムの一部を外部ソースから取り込 むことが必要であることが多い。用語、プログラムコンポーネントは、本明細書 ではシステムが特定の方法で動作するためにコンピュータシステムによって解釈 されるマテリアルを示すために用いられる。それに対して、データとは、コンピ ュータシステムがプログラムコンポーネントの指示に従って作動する情報マテリ アルである。 ユーザ、特に銀行およびほかの金融機関は、入来プログラムコンポーネントが エンドユーザシステム内に保持されているデータおよびオペレーティングプログ ラムを壊さない、またはそれらに悪影響を与えないことを保証するために、入来 プログラムコンポーネントおよびデータを点検できる必要がある。これは、多数 のコンピュータシステムが1つのネットワーク内で動作しており、このネットワ ーク内のネットワークまたはコンピュータシステムが外部データおよびプログラ ムソースへのアクセスが成され得る多数の点を有する場合に特に重要である。 システムが閉鎖ネットワークであり、データまたはプログラムコンポーネント が同一ネットワーク内の他のユニットから提供される場合、ユーザは、ネットワ ークの特定ユニットに保持されているデータおよびプログラムと不利にインタラ クトするマテリアルをデータおよびプログラムコンポーネントが含んでいないこ とを確認し得る。このような確認は、プログラムが基礎となるコンピュータリス トを点検し、プログラム内にエラーまたは不利なコンポーネントがないこと保証 することを典型的に含む。しかし、取り込まれるプログラムまたはプログラムコ ンポーネントが大きく、かつ複雑である場合、このような点検および確認は過剰 に時間がかかり、高価であるので非実用的である。 エンドユーザネットワークまたはスタンドアローンシステムが、例えばインタ ーネットまたは外部データベースなどのネットワークの外部ソースからデータま たはプログラムコンポーネントを受ける場合、エンドユーザシステム内に既に保 持されているデータまたはプログラムコンポーネントと不利にインタラクトし得 るプログラムコンポーネントを意図的または偶発的に導入する危険性が増加する 。外部データソースは、連続的なアップデートおよび改訂をうける1つ以上の大 きくかつ複雑なプログラムによって動作し得るので、各プログラムおよびプログ ラムの変更毎にエンドユーザシステムが不利に作用するマテリアルを取り込まな いことを確認するために点検することは効率的に不可能である。 エンドユーザシステムに保持されているデータまたはプログラムが壊れ得るま たはダメージを与え得るおよび/または、エンドユーザシステムに取り込まれた 際に他の有害な影響を与え得るプログラムコンポーネントには多くの形式が存在 する。このようなプログラムコンポーネントは、エンドユーザシステムのデータ またはオペレーティングプログラムを壊すように意図的に設計されたプログラム コンポーネント、エンドユーザシステムから機密データを収集し、エンドユーザ がこのような無許可のデータ送信または盗用が行われていることに気づかずに外 部位置へデータを送信するプログラムコンポーネント、および、例えば、エンド ユーザシステムの演算容量の消費またはエンドユーザシステムがエリアにアクセ スすることを拒否する循環閉鎖ループ動作を導入することによって、ユーザがエ ンドユーザシステムを完全におよび適切に使用することを拒否するプログラムを 含む。このようなプログラムコンポーネントは、ウィルス、ザッパー(zappers) 、敵対アプレット(hostile Applets)、トロイの木馬、およびサービス拒否者と して知られており、以下、総称的にウィルスと示される。このようなウィルスプ ログラムまたはプログラムコンポーネントがエンドユーザシステムへと意図的に 分配され、エンドユーザシステムにおいてプログラムが実行されて不利にインタ ラクトまたはシステムの適切な動作を破損する原因となることは、広まる懸念で ある。このようなウィルスは、国際的なダメージは及ぼし得ないが、不注意にダ メージおよび/または経済的損失の原因になり得る。エンドユーザは、閉鎖ネッ トワーク内のデータおよびプログラムを繰り返し点検し、このようなウィルスを 検出することは可能である一方、外部データまたはプログラムソースをこのよう なウィルスに対して検査することはできず、外部ソースからデータまたはプログ ラムコンポーネントを取り入れる際にシステム内にウィルスを取り入れることが ある危険性を受け入れなくてはならない。 エンドユーザシステムと不利にインタラクトし得る外部ソースからの取り込み マテリアルの危険性を低減するために、全ての入来データおよびプログラムまた はプログラムコンポーネントをスクリーニングし、このマテリアルのソースを確 認をすることが当然のこととなっている。特定のソースからのマテリアルのみが エンドユーザシステム内へアクセスすることが許されている。エンドユーザは、 このようなソースが、エンドユーザまたはソースのいずれかによって検査された データおよび/またはプログラムを提供することを確認し得る。あるいは、ユー ザは、マテリアルのソースがプログラムをコンパイルする際の正確さに対する評 価、およびソースがエンドユーザに提供するプログラムコンポーネントの全てに おいて不利に作用するプログラムコンポーネントがある可能性を低減することに 対する評価に確信度を基づかすことが可能である。このようなスクリーニングは 、 コンピュータ産業においてファイアウォールとして公知であり、通信ハードウェ アレベルで一方的に作用し、特定の通信アドレスから来た入来マテリアルを通過 するか、または特定のソースから来ない入来マテリアルを破壊することが可能に なる。 しかし、ファイアウォールはエンドユーザシステムのオペレータが不特定ソー スからのデータおよびプログラムにアクセスすることを阻止する。これは、代わ りのソースが検査および許可されるまでは、ユーザがこのソースにアクセスする 自由を制限する。更に、外部ソースが大きいか、または複雑なプログラムによっ て動作している場合、このような検査は実用的ではなく、このような外部ソース へのアクセスの許可は、エンドユーザシステムの統合性を破壊し得る。 これらのプログラムは、データおよびプログラムの外部ソースにアクセスされ 得るエンドユーザシステム内に多くのポイントがある場合に増悪する。エンドユ ーザシステムにおいてこのようなアクセスポイントの数を制限し、全ての入来マ テリアルが許可されたアクセスポイントで完全にスクリーニングされることを保 証することが提案されてきた。これは、例えば、ウェブプロキシとして知られる 、システム管理者がエンドユーザシステムへ伝える前に点検し得る位置に、入来 マテリアルを転送することによって成され得る。しかし、これはシステムの動作 の過度の隘路へとつながり、ネットワーク内の所与のエンドユーザコンピュータ システムから外部ソースへのアクセスが遅滞し得る。更に、入来マテリアルの検 査がプログラム要素を確認し得ず、良性に動作することを意図する一方、誤って 動作することがある。これらは、ウェブプロキシを通ってエンドユーザシステム に直接伝えられることが多く、ここで潜在的に有害な影響と共に実行される。更 に、入来データの受け入れが、このようなデータのソースを受け入れられたソー スとして確認することに基づいて行われる場合、このソースの完全性、およびマ テリアルをエラーまたは問題なしに発生する能力に過度の信頼を置く。 エンドユーザシステム内に1つ以上のウィルス検出プログラムを提供すること も通常行われている。これらはウィルスプログラム中の特徴的なパターンを認識 し、ウィルスプログラムがエンドユーザシステム内で実行されるより前にウィル スプログラムを破壊することによって、動作する。検出プログラムはまた、動作 しているプログラム中における、ウィルスが取り付いて実行されるまでの間休眠 (dormant)し得る特定の部位を認識することにより、そのような部位における変 化によってもウィルスが存在することを検出し得る。しかしこれは、検出プログ ラムが特定の特徴またはパターンを認識することを必要とし、また、ウィルスが 識別されて無害化(neutralize)される前にウィルスがエンドユーザシステム中に 取り込まれていることを必要とする。さらに、例えば、新しいウィルスであるか 既存のウィルスの変異体であるためにウィルスがウィルス検出プログラムによっ て認識されないものである場合、ウィルスは検出されないことがあり、エンドユ ーザシステム内で実行されてしまうことがある。 多くのアプリケーションにおいて、エンドユーザシステム内に保持されたプロ グラムの実行を促進するために、データソースからプログラムコンポーネントを 提供することが望ましい。例えば、JAVAまたはJAVASCRIPT言語で書かれた多くの データソースは、モバイルプログラムコンポーネントすなわちアプレットを利用 する。プログラムコンポーネントは、外部ソースからのデータストリーム中に含 まれてエンドユーザシステムがデータを効率的に取り扱うことを可能にし得る。 例えば、アプレットは、エンドユーザが外部データソースとリアルタイムでイン タラクトして、動作の記述された(scripted)シーケンスを行うことを可能にし得 る。例えば、エンドユーザシステムに既に保持されているデータから、エンドユ ーザシステムビデオスクリーン上でグラフィックイメージのアニメーションを達 成することを可能にし得る。これは、外部ソースからのデータを各イメージにつ き転送する必要性を回避し、従ってエンドユーザシステムの動作を高速にする。 あるいは、このようなプログラムコンポーネントは外部ソース内の特定のアドレ スに維持され、入来情報ストリームは、外部ソースからプログラムコンポーネン トをダウンロードする必要があることをエンドユーザシステムに対して警告する 特徴的なフラグその他の識別子および、そのプログラムコンポーネントをダウン ロードしてくるべきアドレスを含有する。このようなプログラムコンポーネント は以下において、外部ソースからの入来データストリームと関連付けられている (associated)と称せられる。エンドユーザシステムのオペレータは、必要なプロ グラムコンポーネントを、それが実行される(implement)エンドユーザシステム 中にダウンロードする。 このようなプログラムコンポーネントは、エンドユーザシステムに取り込まれ 、そのシステム中において実行され、エンドユーザシステムに保持されたプログ ラムコンポーネントおよびデータと有用にインタラクトすることが意図されるた めため、モバイルと呼ばれる。従って、これらは、エンドユーザシステムに受け 入れられることが必要である。従って、いかなるファイアウォールをも通過し、 ウィルス検出プログラムによって拒絶および破壊を受けない。プログラムコンポ ーネントが許可された(例えばコンポーネントが個別に検査を受けているなどの )ソースに由来することを識別するように、このようなプログラムコンポーネン トに暗号化して(cryplographically)署名(sign)し、封印(seal)することが提案 されている。しかしこのためには、エンドユーザが、外に出ていくプログラムコ ンポーネントを暗号化して署名および封印する組織の一貫性および能力に対して 完全な信頼をおくことが要求される。 ネットワークブラウザプログラムの場合におけるように、外部ソースから取り 込まれたプログラムまたはプログラムコンポーネントが大きくかつ複雑でありお よび/または常に更新されている場合、そのようなプログラムまたはプログラム コンポーネントに高レベルの信頼性を提供することは不可能である。これは、そ のようなプログラムコンポーネントの使用がもたらす利点に対してバランスがと れている際には、エンドユーザシステムのオペレータにとって容認可能なリスク であり得る。 さらに、このようなモバイルプログラムコンポーネントが、認証または識別ソ ース基準を満足していても、エンドユーザシステムにおいて間違って解釈され、 および/または故意にあるいは偶発的に、既にエンドユーザシステムに保持され ているデータおよび/またはプログラムコンポーネントに対して不利益にインタ ラクトしてしまう可能性がある。これは、エンドユーザシステムのオペレータに とって問題となる。モバイルプログラムコンポーネントの取り込みは一方におい てはエンドユーザシステムの正しい動作のために望ましい。しかしこれらは、デ ータ化けを起こしてエンドユーザシステムの保持する動作中その他のプログラム に損傷を与え得る。従来のファイアウォールあるいはウィルス検出プログラムは 、システムの適正な動作を妨げることなしにはエンドユーザシステムを保護でき ない。前述のように、取り込まれたデータストリームを保持位置(例えばエンド ユーザシステムの管理者によって操作される端末)に転送して、エンドユーザシ ステムに送られて実行されるよりも前に、データストリーム中のプログラムコン ポーネントを検査することによってエンドユーザシステムに対し容認可能である ことを確立することでは、まったく良好な(benign)プログラムコンポーネントと 、動作が逸脱(errantly)しそうなプログラムコンポーネントとを区別し得ない。 外部ソース由来の所望なモバイルプログラムコンポーネントの故意または偶発 的な逸脱インタラクションの問題は、コンピュータ産業において大きな問題と認 識されてきたが、効果的な解決策は提案されていない。 本発明者らは、外部ソースから取り込まれたそのような本来望ましいモバイル プログラムコンポーネントの逸脱効果からエンドユーザシステムを保護し得る、 方法および装置を開発した。本発明の方法はまた、入来データストリームからの プログラムコンポーネントを、そのプログラムコンポーネントまたはコンポーネ ントタイプを実行するように具体的に指定されたサーバーに、選択的に向けるた めに用いられ得る。このようにして、大きなプログラムコンポーネントが、エン ドユーザシステムの残りから隔離された状態でそのサーバー内において実行され 得、その実行の結果がエンドユーザシステムに送信され得る。これにより、大き く且つ複雑なプログラムコンポーネントがこの目的専用のサーバー中で実行され ることを可能にし、エンドユーザが、自分のエンドユーザシステム内にこれらの プログラムコンポーネントを実行可能であるような大きく且つ複雑な端末を設け る必要が回避される。また、同じ入来データストリームに由来する複数の選択さ れたプログラムコンポーネントを、互いに隔離された異なる実行位置に向けられ ることにより、異なるタイプのプログラムコンポーネントを扱う速度およびセキ ュリティが向上される。特定のタイプのプログラムコンポーネントが実行される サーバーを選択することにより、そのサーバーの動作を実行されるべきプログラ ムコンポーネントについて特化(tailor make)し、この実行位置がエンドユーザ システムに対して提供するセキュリティ手段またはポリシーをより具体的にする ことが可能である。発明の要旨: 従って、本発明は、外部ソース由来の1つ以上のモバイルプログラムコンポー ネントがデータストリーム中に含有されるかあるいは関連付けられた取り込まれ たデータストリームに応答して動作するようにプログラミングされた、エンドユ ーザコンピュータシステムであって、 a.入来データストリームをスクリーニングすることにより、このデータストリ ーム中に存在するかこれに関連付けられたモバイルプログラムコンポーネントを 識別することと; b.モバイルプログラムコンポーネントの選択されたいくつかまたは全部を、所 望の様式で動作するように実行される前に、エンドユーザシステムから選択的に 切り離されたあるいはエンドユーザシステム内において切り離された1つ以上の プログラム実行位置に送られることと; c.実行位置が、選択されたプログラムコンポーネントのうちの1以上が保持さ れる位置であり且つデータストリームの外部ソースとの1以上のインターフェー スおよびエンドユーザシステムとの1以上のインターフェースを有する位置であ り、それにより実行位置内のプログラムコンポーネントが、データの外部ソース 及び/又はデータ及び/又はエンドユーザシステムによって保持されるプログラ ムとインタラクトするように実行位置内で実行され得ること、および d.実行位置とエンドユーザシステムとの間のインターフェースの動作が、実行 位置内でプログラムコンポーネントにより特定の制御された様式でインタラクト されているデータ及び/又は特定の様式で動作するプログラムコンポーネントの みがエンドユーザシステムまで又はエンドユーザシステムから送られ得るように プログラムされていることを特徴とする、エンドユーザコンピュータシステムを 提供する。 本発明の好適な実施形態では、便宜上プロキシアプレットとして知られている 、入来データストリーム中のプログラムコンポーネントに代わるスタンド(stan d)は、エンドユーザシステムにあり、実行位置からのデータを受け取り、作用 する。プロキシアプレットは、切り離された選択されたプログラムコンポーネン トの、エンドユーザシステムに対する作用を模倣する。プロキシアプレットは、 ブラウザプログラムへのアクセサリの形態であり得、プロキシアプレットが模倣 するプログラムコンポーネントと同じ言語で提供され得、プロキシアプレットは 、ブラウザプログラムにより、ブラウザの広範囲な改変を必要とせずに、プロキ シアプレットが、まるでプロキシアプレットが模倣するプログラムコンポーネン トであるかのようにみなされ得る。 切り離された実行位置は、エンドユーザシステムがプロキシアプレットに与え るインターフェースと同じインターフェースを、切り離されたプログラムコンポ ーネントに与え、これら2つのための動作環境が実質的に同一となるようにする 。切り離されたプログラムコンポーネントにより、実行位置内部のインターフェ ースに対してなされた動作要求は、通信プロトコルを介して、エンドユーザシス テムにあるプロキシアプレットに送信される。エンドユーザシステムは、それら の動作要求を、エンドユーザシステム上の同じインターフェースに再発行する。 このようにして、十分に検査され且つベリファイされたエンドユーザインターフ ェースのサブセットだけが、実行位置に、制御された様式で利用可能となる。こ れらの動作要求を調停するデータストリームはまた、スクリーニングされ、厳密 で、十分に特定され且つベリファイされた仕様からの偏りを検出する。 本発明では、実行位置は、例えばエンドユーザシステムのアクセスゲートウェ イに関連するエンドユーザシステムの一部分またはすべてと同じ物理的サイトに 配置され得る。あるいは、実行位置は、エンドユーザシステムの下流の残りから 離れて配置され得る。さらに、実行位置は、エンドユーザシステム自体の内部に 配置されていなくてもよく、データおよびプログラムコンポーネントの外部ソー スと、下流エンドユーザシステムとの間の保護切り放しスクリーニング(protec tive isolation screen)として配置され得る。本明細書において、「エンドユ ーザシステムの内部」という用語は、便宜上、実行位置が、エンドユーザシステ ムのコンピュータユニットのうちの1つ以上の内部に設けられる場合を示すため に使用され、「エンドユーザシステムの外部」という用語は、エンドユーザシス テムから切り離されるコンピュータユニットまたはその他の手段であって、エン ドユーザシステムと同じ地理的サイトに配置され得るコンピュータユニットまた は他の手段を示すために使用される。 エンドユーザシステムの残りから切り離される実行位置を提供することにより 、入来モバイルプログラムコンポーネントは、エンドユーザシステムの内部に含 まれるか、または、エンドユーザシステムから選択的に切り離される。プログラ ムコンポーネントは、実行位置内で誤って動作し得るが、これらのプログラムコ ンポーネントは、例えば、選択されたデータだけを送るように動作する汎用イン ターフェース(general utilities interface)などを介して、特定の制御され た様式で、エンドユーザシステムとやりとりすることが可能にされるだけである 。実行位置を動作させるプログラムは比較的小さいため、エンドユーザは、その プログラムについてのプログラムリストが所望の基準を満たすことを確実にする ために、このプログラムリストを検査し得る。従って、オペレータは、特定の所 望の様式で処理されたデータ、または、所望の様式で動作するプログラムコンポ ーネントだけが、実行位置から、エンドユーザシステムに送信され得る高い信頼 度を有し得る。実行位置についての動作プログラムはまた、実行位置からエンド ユーザシステムへのプログラムコンポーネントの通過を防止し得、これにより、 ウィルスまたは望ましくないプログラムコンポーネントがエンドユーザシステム に入ってしまう危険性を最小にする。さらに、実行位置は、実行位置からのプロ グラムコンポーネントによる、エンドユーザシステム内部の特定のリソースへの アクセスを制限するように動作し得る。例えば、実行位置は、中央処理装置への アクセス時間を制限してサービス拒否ウィルスの影響を最小にするか、通信アク セスの帯域幅を制限するか、または、ハードディスクメモリ内のある特定のディ スクブロックへのアクセスを制限するように動作し得る。 実行位置を動作させるプログラムは、エンドユーザシステム内部の特定のソー スおよび/または特定の外部ソースのみへのデータの送信、または、エンドユー ザシステム内部の特定のソースおよび/または特定の外部ソースのみからのデー タの受信を可能にするように、選択的に書き込まれ得る。そのため、実行位置で 実行される、取り込まれたプログラムコンポーネントは、エンドユーザシステム におけるデータベースのある特定の領域にはアクセスすることができない。例え ば、実行位置は、仕入れ元帳データについてのみ動作するようにプログラムされ 得、別の実行位置は、人事データについてのみ動作するようにプログラムされ得 る。従って、各々が個々の様式で特定のデータソースおよびでデスティネーショ ンについて動作するように設計される、一連の実行位置を提供することが必要で あり得る。これは、各実行位置のための動作プログラムが、より小さくなり且つ より特定的になることを可能にし、従って、検査およびベリファイがより容易に 行われることを可能にする。さらに、互いに連続して動作する実行位置の多数の 列(tiers)を提供して、入来データストリームが、プログラムコンポーネント 、そのソース、および/またはその機能の同一性が同定され得る初期実行位置に 向けられるようにすることは、本発明の範囲内である。その後、この初期実行位 置は、特定のプログラムコンポーネントが向けられる次の列の実行位置などを選 択し得る。このようにして、次第に厳しくなっている、セキュリティについての 要求、または、入来データストリームからのプログラムコンポーネントを利用す るための、エンドユーザシステムの適切な部分の選択は、一連の単純なステップ および/または大きいプログラムコンポーネントが切り離され、これらのプログ ラムコンポーネントを実行するように特に構成される実行位置に向けられるとき に、適用される。 以下、本発明を、便宜上、エンドユーザシステム外部のデータの単一の外部ソ ースまたはデスティネーションで動作するようにプログラムされ、且つ、エンド ユーザシステム内部の単一のデスティネーションにデータを送信するまたはこの デスティネーションからデータを受信するようにプログラムされる実行位置につ いて説明する。しかし、本発明が、任意の組み合わせの複数の外部および/また はエンドユーザソースおよびデスティネーションで動作する実行位置に適用され 得ることが認識される。 実行位置は、エンドユーザシステムから、または、エンドユーザシステム内部 で、選択的に切り離される。即ち、実行位置は、外部ソースおよびエンドユーザ システムとのインターフェースを介して、選択的且つ制御された様式で、データ および/またはプログラムコンポーネントのみを受信および送信し得る。従って 、実行位置が、外部ソースからの入来モバイルプログラムコンポーネントを受け 入 れ且つ格納し得、その後、実行位置内に既に保持されている動作プログラムの制 御下でそれらのプログラムコンポーネントを実行して外部ソースおよび/または エンドユーザシステムからのデータとインタラクトし得るように、実行位置は、 典型的には、知能レベルおよびデータ格納を必要とする。必要であれば、外部ソ ースからの腐敗を最小にするために、実行位置に必要とされる動作プログラムは 、エンドユーザシステム内に保持され得、エンドユーザシステムの手順の起動の 一部分として、実行位置に送信される。以下に説明されるように、実行位置が取 り扱うデータの種類と、そのデータに対して行われる動作の種類とに依存して、 幾つかの動作プログラムが、実行位置に利用可能である。エンドユーザまたはシ ステム管理者には、様々な選択肢間での選択が行われる実行位置に、適切な動作 プログラムをロードする、例えば特定のキーボード動作などの手段が設けられ得 る。 実行位置に対する必須の処理およびデータ格納機能は、エンドユーザシステム ネットワーク内のコンピュータユニットの1つによって、またはコンピュータユ ニットの1つの切り離された部分として提供され得るので、実行位置は、エンド ユーザシステム内に配置される。しかし、現在のコンピュータアーキテクチャで は、プログラムコンポーネントが実行される十分に切り離された環境を提供する ことは可能ではないかも知れない。従って、インタラクトするエンドユーザシス テムから選択的に切り離された別個の物理的ユニットとして実行位置を提供し、 実行位置ユニットを動作するプログラムの制御下で動作する制限されたアクセス ルートまたはインターフェースを実行ユニットとエンドユーザシステムとの間に 設けることが好ましい。これによって、従来のファイアウォールおよび通信プロ トコルが使用されて、実行位置がエンドユーザシステムから分離され得る。代表 的には、実行ユニットは、それ自体のプロセッサおよびメモリ能力を有する従来 のコンピュータである。 簡便のため、以下、本発明を、エンドユーザシステムから物理的に分離されて いるが、エンドユーザシステムネットワークへのデータ取り込みアクセス点であ るかのように構成された実行位置として作用する別個のコンピュータに関して説 明する。 実行位置は、好ましくは、データのみをエンドユーザシステムの残りの部分へ および部分から送信するが、実行位置は、プログラムコンポーネントのエンドユ ーザシステムへの送信を可能にするようにプログラムされ得る。このようなプロ グラムユニットは、エンドユーザが検査した、またはエンドユーザが高いレベル の信頼を有するプログラムによって実行位置内で検査されるので、このように送 信されたプログラムコンポーネントが誤ってエンドユーザシステム内で動作する リスクは最小限にされる。従って、実行位置は、エンドユーザシステムへのダウ ンロードが所望される入来プログラムコンポーネントを検査およびベリファイす るために用いられ得、ウィルスプログラムがエンドユーザシステムに到達する前 にウィルスプログラムを阻止するために用いられ得る。エンドユーザは、特定の プログラムコンポーネントが受け入れ可能であると確信し得るが、この場合、エ ンドユーザは、特定のプログラムコンポーネントが実行位置内で検査される必要 がなく、エンドユーザシステムに直接パスされ得るので、エンドユーザシステム は、これらのプログラムコンポーネントの可能性のある誤動作に曝される。従っ て、入来データストリーム内にあるまたは入来データストリームに関連するすべ てのプログラムコンポーネントを選択して実行位置にパスすることが好ましい。 簡便のため、以下、本発明を、データのエンドユーザシステムへの送信のみに 関して説明する。 上記のように、実行位置は、所定の基準に従う場合にのみ、データを実行位置 とエンドユーザシステムとの間で転送し、実行位置は、エンドユーザシステムお よび実行位置へのならびにこれらからのデータの交換を制御する。これを達成す ることおよび外部ソースからのデータストリーム内にあるまたはデータストリー ムに関連するプログラムコンポーネントの存在を識別することが要求される動作 プログラムは、初期データおよび結果として得られる処理データに対して必要な エンドユーザシステム内のソースおよびディスティネーションを考慮する従来の プログラミング技術を用いて書き込まれ得る。実行位置を動作するプログラムは 、完全に実行位置内で保持および実現され得るが、他のいくつかの位置でその動 作するプログラムの一部を見いだすことは本発明の範囲内である。従って、入来 マテリアル内のプログラムコンポーネントを識別し、それを実行位置(スネア( snare))に転送するプログラムの部分は、例えばブラウザプログラムの一部と し てエンドユーザシステムの各動作ユニットに配置され得るか、またはファイアウ ォールについての動作プログラムに導入され得る。しかし、ブラウザプログラム 内のスネアプログラムの位置は、エンドユーザシステムにおける各動作ユニット に、必要なスネアプログラムが設けられることを要求し、エンドユーザシステム のすべての拡張またはブラウザプログラムの変化によって、エンドユーザシステ ム全体の再プログラミングが要求され得、スネアプログラムがすべてのエンドユ ーザ動作ユニットに存在することを確実にすることを要求する。従って、外部デ ータソースから受信される各データストリームについてのスネアコンポーネント を実行位置内で動作する動作プログラムに導入することが好ましい。 上記のように、単一の実行位置は、特定のデータに対する特定の動作を成し遂 げるために使用され得る。しかし、いくつかのカテゴリーの情報に対して動作し 、および/または情報のいくつかのソースおよび/またはディスティネーション からのデータと共に動作し得る実行位置を提供することは、本発明の範囲内であ る。これによって、実行位置についての別個の動作プログラムが同時または連続 して実行されることが要求され得る。あるいは、それぞれが特定のデータに対し て特定の動作を成し遂げるための、別個の実行位置が提供され得る。また、言う までもなく、1つまたはそれ以上の実行位置は、エンドユーザシステムが外部の データソースにアクセスする各ポイントで提供され得、このようなアクセスポイ ントのそれぞれは、外部のデータソースからの選択されるプログラムコンポーネ ントを用いて、特定のデータに対して特定の様式で動作する実行位置を有し得る 。このように、エンドユーザシステムのオペレータは、アクセスポイントで実行 位置が動作する動作プログラムを選択することによって、各アクセスポイントで アクセスされる機能および潜在的なソースを識別し得る。これによって、外部ソ ースからエンドユーザシステムへのマテリアルの取り込みがさらに調節される。 システム内にゾーンを形成し、そのゾーンへの同じシステムまたはネットワー クの他のゾーンからのアクセスを、本発明の実行位置(一方は、情報の外部ソー スであり、他方は、本発明のエンドユーザシステムであると考えられる)をシス テムのゾーン間のアクセスポイントに提供することによって調節することも本発 明の範囲内である。 本発明の実行位置は、外部ソースからエンドユーザシステムへのマテリアルの 取り込みの唯一の調節を提供し得るが、外部ソースおよび/またはエンドユーザ システムからの望ましくないプログラムコンポーネントおよび/またはデータの 送信を阻止する2つのファイアウォール間に実行位置を配置することが好ましい 。このようなファイアウォールは、従来の形態であり得、マテリアルのエンドユ ーザシステムへのおよびエンドユーザシステムからの流れの一次制御を提供する ことによって、実行位置にかかる負荷を減少させるように作用し得る。上記のよ うに、実行位置に対する動作プログラムのスネアコンポーネントは、ファイアウ ォールのいずれかまたは両方に対する動作プログラムに導入され得る。しかし、 外部の破壊または攻撃からスネアプログラムを保護するために、外部ソースと実 行位置との間に配置されるファイアウォールの外部ソース側にスネアプログラム が配置されないことが好ましい。 本発明は、モバイルプログラムコンポーネントまたはアプレット(Applets) を利用するJAVAまたはJAVASCRIPT技術下で動作するデータソース に特に適用される。これらは、データがエンドユーザシステムに適合するように 処理されるアプリケーションプログラムをカスタマイズし、外部ソースからのデ ータを受信するようにエンドユーザシステムをセットアップするために、エンド ユーザシステムによって実行される。しかし、本発明は、他のコンピュータ言語 および動作システム(例えば、ActiveX、perl、tcl/tk、c、 c++およびshならびにその改変)からのプログラムコンポーネントの実行位 置における遮断および格納に適用される。 実行位置内のプログラムコンポーネントが望ましくない様式で動作した場合、 その誤った動作の結果は、実行位置内に保持され、エンドユーザシステムまたは 外部ソースには送信され得ない。実行位置内の誤った動作を検出することによっ て、実行位置内のすべてのデータおよびプログラムコンポーネントを削除および 再配置するように実行位置は閉じて、再初期化され得る。必要に応じて、誤った 動作を引き起こすプログラムコンポーネントは、徹底的な検査の目的で識別され 、プログラムコンポーネントのソースが識別され得る。このように、エンドユー ザは、ソースの完全性を調べ、そのソースからのさらなるデータの取り込みに関 し て適切なアクションを行い得る。 実行位置からのマテリアルの削除および再初期化または他の以降の処理は、従 来のプログラミング技術を用いて行うことができる。従って、実行位置は、犠牲 的なものとして見なすことができるとともに、エンドユーザシステムの残りの部 分に影響することなく再初期化することができ、これにより、プログラムコンポ ーネントをエンドユーザシステム内に保持した場合には必要となるであろう大が かりな再プログラミングおよびデータの再割付け(data re-instatement)を回避 する。 上記においては、本発明を、多数の他のユーザによってアクセスされる外部シ ステム、つまり、公衆アクセスシステムまたはサービスプロバイダからデータを 受け取るエンドユーザシステムについて説明してきた。しかし、望ましくないプ ログラムコンポーネント、例えばウィルスの取込みによって公衆アクセスデータ ベースが改竄されることを防ぐように、本発明を公衆アクセスサービスプロバイ ダに適用することも可能である。この場合、エンドユーザシステムについて上記 した方法と同様の方法で、サービスプロバイダへのアクセスポイントの一部また は全てに実行位置を設ける。 さらに、モバイルプログラムコンポーネントがソースにおいてインタラクトす るデータストリームからのモバイルプログラムコンポーネントの検出および分離 を行うことが可能である。すると、これらのプログラムコンポーネントをあるエ ンドユーザの切り離された実行位置に別々に送信して、この実行位置において、 これらのプログラムコンポーネントを、関連するデータストリームの残りの部分 に対して機能を実行するようにインプリメントすることができる。このようなプ ログラムコンポーネントは、通常、実行位置内に常駐させることが可能であり、 外部データソースがアクセスされる度に外部データソースからダウンロードする 必要はない。 従って、別の形態において、本発明は、外部ソースから取り込まれたデータス トリームに応答し且つデータストリームに含まれるか又は関連する1以上のモバ イルプログラムコンポーネントに応答して動作するようにプログラムされたエン ドユーザコンピュータシステムであって、 a.該選択されたモバイルプログラムコンポーネントが1以上の実行位置に供給 され及び/又は保持され、該1以上の実行位置が、所望の様式で動作するように 実行される前に、該エンドユーザシステムから又は該エンドユーザシステム内で 選択的に切り離されることと、 b.該実行位置が、該プログラムコンポーネントのうちの1以上が保持される位 置であり、且つ該データストリームの該外部ソースとの1以上のインターフェー スおよび該エンドユーザシステムとの1以上のインターフェースを有する位置で あり、それにより該実行位置内の該プログラムコンポーネントが、データの該外 部ソース及び/又は該データ及び/又は該エンドユーザシステムによって保持さ れるプログラムとインタラクトするように該実行位置内で実行され得ることと、 c.該実行位置と該エンドユーザシステムとの間の該インターフェースの動作が 、該実行位置内で該プログラムコンポーネントにより特定の制御された様式でイ ンタラクトされているデータ及び/又は特定の様式で動作するプログラムコンポ ーネントのみが該エンドユーザシステムまで又は該エンドユーザシステムから送 られ得るようにプログラムされていることと、を特徴とする、エンドユーザコン ピュータシステムを提供する。 好ましくは、入来データストリームは、モバイルプログラムコンポーネントに 動作可能に関連付けられる。例えば、データストリームは、プログラムコンポー ネントを有するか、または、データストリームに関連してインプリメントされる 外部ソース内に保持されるプログラムコンポーネントを識別する手段を有し、こ のデータストリームをスクリーニングして(screened)、そのデータストリーム内 またはそのデータストリームに関連付けられたモバイルプログラムコンポーネン トを識別する。そして、選択的に、これらのモバイルプログラムコンポーネント の一部または全てを、実行して所望の動作を行わせる前に、エンドユーザシステ ムから切り離された、またはエンドユーザシステム内の1つ以上のプログラム実 行位置に選択的に送る。 本発明は、コンピュータシステム上で実行することが望まれる1以上のモバイ ルプログラムコンポーネントを含むか又は関連して有するデータストリームを、 外部ソースからエンドユーザシステムに取り込むことを含む、エンドユーザコン ピュータシステムの動作方法であって、該方法が、 a.該エンドユーザシステムからのデータ及び/又は該外部ソースからのデータ とインタラクトするように、該エンドユーザシステムから又は該エンドユーザ内 で選択的に切り離された、1以上のプログラム実行位置内で該モバイルプログラ ムコンポーネントを実行する工程と、 b.特定の様式で動作するプログラムコンポーネントおよび/またはそのような インタラクションから得られたデータを、特定の基準に対応するデータおよび/ またはプログラムコンポーネントが該エンドユーザシステムおよび/または該外 部ソース内の特定の位置に、又は該特定の位置から送信されることを可能にする インターフェースを介して、該エンドユーザシステムに送る工程と、を含む、方 法をも提供する。 好ましくは、プログラムコンポーネントは、エンドユーザシステムに送信され るデータストリームに動作可能に関連付けられ、上記方法は、入来データストリ ームをスクリーニングして上記データストリーム内または上記データストリーム に関連付けられたモバイルプログラムコンポーネントを識別するステップと、上 記モバイルプログラムコンポーネントの一部または全てを切り離された実行位置 に送るステップとを包含する。好ましくは、実行位置に送るプログラムコンポー ネントを、入来データストリームの所望の部分の実行に必要なものとして選択す る。これにより、本発明は、入来データストリーム全体をダウンロードして、関 連部分の選択をエンドユーザシステム内で行う他のシステムからは区別される。 上記においては、本発明を、ウェブサイトからの入来データについて説明して きた。しかし、本発明を、あらゆる他の形態の外部データソース、例えばeメー ルまたは他のメッセージベースの情報転送システムからの入来データに適用する ことも可能である。従って、本発明は、2つのプライベートネットワークシステ ム間、または単一のネットワークシステムの複数の要素間における、直接的また は外部ドメインまたは他のサーバーを介した通信に適用できる。 上記においては、本発明を、単一の実行位置レイヤによって提供されるセキュ リティについて説明してきた。しかし、2つ以上の実行位置レイヤを用いて、プ ログラムコンポーネントがエンドユーザシステムとインタラクトすることを許可 される前に、以前の実行位置によってスクリーニングされたデータおよび/また はプログラムコンポーネントのみをさらなるスクリーニングのために後続の実行 位置に送るようにすることは本発明の範囲内である。さらに、連続する複数のレ イヤ内において複数の異なる機能を達成できるように、且つプログラムコンポー ネントに対して異なる種類のセキュリティ調査が行えるように、連続する複数の レイヤ内の動作プログラムの性質が根本的に異なっていてもよい。さらに、単一 の実行位置において2つ以上のモバイルプログラムコンポーネントをインプリメ ントする能力は、複数の入来プログラムコンポーネントが別々の実行位置に常駐 している場合にはそれらを単独で処理し、1つの実行位置に同時常駐している場 合には互いにインタラクトして(in inter-action)処理する柔軟性をオペレータ に与える。切り離された実行位置をエンドユーザシステムとは切り離して動作さ せるので、ある実行位置内のプログラムコンポーネントが誤って動作した場合、 または潜在的にダメージを与えるものとして検出された場合、その実行位置を犠 牲的なものと見なして、オペレータは、エンドユーザシステム全体を再プログラ ミングする必要なしに、他の実行位置またはエンドユーザシステムから切り離し て、ある実行位置を再始動する(re-initiate)ことができる。 上記のように、本発明を用いて、入来データストリームの流れを制御して、そ のストリームの一部または全部およびそれに関連するプログラムコンポーネント を選択的に特定の実行位置に指向することができる。このようにして、大きなプ ログラムコンポーネントを識別して、そのような大きなプログラムコンポーネン トを実行するために特別に指定された実行位置に選択的に指向することができる 。このプログラムコンポーネントの実行結果を、その後、エンドユーザシステム に送信することが可能であり、この場合、そのシステムの端子のそれぞれが大き なプログラムコンポーネントを実行するために必要な演算パワーを有する必要が ない。あるいは、本発明を用いて、データストリームの複数部分およびその関連 付けられたまたは収容されたプログラムコンポーネントを、その種のプログラム コンポーネントを実行するために指定された特別な実行位置に選択的に指向する ことができる。その実行位置においてプログラムコンポーネントを実行する前に 入来データストリームの選択部分を識別およびルーティングする能力によって、 エ ンドユーザシステム管理者が、そのエンドユーザシステムへの入口において各入 来プログラムコンポーネントを検査する必要性がさらに低減されるとともに、そ の検査を、エンドユーザシステム内でより低いレベルでより低減した量の入来マ テリアルに対して行うことが可能になる。図面の説明 添付の図面に示した本発明の好適な実施形態に関してあくまで例示的に本発明 を説明する。図1および図2は、エンドユーザシステムを動作させて外部ソース からデータストリームを受け取る本発明による典型的な方法を模式的なブロック 図形式で示し、図3および図4は、本発明の方法によって動作するシステムを示 し、図5〜図9は、JAVA言語を用いて動作するシステムをブロック図形式で 示す。本システムの説明 図1は、外部ソースからデータおよび/またはプログラムコンポーネントを、 例えば、ウェブサーバーからデータを取り込む現在のシステムを示し、プライベ ートネットワークによって相互接続されるエンドユーザコンピュータシステム内 の単一のコンピュータユニットまたは複数のコンピュータユニットと、公衆ネッ トワークに接続されるウェブサーバーとを含む。エンドユーザは、エンドユーザ システムに保持されるブラウザまたは他のプログラムを用いて、ウェブサーバー から取り込まれる予定のデータおよび/またはプログラムコンポーネントを識別 する。ブラウザプログラムは、エンドユーザネットワーク内のコンピュータユニ ットのいずれかまたはすべてに保持され得る。望ましくないマテリアルを取り込 む危険を減らすために、エンドユーザシステムへのアクセスポイントには、公衆 ネットワーク内の指定されたアドレスから入来するかまたはこれらのアドレスに 向かうデータおよびプログラムコンポーネントのみが公衆ネットワークから通過 するのを可能にするファイアウォールが配備される。ブラウザおよび/またはフ ァイアウォールは、既知のソースおよび/または信頼のあるソースによって暗号 により署名および封印されていないプログラムコンポーネントまたはデータの取 り込みを拒否し得る。既知のウィルス、またはエンドユーザシステムが搭載して いるプログラム内でこのようなウィルスが行う変更の特徴的なパターンを検出す るウィルス検出プルグラムを、エンドユーザシステムに保持することもまた、通 常行われている。 しかし、公衆ネットワークからのデータストリームが、エンドユーザシステム で実行することが所望されるモバイルプログラムコンポーネントを含む場合は、 取り込まれたマテリアルが、エンドユーザシステムで間違ってまたは悪意で動作 し得るマテリアルを含まないことを確実にする場合に問題が生じる。このような プログラムコンポーネントは受容アドレスから入来するものであるため、ファイ アウォールはこれらのコンポーネントが通過するのを許可し得る。ファイアウォ ールはある程度の知能を有し得るが、データおよびプログラムコンポーネントの 送信先および送信元の通信アドレスを識別することによって動作する。ウィルス 検出プログラムは、プログラムコンポーネントが有害なウィルスであると認識さ れ得ないため、プログラムコンポーネントが間違って動作するとき、これらを確 実に検出して非活性にすることはできない。この結果、エンドユーザシステムは 、誤ったプログラムコンポーネントの取り込みには無防備である。 このような問題は、特に、図2に示されるシステムによって例示されるような JAVA技術を用いて動作するシステムで生じる。ホストプラットホームとして 識別されるエンドユーザは、サービスプロバイダからデータを要求するために使 用されるブラウザプログラムを搭載している。これはネットワークサーバーを介 して供給される。ネットワークサーバーは、エンドユーザがエンドユーザシステ ムで走らせることを所望するJAVAアプレットを含むデータストリームを送信 する。JAVAアプレットは、JAVAバーチャルマシンを介してエンドユーザ システムで実行される。JAVAバーチャルマシンは、ブラウザプログラムを介 してエンドユーザシステムへのおよびウェブサーバーへのインターフェースを維 持する。しかし、ブラウザはアプレットを間違って解釈し得るし、もしくはアプ レットは偶然にまたは故意に有害な命令を含み得る。現時点では、エンドユーザ システムは、このような誤った解釈または有害な命令から十分に保護されない。好適な実施形態の説明 図3に示されるような本発明の方法では、公衆ネットワークからのデータは、 エンドユーザに直接供給されず、走査され、データストリーム内のあらゆるプロ グラムコンポーネントが、ケージと呼ばれる実行位置に転送される。入来データ ストリームを走査してその中のプログラムコンポーネントを識別し、これらをケ ージに転送してケージ内で実行することは、データストリームの経路内に位置す る任意の信頼あるコンポーネント、例えば、ローカルウェブプロキシ、ブラウザ プログラム、ネットワークルータ、または専用プログラムによって行われ得る。 実行ケージは、典型的には、エンドユーザシステムと公衆ネットワークとの間に 接続される従来の商業用コンピュータである。 従って、実行ケージは、公衆ネットワークとエンドユーザのプライベートネッ トワークとの間の保護スクリーンとして作用し、また実行ケージを動作させるプ ログラムにより、実行ケージは、指定された基準に適合する、例えば、エンドユ ーザシステムまたは外部ソース内の指定された位置から入来するかまたはそのよ うな位置にアドレスされるデータおよび/またはプログラムコンポーネントの伝 送を選択的におよび制御の下で可能にする。 ケージの動作においてユーザの信頼を高めるために、ケージとエンドユーザシ ステムとの間、およびケージと公衆ネットワークとの間のインターフェースにフ ァイアウォールを提供することが好適である。所望であれば、これらのファイア ウォールのいずれかまたは両方がケージに組み込まれ得る。図3に示すシステム 全体のなかで、外側ファイアウォールより下流側であって外側ファイアウォール を含む部分は、エンドユーザサイトに位置する。内部ファイアウォールより下流 側であって内部ファイアウォールを含む部分は、実行ケージによって保護される エンドユーザシステムである。 図4に概略を示すシステムを参照して、アプレットおよび他のプログラムコン ポーネントはケージ内で実行される。エンドユーザシステムからのおよび/また は公衆ネットワークからのデータは、ケージ内のプログラムコンポーネントとイ ンタラクトを行い、この結果得られる修正データが、適切なインターフェースを 介してエンドユーザシステムに送信される。インターフェースは、特定のアクセ ス基準を満たすデータは送信するが、アクセス要件を満たさないプログラムコン ポーネントまたはデータは送信も受信もしないようにプログラミングされる。従 って、ケージは、プログラムコンポーネントをエンドユーザシステムからまたは エンドユーザシステム内で選択的に切り離された状態に維持し、エンドユーザシ ステムに送信され受信されるデータを厳しく規制する。この結果、エンドユーザ システムは、受容可能なデータのみを取り込みまた送り出す。ケージの動作を制 御するプログラム、この場合にはJAVAバーチャルマシンを動作するプログラ ムは、小さくすることができるため、容易に検査され得る。従って、エンドユー ザは、プログラムの完全性を満足のいく程度までベリファイし、プログラムが明 瞭且つ論理的に構成され、プログラム一覧表を検査することによって良好に検証 されることを確実にし得る。JAVAバーチャルマシンと公衆ネットワークとの 間のインターフェースの、JAVAアプレットのケージへの取り込みを規制する コンポーネントもまた検査され、これによりケージの動作の完全性が確実にされ る。 ケージ内に取り込まれると、アプレットは、JAVAバーチャルマシンの制御 下で実行され、制御された方法で公衆ネットワークおよび/またはエンドユーザ システムからのデータとインタラクトを行う。アプレットの誤った動作を含みこ れがエンドユーザシステムへのアクセスを得るのを防ぐために、エンドユーザシ ステムまたはケージのいずれかに所与の形態のアクセス制御が配備される。この ようなアクセス制御は内部ファイアウォールの形態であり得る。アクセス制御に より、アプレットが、システム管理者によって提供されるリストに載っていない ソースまたはデスティネーションにアクセスするのを防ぐことができる。もしく は、アクセス制御は、各アクセス要求の進行が許可される前に、ブラウザユーザ からの積極的な同意を要求することができる。ケージ内のプログラムコンポーネ ントは、ケージの完全性を確実にするために検査およびベリファイを必要とする コンポーネントと、前者の制御の下で安全に取り込まれ実行され得るコンポーネ ントとに分類され得る。これら2セットのプログラムコンポーネント間の分割ラ インは、セキュリティ膜として知られる。 ケージのために必要なハードウェアは従来の性質を有し得、動作プログラムは 従来のプログラミング技術およびアルゴリズムを用いて準備され得る。 JAVA言語内の情報ソースと共に本発明を動作する特に好適な方法を、図5 から図9に示す。図5および図6に示すように、JAVAの機能を備えたウェブ サーバーが、エンドユーザにより、ブラウザプログラムを用いてファイアウォー ルを介してアクセスされる。このウェブサーバーからの情報は、データがエンド ユーザシステムに伝送される前に保持されるウェブプロキシにダウンロードされ る。入来情報ストリームは、1つ以上のフラッグまたは他の識別特徴を含む。こ れらは、入来データストリーム内にJAVAアプレットの存在を認識するまたはウェ ブサーバーからのデータを表示するためにエンドユーザシステム上で実行するこ とを要求されるJAVAアプレットのウェブサーバー内のサイトアドレスを識別する 、とウェブプロキシにより理解される。従来のシステムにおいて、エンドユーザ は、ウェブサーバー上の指定されたサイトから、エンドユーザのPC端末または エンドユーザシステム内の他の動作ユニット内のブラウザプログラム内のJAVAバ ーチャルマシンに直接、JAVAアプレットをダウンロードする。次にJAVAアプレッ トは、エンドユーザシステム内で実現され、ウェブプロキシ内またはエンドユー ザシステムデータストア内に保持されたデータ上で動作を行い、所望の画像を表 示スクリーン上に供給する。しかし、アプレットが正確に動作しない場合、アプ レットはエンドユーザシステム内で動作するので、エンドユーザシステムはこれ に対して保護されてこなかった。 図7から図9に示すシステムにおいて、実行位置またはケージサーバーは、イ ンターネットとして示す公衆ネットワーク上、内部ファイアウォールの側、に配 置される。また、ケージサーバーと公衆ネットワークとの間に位置する、典型的 な別の外部ファイアウォール(図示せず)がある。ケージサーバーは典型的には 、公衆ネットワークから受け取られるプログラムコンポーネントを受け取り解釈 する、プロセッシングおよびメモリ容量を有するコンピュータである。ウェブプ ロキシは内部ファイアウォールとエンドユーザ動作ユニットとの間に配置され、 典型的には別のコンピュータまたはケージサーバーと同じコンピュータの一部分 である。ウェブプロキシは公衆ネットワークからのデータを受け取り且つ格納し 、HTMLページとして指定される。ウェブプロキシは好適には、公衆ネットワ ー クからのおよび/またはエンドユーザデータストアからの入来データストリーム 内のデータと相互作用し、エンドユーザ動作ユニット上に要求される表示を付与 することを要求されるアプレットの存在およびアドレスを識別する、入来情報内 のフラッグまたは他の指標の存在を識別するプログラムコンポーネントを含む。 このスネアプログラムコンボーネントが、ウェブサーバー内のアプレットのア ドレスを識別し、全ての入来アプレットを、入来またはリアルアプレットがエン ドユーザシステムから分離して実現されるケージサーバに転送する。スネアプロ グラムはまた、エンドユーザシステムに対するリアルアプレットを識別するため の、新たなまたは変換されたアドレスを生成する。このとき、新たなアドレスは 、エンドユーザ動作ユニットまたはPC内のブラウザプログラム内に保持された プロキシアプレットのアドレスに対応する。プロキシアプレットは、エンドユー ザが書き込んだまたは獲得したものであり、且つエンドユーザシステム内で安全 に動作し得るように完全にベリファイされている。 エンドユーザが、アプレットがウェブサーバーからダウンロードされることを 要求していると、ブラウザプログラムによって通知される場合、スネアプログラ ムはアプレットのためのアドレスとして新たなアドレスを付与する。その結果、 リアルアプレットでなくプロキシアプレットが、エンドユーザシステム内でアド レスされ且つ実現される。しかし、プロキシアプレットはケージサーバーとイン ターフェースし、リアルアプレットをウェブサーバーからケージサーバーへとダ ウンロードする。ここで、リアルアプレットは、ケージサーバー内でエンドユー ザシステムから分離して実行され、制御された様式でジェネラルユーティリティ インターフェース(GUI)を介してインターフェースし、エンドユーザブラウザ内 のプロキシアプレットの環境に作用する。リアルアプレットは、従来のブラウザ 動作のように、エンドユーザシステム内にダウンロードしない。 以上のように、本発明はまた、外部データソースがJAVAまたはJAVASCRIPT 言語下で動作し、実行位置内で取り込まれ且つ実行されるプログラムコンポーネ ントがアプレットである、エンドユーザシステムを提供する。ここで、実行位置 を動作するためのプログラムおよび/またはエンドユーザシステムが、実行位置 内で取り込まれ且つ実行されるアプレットのアドレスを識別し、それを、エンド ユーザシステム内に保持され、エンドユーザシステム内に実現され且つ実行位置 内の取り込まれたアプレット内でインターフェースするように適合され、それに より後者アプレットを実行位置内に実現するプロキシアプレットに対応する、新 たなアドレスへと変換する。 別の局面から、本発明は以下のような本発明の方法を提供する。本発明におい ては、入来データストリームはJAVAまたはJAVASCRIPT言語で書かれ、且つ実 行位置へと取り込まれる1つ以上のアプレットを含むかまたは1つ以上のアプレ ットと関連し、さらに、実行位置の動作プログラムおよび/またはエンドユーザ システム動作プログラムは、取り込まれるアプレットのアドレスを識別し且つエ ンドユーザシステム内のプロキシアプレットのアドレスに対応するアプレットの ための新たなまたは変換されたアドレスを生成する。このことにより、エンドユ ーザシステムが作動され取り込まれたアプレットをダウンロードする場合、エン ドユーザシステムは、入来データストリーム内のおよび/またはエンドユーザシ ステム内に保持されたデータ上で動作するようにプロキシアプレットをアドレシ ング且つ実行し、実行位置の取り込まれたアプレットとインターフェースする。 図5から図9には以下の項目を示す: 図5:ウェブページに埋め込まれたJAVAアプレット;図6:JAVAアプレットは 実行可能なコードをクライアント内にダウンロードすることによりファイアウォ ールを通り抜ける;図7:ケージースネアはHTMLを変換し且つプロキシアプ レットをブラウザ内に代用する:図8:プロキシアプレットはケージサーバープ ロセスへの接続を確立する;図9:アプレットはケージ内にロードされ、GUI パイプは確立されたプロキシアプレットへロードされる。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),OA(BF,BJ,CF ,CG,CI,CM,GA,GN,ML,MR,NE, SN,TD,TG),AP(GH,KE,LS,MW,S D,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,DK,EE,ES,F I,GB,GE,GH,HU,IL,IS,JP,KE ,KG,KP,KR,KZ,LC,LK,LR,LS, LT,LU,LV,MD,MG,MK,MN,MW,M X,NO,NZ,PL,PT,RO,RU,SD,SE ,SG,SI,SK,SL,TJ,TM,TR,TT, UA,UG,US,UZ,VN,YU,ZW (72)発明者 クラマー,アンドレ イギリス国 シービー3 4ビージェイ ケンブリッジ,クレア ストリート 16

Claims (1)

  1. 【特許請求の範囲】 1.外部ソースから取り込まれたデータストリームに応答し且つデータストリー ムに含まれるか又は関連する1以上のモバイルプログラムコンポーネントに応答 して動作するようにプログラムされたエンドユーザコンピュータシステムであっ て、 a.該モバイルプログラムコンポーネントが1以上の実行位置に供給され及び/ 又は保持され、該1以上の実行位置が、所望の様式で動作するように実行される 前に、該エンドユーザシステムから又は該エンドユーザシステム内で選択的に切 り離されることと、 b.該実行位置が、該プログラムコンポーネントのうちの1以上が保持される位 置であり、且つ該データストリームの該外部ソースとの1以上のインターフェー スおよび該エンドユーザシステムとの1以上のインターフェースを有する位置で あり、それにより該実行位置内の該プログラムコンポーネントが、データの該外 部ソース及び/又は該データ及び/又は該エンドユーザシステムによって保持さ れるプログラムとインタラクトするように該実行位置内で実行され得ることと、 c.該実行位置と該エンドユーザシステムとの間の該インターフェースの動作が 、該実行位置内で該プログラムコンポーネントにより特定の制御された様式でイ ンタラクトされているデータ及び/又は特定の様式で動作するプログラムコンポ ーネントのみが該エンドユーザシステムまで又は該エンドユーザシステムから送 られ得るようにプログラムされていることと、 を特徴とする、エンドユーザコンピュータシステム。 2.前記入来データストリームをスクリーニングすることにより、該データスト リーム内に存在するか又は該データストリームと関連するモバイルプログラムコ ンポーネントを識別し、該モバイルプログラムコンポーネントのうちの選択され たいくつか又は全てが、所望の様式で動作するように実行される前に、前記エン ドユーザシステムから選択的に切り離されたか又は該エンドユーザシステム内で 切り離された1以上の前記プログラム実行位置に送られるようにプログラムされ ることを特徴とする、請求項1に記載のエンドユーザコンピュータシステム。 3.前記実行位置が、前記データストリームの前記外部ソースと下流の前記エン ドユーザシステムとの中間に位置するコンピュータにより提供され、該コンピュ ータが該エンドユーザシステムから切り離され且つ1以上のインターフェースを 介して該エンドユーザシステムと通信し、該1以上のインターフェースの動作が 、前記データ及び/又は前記プログラムコンポーネントが選択的且つ制御された 様式で通過することを可能にするように制御されていることを特徴とする、請求 項1または2に記載のエンドユーザコンピュータシステム。 4.前記実行位置が、単一のソース及び/又は前記エンドユーザシステムに対す る外部データのデスティネーションにより動作するように、且つ、該エンドユー ザシステム内の単一のデスティネーションへ又は該単一のデスティネーションか ら前記データを送信又は受信するように、プログラムされていることを特徴とす る、請求項1から3のいずれかに記載のエンドユーザシステム。 5.第1の実行位置が、複数の前記選択されたモバイルプログラムコンポーネン トを受信し、該プログラムコンポーネントの機能および/または特徴を識別し、 該機能または特徴に従って、該プログラムコンポーネントのうちの選択されたい くつかを他の切り離された実行位置に方向づけることを特徴とする、請求項1か ら3のいずれかに記載のエンドユーザシステム。 6.前記他の実行位置が、前記第1の実行位置とは異なるレジームで動作するよ うにプログラムされており、それによって前記プログラムコンポーネントの異な る実行を提供することを特徴とする、請求項5に記載のエンドユーザシステム。 7.各々が、異なる外部データソースおよび前記エンドユーザシステム内の異な るデスティネーションにより動作するようにプログラムされている、複数の実行 位置を備えることを特徴とする、請求項1に記載のエンドユーザシステム。 8.前記実行位置が、該実行位置と前記外部データソースとの間、および/また は該実行位置の下流の前記エンドユーザシステムとの間に1以上のファイアウォ ールを備えることを特徴とする、請求項1から7のいずれかに記載のエンドユー ザシステム。 9.前記実行位置が、特定の様式で前記外部ソースから受け取る前記プログラム コンポーネントを動作させるように適応され、且つ、特定の所定の基準を満たす データおよび/またはプログラムコンポーネントが該実行位置の下流の前記エン ドユーザシステムに単独で送信されることを可能にするように適応されたプログ ラム手段を備えることを特徴とする、請求項1から8のいずれかに記載のエンド ユーザシステム。 10.前記外部データソースが、JAVAまたはJAVASCRIPT技術で動 作すること、および前記実行位置内でインターセプトされ実行される前記プログ ラムコンポーネントがアプレットであることを特徴とする、請求項1から9のい ずれかに記載のエンドユーザシステム。 11.前記実行位置を動作させるプログラムが、該実行位置内で実行されるべき 前記アプレットが有するアドレスを識別し、該アドレスを、ベリファイ済みアプ レットに対応する新しいアドレスに変換し、該ベリファイ済みアプレットが、前 記エンドユーザシステム内に保持されており、該エンドユーザシステム内で実行 されるように適応され、且つ該エンドユーザシステム内で該アプレットとインタ ーフェースすることにより該実行位置内の該アプレットを実行するように適応さ れていることを特徴とする、請求項10に記載のエンドユーザシステム。 12.前記エンドユーザシステムが、公衆アクセスサービスプロバイダであるこ とを特徴とする、請求項1から11のいずれかに記載のエンドユーザシステム。 13.コンピュータシステム上で実行することが望まれる1以上のモバイルプロ グラムコンポーネントを含むか又は関連して有するデータストリームを、外部ソ ースからエンドユーザシステムに取り込むことを含む、エンドユーザコンピュー タシステムの動作方法であって、該方法が、 a.該エンドユーザシステムからのデータ及び/又は該外部ソースからのデータ とインタラクトするように、該エンドユーザシステムから又は該エンドユーザ内 で選択的に切り離された、1以上のプログラム実行位置内で該モバイルプログラ ムコンポーネントを実行する工程と、 b.特定の様式で動作するプログラムコンポーネントおよび/またはそのような インタラクションから得られたデータを、特定の基準に対応するデータおよび/ またはプログラムコンポーネントが該エンドユーザシステムおよび/または該外 部ソース内の特定の位置に、又は該特定の位置から送信されることを可能にする インターフェースを介して、該エンドユーザシステムに送る工程と、を含む、方 法。 14.前記入来データストリームをスクリーニングすることにより、該データス トリーム内に存在するか又は該データストリームと関連する前記モバイルプログ ラムコンポーネントを識別すること、および該モバイルプログラムコンポーネン トのうちの選択されたいくつか又は全てが、所望の様式で動作するように実行さ れる前に、前記エンドユーザシステムから又は該エンドユーザシステム内で選択 的に切り離された1以上の前記プログラム実行位置に送られることを特徴とする 、エンドユーザコンピュータシステム1を動作させることを特徴とする請求項1 3に記載の方法。 15.前記入来データストリームが、JAVAまたはJAVASCRIPT言語 で書かれており、前記実行位置に取り込まれるべき1以上のアプレットを含むか 又は関連しており、該実行位置の動作プログラムおよび/または前記エンドユー ザシステムの動作プログラムが、取り込まれた該アプレットのアドレスを識別し て該エンドユーザシステム内のプロキシアプレットのアドレスに対応する、該ア プレットのための新しい又は変換されたアドレスを作成し、それにより、該エン ドユーザシステムが該取り込まれたアプレットをダウンロードするように作動さ れたときに、該エンドユーザシステムが、該プロキシアプレットをアドレス指定 し実行することにより該入来データストリーム内のデータ又は該エンドユーザシ ステム内に保持されたデータ上で動作し、該実行位置内の該取り込まれたアプレ ットとインターフェースすることを特徴とする、請求項13または14のいずれ かに記載の方法。 16.エンドユーザコンピュータシステムに取り込まれる入来データストリーム 内の、又は該入来データストリームと関連する、少なくとも1つのモバイルプロ グラムコンポーネントの実行用の位置を動作させるプログラムであって、該モバ イルプログラムコンポーネントの1以上が該エンドユーザコンピュータシステム 上で実行されるべきものである、プログラムであって、該プログラムにより、 a.該入来モバイルプログラムコンポーネントのうちの少なくとも選択されたい くつかが、下流の該エンドユーザシステムから選択的に切り離された少なくとも 1つの実行位置に方向づけられ、 b.該選択されたモバイルプログラムコンポーネントが、該実行位置内で実行さ れて、それにより該エンドユーザシステムからのデータ及び/又は該外部ソース からのデータとインタラクトし、 c.特定の様式で動作するプログラムコンポーネントおよび/またはそのような インタラクションから得られたデータが、特定の基準に対応するデータおよび/ またはプログラムコンポーネントが該エンドユーザシステムおよび/または該外 部ソース内の特定の位置に、又は該特定の位置から送信されることを可能にする インターフェースを介して、該エンドユーザシステムに送られる、 プログラム。 17.請求項1に記載のエンドユーザシステム内で用いられる実行位置であって 、データの外部ソースとプログラムコンポーネントとの間の切り離しインターフ ェースとして作用するように適応されたコンピュータ機構と、該コンピュータ機 構から又は該コンピュータ機構までデータを受信または送信するエンドユーザコ ンピュータシステムとを含み、該コンピュータ機構が、該プログラムコンポーネ ントのうちの少なくとも選択されたいくつかを、該外部ソースから該コンピュー タ機構に転送するか及び/又は保持するようにプログラムされており、該コンピ ュータ機構内の該選択されたプログラムコンポーネントを実行するようにプログ ラムされており、データおよび/またはプログラムコンポーネントが、選択され た特定の様式で動作する又は動作している該エンドユーザシステムに送信される ことを可能にするようにプログラムされていることを特徴とする、実行位置。 18.コンピュータシステムであって、 A.外部ソースから取り込まれたデータストリームに応答して動作するように プログラムされている1以上のコンピュータを含むエンドユーザシステムであっ て、該データストリームが、1以上のモバイルプログラムコンポーネントを含む か又は関連して有する、エンドユーザシステムと、 B.該モバイルプログラムコンポーネントのうちの少なくとも1つを実行し、 該実行の結果を、該エンドユーザシステムコンピュータのうちの1以上に供給す る、少なくとも1つのプログラム実行位置と、 を含み、 i.該プログラム実行位置が、該エンドユーザシステムコンピュータから物理的 に切り離されていることと、 ii.該入来データストリームがスクリーニングされることにより、該データス トリーム内に含まれるか又は関連するモバイルプログラムを検出することと、 iii.該データストリームの該検出されたモバイルプログラムコンポーネント のうちのいくつか又は全てが、1以上の該切り離されたプログラム実行位置のう ちの1以上に送られて、所望の様式で動作すべき該プログラム実行位置内で実行 されることと、 iv.該プログラム実行位置が、該検出されたプログラムコンポーネントのうち の1以上が保持される位置であり、且つ該データストリームの該外部ソースとの 1以上のインターフェースおよび該エンドユーザシステムコンピュータとの1以 上のインターフェースを有する位置であり、それにより該プログラム実行位置内 の該プログラムコンポーネントが、データの該外部ソース及び/又は該データ及 び/又は該エンドユーザシステムコンピュータによって保持されるプログラムと インタラクトするように、該エンドユーザシステムコンピュータから切り離され た該プログラム実行位置内で実行され得ることと、 v.該プログラム実行位置と該エンドユーザシステムコンピュータとの間の該イ ンターフェースの動作が、該プログラム実行位置内で該プログラムコンポーネン トにより特定の制御された様式でインタラクトされているデータ及び/又は特定 の様式で動作するプログラムコンポーネントのみが該エンドユーザシステムコン ピュータまで又は該エンドユーザシステムコンピュータから送られ得るようにプ ログラムされていることと、 を特徴とする、コンピュータシステム。
JP10510538A 1996-08-09 1997-08-07 切り離された実行位置 Pending JP2000516740A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GBGB9616783.8A GB9616783D0 (en) 1996-08-09 1996-08-09 Method and apparatus
GB9616783.8 1996-08-09
GBGB9703773.3A GB9703773D0 (en) 1997-02-24 1997-02-24 Method and apparatus
GB9703773.3 1997-02-24
PCT/IB1997/000973 WO1998008163A1 (en) 1996-08-09 1997-08-07 Isolated execution location

Publications (1)

Publication Number Publication Date
JP2000516740A true JP2000516740A (ja) 2000-12-12

Family

ID=26309846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10510538A Pending JP2000516740A (ja) 1996-08-09 1997-08-07 切り離された実行位置

Country Status (11)

Country Link
EP (1) EP0978036B1 (ja)
JP (1) JP2000516740A (ja)
KR (1) KR100473022B1 (ja)
AT (1) ATE209375T1 (ja)
AU (1) AU724259B2 (ja)
CA (1) CA2262905C (ja)
DE (1) DE69709788T2 (ja)
GB (1) GB2316206B (ja)
HK (1) HK1004831A1 (ja)
IL (1) IL128405A0 (ja)
WO (1) WO1998008163A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001514411A (ja) * 1997-08-28 2001-09-11 マイクロソフト コーポレイション 信頼できない実行可能コードに関するセキュリティ向上

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001195247A (ja) * 2000-01-07 2001-07-19 Nec Corp ソフトウェアの安全性を検証し保証するシステム及び方法
GB2359908B (en) * 2000-03-04 2004-09-15 Motorola Inc Communication system architecture and method of controlling data download to subscriber equipment
GB2365158A (en) * 2000-07-28 2002-02-13 Content Technologies Ltd File analysis using byte distributions
GB2366692B (en) 2000-08-31 2002-08-14 F Secure Oyj Virus protection in an internet environment
EP1410559A4 (en) * 2001-03-01 2004-11-24 Invicta Networks Inc SYSTEMS AND METHODS PROVIDED FROM A PROTECTED NETWORK FROM EXTERNAL NETWORK ACCESS
US7127618B2 (en) * 2001-06-28 2006-10-24 Koninklijke Philips Electronics N.V. Data protection via reversible data damage
GB2381090B (en) * 2001-10-17 2005-02-02 Bitarts Ltd Software loading
US20030093689A1 (en) * 2001-11-15 2003-05-15 Aladdin Knowledge Systems Ltd. Security router
US20030115479A1 (en) * 2001-12-14 2003-06-19 Jonathan Edwards Method and system for detecting computer malwares by scan of process memory after process initialization
TWI619038B (zh) 2011-11-07 2018-03-21 Admedec Co Ltd Safety box

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4545016A (en) * 1983-01-07 1985-10-01 Tandy Corporation Memory management system
US5398196A (en) * 1993-07-29 1995-03-14 Chambers; David A. Method and apparatus for detection of computer viruses
US5481715A (en) * 1993-12-15 1996-01-02 Sun Microsystems, Inc. Method and apparatus for delegated communications in a computer system using trusted deputies
US5623600A (en) * 1995-09-26 1997-04-22 Trend Micro, Incorporated Virus detection and removal apparatus for computer networks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001514411A (ja) * 1997-08-28 2001-09-11 マイクロソフト コーポレイション 信頼できない実行可能コードに関するセキュリティ向上

Also Published As

Publication number Publication date
DE69709788T2 (de) 2002-09-19
GB9716708D0 (en) 1997-10-15
GB2316206B (en) 1998-10-21
EP0978036A1 (en) 2000-02-09
AU724259B2 (en) 2000-09-14
AU3631897A (en) 1998-03-06
WO1998008163A1 (en) 1998-02-26
GB2316206A8 (en) 1998-05-18
ATE209375T1 (de) 2001-12-15
KR20000068092A (ko) 2000-11-25
GB2316206A (en) 1998-02-18
EP0978036B1 (en) 2001-11-21
HK1004831A1 (en) 1998-12-11
IL128405A0 (en) 2000-01-31
CA2262905C (en) 2004-10-26
DE69709788D1 (de) 2002-02-21
KR100473022B1 (ko) 2005-03-07
CA2262905A1 (en) 1998-02-26

Similar Documents

Publication Publication Date Title
US6065118A (en) Mobile code isolation cage
US11829473B2 (en) System and method for detecting malicious files by a user computer
US9223963B2 (en) Systems and methods for behavioral sandboxing
US8990944B1 (en) Systems and methods for automatically detecting backdoors
US6584508B1 (en) Advanced data guard having independently wrapped components
JP4405248B2 (ja) 通信中継装置、通信中継方法及びプログラム
US7904959B2 (en) Systems and methods for detecting and inhibiting attacks using honeypots
JP2020095753A (ja) マルウェアのランタイム中の自動検出
US6684329B1 (en) System and method for increasing the resiliency of firewall systems
US7647631B2 (en) Automated user interaction in application assessment
US20150264058A1 (en) Systems and Methods for Inhibiting Attacks on Applications
KR101089154B1 (ko) 가상환경을 이용한 네트워크 기반 망분리 장치, 시스템 및 방법
CN110647744B (zh) 文件系统中的取证分析的方法、装置、介质和系统
US11757838B2 (en) Web application firewall for an online service
US11374946B2 (en) Inline malware detection
KR101847381B1 (ko) 전자메일 제공 시스템 및 그 방법
WO2003015373A1 (en) Method and apparatus for detecting improper intrusions from a network into information systems
JP2000516740A (ja) 切り離された実行位置
US11636208B2 (en) Generating models for performing inline malware detection
US11880465B2 (en) Analyzing multiple CPU architecture malware samples
US20060156400A1 (en) System and method for preventing unauthorized access to computer devices
KR101934516B1 (ko) 메일열람시 보안을 위한 전자메일처리시스템
WO2021015941A1 (en) Inline malware detection
US11863586B1 (en) Inline package name based supply chain attack detection and prevention
US20220245249A1 (en) Specific file detection baked into machine learning pipelines