JP5736305B2 - ソフトウェア評価を確立し監視するシステムおよびプログラム - Google Patents

ソフトウェア評価を確立し監視するシステムおよびプログラム Download PDF

Info

Publication number
JP5736305B2
JP5736305B2 JP2011514694A JP2011514694A JP5736305B2 JP 5736305 B2 JP5736305 B2 JP 5736305B2 JP 2011514694 A JP2011514694 A JP 2011514694A JP 2011514694 A JP2011514694 A JP 2011514694A JP 5736305 B2 JP5736305 B2 JP 5736305B2
Authority
JP
Japan
Prior art keywords
module
behavior
evaluation
expected
computer system
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.)
Active
Application number
JP2011514694A
Other languages
English (en)
Other versions
JP2011525662A (ja
Inventor
ウィリアム・ソーベル
ブライアン・ハーナッキ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NortonLifeLock Inc
Original Assignee
Symantec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Symantec Corp filed Critical Symantec Corp
Publication of JP2011525662A publication Critical patent/JP2011525662A/ja
Application granted granted Critical
Publication of JP5736305B2 publication Critical patent/JP5736305B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

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

Description

本発明は、コンピュータシステムセキュリティに関する。より具体的には、本発明は、コンピュータシステムのモジュールの信用を確立し監視するシステムおよび方法に関する。
挙動ブロックシステムは、モジュールをヒューリスティックに監視し、モジュールの信用レベルに基づいて、挙動ブロックシステムにより悪意があるものとしてみなす疑いのある挙動をブロックする。したがって、モジュールの信用レベルを評価することは、挙動ブロックにおいて非常に重要である。
一実施形態によれば、モジュールの評価が形成される際のモジュールの挙動についての知識が取得される。モジュールの挙動が変更した場合、この変更は検出される。一実施形態では、モジュールの挙動が変更されたと判断された場合、モジュールの元の評価は失われる。このようにして、信用可能と評価された不正モジュールが検出され無効化される。一実施形態では、モジュールの挙動を第1のコンピュータシステムで記録し、前記記録された挙動を第2のコンピュータシステムに供給し、前記第2のコンピュータシステムで前記モジュールの評価を決定する。
実施形態は、添付図面と併せて以下の詳細な説明を参照することにより最良に理解される。
一実施形態による、ホストコンピュータシステムで実行されるソフトウェア評価確立・監視アプリケーションを含むクライアント−サーバシステムの図である。 一実施形態によるソフトウェア評価確立プロセスの流れ図である。 一実施形態によるソフトウェア評価監視プロセスの流れ図である。
共通の参照番号が、同様の要素を示すために図面および詳細な説明全体を通して使用される。
一実施形態によれば、モジュールの評価が形成される際のモジュールの挙動についての知識が、モジュールの期待挙動の評価マニフェストを作成する動作210(図2)において取得される。モジュールの挙動が変更した場合、この変更は、挙動が期待挙動から逸脱するかチェックする動作306(図3)において検出される。一実施形態では、モジュールの挙動が変更したと判断された場合、保護動作をとる動作308(図3)において、モジュールの元の評価が失われる。このようにして、信用可能と評価された不正モジュールが検出され、無効化される。
より具体的には、図1は、一実施形態による、ホストコンピュータシステム102で実行されるソフトウェア評価確立・監視アプリケーション106を含むクライアント−サーバシステム100の図である。
ホストコンピュータシステム102は、クライアントまたはユーザ装置と呼ばれる場合もあり、通常、プロセッサと呼ばれる場合もある中央演算処理装置(CPU)108、入/出力(I/O)インタフェース110、およびメモリ114を含む。ホストコンピュータシステム102は、キーボード116、マウス118、プリンタ120、および表示装置122のような標準装置ならびにコンパクトディスク(CD)またはDVDドライブ、フロッピーディスクドライブ、またはホストコンピュータシステム102に対してデータを入出力するための他のデジタルポートもしくは波形ポート等の1つまたは複数の標準入/出力(I/O)装置123をさらに含む。
一実施形態では、ソフトウェア評価確立・監視アプリケーション106が、ソフトウェア評価確立・監視アプリケーション106を含むCD、DVD、またはフロッピーディスク等のI/O装置123を介してホストコンピュータシステム102にロードされる。
ホストコンピュータシステム102は、ネットワーク124によりコンピュータシステム100のサーバシステム130に結合される。サーバシステム130は通常、表示装置132、プロセッサ134、メモリ136、およびネットワークインタフェース138を含む。
ホストコンピュータシステム102は、ネットワーク124により、ホストコンピュータシステム102と同様である複数のホストコンピュータシステム103A、103B、・・・、103n(まとめてホストコンピュータシステム103)にも結合される。さらに、ホストコンピュータシステム102は、ネットワーク124により、サーバシステム130と同様であり、バックエンド評価システムと呼ばれる場合もあるソフトウェア評価確立・監視サーバコンピュータシステム140にも結合される。
ネットワーク124は、ユーザが関心を持つ任意のネットワークまたはネットワークシステムであることができる。様々な実施形態では、ネットワークインタフェース138およびI/Oインタフェース110は、アナログモデム、デジタルモデム、またはネットワークインタフェースカードを含む。
ソフトウェア評価確立・監視アプリケーション106は、例えば、ホストコンピュータシステム102のメモリ114に記憶され、ホストコンピュータシステム102上で実行される。
ホストコンピュータシステム102、ホストコンピュータシステム103、ソフトウェア評価確立・監視サーバコンピュータシステム140、およびサーバシステム130の特定の種類および構成は、この実施形態にとって重要ではない。
本明細書では、一実施形態において、不正コードは、許可されたユーザに知られず、かつ/または許可されたユーザの承諾を得ずにコンピュータシステム環境内に入る任意のコンピュータプログラム、モジュール、モジュールセット、またはコードとして定義される。
図2は、一実施形態によるソフトウェア評価確立プロセス200の流れ図である。これより図1および図2を一緒に参照して、一実施形態において、プロセッサ108がソフトウェア評価確立・監視アプリケーション106を実行することにより、後述するソフトウェア評価確立プロセス200が動作する。
開始動作202から、フローは未知のモジュールを実行する動作204に移る。未知のモジュールを実行する動作204において、ソフトウェアと呼ばれる場合もある未知のモジュールが実行される。
一般に、モジュールは実行可能コードを含む。一実施形態では、モジュールはアプリケーションの部分である。例えば、モジュールはInternet Explorer(登録商標)アプリケーションへのプラグインであり、例えば、Adobe(登録商標)Flash(登録商標)モジュールである。さらに別の実施形態では、モジュールはアプリケーション全体である。
一実施形態では、アプリケーションは、エンドユーザ向けに設計されたプログラムまたはプログラム群である。より具体的には、アプリケーション(エンドユーザプログラムとも呼ばれる)は、データベースプログラム、ワードプロセッサ、およびスプレッドシートを含むが、多くの異なる種類のアプリケーションがある。
一実施形態では、アプリケーションおよび/またはモジュールは実行可能ファイルである。実行可能ファイルは、内容がコンピュータによりプログラムとして解釈されるように意図されたファイルである。一例では、実行可能ファイルは、.exe拡張子(EXEファイル)を有するが、他の実施形態では.net等の他の拡張子を有する。アプリケーションおよび/またはモジュールは、本開示の恩恵を受ける分野の当業者により認識されるいくつかの技法のうちの任意の1つを使用して実行され、使用される具体的な技法はこの実施形態にとって重要ではない。
本明細書において使用するモジュールは、既知のモジュールまたは未知のモジュールのいずれかである。既知のモジュールは、さらに後述するように、関連付けられた評価マニフェストを有するモジュールである。それとは対照的に、未知のモジュールは、関連付けられた評価マニフェストを有さないモジュールである。
未知のモジュールを実行する動作204では、フローはモジュールの挙動を監視し記録する動作206に移る。
モジュールの挙動を監視し記録する動作206では、実行されたモジュールの、動作と呼ばれる場合もある挙動が監視され記録される。より具体的には、未知のモジュールを実行する動作204において、未知のモジュールを実行した場合、未知のモジュールは動作を実行し、これら動作が挙動と呼ばれる。モジュールの例示的な挙動としては、(1)モジュールがシステム全体の設定を変更するか否か、(2)モジュールがアクセスするファイルの種類、(3)モジュールがスタートアッププログラムであるか否か、および(4)モジュールの関心のある他の任意の挙動が挙げられる。説明のために、どの挙動が監視され記録されるかは、例えば、ユーザまたはシステム管理者により構成可能である。
一実施形態では、モジュールは、いくつかの異なる設置場所、例えば、異なるコンピュータシステムおよび/またはオペレーティングシステムで実行され、監視され、記録される。例えば、モジュールは、ホストコンピュータシステム102、103上で実行され、監視され、記録される。各設置場所において、モジュールの挙動が監視され記録される。モジュールの記録された挙動ならびに設置場所の特徴が、各設置場所から、例えば、ソフトウェア評価確立・監視サーバコンピュータシステム140等のバックエンド評価システムから収集され、集計される。
別の実施形態では、モジュールは、単一の設置場所、例えば、ホストコンピュータシステム102および/または単一のオペレーティングシステム等の単一のコンピュータシステム上で実行され、監視され、記録される。
モジュールの挙動を監視し記録する動作206から、フローは任意的にモジュールの評価を決定する動作208に移る。モジュールの評価を決定する動作208では、モジュールの評価が、例えば、モジュールの監視され記録された挙動から決定される。一実施形態では、モジュールの十分なコピーが監視され記録された場合、モジュールを十分な時間量、実行した場合、かつ/またはモジュールの挙動が他の様式で十分に観察された場合、モジュールの評価が確立される。
評価は、セキュリティベンダーまたはセキュリティ製品により決定されるモジュールの全体的な信用度である。評価は、一実施形態では、評価得点により測定されるが、本開示の恩恵を受ける分野の当業者により認識されるいくつかの技法のうちの任意の1つを使用して測定でき、使用される具体的な技法は重要ではない。
一実施形態では、モジュールの特権は、モジュールの評価に直接関係する。モジュールの信用度が高いほど、モジュールに提供される特権は高くなる。
説明のために、モジュールがスパイウェア、ウィルス、トロイの木馬、または他の不正コードをインストールすることが分かった場合、そのモジュールは信用不可として決定される。すなわち、モジュールの信用性は、信用不可である。逆に、モジュールが安全であることが分かった場合、モジュールは信用可能な(信頼可能な)ものと決定される。すなわち、モジュールの信用度は、信用可能である。信用度の2つの例を提供したが、信用度は、多くの信用(信頼)レベルがあるように、細かい粒度で定義することもできる。
別の実施形態では、モジュールの評価は、モジュールの監視され記録される挙動以外の基準に基づき、したがって、モジュールの評価を決定する動作208は任意的な動作である。説明のために、ソフトウェア発行者がある期間にわたって正当なモジュールを発行する場合を想定する。この例によれば、モジュールがこれと同じソフトウェア発行者により発行された場合、モジュールは、信用可能であるとして識別される。すなわち、モジュールの評価は、信頼可能である。
別の例によれば、確立された正当なソフトウェア発行者、例えば、Microsoft(登録商標)Corporationがモジュールを発行する場合を想定する。モジュールは、確立された正当なソフトウェア発行者により発行されるため、モジュールは信用可能として識別される。すなわち、モジュールの評価は信頼可能である。
したがって、モジュールの評価は、モジュールの評価を決定する動作208において確立されるか、またはその他の様式で確立される。モジュールの評価の確立に使用される具体的な技法は重要ではない。しかし、一実施形態によれば、後述するように、確立される評価は、評価が確立されたときと同じように挙動するモジュールを条件とする。
モジュールの評価を決定する動作208から(またはモジュールの評価を決定する動作208が実行されない場合には、モジュールの挙動を監視し記録する動作206から)、フローはモジュールの期待挙動の評価マニフェストを作成する動作210に移る。モジュールの期待挙動の評価マニフェストを作成する動作210では、モジュールの期待挙動の評価マニフェストが、モジュールの監視され記録された挙動(動作206)に基づいて作成される。
より具体的には、モジュールの期待挙動は、モジュールの挙動を監視し記録する動作206において監視され記録されたモジュールの挙動である。換言すれば、モジュールの期待挙動は、モジュールの観察される通常の挙動である。
評価マニフェストは、モジュールの期待挙動の集まり、例えばリストである。説明のために、上記例によれば、評価マニフェストは、(1)もしあれば、モジュールにより変更されるシステム全体の設定、(2)もしあれば、モジュールがアクセスするファイルの種類、(3)該当する場合、モジュールがスタートアッププログラムであること、および(4)モジュールの監視され記録された他の任意の挙動を含む。
モジュールの期待挙動の評価マニフェストを作成する動作210から、フローは、評価マニフェストを評価に関連付ける動作212に移る。評価マニフェストを評価に関連付ける動作212では、モジュールの期待挙動の評価マニフェストを作成する動作210において作成された評価マニフェストが、モジュールの確立された評価に関連付けられる。より具体的には、確立された評価が、モジュールの期待挙動に関連付けられ、すなわち、リンクされる。
図3のソフトウェア評価監視プロセス300を参照して以下に実証するように、モジュールが評価マニフェスト内の期待挙動に従って挙動する限り、モジュールはそのモジュールに確立された評価を維持する。しかし、確立された評価の維持は、期待したように、すなわち期待挙動に従って挙動するモジュールを条件とする。
特定の一実施形態では、モジュールの評価が、モジュールの挙動を監視し記録する動作206において監視され記録されたモジュールの挙動に基づいて、モジュールの評価を決定する動作208において決定される場合、確立された評価の維持は、モジュールの評価が最初に確立されたときと同じように挙動するモジュールを条件とする。
本明細書において、モジュールは、評価マニフェストに従って挙動するものとして説明されるが、これが、モジュールの挙動(動作)が、評価マニフェスト内に列挙されるか、または他の様式で収集された挙動(動作)と同じまたは実質的に同じであるモジュールの挙動(動作)を意味することを当業者は理解するであろう。
評価を評価マニフェストに関連付ける動作212から、フローは終了動作214に移り、終了する。
図3は、一実施形態によるソフトウェア評価監視プロセス300の流れ図である。これより図1および図3を参照して、一実施形態では、プロセッサ108がソフトウェア評価確立・監視モジュール106を実行することにより、後述するように、ソフトウェア評価監視プロセス300が動作する。
開始動作302から、フローは監視されるモジュールの挙動をチェックする動作304に移る。監視されるモジュールの挙動をチェックする動作304において、監視されるモジュールが動作しているか否か、すなわち、監視されるモジュールによる挙動があるか否かについて判断される。
監視されるモジュールによる挙動がない場合、フローは監視されるモジュールの挙動をチェックする動作304に留まる。逆に、監視されるモジュールによる挙動がある場合、フローは、監視されるモジュールの挙動をチェックする動作304から挙動が期待挙動から逸脱するかをチェックする動作306に移る。挙動が期待挙動から逸脱するかをチェックする動作306において、監視されるモジュールの挙動が、監視されるモジュールの期待挙動から逸脱するか否かについて判断される。換言すれば、モジュールの挙動が期待挙動から変更されたか否かについて判断される。
一実施形態では、モジュールの評価および期待挙動の評価マニフェストは、例えば、ソフトウェア評価確立・監視サーバコンピュータシステム140からホストコンピュータシステム102にダウンロードされる。別の実施形態では、モジュールの評価および期待挙動の評価マニフェストは、上述したように、ホストコンピュータシステム102で作成される。
一実施形態では、監視されるモジュールは、評価マニフェストが関連付けられた、確立された評価を有するモジュール、すなわち、特定の様式で挙動するものと期待されるモジュールである。したがって、監視されるモジュールによる挙動がある場合、この挙動は、挙動が期待挙動から逸脱するかをチェックする動作306において、モジュールの期待挙動と比較される。
挙動は、本開示の恩恵を受ける分野の当業者により認識されるいくつかの技法のうちの任意の1つを使用して比較することができ、使用される具体的な技法は重要ではない。一実施形態では、期待挙動からのいかなる逸脱も、監視されるモジュールの挙動が、監視されるモジュールの期待挙動から逸脱するとの結論に達するのに十分である。別の実施形態では、監視されるモジュールの挙動が、監視されるモジュールの期待挙動から逸脱するとの結論に達する前に、挙動の特定量の変更が許される。
挙動が期待挙動から逸脱しないと判断された場合、フローは、挙動が期待挙動から逸脱するかをチェックする動作306から、終了動作310に移り、終了するか、または監視されるモジュールによる挙動をチェックする動作304に戻る。この場合、モジュールは期待通りに挙動しており、さらなる動作は行われない。
これとは対照的に、挙動が期待挙動から逸脱すると判断された場合、フローは、挙動が期待挙動から逸脱するかをチェックする動作306から保護動作をとる動作308に移る。保護動作をとる動作308において、保護動作がとられる。例えば、モジュールに確立された評価が無効化される。
一実施形態では、モジュールは評価を失う。すなわち、より低い評価が割り当てられ、それにより、元の評価に関連付けられた特権も失われるか、または低減する。説明のために、モジュールの元の評価でモジュールに許されていた動作は、低評価に基づいてセキュリティの増大を受け、かつ/またはブロックされ、低評価とは、モジュールが元の評価よりも信用度が低下しているという評価である。
さらに、一実施形態では、モジュールが評価を失ったこと、および/またはモジュールの挙動が変更されたことの警報が、保護動作をとる動作308において生成される。この警報は、ソフトウェア評価確立・監視サーバコンピュータシステム140、ユーザ、管理者、または他のログインする人等のバックエンド評価システムに発行される。
この警報に基づいて、一実施形態では、モジュールの評価が未知であることの警告が、モジュールのインストールを考えている新しいユーザに発行される。例えば、警告は、ソフトウェア評価確立・監視サーバコンピュータシステム140からホストコンピュータシステム103に発行される。これにより、例えば、ホストコンピュータシステム103の新しいユーザが、モジュールをインストールすべきか否かについてのより賢明な判断を下すことができる。
別の実施形態では、保護動作をとる動作308において、モジュールの変更された挙動がブロックされる。保護動作の特定の例について上述したが、本開示に照らして、保護動作をとる動作308において、広範囲の保護動作をとることができることを当業者は理解するであろう。
特定の場合、モジュールの挙動の変更は正当である。すなわち、不正コードに関連しない。しかし、新しい挙動が元の評価決定に考慮されなかったため、モジュールは元の評価を失う。一実施形態では、新しい挙動に基づき、新しい挙動を組み込んだ新しい評価がモジュールに対して作成される。
他の場合、モジュールの挙動の変更は、悪意のあるものである。すなわち、不正コードに関連する。説明のために、従来では、ブラックリストアンチマルウェア解決策が使用された。より具体的には、ブラックリストと呼ばれる場合もある既知の不正コードのリストが、モジュールが不正であるか否かを判断するために使用された。
より最近になり、ホワイトリストアンチマルウェア解決策がますます使用されている。より具体的には、ホワイトリストと呼ばれる場合もある既知の信頼可能なモジュールのリストが、モジュールの実行を許可するか否かを判断するために使用される。安全なホワイトリストは、システム上で動作しているモジュールの強力な識別情報を提供する。一例では、モジュールに寄与した制作者の評価が、モジュール自体の評価による。
しかし、信頼可能なモジュール、例えば、ホワイトリスト上のモジュールが不正である、すなわち、不正コードを含むことが分かった場合、問題が発生する。この信頼されていた不正モジュールの問題は、信頼可能なモジュールのみの実行を許可するシステムの変えられない結果である。攻撃者は、不正コードを信頼可能なモジュール内に埋め込み、信頼可能評価を有する不正モジュールを作成し、ホストコンピュータシステムを悪用して、エンドユーザのデータを盗み、また盗んだものを使用して現金を得る。
一例では、ホワイトリストに配置される信頼および信用を得るために、攻撃者は、ある期間にわたって正当なモジュールを発行する。一旦ホワイトリストに配置されると、攻撃者は不正モジュールを作成し、このモジュールは、攻撃者が正当なモジュールを発行した過去の記録に基づいて、ホワイトリストに配置される。
別の例では、攻撃者は、確立されたソフトウェア企業の内部関係者になり、不正コードを確立されたソフトウェア企業のモジュールに挿入する。この不正モジュールモジュールが確立されたソフトウェア企業により発行されることに基づいて、ホワイトリストに配置される。1組の例を提供したが、信頼可能と評価された不正モジュールは、本開示の恩恵を受ける分野の当業者により認識されるいくつかの技法のうちの任意の1つを使用して作成することができ、使用される具体的な技法は重要ではない。
信頼可能と評価された不正モジュールを検出して無効にするために、モジュールの評価が形成される際のモジュールの挙動についての知識が、上述したように、図2のソフトウェア評価確立プロセス200のモジュールの期待挙動の評価マニフェストを作成する動作210において得られる。モジュールの挙動が変更する場合、この変更は、図3のソフトウェア評価監視プロセス300の挙動が期待挙動から逸脱するかをチェックする動作306において検出される。一実施形態では、モジュールの挙動が変更したと判断される場合、モジュールの評価は、上述したように、保護動作をとる動作308において、変更され、例えば、失われる。
仮説的な例として、ソフトウェア発行者が、新しい画像編集モジュールImage.exeを作成すると想定する。この新しい画像編集モジュールImage.exeには、モジュールの期待挙動の評価マニフェストが割り当てられておらず、したがって、未知のモジュールである。
したがって、図2を再び参照すると、画像編集モジュールImage.exeが、未知のモジュールを実行する動作204において実行され、モジュールの挙動を監視し記録する動作206において、挙動が監視され記録される。説明のために、この新しい画像編集モジュールImage.exeは、ユーザアカウント制御(UAC)承認を必要とする変更をホストコンピュータシステム102に対して行わず、画像ファイルのみを変更する。
この挙動に基づいて、画像編集モジュールImage.exeは、モジュールの評価を決定する動作208において、信頼可能なモジュールであると決定される。画像編集モジュールImage.exeの期待挙動、すなわち、モジュールの挙動を監視し記録する動作206において監視され記録される挙動の評価マニフェストが、モジュールの期待挙動の評価マニフェストを作成する動作210において作成される。評価マニフェストには、評価マニフェストに評価を関連付ける動作212において、評価が関連付けられる。
これより図3を参照すると、画像編集モジュールImage.exeの使用中、挙動が期待挙動から逸脱するかをチェックする動作306において、画像編集モジュールImage.exeの挙動が変更されたと判断される。説明のために、画像編集モジュールImage.exe内の不正コード、すなわち、信頼可能と評価された不正モジュールが、システムサービスをフックし、システムファイルを変更する。
しかし、保護動作をとる動作308において、この不正挙動はブロックされ、警報が発せられる。この例が実証するように、信頼可能と評価された不正モジュールは、様々な実施形態により検出され、無効にされる。
再び図1を参照すると、ソフトウェア評価確立・監視アプリケーション106はアプリケーションとして参照されるが、これはあくまでも説明のためのものである。ソフトウェア評価確立・監視アプリケーション106は、アプリケーションまたはオペレーティングシステムから呼び出し可能であるべきである。一実施形態では、アプリケーションは一般に、任意の実行可能コードであるとして定義される。さらに、アプリケーションまたは動作が何らかの動作を行うと言う場合、その動作は、プロセッサが1つまたは複数の命令を実行した結果であることを、本開示の恩恵を受ける分野の当業者は理解するであろう。
実施形態は、クライアント−サーバ構成に関して説明したが、実施形態は、パーソナルコンピュータ、ワークステーション、ポータブル装置、またはコンピュータ装置のネットワークを含む任意の適したハードウェア構成または手段を使用して実行される。クライアント−サーバ構成以外のネットワーク構成、例えば、ピアツーピア、ウェブベース、イントラネット、およびインターネットのネットワーク構成が、他の実施形態において使用される。
本明細書では、コンピュータプログラム製品は、実施形態によるコンピュータ可読コードを記憶するように構成された実体的な記憶媒体を含む。コンピュータプログラム製品のいくつかの例は、CD−ROMディスク、DVD、ROMカード、フロッピーディスク、磁器テープ、コンピュータハードドライブ、およびネットワーク上のサーバである。
図1に示されるように、この媒体はコンピュータシステム自体に属する。しかし。媒体は、コンピュータシステムから取り外されもする。例えば、ソフトウェア評価確立・監視アプリケーション106は、プロセッサ108とは異なる位置に物理的に配置されたメモリ、例えば、サーバシステム130のメモリ136に記憶される。プロセッサ108はメモリ136に結合されるべきである。これは、クライアント−サーバシステムで、または代替としてモデムおよびアナログ線を介する、もしくはデジタルインタフェースおよびデジタル搬送線を介する別のコンピュータへの接続を介して達成することができる。
より具体的には、一実施形態において、ホストコンピュータシステム102および/またはサーバシステム130は、ポータブルコンピュータ、ワークステーション、双方向ページャ、セルラ電話、デジタル無線電話、個人情報端末、サーバコンピュータ、インターネットアプリケーション、または本明細書において説明した実施形態のうちの少なくとも1つによりソフトウェア評価確立・監視アプリケーション106を実行する構成要素を含む他の任意の装置である。同様に、別の実施形態では、ホストコンピュータシステム102および/またはサーバシステム130は、本明細書に説明された方法を実行するように相互接続された複数の異なるコンピュータ、無線装置、セルラ電話、デジタル電話、双方向ページャ、個人情報端末、サーバコンピュータ、またはこれら装置の任意の所望の組み合わせで構成される。
本開示に鑑みて、一実施形態によるソフトウェア評価確立・監視アプリケーション106は、広範囲のコンピュータシステム構成で実施することができる。さらに、ソフトウェア評価確立・監視アプリケーション106は、異なる装置のメモリ内に異なるモジュールとして記憶することができる。例えば、ソフトウェア評価確立・監視アプリケーション106はまず、サーバシステム130に記憶することができ、必要に応じて、ソフトウェア評価確立・監視アプリケーション106の部分をホストコンピュータシステム102に転送し、ホストコンピュータシステム102で実行することができる。逆に、ソフトウェア評価確立・監視機能の部分は、サーバシステム130のプロセッサ134で実行され、別の部分はホストコンピュータシステム102のプロセッサ108で実行される。本開示に鑑みて、当業者は、ユーザが関心を有するオペレーティングシステムおよびコンピュータプログラミング言語を使用して、広範囲の物理的なハードウェア構成で様々な実施形態を実施可能である。
さらに別の実施形態では、ソフトウェア評価確立・監視アプリケーション106は、サーバシステム130のメモリ136に記憶される。ソフトウェア評価確立・監視アプリケーション106は、ネットワーク124を介してホストコンピュータシステム102内のメモリ114に転送される。この実施形態では、ネットワークインタフェース138およびI/Oインタフェース110は、アナログモデム、デジタルモデム、またはネットワークインタフェースカードを含む。モデムが使用される場合、ネットワーク124は通信網を含み、ソフトウェア評価確立・監視アプリケーション106は、通信網を介してダウンロードされる。
本開示は例示的な実施形態を提供する。その範囲は、これら例示的な実施形態により限定されない。本明細書により明示的に提供されるか否か、または本明細書により暗黙的に示されるか否かに関わらず、当業者は本開示に鑑みて多くの変形を実施し得る。

Claims (16)

  1. ソフトウェア評価確立・監視アプリケーションを内部に記憶した1又は複数のメモリと、
    1又は複数の前記メモリに結合される1又は複数のプロセッサと
    を備え、前記プロセッサにおいて、前記ソフトウェア評価確立・監視アプリケーションを実行することにより、
    第1のコンピュータシステムにおいて実行されるモジュールの挙動を記録するステップであって、前記記録される挙動は前記第1のコンピュータシステムにおける前記モジュールの期待挙動である、記録するステップと、
    前記記録された挙動を第2のコンピュータシステムに供給するステップと、
    前記第2のコンピュータシステム及び前記記録された挙動を用いて、前記期待挙動に従って挙動する前記モジュールを条件として、前記モジュールの評価を決定するステップと、
    前記モジュールの新たな挙動が前記期待挙動から特定量以上に逸脱していれば、前記モジュールの前記新たな挙動が前記期待挙動から逸脱しているものと決定するステップと、
    前記新たな挙動が前記期待挙動から前記特定量以上に逸脱していることの決定に応答して保護動作をとるステップと
    を含む方法が実行される、システム。
  2. 前記期待挙動に前記モジュールの前記評価を関連付けるステップをさらに含む、請求項1に記載のシステム。
  3. 前記期待挙動に前記モジュールの前記評価を関連付けるステップは、
    前記期待挙動の評価マニフェストを作成するステップと、
    前記評価マニフェストに前記評価を関連付けるステップと
    を含み、
    前記評価マニフェストは、
    前記モジュールによって通常アクセスされるファイルの種類と、
    前記モジュールがスタートアッププログラムであるか否か
    を含む、
    請求項2に記載のシステム。
  4. 前記評価マニフェストは、前記期待挙動の集まりである、請求項3に記載のシステム。
  5. 前記モジュールを実行するステップをさらに含み、前記実行が行われた場合、前記モジュールは前記挙動を実行する、請求項1に記載のシステム。
  6. 前記モジュールの前記挙動は、いくつかの異なる設置場所での前記モジュールの集合的かつ包括的な挙動を含み、前記異なる設置場所は、異なるオペレーティングシステムを備える少なくとも2つの異なるコンピュータシステムを含む、請求項1に記載のシステム。
  7. 前記評価は、前記モジュールの全体的な信用度である、請求項1に記載のシステム。
  8. 前記モジュールの前記新しい挙動が前記期待挙動から逸脱しないと判断される場合、前記コンピュータにより実施される方法は、それ以上の動作を行わないステップをさらに含む、請求項1に記載のシステム。
  9. 前記保護動作をとるステップは、前記評価を無効化するステップを含む、請求項1に記載のシステム。
  10. 前記評価を無効化するステップは、前記モジュールにより低い評価を割り当てるステップを含む、請求項9に記載のシステム。
  11. 前記保護動作をとるステップは、前記モジュールの前記新しい挙動が前記期待挙動から逸脱した旨の警報を生成するステップを含む、請求項1に記載のシステム。
  12. 前記警報に基づいて、前記モジュールのインストールを考えている新しいユーザに警告が発せられる、請求項11に記載のシステム。
  13. 前記警告は、前記モジュールが未知の評価を有することを前記新しいユーザに通知するステップを含む、請求項12に記載のシステム。
  14. 前記保護動作をとるステップは、前記新しい挙動をブロックするステップを含む、請求項1に記載のシステム。
  15. 挙動が前記モジュールによってとられる動作とその特性を含み、記録されるべき行動と特性がユーザにより構成可能である請求項1に記載のシステム。
  16. ソフトウェア評価確立・監視アプリケーションからなるコンピュータプログラムであって、
    前記ソフトウェア評価確立・監視アプリケーションは、第1のコンピュータシステムにおいて実行される未知のモジュールの挙動を記録するステップであって、前記記録される挙動は前記第1のコンピュータシステムにおいて実行される前記モジュールの期待挙動である、記録するステップと、
    さらに前記記録された挙動を第2のコンピュータシステムに供給するステップと、
    さらに前記第2のコンピュータシステム及び前記記録された挙動を用いて、前記期待挙動に従って挙動している前記モジュールを条件として、前記モジュールの評価を決定するステップと、
    さらに前記モジュールの新たな挙動が前記期待挙動から特定量以上に逸脱していれば、前記モジュールの前記新たな挙動が前記期待挙動から逸脱しているものと決定するステップと、
    さらに前記新たな挙動が前記期待挙動から前記特定量以上に逸脱していることの決定に応答して保護動作をとるステップと
    をプロセッサに実行させる
    コンピュータプログラム。
JP2011514694A 2008-06-18 2009-06-09 ソフトウェア評価を確立し監視するシステムおよびプログラム Active JP5736305B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/141,440 US9779234B2 (en) 2008-06-18 2008-06-18 Software reputation establishment and monitoring system and method
US12/141,440 2008-06-18
PCT/US2009/046700 WO2009155165A1 (en) 2008-06-18 2009-06-09 Software reputation establishment and monitoring system and method

Publications (2)

Publication Number Publication Date
JP2011525662A JP2011525662A (ja) 2011-09-22
JP5736305B2 true JP5736305B2 (ja) 2015-06-17

Family

ID=41134664

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011514694A Active JP5736305B2 (ja) 2008-06-18 2009-06-09 ソフトウェア評価を確立し監視するシステムおよびプログラム

Country Status (5)

Country Link
US (1) US9779234B2 (ja)
EP (1) EP2316089B1 (ja)
JP (1) JP5736305B2 (ja)
CN (1) CN102037472B (ja)
WO (1) WO2009155165A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312536B2 (en) 2006-12-29 2012-11-13 Symantec Corporation Hygiene-based computer security
US8079085B1 (en) * 2008-10-20 2011-12-13 Trend Micro Incorporated Reducing false positives during behavior monitoring
US8904520B1 (en) * 2009-03-19 2014-12-02 Symantec Corporation Communication-based reputation system
DE102011117855A1 (de) * 2011-11-08 2013-05-08 Joachim Linz Verfahren zum Bewerten und Eindämmen von Risiken durch Smart-Phone-Applikationen.
US9589129B2 (en) 2012-06-05 2017-03-07 Lookout, Inc. Determining source of side-loaded software
US9407443B2 (en) 2012-06-05 2016-08-02 Lookout, Inc. Component analysis of software applications on computing devices
US9208215B2 (en) 2012-12-27 2015-12-08 Lookout, Inc. User classification based on data gathered from a computing device
US10834109B2 (en) * 2014-12-23 2020-11-10 Mcafee, Llc Determining a reputation for a process
EP3289510B1 (en) 2015-05-01 2020-06-17 Lookout Inc. Determining source of side-loaded software
US10218697B2 (en) 2017-06-09 2019-02-26 Lookout, Inc. Use of device risk evaluation to manage access to services
JP7156098B2 (ja) * 2019-03-06 2022-10-19 コニカミノルタ株式会社 情報処理装置、機能実行可否判断方法および機能実行可否判断プログラム

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092147A (en) * 1997-04-15 2000-07-18 Sun Microsystems, Inc. Virtual machine with securely distributed bytecode verification
US6167521A (en) * 1997-08-29 2000-12-26 International Business Machines Corporation Securely downloading and executing code from mutually suspicious authorities
US6560611B1 (en) * 1998-10-13 2003-05-06 Netarx, Inc. Method, apparatus, and article of manufacture for a network monitoring system
US6725377B1 (en) * 1999-03-12 2004-04-20 Networks Associates Technology, Inc. Method and system for updating anti-intrusion software
US6775779B1 (en) * 1999-04-06 2004-08-10 Microsoft Corporation Hierarchical trusted code for content protection in computers
US7185367B2 (en) * 1999-05-11 2007-02-27 Cylant, Inc. Method and system for establishing normal software system behavior and departures from normal behavior
US7181768B1 (en) * 1999-10-28 2007-02-20 Cigital Computer intrusion detection system and method based on application monitoring
US6862696B1 (en) * 2000-05-03 2005-03-01 Cigital System and method for software certification
US6892178B1 (en) * 2000-06-02 2005-05-10 Open Ratings Inc. Method and system for ascribing a reputation to an entity from the perspective of another entity
US7093239B1 (en) * 2000-07-14 2006-08-15 Internet Security Systems, Inc. Computer immune system and method for detecting unwanted code in a computer system
US6931545B1 (en) * 2000-08-28 2005-08-16 Contentguard Holdings, Inc. Systems and methods for integrity certification and verification of content consumption environments
US20020174422A1 (en) * 2000-09-28 2002-11-21 The Regents Of The University Of California Software distribution system
US6983380B2 (en) * 2001-02-06 2006-01-03 Networks Associates Technology, Inc. Automatically generating valid behavior specifications for intrusion detection
US7191438B2 (en) * 2001-02-23 2007-03-13 Lenovo (Singapore) Pte, Ltd. Computer functional architecture and a locked down environment in a client-server architecture
US20020194490A1 (en) * 2001-06-18 2002-12-19 Avner Halperin System and method of virus containment in computer networks
US6990534B2 (en) * 2001-07-20 2006-01-24 Flowfinity Wireless, Inc. Method for a proactive browser system for implementing background frame maintenance and asynchronous frame submissions
JP2003067210A (ja) * 2001-08-22 2003-03-07 Just Syst Corp プログラム実行防止装置、プログラム実行防止方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
US7174566B2 (en) * 2002-02-01 2007-02-06 Intel Corporation Integrated network intrusion detection
US6880149B2 (en) * 2002-04-01 2005-04-12 Pace Anti-Piracy Method for runtime code integrity validation using code block checksums
US7487543B2 (en) * 2002-07-23 2009-02-03 International Business Machines Corporation Method and apparatus for the automatic determination of potentially worm-like behavior of a program
US7020802B2 (en) * 2002-10-17 2006-03-28 Sun Microsystems, Inc. Method and apparatus for monitoring and recording computer system performance parameters
US7051322B2 (en) * 2002-12-06 2006-05-23 @Stake, Inc. Software analysis framework
US7305663B1 (en) * 2002-12-18 2007-12-04 Advanced Micro Devices, Inc. System and method for state-based profiling of multiprocessor systems
US20040205419A1 (en) * 2003-04-10 2004-10-14 Trend Micro Incorporated Multilevel virus outbreak alert based on collaborative behavior
US7546598B2 (en) * 2003-09-03 2009-06-09 Sap Aktiengesellschaft Measuring software system performance using benchmarks
US7464158B2 (en) * 2003-10-15 2008-12-09 International Business Machines Corporation Secure initialization of intrusion detection system
US20050091535A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Application identity for software products
US7743420B2 (en) * 2003-12-02 2010-06-22 Imperva, Inc. Dynamic learning method and adaptive normal behavior profile (NBP) architecture for providing fast protection of enterprise applications
US20070107052A1 (en) * 2003-12-17 2007-05-10 Gianluca Cangini Method and apparatus for monitoring operation of processing systems, related network and computer program product therefor
FR2864654B1 (fr) * 2003-12-30 2007-02-23 Trusted Logic Procede de determination de caracteristiques operationnelles d'un programme
US7506330B2 (en) * 2004-02-12 2009-03-17 International Business Machines Corporation Method and apparatus for identifying differences in runs of a computer program due to code changes
US7752662B2 (en) * 2004-02-20 2010-07-06 Imperva, Inc. Method and apparatus for high-speed detection and blocking of zero day worm attacks
US7984304B1 (en) * 2004-03-02 2011-07-19 Vmware, Inc. Dynamic verification of validity of executable code
EP1756708A4 (en) * 2004-06-04 2010-04-07 Fortify Software Inc DEVICE AND METHOD FOR DEVELOPING, CHECKING AND MONITORING SAFE SOFTWARE
US20050278178A1 (en) * 2004-06-10 2005-12-15 International Business Machines Corporation System and method for intrusion decision-making in autonomic computing environments
US7487545B2 (en) * 2004-06-17 2009-02-03 International Business Machines Corporation Probabilistic mechanism to determine level of security for a software package
US8640114B2 (en) * 2006-09-07 2014-01-28 Oracle America, Inc. Method and apparatus for specification and application of a user-specified filter in a data space profiler
US7865888B1 (en) * 2004-12-21 2011-01-04 Zenprise, Inc. Systems and methods for gathering deployment state for automated management of software application deployments
US7475387B2 (en) * 2005-01-04 2009-01-06 International Business Machines Corporation Problem determination using system run-time behavior analysis
US20060212931A1 (en) * 2005-03-02 2006-09-21 Markmonitor, Inc. Trust evaluation systems and methods
US7856658B2 (en) * 2005-06-20 2010-12-21 Lijit Networks, Inc. Method and system for incorporating trusted metadata in a computing environment
US20070044151A1 (en) * 2005-08-22 2007-02-22 International Business Machines Corporation System integrity manager
US20070180522A1 (en) * 2006-01-30 2007-08-02 Bagnall Robert J Security system and method including individual applications
KR100791290B1 (ko) * 2006-02-10 2008-01-04 삼성전자주식회사 디바이스 간에 악성 어플리케이션의 행위 정보를 사용하는장치 및 방법
JP2008021274A (ja) * 2006-06-15 2008-01-31 Interlex Inc プロセス監視装置及び方法
US20080016339A1 (en) * 2006-06-29 2008-01-17 Jayant Shukla Application Sandbox to Detect, Remove, and Prevent Malware
FI20060665A0 (fi) * 2006-07-07 2006-07-07 Nokia Corp Poikkeavuuden havaitseminen
JP2008077548A (ja) * 2006-09-25 2008-04-03 Matsushita Electric Ind Co Ltd 移動体通信端末、移動体通信方法、移動体通信プログラム、移動体通信システム
US8185953B2 (en) * 2007-03-08 2012-05-22 Extrahop Networks, Inc. Detecting anomalous network application behavior
US9378373B2 (en) * 2007-09-24 2016-06-28 Symantec Corporation Software publisher trust extension application
KR101489244B1 (ko) * 2007-12-24 2015-02-04 삼성전자 주식회사 가상 머신 모니터 기반의 프로그램 실행 시스템 및 그 제어방법
US8700642B2 (en) * 2010-03-22 2014-04-15 Microsoft Corporation Software agent for monitoring content relevance
US8646072B1 (en) * 2011-02-08 2014-02-04 Symantec Corporation Detecting misuse of trusted seals

Also Published As

Publication number Publication date
WO2009155165A8 (en) 2010-08-12
JP2011525662A (ja) 2011-09-22
US20090319998A1 (en) 2009-12-24
EP2316089A1 (en) 2011-05-04
EP2316089B1 (en) 2016-11-30
WO2009155165A1 (en) 2009-12-23
CN102037472A (zh) 2011-04-27
US9779234B2 (en) 2017-10-03
CN102037472B (zh) 2015-07-01

Similar Documents

Publication Publication Date Title
JP5736305B2 (ja) ソフトウェア評価を確立し監視するシステムおよびプログラム
US11687653B2 (en) Methods and apparatus for identifying and removing malicious applications
Song et al. The effective ransomware prevention technique using process monitoring on android platform
US9888032B2 (en) Method and system for mitigating the effects of ransomware
US10154066B1 (en) Context-aware compromise assessment
CN109155774B (zh) 用于检测安全威胁的系统和方法
CN109074452B (zh) 用于生成绊网文件的系统和方法
US9183377B1 (en) Unauthorized account monitoring system and method
US7665139B1 (en) Method and apparatus to detect and prevent malicious changes to tokens
RU2535506C2 (ru) Система и способ формирования сценариев модели поведения приложений
JP2009076069A (ja) ソフトウエアメーカー信頼性延長アプリケーション
Continella et al. Prometheus: Analyzing WebInject-based information stealers
JP5102659B2 (ja) 悪性Webサイト判定装置、悪性Webサイト判定システム、それらの方法、プログラム
WO2018034916A1 (en) Interrupt synchronization of content between client device and cloud-based storage service
US20230297676A1 (en) Systems and methods for code injection detection
US9659182B1 (en) Systems and methods for protecting data files
CN109997138A (zh) 用于检测计算设备上的恶意进程的系统和方法
Uma et al. Survey on Android malware detection and protection using data mining algorithms
US8353032B1 (en) Method and system for detecting identity theft or unauthorized access
CN116611058A (zh) 一种勒索病毒检测方法及相关系统
Helmer et al. Anomalous intrusion detection system for hostile Java applets
Shahzad et al. A survey on recent advances in malicious applications analysis and detection techniques for smartphones
Viswanathan et al. Dynamic monitoring of website content and alerting defacement using trusted platform module
CN113836542B (zh) 可信白名单匹配方法、系统和装置
WO2024121950A1 (ja) 配置場所選定装置、配置場所選定方法、及び配置場所選定プログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120524

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120601

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140805

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150420

R150 Certificate of patent or registration of utility model

Ref document number: 5736305

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250