JP4184604B2 - コンピュータ/通信ネットワークで実行可能コードのネットワーク・セキュリティを講じるための装置、方法及びシステム - Google Patents
コンピュータ/通信ネットワークで実行可能コードのネットワーク・セキュリティを講じるための装置、方法及びシステム Download PDFInfo
- Publication number
- JP4184604B2 JP4184604B2 JP2000551521A JP2000551521A JP4184604B2 JP 4184604 B2 JP4184604 B2 JP 4184604B2 JP 2000551521 A JP2000551521 A JP 2000551521A JP 2000551521 A JP2000551521 A JP 2000551521A JP 4184604 B2 JP4184604 B2 JP 4184604B2
- Authority
- JP
- Japan
- Prior art keywords
- network
- executable code
- keyword
- unique
- network language
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Description
発明の分野
本発明は、コンピュータ・ネットワークや通信ネットワークのようなネットワークにおいてセキュリティ機能を確立しかつ強化するための技術に関するものである。より詳しくは、本発明はコンピュータ・ネットワークあるいは通信ネットワークにおいて実行可能コード用のネットワーク・セキュリティを講じるための装置、方法及びシステムに関連する。
【0002】
発明の背景
ネットワーク・セキュリティは、企業内で運用されるイントラネットでも、またより大きいあるいはよりグローバルなデータに対するインターネットやワールドワイドウェブのようなコンピュータ・ネットワーク及び通信ネットワークでもネットワークユーザにとってますます重要な問題になって来ている。ネットワーク・セキュリティ機能を講じるためには、これまでアクセス制御、保護通信、セキュリティ支援及びセキュリティポリシー・マネジメントなどの価値のある重要な技術が開発されている。
【0003】
アクセス制御は、特定のユーザまたはエンドシステム、あるいはユーザ起動通信が特定のコンピューティング・リソースまたは通信リソースにアクセス権を与えられるべきかどうかの判断に関係する。例えば、企業イントラネットのような同じネットワーク上で全て利用可能であっても、ある特定のユーザあるいはユーザの部門は電子メール(email)機能性へのアクセス権を与えるが、経理機能についてはアクセス権を与えないようにすることができる。
【0004】
同様に、他のセキュリティ機能(保護通信と称する)は、情報あるいは他のデータが無許可の個人には確実に利用できないようにする、例えば無許可のユーザがアクセスしたり、修正したり、あるいは読み取ったり、コピーしたりすることができないようにするための方法に関係する技術である。また、他のセキュリティ機能には、ネットワークシステムの他の部分のセキュリティを確保するように種々のネットワーク機器でサポートし、ネットワークのセキュリティポリシーを決める実際のネットワークデータを管理することが含まれる。
【0005】
しかしながら、セキュリティ対策が発展するにつれて、セキュリティ侵害戦術はますます巧妙化して来た。パスワード保護及び個人識別番号(「PIN」番号)は、コンピュータのような機器・装置の物理的セキュリティを得るため、また口座、記録、プログラム及びその他の機密性が高い情報へのアクセス制御のようなコンピュータシステム及びコンテンツに対するアクセス制御を達成するために用いられて来た周知のセキュリティ対策である。このようなセキュリティ対策をくぐり抜ける種々の試みとしては、例えば適正なプログラムまたはアプリケーションの代わりに(ユーザが気付かないまま)ローグ・プログラムあるいは他のアプリケーションが使用される「トロイの木馬」攻撃がある。ユーザが適正なプログラムまたはアプリケーションを使おうとすると、代わりにローグ・プログラムまたはローグ・アプリケーションが実行され、これに伴ってしばしば有害な結果がもたらされる。従来コンピュータ「ハッカー」によって使用される周知の種々の「トロイの木馬」攻撃は、実行時にユーザのパスワードあるいは口座PIN番号をハッカーに送信するプログラムのインストールを伴うものであった。そうすることによって、このような攻撃はユーザの銀行口座のように従来ユーザのパスワードあるいはPIN番号によって保護されていたどのようなシステムでも、それぞれの状況に応じたセキュリティ侵害を可能にする。
【0006】
Java(登録商標)言語、コンパイラ、インタプリタ及び全Javaアーキテクチャ(個別に、また集合的に「Java」あるいは「Javaアーキテクチャ」と称する)は、コンピュータ/通信ネットワーキング・アプリケーション及びその他のアプリケーションのためにサン・マイクロシステムズ(Sun Microsystems,Inc.)社(「サン(Sun)」)によって開発された。Javaは、ネットワークから(すなわち、クライアント‐サーバ・ネットワークのネットワークサーバ側から)発する上記のような「トロイの木馬」またはその他の攻撃を阻むように設計されている。ワールドワイドウェブ(「ウェブ」)及びその他のインターネット・アプリケーションに関しては、現行の多くのウェブブラウザはJava対応で(すなわち、ウェブブラウザにJava仮想マシン(「JVM」)用のプログラム命令が入っている)、これによってJavaバイトコードのローカル実行が可能になる。ネットワークユーザは、Java対応ブラウザを用いてウェブページにアクセスして情報を要求するとき、「アプレット」または「アップレット・パッケージ」と呼ばれる実行可能なアプリケーションまたはプログラム・パッケージをバイトコード形式でユーザ側エンドシステム(クライアント‐サーバ・ネットワークのクライアント側)にダウンロードすることができる。そして、アプレット(バイトコード形式)はウェブブラウザのJVMによって実行され、ネットワークからダウンロードされた何らかのデータと結合されて、ユーザ側エンドシステム上でローカルに実行されるアプリケーションが得られる。このようなローカルで走るアプリケーションとしては、対話型ウェブページ、対話型ゲーム・アプリケーション、あるいは対話型スプレッドシートがある。
【0007】
このような根本的に外来のプログラムコードをローカル実行のためにダウンロードする場合、固有のセキュリティ問題が起こり得、従ってそれらの問題は従来Javaアーキテクチャ内で前もって対応がなされ、回避されるようになっている。Javaアーキテクチャには、このようなダウンロードされたプログラムがユーザのプライベートリソースあるいはネットワーク外リソースに干渉するのを防ぐセキュリティ機能が含まれている。「Javaサンドボックス」と呼ばれるこの機能で、Javaアーキテクチャは(リモート側ウェブサーバからローカル側エンドシステムにダウンロードされた)信用できないアプレットあるいは潜在的に犯意のあるアプレットがローカル側のハードディスク・ドライブのようなプライベートリソースに対して読取り、書込み、あるいは実行等をするのを阻止するようになっている。他のセキュリティ機能の中でも特徴的なのは、Java言語は、ポインタが任意の記憶場所を読み取ったり、そこに書き込むことができないようになっているタイプセーフ言語であるということである。さらに、入ってきたアプレットは、実行に先だって、バイトコードを潜在的に不正なコマンドの有無について調べるJavaコード・ベリファイヤを通して走らせることにより、正当なアプレットだけがそのようなローカル側エンドシステムのJVMによって実行されるようになっている。この点に関しては、例えば、サン・マイクロシステムズ社のウェブサイトjava.sun.com及びjavasoft.comで入手可能な「Javaセキュリティ白書(Java Security Whitepaper)」;エー・タネンボーム(A.Tanenbaum)著「コンピュータ・ネットワーク(Computer Networks)」(プレンティスホール(Prentice−Hall)社刊、1996年第3版)718‐20ページ;ディー・フラナガン(D.Flanagan)著の「Javaの概要」(オー・レイリー(O’Reilly)社刊、1997年第2版)7、139−43ページ;を参照のこと。
【0008】
Javaアーキテクチャは、ネットワーク(あるいはネットワークサーバ)から発生するセキュリティ侵害を防ぐが、それでもローカル・ユーザから(すなわち、ローカル側エンドシステムあるいはクライアント‐サーバ・ネットワークのクライアント側から)発生する潜在的セキュリティ侵害を阻止できるようにする必要が未解決のまま残されている。例えば、ローカル側エンドシステムの物理的セキュリティが破られるかあるいは他の何らかの形で危うくされた場合、アプレットをエミュレートするかまたは「攪乱する」ためのローグ・プログラムのようなローグ・プログラムあるいはウイルスがエンドシステムにローカルに記憶されることが起こり得る。従って、そのようなローカルにロードされたプログラムまたはアプレットが他意のない善意のユーザによって気付かれずに実行され、そのようなアプレットまたは他のプログラムのユーザのネットワーク・セキュリティを潜在的に危うくするのを防ぐことができるようにする必要がある。また、このようなさらなるセキュリティ対策は、ネットワーク・ハードウェアを追加することなく実行することができるべきであり、費用効果が高くあるべきであり、かつユーザ・トランスペアレントなものでなければならない。
【0009】
発明の要旨
本発明は、インターネットを含むサーバやルータのネットワークのローカル側エンドシステムのように、ネットワークのクライアント側から発生し得る侵害に対しネットワーク・セキュリティを上記のように強化するものである。このように強化されたセキュリティ機能は、好ましくはネットワークサーバ内でソフトウェアまたは他のプログラミング命令として実装され、その結果ネットワーク・ハードウェアの追加を必要とせず、高い費用効果が達成される。さらに、本発明は、ネットワークサーバの実施態様として実装された場合、完全にユーザ・トランスペアレントであり、ユーザはさらに何らかの操作を行う必要がなく、かつユーザは、大方の場合、この強化されたセキュリティ機能の実装を全く意識しないことが可能である。
【0010】
本発明の方法は、ユーザがそのパーソナルコンピュータまたはネットワークコンピュータのようなローカル側エンドシステムでネットワーク情報を要求すると、動作が開始される。このネットワーク情報は、例えばウェブページであってもよい。リモートサーバは、ネットワーク情報要求を受信すると、呼び出されたとき実行可能コードをダウンロードするようなキーワードがその要求されたネットワーク情報に含まれるかどうかを判断する。例えばウェブページの場合、リモートサーバは、要求されたウェブページが、ユーザによって呼び出されたときJavaバイトコードをユーザにダウンロードするようリモートサーバに要求する(キーワードとしての)アプレットタグを持つべきかどうかを判断する。
【0011】
要求されたネットワーク情報がアプレットタグのようなキーワードを含む場合、リモートサーバは対応する実行可能コードへの特有の参照を持つキーワードを生成し、その新しい特有の参照を用いて対応実行可能コードを保存する。さらにJavaとの関連で説明すると、例えば、新しい特有のJavaクラス名を持つアプレットタグが生成され、対応するアプレット・バイトコードがこの新しいクラス名の下に記憶される。次に、ウェブページのような要求されたネットワーク情報が生成され、一意のアプレットクラス名のような特有の参照を持つ全ての(アプレットタグのような)キーワードと共にユーザに送信される。
【0012】
その後、ユーザは、例えばウェブページのグラフィカル・ユーザインタフェース上でマウスをクリックすることによってキーワードを呼び出すことができる。この呼び出されたキーワードは、ユーザには気付かれないで、すなわちトランスペアレントで、リモートサーバだけに記憶された対応コードを一意に指定する。リモートサーバがユーザのウェブブラウザを介して呼び出されたコード要求を受信すると、特有の参照を持つ対応実行可能コードがローカル実行のためにユーザに対してダウンロードされる。
【0013】
「ハッカー」がリモートサーバによってウェブページにどのような特有の参照が生成され、次いでユーザにより呼び出されるかを前もって正確に知ることは、不可能ではないにしても、到底起こりそうにない。ローカル・セキュリティの侵害が発生し、(ローグ・アプレットのような)実行可能コードがローカルに記憶されたとしても、その実行可能コードは特有の参照(リモートサーバによって別途に、そして多分に別の時点に生成される)の下には記憶されてはいない。次いでユーザによってその特有の参照を持つキーワードが呼び出された場合、そのような(異なる参照を持つ)ローグ・アプレット他の実行可能コードがローカル・ユーザによって気付かれないまま実行されることはない。このように、本発明によれば、特有の参照を持つ対応コードだけが実行されることになる。
【0014】
これによって、本発明はネットワークからダウンロードされたこのような全ての実行可能コードが、ローカルに記憶されたローグ・プログラムによって「攪乱」されたり、あるいは模倣されたりするのを確実に防ぐ。むしろ、このような実行可能コードは、当然予測されるように、ユーザによって直接アクセスされる既知のあるいは信頼できるソースから各ウェブアクセス毎に新規にダウンロードされる。その結果、たとえ(ローグコードがローカルに記憶されることを可能にした)ローカルの物理的セキュリティ侵害があったとしても、ユーザのネットワーク・セキュリティは保全される。さらに、実施態様としては、本発明はネットワークサーバ内で実施され、その特有の参照及び対応するコードを生成する動作は全て完全にユーザ・トランスペアレントである:ユーザは特定のコマンド、コードあるいはパスワードを入れる必要がなく、この強化されたセキュリティ対策が実装されていることを意識しないことさえある。
【0015】
本発明の他の多くの長所及び特徴については、以下の本発明及び実施形態の詳細な説明、特許請求の範囲及び添付図面から容易に理解されよう。
【0016】
(発明を実施するための最良の形態)
上記のように、ローカル・ユーザ(すなわち、ローカル側エンドシステムあるいはクライアント‐サーバ・ネットワークのクライアント側)から発生し得る潜在的ネットワーク・セキュリティ侵害の影響を排除する必要が依然として存在する。ローカル側エンドシステムの物理的セキュリティがアプレットのようなネットワーク言語プログラムまたはアプリケーションがローカルに記憶されるような危険にさらされた場合、本発明によれば、そのようなローカルにロードされたプログラムあるいはアプレットが他意のない善意のユーザによって気付かれないまま実行されることはない。その結果、アプレットを攪乱する「トロイの木馬」または他のローグ・プログラムがローカルインストールされたと仮定した場合、本発明は、そのようなセキュリティ侵害にもかかわらず、そのようなローグ・プログラムが潜在的にローカル・ユーザのネットワーク・セキュリティを危険にさらすことを防ぐ。この強化されたセキュリティ機能は、好ましくはネットワークサーバ内のソフトウェアあるいは他のプログラミング命令として実装されて、その結果、追加のネットワーク・ハードウェアを必要とせず、高い費用効果が達成される。さらに、本発明は、ネットワークサーバの実施形態として実装されると、ユーザ・トランスペアレントであり、ユーザは追加の操作を行う必要がなく、また大方の場合この強化されたセキュリティ機能を意識しなくてもよい。
【0017】
図1は、本発明システムの実施形態60を図解した状態図で、本発明の方法及び動作の概要的全体像が示されている。図1に示すように、システムの実施形態60は、パーソナルまたはネットワークコンピュータのようなローカル側エンドシステム150及びリモートサーバ110で構成されている。リモートサーバ110は、通常リモートサーバシステム65の一部であり、リモートサーバシステムにはメモリまたは他の記憶機能も具備されている。また、図1においては、異なる期間を示すために実線と破線が用いてあり、実線は最初の期間を示し、破線はその後の期間を示す。
【0018】
図1において、ローカル側エンドシステム150は、ウェブブラウザあるいは他のインターネット通信プログラムを介して、ウェブページ要求のようなネットワーク情報要求を送信する(状態10)。この要求はリモートサーバ110によって受信される(状態15)。次に、リモートサーバ110は要求されたネットワーク情報が実行可能コードを呼び出すために用いられるアプレットタグのようなキーワードを1つ以上持つべきかどうかを判断する(状態20)。ネットワーク情報がこのようなキーワードを持つべきである場合、リモートサーバ110は、各々新しいJavaアプレットのクラス名のような新しい特有の参照を有するキーワードを生成する(状態25)。このような各キーワードに対応する実行可能コードはリモートサーバ110内あるいは追加の記憶容量手段内に保存される(状態30)。次に、リモートサーバ110は特有の参照を持つ各キーワードが含まれるその要求されたネットワーク情報を生成し(状態35)、そのネットワーク情報をローカル側エンドシステムに送信する(状態40)。その後、ローカル側エンドシステム150は、その特有の参照を用いる、あるいは有する実行可能コード要求を送信して、キーワードを呼び出すことができる(状態45)。この要求を受信すると(状態50)、リモートサーバ110は対応する実行可能コードをローカル側エンドシステム150に送信する(状態55)。
【0019】
図2は、サーバ130とより明確に指示されたリモートサーバ110及びローカルサーバ120のような本発明に基づくシステム実施形態を具有する典型的なネットワーク180を図解したブロック図である。図2に示すように、ネットワーク180には、ルータ125、サーバ130(より具体的にはリモートサーバ110及びローカルサーバ120)、ローカルエリア・ネットワーク(「LAN」)165、広域ネットワーク(「WAN」)115、他のネットワーク140及び複数のエンドシステム150のような複数の接続可能なあるいは接続された機器及び他のシステムが含まれている。エンドシステム150は、例えば、パーソナルコンピュータ、エンジニアリング・ワークステーション、ネットワークコンピュータ、またはウェブテレビジョン・システムあるいは個人用携帯型情報端末のようなネットワーク接続が可能な他の機器を含むことが可能である。ネットワーク180及び他のネットワーク140は、T1、E1、ISDN、ケーブルあるいは光ファイバ回線のような任意形態の通信チャンネル160を用いることが可能であり、また回線交換型あるいはパケットベース・ネットワーク接続のような任意の形態のネットワーク接続を用いることが可能である。例えば、種々の通信チャンネル160は、いくつかの場所では光ファイバ‐同軸混成ケーブル、他の場所ではツイストペア回線を用い、他のネットワーク140は公衆(または一般)交換電話回線網あるいは公衆または基幹インターネット・ルーティングシステムを用いることが可能である。リモートサーバ110及びローカルサーバ120のような種々のサーバ130は、通常、接続されたエンドシステム150、LAN165及びWAN115にファイル保存、プログラム保存、データベースのような種々のサービスを提供し、またインターネット及びイントラネット・サービスを提供することも可能である。例えば、ローカルサーバ120は、リモートサーバ110のような種々の他のサーバ130とのインターネット接続を提供するインターネット・サービスプロバイダであってもよい。また例えば、リモートサーバ110のような種々の他のサーバ130は、個人、銀行、証券会社のような会社または機関、またはウェブサイトを提供したり、あるいは他の何らかの形でウェブページを生成したり、オンライン・サービス、オンライン・マーケティングあるいはオンライン販売を提供する他の何らかの実体によって提供されるものであってもよい。また、リモートサーバ110及びローカルサーバ120を含む種々のサーバ130は、追加の記憶装置145、またはシステムのハードドライブあるいは他の磁気または光記憶装置のような他の記憶容量手段または記憶容量アクセス手段と接続することもできれば、これらを具有することも可能である。以下さらに詳しく説明するように、本発明による装置及び方法は、好ましくは、図2に図解したようなサーバ130、リモートサーバ110またはローカルサーバ120のようなシステム内で実施される。また、図5及び6に図解する装置実施形態との関連で以下さらに詳細に説明するように、本発明のシステムは内部記憶容量手段あるいは図2に示す記憶装置145のような外部記憶容量手段を具有することも可能である。
【0020】
ローカルサーバ120を介して、パーソナルコンピュータのようなエンドシステム150は一般にインターネットブラウザ・アプリケーションを用いてインターネット上のウェブサイトにアクセスすることができる。上記のように、このようなブラウザはJavaのようなネットワーク・プログラミング言語を実行するかあるいは走らせることができるものであってもよい。通常、エンドシステム150はブラウザを介してウェブページを要求し、そのウェブページはリモートサーバ110(あるいは別のサーバ130)からローカルサーバ120を通してパケットベースの形式でダウンロードされ、エンドシステム150上に表示される。このようなウェブページは、ハイパーテキスト・マークアップ言語(「HTML」)のような標準的言語、ダイナミックHTML、JavaScript、PerlまたはTclのようなスクリプト言語あるいは他の同等の言語を用いて作成することが可能であり、特に境界や区画部についてはマークアップ言語、スクリプト言語及びプログラミング言語同士あるいはこれらの間でぼやけが生じる場合がある。それ故、本願においては、ダウンロード可能な実行可能コードが得られるこのような言語は全て、Java及びJavaScriptのような言語を含めて個別に、また集合的に「ネットワーク言語」あるいは「ネットワーク・プログラミング言語」と称する。
【0021】
引き続き図2を参照して説明すると、要求されたウェブページは、ネットワーク・プログラミング言語をインボークし、コールし、あるいは指定するよう設計された特別な、または指定されたキーワードを含むことが可能である。例えば、Javaアプリケーションは「タグ」と呼ばれる、より詳しくは「アプレット」タグ(「<APPLET>」)と呼ばれるキーワードを用いてインボークされ、あるいはコールされる。(HTML4.0のようなHTMLの他のバージョンも、アプレットタグの拡張あるいは代替として企図されたオブジェクトタグ(「<OBJECT>」)と呼ばれる新しいタグをサポートするよう設計されている。それ故、本願においては、アプレットタグと言う場合、それはオブジェクトタグのような実行可能なネットワーク・プログラミング言語をインボーク又はコールする他のキーワードあるいはタグをも意味し、含意するものとする)。アプレットタグのようなキーワードは、通常、必要なあるいは望ましい属性、一般的には名前または参照属性、及び表示された時アプレットが使用する空間の大きさ(高さ及び幅属性)を有する。本願においては、キーワードは単に実行可能コードを指定するかまたは他の形で実行可能コードに対応する名前または参照属性を持ってさえいればよく、従って、名前あるいは参照属性は、キーワードが呼び出された時ダウンロードして実行されるコード(どこにあっても)に対応するか、あるいはそのようなコードを指す。より詳細にJavaに関連して説明すると、実行のためにダウンロードされるJavaプログラムはJavaコンパイラを用いてJavaソースコードから変換された「クラス」拡張子を有するコンピュータ可読のバイトコード形式になっている。オブジェクト指向プログラミング言語として、Javaは「クラス」をデータ及びデータを処理するメソッド(手順あるいは関数)の集まりと定義する。それ故、Javaアプレットはこのような参照属性として、「CODE」として知られているパラメータを用いてウェブブラウザにより実行のためにダウンロードされるJavaバイトコードのクラスに指名あるいは指定する。さらに、より一般的に言うと、このようなJavaバイトコードは、パラメータ「CODEBASE」を用いて別のサーバ130上にある、すなわちウェブページを提供しているサーバ以外のサーバ130上にあるJavaバイトコードのクラスの名前及び記憶場所を指定することにより指定することも可能であり、あるいはより速い同時ダウンロードを行うためにアーカイブパラメータを用いてJavaクラスファイルのグループ全体を指定することにより指定することも可能である。
【0022】
引き続き図2を参照して説明すると、エンドシステム150がウェブページを要求すると、そのウェブページはリモートサーバ110から(ローカルサーバ120を介して)ダウンロードされる。このページには通常(HTMLを用いてフォーマットされた)テキスト、スクリプト、及びアプレットタグのようなネットワーク言語キーワードが含まれている。エンドシステム150が、例えばハイパーテキストあるいはグラフィカル・ユーザインタフェースのボタン上でマウスクリックすることによりアプレットタグのようなキーワードを呼び出す時、ブラウザは要求されたアプレットをダウンロードするための要求をリモートサーバ110に送信する。その場合この要求にはアプレットタグで指定されたクラス名のような対応する参照が伴うか、あるいは含まれている。すると、リモートサーバ110は対応する要求されたコード(及び何らかの要求されたデータ)を送信し、このようなコードは次いでJVMのようなエンドシステム150のブラウザによって実行することが可能である。上記のように、実行可能コードは潜在的に未知かまたは信用できないソースからダウンロードされるので、Javaアーキテクチャは、従来、リモートサーバ110からのようにネットワークから起こり得るセキュリティ侵害をJavaサンドボックスやJavaコード・ベリファイヤのような機能を用いて防止するように設計されている。また、上に述べたように、本発明はローカルで、すなわちローカル側エンドシステム150あるいはローカルサーバ120から発生し得るセキュリティ侵害に対してより強化された保護を講じるものである。
【0023】
特定のネットワーク言語としてのJavaにさらに詳細に関連して、また以下に図3及び4を参照してより詳しく説明されるように、本発明の動的Javaクラスネーミングによれば、エンドシステム150がサーバ130に対して(例えばリモートサーバ110に対して)ウェブページを要求すると、サーバ130は全てのJavaアプレットが新しい特有の(あるいは一意の)クラス名を有する新しいウェブページを生成して、各アプレットのそれぞれ特有の(あるいは一意の)クラス名を用いて対応する実行可能Javaバイトコードを保存する。その後、エンドシステム150が実行可能Javaバイトコードを要求するためには、エンドシステム150はウェブページと共に与えられるその新しい特有の(あるいは一意の)クラス名を用いて要求しなければならず、このようにして要求すると、その時点で対応する実行可能なバイトコードがサーバ130によってダウンロードされる。ローカルで、すなわちエンドシステム150またはローカルサーバ120に保存されている他のJavaバイトコードがあれば、それらのJavaバイトコードは全て前に生成された異なる名前を用いて記憶されているはずであるから、そのようなJavaバイトコードがエンドシステム150によって気付かれずに実行されることはない;むしろ逆に、エンドシステム150のJVMはその時(リモートサーバ110のような)特定のサーバ130上でしか得られず、エンドシステム150あるいはローカルサーバ120上では(まだ)利用可能ではない新たに特有の名前を付されたJavaバイトコードを呼び出す。これによって、本発明の装置、方法及びシステムは、前にローカルに記憶されたJavaバイトコードがあっても、それらのJavaバイトコードが(別個に独立して新しく生成され、その新しく生成されたウェブページのアプレットタグに与えられた)新しい特有の(あるいは一意の)クラス名と正確に同一の名前を用いて記憶されているということは極めてありそうもないので、ネットワーク・セキュリティの強化が達成される。例えば、所望のセキュリティの程度によって、完全に一意のアプレットクラス名を例えばランダムジェネレータを用いて生成することも可能である;ローカルに記憶されたバイトコードは、あらかじめランダムに生成された一意のクラス名を推測によって知り、それを用いて前もって記憶された場合にのみ実行されるであろうが、このようなことは不可能ではないにしても、到底起こりそうにない。その結果、エンドシステム150の物理的セキュリティ侵害が起こって、不正あるいは不当なJavaバイトコードがローカルに記憶されたと仮定しても、そのローカルに記憶されたバイトコードは実行されないであろう。むしろ、エンドシステム150のウェブブラウザのJVMは、特有に命名されたバイトコードのみを要求し、その後実行することになる。従って、物理的セキュリティ侵害が起こって潜在的に不正なバイトコードがローカルに記憶されたと想定しても、本発明の動的ネーミングは、そのような実行されるバイトコードが全て、その都度新たに、既知のあるいは信頼できるソースから多分に直接受信されるようにするのに確実に有効に作用するから、それ以上ウェブブラウザのJVMによるJavaバイトコードの認識を伴わない潜在的実行のために害をこうむることはない。それによって、本発明の動的ネーミングは潜在的に不正な、ローカルに記憶されたバイトコードの無自覚ないしは無認識の実行を防止する。
【0024】
図3は、本発明に基づく好ましい方法の実施形態、すなわち実行可能コードのネットワーク・セキュリティを講じるための好ましい方法としての動的Javaクラスネーミングを図解したフローチャートである。図3において、図示実施形態の方法は、開始ステップ200で開始され、ステップ205でウェブページ「ABC」のようなウェブページ要求が受信される。このような要求は通常エンドシステム150により(そのウェブブラウザを介して)送信され、(ローカルサーバ120を介して)リモートサーバ110により受信される。次に、この方法は、通常リモートサーバ110を介して、要求されたウェブページが実行可能コードをインボークする、あるいはコールするよう設計された1つ以上のJavaアプレットタグまたは他のキーワードを有する(あるいは有するべきである)かどうかを判断する(ステップ210)。要求されたウェブページがそのようなアプレットタグを必要としない場合は、その要求されたウェブページを提供することが可能で(ステップ215)、方法は終了することができる(リターンステップ255)。ステップ210で要求されたウェブページが1つ以上のアプレットタグあるいは他のキーワードを必要とする場合は、方法はステップ220に進み、要求された名前、コード、コードベースあるいはアーカイブ属性のような参照属性として新しい特有のあるいは一意のクラス名を有するアプレットタグを生成する。次に、ステップ225で、方法はそのアプレット用のバイトコードをこの同じ特有あるいは一意のクラス名と共にあるいはクラス名の下に記憶する。次いで、方法は、要求されたウェブページにさらにアプレットタグが必要であるかどうかを判断する(ステップ230)。ステップ230でさらにアプレットタグが必要ならば、方法はステップ220及び225に戻り、第2の特有のあるいは一意のクラス名を有する第2のアプレットタグを生成して、その第2の特有あるいは一意のクラス名と共にあるいはクラス名の下にその第2のアプレット用のバイトコードを記憶する動作を行う。方法は、このような追加の各アプレット毎にステップ220と225の両方を通して続行する(ループする)。その際このような第3、第4、・・・、第n番目のアプレットに対して特有の名前を生成し、バイトコードを記憶する動作を、ステップ230でそれ以上後続アプレットが必要でなくなるまで繰り返した後、方法はステップ235に進む。方法は、ステップ235で、それぞれの新しい特有の(あるいは一意の)クラス名を持つ全てのアプレットタグを有する要求されたウェブページを生成し、供給する。その後、ステップ240で、それぞれ特有あるいは一意のクラス名を有する1つ以上のアプレット(アプレットクラスまたはアプレットクラス・パッケージ)の要求が受信されると、ステップ245で、方法は、そのような特有あるいは一意の各クラス名を有する対応アプレット・バイトコードを送信する。その送信された特有に命名されたアプレット・バイトコードは、次いで、例えばその特有のクラス名によりその要求を出した特定のエンドシステム150によって実行されることが可能である。ステップ240あるいは245の後、ウェブページ「DEF」または「GHI」のような1つ以上のウェブページがさらに要求されると(ステップ250)、方法はこのような追加の各ウェブページ毎にステップ210に戻って、繰り返し実行される。(ステップ250でそれ以上ウェブページが要求されなければ、方法は終了することが可能である(リターンステップ255)。
【0025】
図3には別途示されていないが、ステップ220で特有あるいは一意のクラス名を有するアプレットタグのような実行可能コードに特有の参照を持つキーワードを生成するために用いることが可能な多種多様な形態の方法あるいはプロシージャがある。上に述べたように、所望のセキュリティの程度によって、アプレットクラス名は各エンドシステム150のブラウザによって各ウェブページ・アクセス毎に一意にあるいは特有の形で(サーバ130により)生成することが可能である。例えば、非常に高いセキュリティが必要な場合は、アプレットクラス名は、ランダムジェネレータあるいは如何なる方法でも容易には予測することができない名前を生成する他の技術的方法またはアルゴリズムを用いて、ウェブページが要求された時点で新たに一意に生成することができる。このランダム法は、アプレットクラスそれ自身の編集及び編集されたJavaソースコードのリコンパイルを必要とすることがあるので、多くのアプリケーションの場合に望ましいよりも長い処理時間が費消されるかもしれない。ランダム法は、顕著なセキュリティが達成される一方、潜在的に処理時間がより長くなるため、ある所与のアプリケーションの場合は潜在的にあまりセキュリティが高くない他の方法がより望ましいこともあり得る。例えば、重要なセキュリティ問題が関わらない多くの消費者アプリケーションでは、1ページのテキストを10秒以内で動的にロードし、送信する能力のように、顧客満足のために高速性が要求される場合もある。従って、別の方法では、キーワード参照の所定の集合、及びやはり如何なる方法でも容易には予測することができない所望のサイズのアプレットクラス名のライブラリのような対応する実行可能コードを生成するステップを具有することも可能である。例えば、数100乃至数1,000の特有あるいは一意のアプレットクラス名のライブラリを対応アプレットクラス・バイトコードと共に生成し、あらかじめ保存するようにすることが可能である。このライブラリ法は、潜在的により多くのメモリまたは記憶容量を費消するが、所望のセキュリティの程度と所望の処理適時性の両方を達成することができるので、特有に命名されたアプレットタグが、要求されたウェブページに組み入れるのに容易に得られ、また対応する特有に命名されたアプレットバイトコード・クラスが、要求された時ダウンロードするのに容易に得られる。
【0026】
やはり所望のセキュリティレベルによって、動的に生成されるクラス名も、1つ1つのウェブページ・アクセス毎に完全に一意あるいは非常に特有とすることもできれば、より小さい識別性またはある程度の反復性を持たせて、一部の名前(及び対応する記憶バイトコード)が周期的に再使用されるか、あるいは他の時に単純に再使用されるようにすることもできる。例えば、「ハッカー」が、物理的セキュリティ侵害をユーザが認識することなく、あるいは他の何らかの形で物理的セキュリティ侵害が検知されることなく、ライブラリ全体(あるいはライブラリの重要な部分)をコピーして、対応するコードをエンドシステム150あるいはローカルサーバ120にローカル記憶することができるというようなことは極めて起こりそうにないというセキュリティ上の仮定の下に、数1,000の名前のライブラリ及びこれに対応するコードを生成して、周期的に1つ以上のウェブページ・アクセスのために使用することも可能である。より高いセキュリティレベルが関わっている場合は、完全に一意のクラス名が望ましいかもしれない。
【0027】
上に述べたように、広義における本発明は、ネットワーク上でダウンロードすることが可能な実行可能コードに強化されたセキュリティ機能を講じる技術に関するものであり、ネットワーク・プログラミング言語としてのJava、スクリプト言語としてのJavaScript、マークアップ言語としてのHTMLに、あるいは実行可能コードのダウンロードを起動させるキーワードとしてのアプレットまたはオブジェクトタグに限定されるものではない。それ故、図4は、本発明による実行可能コードネットワーク・セキュリティを講じる方法をより一般的に図解したフローチャートであり、本発明は、あらゆる形態のダウンロード可能な実行可能コードについてこのようなより広いネットワーキング環境で利用することが可能である。図示の方法は、開始ステップ300で開始され、ステップ310で、通常(図2に図解されているようにように)エンドシステム150からリモートサーバ110または他のシステムに送信されたネットワーク情報要求が受信される。ネットワーク情報は、ワールドワイドウェブ・ページの形とすることもできれば、他の任意の形態のフォーマットあるいはコンテンツを有することも可能である。次に、この実施形態の方法は、ステップ310で、要求された情報が、例えばJavaのアプレットまたはオブジェクトタグのような実行可能コードをインボーク又はコールすることが可能な1つ以上のキーワードを有する(あるいは有するべきである)かどうかを判断する。ステップ310で、要求されたネットワーク情報がこのようなキーワードを持っていないかまたは持っているべきではない場合は、その要求されたネットワーク情報は提供することが可能で(ステップ315)、方法は終了することができる(リターンステップ350)。ステップ310で、要求されたネットワーク情報がキーワードを持っているべきである場合は、方法は、例えば対応する実行可能Javaコードを参照する特有のJavaクラス名を持つアプレットタグを生成する等、対応する実行可能コードに対して特有あるいは一意の参照を有するキーワードを生成する(ステップ320)。この対応する実行可能コードは、例えば対応Javaバイトコードがその特有のクラス名と共に保存される等、その特有の参照と共に、またはその下に、あるいは特有の参照によってアクセス可能なように保存される(ステップ325)。上に図3を参照して説明したように、このようなステップ320のキーワード生成は、ランダム生成や所定の集合(ライブラリ)形成を含めて様々な仕方で行うことが可能である。ステップ320及び325の後、方法は、要求されたネットワーク情報でさらにキーワードが必要かどうかを判断して(ステップ330)、さらなるキーワードが必要ならば、そのような追加の各キーワード毎にステップ320及び325を繰り返し、各キーワード毎に特有の参照を生成し、対応するコードを保存する。ステップ330で追加のキーワードが必要でない場合、方法は、例えば全てのアプレットあるいはオブジェクトタグがそれぞれの一意のアプレットクラス名を有するウェブページを提供する等、全てのキーワードがそれぞれ特有の参照を有するネットワーク情報を提供する(ステップ335)。その後、特有の参照を有する要求が受信されると(ステップ340)、方法は、例えば対応JavaバイトコードをウェブブラウザのJVMによって実行されるように供給する等、実行可能コードを供給する(ステップ345)。ステップ315及び345の後、あるいはステップ340で要求が全く受信されなかった場合は、方法は終了することができる(ステップ350)。
【0028】
図5は、本発明に基づく装置400を図解したブロック図である。上に述べたように、この実施形態においては、装置400はサーバ130のような、より具体的にはリモートサーバ110またはローカルサーバ120のようなシステム内に内蔵され、設けられ、あるいは実装される。このようなシステムは、追加の記憶装置145あるいは他の記憶容量手段を含むことも可能である。図5において、装置400は、受信器(あるいは受信するための手段)410、判断器(あるいは判断するための手段)420、ジェネレータ(あるいは生成するための手段)430、記憶装置(あるいは記憶のための手段)440、及び送信器(あるいは送信するための手段)450を具有する。以下さらに詳細に説明するように、装置400は図1、3及び4に示す状態を有し、かつこれらの図に示す方法を遂行する。受信器410及び送信器450は、それぞれ、T1通信回線、適切なISDN回線インタフェース、同軸ケーブルまたは光ファイバインタフェース、あるいはアナログインタフェースを介してネットワーク180に接続された場合にT1インタフェースのような所望のあるいは選択されたネットワークチャンネルに対応する任意の入力と出力(I/O)インタフェースを用いることができる。受信器410及び送信器450は、それぞれ、情報、コード、要求及びその他のメッセージを通常インターネットプロトコル・パケットのようなパケットベースのフォーマットで送受信するために用いられる。例えば、受信器410はウェブページ要求または他のネットワーク情報要求の受信のために用いられ、送信器450は要求されたウェブページの送信及びJavaバイトコードのような実行可能コードの送信のために用いられる。記憶装置440は、通常電磁ハードディスク・ドライブのような記憶システムである。記憶装置440は任意の形態の電磁式、光学式、または他の種類の記憶装置あるいはメモリコンポーネントとすることができ、システム実施形態の場合は、(装置400の別コンポーネントと考えるよりは)記憶装置145内に設けてもよい。この実施形態においては、以下に図6を参照してさらに詳細に説明するように、判断器420及びジェネレータ430は、マイクロプロセッサ、ディジタル信号プロセッサ、特定用途向け集積回路(「ASIC」)のようなプロセッサ、またはこのようなプロセッサあるいはICの集まりに組み込んだ形で実施される。
【0029】
引き続き図5を参照して説明すると、受信器410がウェブページ要求のようなネットワーク情報要求(通常エンドシステム150から送信される)を受信すると、判断器420は、その要求された情報が例えば、Javaのアプレットまたはオブジェクトタグのような実行可能コードをインボークする、あるいはコールすることが可能な1つ以上のキーワードを有する(あるいは有するべきである)かどうかを判断する。要求されたネットワーク情報にそのようなキーワードが含まれていない場合、判断器420はジェネレータ430に要求されたネットワーク情報を供給するよう命令し、すると、その要求されたネットワーク情報は送信器450によって(種々のルータ125及びサーバ130を介してエンドシステム150に)送信される。要求されたネットワーク情報がキーワードを持っているべきである場合は、判断器420は、例えば対応する実行可能Javaバイトコードを参照する特有のJavaクラス名を有するアプレットタグを生成する等、対応する実行可能コードに対して特有あるいは一意の参照を有するキーワードを生成するようジェネレータ430に指示する。また、ジェネレータ430は、例えば対応Javaバイトコードをその特有のクラス名と共に記憶する等、対応する実行可能コードをその特有の参照と共に、その参照の下に、あるいはその参照でアクセス可能に記憶装置440に記憶する。上に図3及び4を参照して説明したように、このようなキーワード生成は、ランダム生成やライブラリ(所定の集合)形成を含め、ジェネレータ430によって様々な仕方で行うことが可能である。判断器420は、要求されたネットワーク情報でさらにキーワードが必要かどうかを判断し、必要な場合は、ジェネレータ430に、そのような追加の各キーワード毎に、特有の参照を生成して、各キーワード毎に対応する実行可能コードを(記憶装置440に)記憶するよう指示する。そのような追加のキーワードが必要でない場合は、ジェネレータ430は、(送信器450によるネットワーク送信のために)例えば全てのアプレットまたはオブジェクトタグがそれぞれの一意のアプレットクラス名を有するウェブページを提供する等、全てのキーワードがそれぞれ特有の参照を有するネットワーク情報を供給する。その後、判断器420による判断に従って特有の参照を有する要求が受信器410に受信されると、ジェネレータ430は、(やはり送信器450によるネットワーク送信のために)、例えばウェブブラウザのJVMによる実行のために対応Javaバイトコードを供給する等、対応する実行可能コードを供給する。
【0030】
図6は、本発明に基づく実施形態の装置500を図解したブロック図である。上に述べたように、図示実施形態においては、装置500はサーバ130、より詳しくはリモートサーバ110またはローカルサーバ120のようなシステム内に内蔵され、設けられ、あるいは実装される;このようなシステムは追加の記憶装置145あるいは他の記憶容量手段を具有することも可能である。図6において、装置500はネットワーク・インタフェース520、プロセッサ510及び記憶システム530を備える。ネットワーク・インタフェース420は、T1通信回線、適切なISDN回線インタフェース、同軸ケーブルまたは光ファイバインタフェース、あるいはアナログインタフェースを介してネットワーク180に接続された場合にT1インタフェースのような所望のあるいは選択されたネットワークチャンネルに対応する任意の入出力(I/O)インタフェースを用いることができる。ネットワーク・インタフェース520は、情報、コード、要求及びその他のメッセージを通常インターネットプロトコル・パケットのようなパケットベースのフォーマットで送受信するために使用され、(また図5を参照して上に説明した受信器410及び送信器450の機能を遂行する)。例えば、ネットワーク・インタフェース520は、ウェブページ要求または他のネットワーク情報要求の受信、要求されたウェブページの送信、Javaバイトコードのような実行可能コードの送信のために用いられる。記憶システム530は、任意の形態の磁気式、光学式、または他の種類の記憶装置あるいはメモリコンポーネントとすることができ、システム実施形態の場合は、(装置500の別コンポーネントと考えるよりは)記憶装置145内に設けてもよい。プロセッサ510は、(PCIバスのような)バス515を介してネットワーク・インタフェース520に接続することができ、また記憶システム530にも接続することが可能である(このような記憶システム530がサーバ130に接続することが可能な記憶装置145に内蔵されているのではなく、装置500に別個に内蔵されている場合)。プロセッサ510は、単一の集積回路(「IC」)とすることもできるし、あるいは複数の集積回路またはマイクロプロセッサ、ディジタル信号プロセッサ、ASIC、(RAM及びROMのような)付属メモリ、及び他のICや構成要素のような互いに接続され、編成されあるいはまとめられた他の複数の構成要素とすることも可能である。それ故、本願で使用するプロセッサという用語は、マイクロプロセッサ・メモリまたは追加のRAM、ROM、EPROMあるいはE2PROMのような付属メモリと共に以下にさらに詳細に説明するような機能を遂行する単一のプロセッサ、またはプロセッサの編成、マイクロプロセッサ、コントローラ、あるいは何らかの他の一まとまりの集積回路を等価的に意味し、かつ包含するものと解すべきである。プロセッサ510は、図5を参照して上に説明した判断器420及びジェネレータ430の機能を遂行する。また、図3及び4を参照して上に説明したように、本発明の技術的方法は、付属メモリ及び他の等価の構成要素と共に後でプロセッサ510により実行されるプログラム命令のセットとしてプログラムし、記憶することが可能である。
【0031】
この実施形態においては、ネットワーク・インタフェース520は、ウェブページ要求のようなネットワーク情報要求を受信するよう動作可能であり、またウェブページや実行可能コードのようなネットワーク情報を送信するよう動作可能である。プロセッサ510は、動作可能に接続されたとき(すなわち電源オンでパワーアップされた状態の時)、プログラム命令のセットを通して応答動作し、要求されたネットワーク情報が例えばJavaのアプレットまたはオブジェクトタグのような実行可能コードをインボーク又はコールすることが可能な1つ以上のキーワードを有する(あるいは有するべきである)かどうかを判断する。要求されたネットワーク情報がそのようなキーワードを持っていないかまたは持っているべきではない場合、プロセッサ510は、要求されたネットワーク情報を供給するよう応答動作し、そのネットワーク情報ネットワーク・インタフェース520によって(種々のルータ125及びサーバ130を介してエンドシステム150に)送信される。要求されたネットワーク情報がキーワードを持っているべきである場合は、プロセッサ510は、例えば対応する実行可能Javaバイトコードを参照する特有のJavaクラス名を有するアプレットタグを生成する等、対応する実行可能コードに対して特有あるいは一意の参照を有するキーワードを生成するよう、また例えば対応Javaバイトコードをその特有のクラス名と共に記憶する等、対応する実行可能コードをその特有の参照と共に、その参照の下に、あるいはその参照によってアクセス可能に記憶システム530に記憶するよう応答動作する。図3及び4を参照して上に説明したように、このようなキーワードの生成は、ランダム生成及び所定の集合(ライブラリ)形成を含めて様々な仕方でプロセッサ510によって行われる。次に、プロセッサ510はさらに、要求されたネットワーク情報で追加のキーワードが必要かどうかを判断するよう応答動作し、追加のキーワードが必要ならば、プロセッサ510は特有の参照を生成して、そのような各キーワード毎に対応する実行可能コードを記憶システム530に記憶する。追加のキーワードが必要でない場合、プロセッサ510は、(ネットワーク・インタフェース520によるネットワーク送信のために)、例えば全てのアプレットあるいはオブジェクトタグがそれぞれの一意のアプレットクラス名を有するウェブページを提供する等、全てのキーワードがそれぞれ特有の参照を有するネットワーク情報を供給するよう応答する。その後、プロセッサ510による判断に従い特有の参照を有する要求がネットワーク・インタフェース520によって受信されると、プロセッサ510は、(ネットワーク・インタフェース520によるネットワーク送信のために)、例えば対応JavaバイトコードをウェブブラウザのJVMによる実行のために供給する等、対応する実行可能コードを供給するよう応答動作する。
【0032】
本発明の様々な実施形態の多くの長所については自明であると言うことができる。まず第一に、本発明は、ローグ・アプレットまたは他の「トロイの木馬」ネットワーク言語プログラムあるいはアプリケーションが認識されずにあるいは気付かれずに実行されるのを防ぐことができる。その結果、ローグ・プログラムを植え付けることを目的としてローカル側エンドシステムの物理的セキュリティ破壊が起こったとしても、Javaアプレットのようなネットワーク言語プログラムが使用される結果としてそれ以上損害が生じるようなことはない。例えば、本発明の動的Javaクラスネーミングが用いられるとすると、万一ローグ・アプレットがローカルに記憶されても、そのローグ・アプレットが実行されることはない;代わりに、サーバによって異なるJavaクラス名が生成され、このJavaクラス名がエンドシステムによって同じ機能(またはオブジェクト指向性)のために対応してインボークされる、あるいはコールされることになる。
【0033】
本発明のもう一つの長所は、その実装の容易さにある。本発明は、好ましくはネットワークサーバ内に存在するプログラム命令のセットとして実施され、ハードウェアの変化あるいはハードウェアの追加を全く必要としない。その結果、本発明は、大幅なコスト節減の下に実装することが可能である。
【0034】
本発明のさらにもう一つの長所はそのユーザ透過性にある。本発明は、ネットワークサーバ内に実装することが可能であり、ローカル側エンドシステム内部については、本発明のための変更、追加、あるいは命令が全く不要である。さらに、ユーザは、この強化されたセキュリティ機能から、その動作に関する知識を得る上で、如何なるコマンドあるいは命令も入力する必要がなく、また如何なる不都合も伴わないという点で恩恵を受けることができる。
【0035】
以上の説明から、本発明の新規な構想の精神及び範囲から逸脱することなく種々多様な変更態様並びに修正態様をなし得ることは明らかであろう。本願で図解し、説明した特定の方法及び装置に関しては、如何なる限定も意図されておらず、あるいは如何なる限定も示唆されるべきではないということは理解されよう。このような修正態様は全て、当然特許請求の範囲の記載に基づく本発明の範囲内にあるものとして特許請求の範囲によって包括されるものである。
【図面の簡単な説明】
【図1】 本発明に基づくシステム実施形態を図解した状態図である。
【図2】 本発明に基づくシステム実施形態を有する典型的ネットワークを図解したブロック図である。
【図3】 本発明に基づく方法実施形態を図解したフローチャートである。
【図4】 本発明に基づく一般的な方法実施形態を図解したフローチャートである。
【図5】 本発明に基づく装置実施形態を図解したブロック図である。
【図6】 本発明に基づくもう一つの装置実施形態を図解したブロック図である。
Claims (26)
- 実行可能コードのネットワーク・セキュリティを講じる方法において、
(a)ネットワーク情報要求を受信するステップと、
(b)呼び出された時、実行可能コードをダウンロードするネットワーク言語キーワードを該ネットワーク情報が含んでいるかどうかを判断するステップと、
(c)対応する実行可能コードへの新しい特有の参照を有する該ネットワーク言語キーワードを生成し、該ネットワーク言語キーワードの存在に応答して該特有の参照を使用する該対応する実行可能コードを記憶するステップと、
(d)該ネットワーク言語キーワードに該特有の参照が組み込まれたネットワーク情報を送信するステップと、そして
(e)該特有の参照が組み込まれた該ネットワーク言語キーワードが呼び出されたときに該対応する実行可能コードを供給するステップと、
を具有することを特徴とする方法。 - 上記ステップ(c)が、さらに、
上記第1の対応する実行可能コードを記憶するステップ
を具有することを特徴とする請求項1記載の方法。 - さらに、
(f)複数のネットワーク言語キーワードを含むネットワーク情報に応答して、対応する実行可能コードに対するそれぞれ特有の、対応する複数の参照を生成するステップと、
(g)複数のネットワーク言語キーワードの各ネットワーク言語キーワードにそれぞれ特有の参照が組み込まれたネットワーク情報を供給するステップと、そして
(h)それぞれ特有の参照が組み込まれたネットワーク言語キーワードが呼び出された時、対応する実行可能コードを供給するステップと、
を具有することを特徴とする請求項1の記載の方法。 - さらに、
複数組の複数のネットワーク言語キーワードを生成するステップで、複数のネットワーク言語キーワードの各組が別個のネットワーク情報要求に対応し、該各組の複数のネットワーク言語キーワードの中の各ネットワーク言語キーワードが対応する実行可能コードに対するそれぞれ特有の参照を有するステップ
を具有することを特徴とする請求項3記載の方法。 - 上記ネットワーク情報がワールドワイドウェブ・ページであることを特徴とする請求項1記載の方法。
- 上記ネットワーク言語キーワードがアプレットタグであることを特徴とする請求項1記載の方法。
- 上記ネットワーク言語キーワードがHTMLキーワードであることを特徴とする請求項1記載の方法。
- 上記ネットワーク言語キーワードがスクリプト言語キーワードであることを特徴とする請求項1記載の方法。
- 上記特有の参照がランダムに生成されることを特徴とする請求項1記載の方法。
- 上記特有の参照が、特有の参照の所定の集合から選択されることを特徴とする請求項1記載の方法。
- 上記特有の参照がJavaクラス名であることを特徴とする請求項1記載の方法。
- 上記対応する実行可能コードがJavaプログラミング言語バイトコードであることを特徴とする請求項1記載の方法。
- 実行可能コードのネットワーク・セキュリティを講じる装置であって、
(a)ネットワーク情報要求を受信するように適合されたネットワーク・インタフェースと、そして
プロセッサと
を具有し、
該プロセッサが、
(b)呼び出されたときに実行可能コードをダウンロードするネットワーク言語キーワードを該ネットワーク情報が含んでいるかどうかを判断し、
(c)対応する実行可能コードへの新しい特有の参照を有する該ネットワーク言語キーワードを生成し、該ネットワーク言語キーワードの存在に応答して該特有の参照を使用する該対応する実行可能コードを記憶し、
(d)該ネットワーク言語キーワードに該特有の参照が組み込まれたネットワーク情報を該ネットワーク・インタフェースによって送信し、そして
(e)該特有の参照が組み込まれた該ネットワーク言語キーワードが呼び出された時、該ネットワーク・インタフェースによる送信のために該対応する実行可能コードを供給する、
ことを特徴とする装置。 - さらに、
プロセッサに接続されていて上記対応する実行可能コードを記憶する記憶システム、
を具有することを特徴とする請求項13の装置。 - 上記プロセッサが、さらに、
ネットワーク情報が複数のネットワーク言語キーワードを有する場合、対応する実行可能コードに対するそれぞれ特有の複数の参照を生成し、
ネットワーク・インタフェースによる送信のために、複数のネットワーク言語キーワードの各ネットワーク言語キーワードにそれぞれ特有の参照が組み込まれたネットワーク情報を供給し、そして
それぞれ特有の参照が組み込まれた該複数のネットワーク言語キーワードの中のあるネットワーク言語キーワードが呼び出された時、ネットワーク・インタフェースによる送信のために、該対応する実行可能コードを供給する、
ことを特徴とする請求項13記載の装置。 - プロセッサが、さらに、
複数組の複数のネットワーク言語キーワードで、該複数組の各複数のネットワーク言語キーワードが別個のネットワーク情報要求に対応する複数組の複数のネットワーク言語キーワードを生成し、かつ該各複数のネットワーク言語キーワードの中の各ネットワーク言語キーワードに、対応する実行可能コードに対するそれぞれ特有の参照が組み込まれる、ことを特徴とする請求項15記載の装置。 - ネットワーク情報がワールドワイドウェブ・ページであることを特徴とする請求項13記載の装置。
- 第1のネットワーク言語キーワードがアプレットタグであることを特徴とする請求項13記載の装置。
- 第1のネットワーク言語キーワードがオブジェクトタグであることを特徴とする請求項13記載の装置。
- 第1のネットワーク言語キーワードがHTMLキーワードであることを特徴とする請求項13記載の装置。
- 第1のネットワーク言語キーワードがスクリプト言語キーワードであることを特徴とする請求項13記載の装置。
- プロセッサが、さらに、第1の特有の参照をランダムに生成することを特徴とする請求項13記載の装置。
- プロセッサが、さらに、第1の特有の参照を特有の参照の所定の集合から選択することを特徴とする請求項13記載の装置。
- 上記特有の参照がJavaクラス名であることを特徴とする請求項13記載の装置。
- 上記対応する実行可能コードがJavaプログラミング言語バイトコードであることを特徴とする請求項13記載の装置。
- 上記装置がサーバによって実施されることを特徴とする請求項13記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/084,444 | 1998-05-22 | ||
US09/084,444 US6058482A (en) | 1998-05-22 | 1998-05-22 | Apparatus, method and system for providing network security for executable code in computer and communications networks |
PCT/US1999/011345 WO1999062227A1 (en) | 1998-05-22 | 1999-05-21 | System and method for security of code |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002517053A JP2002517053A (ja) | 2002-06-11 |
JP4184604B2 true JP4184604B2 (ja) | 2008-11-19 |
Family
ID=22185007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000551521A Expired - Lifetime JP4184604B2 (ja) | 1998-05-22 | 1999-05-21 | コンピュータ/通信ネットワークで実行可能コードのネットワーク・セキュリティを講じるための装置、方法及びシステム |
Country Status (6)
Country | Link |
---|---|
US (1) | US6058482A (ja) |
EP (1) | EP1088427B1 (ja) |
JP (1) | JP4184604B2 (ja) |
AT (1) | ATE366012T1 (ja) |
DE (1) | DE69936384T2 (ja) |
WO (1) | WO1999062227A1 (ja) |
Families Citing this family (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7058822B2 (en) | 2000-03-30 | 2006-06-06 | Finjan Software, Ltd. | Malicious mobile code runtime monitoring system and methods |
US9219755B2 (en) | 1996-11-08 | 2015-12-22 | Finjan, Inc. | Malicious mobile code runtime monitoring system and methods |
US8079086B1 (en) | 1997-11-06 | 2011-12-13 | Finjan, Inc. | Malicious mobile code runtime monitoring system and methods |
US6324574B1 (en) * | 1997-11-07 | 2001-11-27 | International Business Machines Corporation | Relay server for unsigned applets |
JPH11261627A (ja) * | 1998-03-09 | 1999-09-24 | Fujitsu Ltd | 電子メール配信装置 |
US20020052781A1 (en) * | 1999-09-10 | 2002-05-02 | Avantgo, Inc. | Interactive advertisement mechanism on a mobile device |
US6611864B2 (en) * | 1999-09-10 | 2003-08-26 | Intel Corporation | Extensible policy-based network management architecture |
US6654784B1 (en) * | 2000-01-14 | 2003-11-25 | Nexaweb Technologies, Inc | Computing architecture |
WO2001079999A2 (en) * | 2000-04-12 | 2001-10-25 | Microsoft Corporation | Method and system for accepting precompiled information |
US7155606B1 (en) | 2000-04-12 | 2006-12-26 | Microsoft Corporation | Method and system for accepting preverified information |
CA2406001A1 (en) | 2000-04-14 | 2001-10-25 | American Express Travel Related Services Company, Inc. | A system and method for using loyalty points |
US20070129955A1 (en) * | 2000-04-14 | 2007-06-07 | American Express Travel Related Services Company, Inc. | System and method for issuing and using a loyalty point advance |
US20040073617A1 (en) | 2000-06-19 | 2004-04-15 | Milliken Walter Clark | Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail |
US7366896B1 (en) * | 2000-08-29 | 2008-04-29 | Microsoft Corporation | Systems and methods for limiting access to potentially dangerous code |
US7398226B2 (en) | 2000-11-06 | 2008-07-08 | American Express Travel Related Services Company, Inc. | System and method for networked loyalty program |
US7398225B2 (en) | 2001-03-29 | 2008-07-08 | American Express Travel Related Services Company, Inc. | System and method for networked loyalty program |
US6964039B2 (en) * | 2000-12-13 | 2005-11-08 | Esmertec Ag | Method to create optimized machine code through combined verification and translation of JAVA™ bytecode |
EP1233333A1 (en) * | 2001-02-19 | 2002-08-21 | Hewlett-Packard Company | Process for executing a downloadable service receiving restrictive access rights to al least one profile file |
US7584149B1 (en) | 2001-02-26 | 2009-09-01 | American Express Travel Related Services Company, Inc. | System and method for securing data through a PDA portal |
US7222101B2 (en) * | 2001-02-26 | 2007-05-22 | American Express Travel Related Services Company, Inc. | System and method for securing data through a PDA portal |
US6978451B2 (en) * | 2001-05-31 | 2005-12-20 | Esmertec Ag | Method for fast compilation of preverified JAVA bytecode to high quality native machine code |
GB0121064D0 (en) * | 2001-08-31 | 2001-10-24 | Transitive Technologies Ltd | Obtaining translation of generic code representation |
US7370211B2 (en) * | 2001-09-21 | 2008-05-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Arrangement and method of execution of code |
US8561167B2 (en) | 2002-03-08 | 2013-10-15 | Mcafee, Inc. | Web reputation scoring |
US7693947B2 (en) | 2002-03-08 | 2010-04-06 | Mcafee, Inc. | Systems and methods for graphically displaying messaging traffic |
US8578480B2 (en) | 2002-03-08 | 2013-11-05 | Mcafee, Inc. | Systems and methods for identifying potentially malicious messages |
US7124438B2 (en) | 2002-03-08 | 2006-10-17 | Ciphertrust, Inc. | Systems and methods for anomaly detection in patterns of monitored communications |
US20060015942A1 (en) | 2002-03-08 | 2006-01-19 | Ciphertrust, Inc. | Systems and methods for classification of messaging entities |
US20030172291A1 (en) | 2002-03-08 | 2003-09-11 | Paul Judge | Systems and methods for automated whitelisting in monitored communications |
US7694128B2 (en) | 2002-03-08 | 2010-04-06 | Mcafee, Inc. | Systems and methods for secure communication delivery |
US8132250B2 (en) | 2002-03-08 | 2012-03-06 | Mcafee, Inc. | Message profiling systems and methods |
US7870203B2 (en) | 2002-03-08 | 2011-01-11 | Mcafee, Inc. | Methods and systems for exposing messaging reputation to an end user |
US7903549B2 (en) | 2002-03-08 | 2011-03-08 | Secure Computing Corporation | Content-based policy compliance systems and methods |
US7042852B2 (en) * | 2002-05-20 | 2006-05-09 | Airdefense, Inc. | System and method for wireless LAN dynamic channel change with honeypot trap |
US7277404B2 (en) * | 2002-05-20 | 2007-10-02 | Airdefense, Inc. | System and method for sensing wireless LAN activity |
US7058796B2 (en) * | 2002-05-20 | 2006-06-06 | Airdefense, Inc. | Method and system for actively defending a wireless LAN against attacks |
US7532895B2 (en) | 2002-05-20 | 2009-05-12 | Air Defense, Inc. | Systems and methods for adaptive location tracking |
US7383577B2 (en) * | 2002-05-20 | 2008-06-03 | Airdefense, Inc. | Method and system for encrypted network management and intrusion detection |
US7086089B2 (en) * | 2002-05-20 | 2006-08-01 | Airdefense, Inc. | Systems and methods for network security |
US20040203764A1 (en) * | 2002-06-03 | 2004-10-14 | Scott Hrastar | Methods and systems for identifying nodes and mapping their locations |
US7322044B2 (en) * | 2002-06-03 | 2008-01-22 | Airdefense, Inc. | Systems and methods for automated network policy exception detection and correction |
US7343626B1 (en) * | 2002-11-12 | 2008-03-11 | Microsoft Corporation | Automated detection of cross site scripting vulnerabilities |
US7355996B2 (en) | 2004-02-06 | 2008-04-08 | Airdefense, Inc. | Systems and methods for adaptive monitoring with bandwidth constraints |
US7359676B2 (en) * | 2003-04-21 | 2008-04-15 | Airdefense, Inc. | Systems and methods for adaptively scanning for wireless communications |
US20040210654A1 (en) * | 2003-04-21 | 2004-10-21 | Hrastar Scott E. | Systems and methods for determining wireless network topology |
US7324804B2 (en) * | 2003-04-21 | 2008-01-29 | Airdefense, Inc. | Systems and methods for dynamic sensor discovery and selection |
US7522908B2 (en) * | 2003-04-21 | 2009-04-21 | Airdefense, Inc. | Systems and methods for wireless network site survey |
US7526804B2 (en) * | 2004-02-02 | 2009-04-28 | Microsoft Corporation | Hardware assist for pattern matches |
US8196199B2 (en) * | 2004-10-19 | 2012-06-05 | Airdefense, Inc. | Personal wireless monitoring agent |
US20060123133A1 (en) * | 2004-10-19 | 2006-06-08 | Hrastar Scott E | Detecting unauthorized wireless devices on a wired network |
US8635690B2 (en) | 2004-11-05 | 2014-01-21 | Mcafee, Inc. | Reputation based message processing |
US20060107323A1 (en) * | 2004-11-16 | 2006-05-18 | Mclean Ivan H | System and method for using a dynamic credential to identify a cloned device |
US7937480B2 (en) | 2005-06-02 | 2011-05-03 | Mcafee, Inc. | Aggregation of reputation data |
US7577424B2 (en) | 2005-12-19 | 2009-08-18 | Airdefense, Inc. | Systems and methods for wireless vulnerability analysis |
JP2007183838A (ja) * | 2006-01-06 | 2007-07-19 | Fujitsu Ltd | クエリーパラメーター出力ページ発見プログラム、クエリーパラメーター出力ページ発見方法およびクエリーパラメーター出力ページ発見装置 |
US7715800B2 (en) | 2006-01-13 | 2010-05-11 | Airdefense, Inc. | Systems and methods for wireless intrusion detection using spectral analysis |
US7971251B2 (en) * | 2006-03-17 | 2011-06-28 | Airdefense, Inc. | Systems and methods for wireless security using distributed collaboration of wireless clients |
US20070218874A1 (en) * | 2006-03-17 | 2007-09-20 | Airdefense, Inc. | Systems and Methods For Wireless Network Forensics |
US20090021343A1 (en) * | 2006-05-10 | 2009-01-22 | Airdefense, Inc. | RFID Intrusion Protection System and Methods |
US8342399B1 (en) | 2006-05-25 | 2013-01-01 | Mcghie Sean I | Conversion of credits to funds |
US8376224B2 (en) | 2006-05-25 | 2013-02-19 | Sean I. Mcghie | Self-service stations for utilizing non-negotiable credits earned from a game of chance |
US8684265B1 (en) | 2006-05-25 | 2014-04-01 | Sean I. Mcghie | Rewards program website permitting conversion/transfer of non-negotiable credits to entity independent funds |
US8668146B1 (en) | 2006-05-25 | 2014-03-11 | Sean I. Mcghie | Rewards program with payment artifact permitting conversion/transfer of non-negotiable credits to entity independent funds |
US9704174B1 (en) | 2006-05-25 | 2017-07-11 | Sean I. Mcghie | Conversion of loyalty program points to commerce partner points per terms of a mutual agreement |
US8162209B2 (en) | 2006-05-25 | 2012-04-24 | Buchheit Brian K | Storefront purchases utilizing non-negotiable credits earned from a game of chance |
US10062062B1 (en) | 2006-05-25 | 2018-08-28 | Jbshbm, Llc | Automated teller machine (ATM) providing money for loyalty points |
US7703673B2 (en) | 2006-05-25 | 2010-04-27 | Buchheit Brian K | Web based conversion of non-negotiable credits associated with an entity to entity independent negotiable funds |
US7970013B2 (en) | 2006-06-16 | 2011-06-28 | Airdefense, Inc. | Systems and methods for wireless network content filtering |
US8281392B2 (en) * | 2006-08-11 | 2012-10-02 | Airdefense, Inc. | Methods and systems for wired equivalent privacy and Wi-Fi protected access protection |
US8250178B2 (en) * | 2006-09-15 | 2012-08-21 | Emc Corporation | Protecting client-side code |
US8763114B2 (en) | 2007-01-24 | 2014-06-24 | Mcafee, Inc. | Detecting image spam |
US7949716B2 (en) | 2007-01-24 | 2011-05-24 | Mcafee, Inc. | Correlation and analysis of entity attributes |
US7779156B2 (en) | 2007-01-24 | 2010-08-17 | Mcafee, Inc. | Reputation based load balancing |
US8214497B2 (en) | 2007-01-24 | 2012-07-03 | Mcafee, Inc. | Multi-dimensional reputation scoring |
US8179798B2 (en) | 2007-01-24 | 2012-05-15 | Mcafee, Inc. | Reputation based connection throttling |
US8185930B2 (en) | 2007-11-06 | 2012-05-22 | Mcafee, Inc. | Adjusting filter or classification control settings |
US8045458B2 (en) | 2007-11-08 | 2011-10-25 | Mcafee, Inc. | Prioritizing network traffic |
US8160975B2 (en) | 2008-01-25 | 2012-04-17 | Mcafee, Inc. | Granular support vector machine with random granularity |
US8589503B2 (en) | 2008-04-04 | 2013-11-19 | Mcafee, Inc. | Prioritizing network traffic |
US8621638B2 (en) | 2010-05-14 | 2013-12-31 | Mcafee, Inc. | Systems and methods for classification of messaging entities |
FR2967275B1 (fr) * | 2010-11-10 | 2012-12-28 | Oberthur Technologies | Procede, programme d'ordinateur et dispositif de securisation de code intermediaire de programmation pour son execution par une machine virtuelle |
EP2740058A4 (en) * | 2011-08-03 | 2015-04-22 | Amazon Tech Inc | COLLECTING TRANSACTION DATA ASSOCIATED WITH LOCALLY RECORDED DATA FILES |
US9819436B2 (en) | 2013-08-26 | 2017-11-14 | Coriant Operations, Inc. | Intranodal ROADM fiber management apparatuses, systems, and methods |
US11095735B2 (en) | 2019-08-06 | 2021-08-17 | Tealium Inc. | Configuration of event data communication in computer networks |
US11146656B2 (en) | 2019-12-20 | 2021-10-12 | Tealium Inc. | Feature activation control and data prefetching with network-connected mobile devices |
US11809839B2 (en) | 2022-01-18 | 2023-11-07 | Robert Lyden | Computer language and code for application development and electronic and optical communication |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4864494A (en) * | 1986-03-21 | 1989-09-05 | Computerized Data Ssytems For Mfg., Inc. | Software usage authorization system with key for decrypting/re-encrypting/re-transmitting moving target security codes from protected software |
US5305456A (en) * | 1991-10-11 | 1994-04-19 | Security Integration, Inc. | Apparatus and method for computer system integrated security |
US5412717A (en) * | 1992-05-15 | 1995-05-02 | Fischer; Addison M. | Computer system security method and apparatus having program authorization information data structures |
CA2253867A1 (en) * | 1996-05-07 | 1997-11-13 | Webline Communications Corporation | Method and apparatus for coordinating internet multi-media content with telephone and audio communications |
US6134583A (en) * | 1996-07-01 | 2000-10-17 | Sun Microsystems, Inc. | Method, system, apparatus and article of manufacture for providing identity-based caching services to a plurality of computer systems (#16) |
GB2315140A (en) * | 1996-07-11 | 1998-01-21 | Ibm | Multi-layered HTML documents |
GB2316200A (en) * | 1996-08-08 | 1998-02-18 | Ibm | Accessing information about executable code |
US5940590A (en) * | 1997-05-31 | 1999-08-17 | International Business Machines Corporation | System and method for securing computer-executable program code using task gates |
-
1998
- 1998-05-22 US US09/084,444 patent/US6058482A/en not_active Expired - Lifetime
-
1999
- 1999-05-21 WO PCT/US1999/011345 patent/WO1999062227A1/en active IP Right Grant
- 1999-05-21 DE DE69936384T patent/DE69936384T2/de not_active Expired - Fee Related
- 1999-05-21 EP EP99953410A patent/EP1088427B1/en not_active Expired - Lifetime
- 1999-05-21 JP JP2000551521A patent/JP4184604B2/ja not_active Expired - Lifetime
- 1999-05-21 AT AT99953410T patent/ATE366012T1/de not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US6058482A (en) | 2000-05-02 |
EP1088427A4 (en) | 2005-08-03 |
EP1088427A1 (en) | 2001-04-04 |
DE69936384D1 (de) | 2007-08-09 |
WO1999062227A1 (en) | 1999-12-02 |
ATE366012T1 (de) | 2007-07-15 |
JP2002517053A (ja) | 2002-06-11 |
EP1088427B1 (en) | 2007-06-27 |
DE69936384T2 (de) | 2008-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4184604B2 (ja) | コンピュータ/通信ネットワークで実行可能コードのネットワーク・セキュリティを講じるための装置、方法及びシステム | |
US6691113B1 (en) | Persistent data storage for client computer software programs | |
JP4912400B2 (ja) | Htmlブラウザおよび拡張機能の既知の脆弱性からの免疫付与 | |
US6438600B1 (en) | Securely sharing log-in credentials among trusted browser-based applications | |
Kirda et al. | Noxes: a client-side solution for mitigating cross-site scripting attacks | |
US8826411B2 (en) | Client-side extensions for use in connection with HTTP proxy policy enforcement | |
Malkhi et al. | Secure execution of Java applets using a remote playground | |
De Keukelaere et al. | Smash: secure component model for cross-domain mashups on unmodified browsers | |
US5983348A (en) | Computer network malicious code scanner | |
US6341352B1 (en) | Method for changing a security policy during processing of a transaction request | |
US7613918B2 (en) | System and method for enforcing a security context on a downloadable | |
US6308275B1 (en) | Web host providing for secure execution of CGI programs and method of doing the same | |
US20100037317A1 (en) | Mehtod and system for security monitoring of the interface between a browser and an external browser module | |
WO2016086767A1 (zh) | 实现浏览器安全的方法、浏览器客户端和装置 | |
US20090150999A1 (en) | System, method and program product for detecting computer attacks | |
US20100180330A1 (en) | Securing Communications for Web Mashups | |
US20130014108A1 (en) | Virtual machine | |
WO2016164036A1 (en) | Modifying web page code to include code to protect output | |
US11586726B2 (en) | Secure web framework | |
CN111163094B (zh) | 网络攻击检测方法、网络攻击检测装置、电子设备和介质 | |
US8127033B1 (en) | Method and apparatus for accessing local computer system resources from a browser | |
US7363487B2 (en) | Method and system for dynamic client authentication in support of JAAS programming model | |
Moshchuk et al. | Content-based isolation: rethinking isolation policy design on client systems | |
US8307365B2 (en) | Apparatus and method for managing execution of activeX control | |
WO2023059441A1 (en) | Browser-level runtime supply chain security and attack detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040402 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061205 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070305 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070312 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070510 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080812 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080904 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110912 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120912 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130912 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |