JP4589996B2 - データ処理方法、データ処理装置、コンピュータプログラム、及び記録媒体 - Google Patents
データ処理方法、データ処理装置、コンピュータプログラム、及び記録媒体 Download PDFInfo
- Publication number
- JP4589996B2 JP4589996B2 JP2008265651A JP2008265651A JP4589996B2 JP 4589996 B2 JP4589996 B2 JP 4589996B2 JP 2008265651 A JP2008265651 A JP 2008265651A JP 2008265651 A JP2008265651 A JP 2008265651A JP 4589996 B2 JP4589996 B2 JP 4589996B2
- Authority
- JP
- Japan
- Prior art keywords
- branch
- address
- instruction code
- data
- instruction
- 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 - Fee Related
Links
Images
Description
例えば、近年、「ニムダ」、「コードレッド」等のコンピュータウィルスに代表されるように、システムプログラム又はウェブブラウザのようなアプリケーションプログラムの脆弱性(セキュリティホール)を利用して自己増殖させ、甚大な被害を与えたケースが存在する。
ななみ ふうた,"Part3 iptables拡張モジュールを使ってパケット・データを検査する 上級偏 ワーム/ウイルス撃退術",Linux WORLD,日本,(株)IDGジャパン,2002年8月1日,第1巻、第8号,第142〜149頁
実施の形態1.
図1は本発明のデータ処理装置を利用した侵入検出システムを説明する模式的構成図である。図中10は本発明のデータ処理装置を具体化した中継装置であり、例えば、ルータ、スイッチ、ブロードバンドルータ等のデータ通信を中継する装置である。中継装置10は、CPU11、メモリ12、及び通信インターフェース(以下、通信IFという)13,14を備えており、通信IF13に接続された情報処理装置20とインターネット網のようなデータ通信網Nを介して通信IF14に接続された他の情報処理装置30と間で、各種データの送受信を中継する。情報処理装置20,30は、例えば、パーソナルコンピュータ、サーバ装置、携帯電話機、PDA(Personal Digital Asistant)等のデータ通信を行うことができる装置である。
情報処理装置30から送信されたデータを中継装置10が受信した際、中継装置10は受信したデータが不正な処理を実行する命令コード(以下、不正コードという)を含んだデータであるか否かを判断し、不正コードを含んでいる場合には、通信の遮断、警報の出力等の処理を行う。
ルーティングテーブル12aには通信の経路制御情報が記憶されており、該経路制御情報によって、情報処理装置20から送信されるデータの伝送経路が決定される。フィルタリングテーブル12bには受信を拒否すべき通信相手の識別情報(例えば、IPアドレス又はポート番号等)が記憶されており、前記識別情報に該当する情報処理装置からのデータを受信した場合、そのデータを情報処理装置20へ送信しないようにしている。
また、メモリ12には本発明のコンピュータプログラムが予め記憶されており、CPU11が当該コンピュータプログラムを実行することによって、中継装置10は、不正コードを検出する侵入検出システムとして動作する。分岐テーブル12cには、前記コンピュータプログラムが起動中に取得した特定の命令コードに係るメモリアドレス(以下、単にアドレスという)が記憶され、不正コードを含んだデータであるか否かを判断する際に利用される。
中継装置10のCPU11は、これらのテーブルに対して適宜書込み処理、又は読込み処理を行い、通信制御を行うようにしている。
そして、call命令の呼出し先に、外部コマンドを呼び出すための命令コード群(A2〜A6)を対応付け、そのcall命令による呼出し先が、分岐元アドレス(A1)と分岐先アドレス(A10)との間にくるように設定している。この命令コード群において、call命令によってスタックへ格納されたアドレス、すなわちcall命令の次のアドレス(A11)をpop命令によって取得し、取得したアドレスを利用して、外部コマンドを実行させるようにしている。したがって、不正コードの作成者が意図した任意の外部コマンドをcall命令の次のアドレスに対応させることによって、これらの命令コードが実行されるときに、前記外部コマンドが呼出されて実行される構成となっている。
なお、前記命令コード群とcall命令との間(A7〜A9)にはダミーの初期データ及び作業領域を設けても良いことは勿論である。
中継装置10では、このような特徴的構造を持つ不正コードを通信IF14にて受信したデータから検出し、警報を出力するか又は通信の遮断を行うようにしている。
ステップS8にて、call命令でないと判断した場合(S8:NO)、又はステップS9にて、呼出先が分岐元アドレスと分岐先アドレスとの間にないと判断した場合(S9:NO)、処理をステップS5へ移行させる。
また、call命令の次のアドレスにアスキー文字列が存在するか否かについての判断を単独で行うことによっても、不正コードの有無を検出できることが発明者らの検討により知られている。
前述の不正コードでは、call命令の次のアドレスに実行させたい外部コマンドを置くこと特徴としており、実施の形態1では、そのような外部コマンドを呼出すための特殊な構造を見出すことによって、不正コードを検出していた。しかしながら、実行させたい外部コマンドは必ずしもcall命令の次に置く必要はなく、不正コードの作者によって予め定められたアドレス分だけ位置をずらして置くことも可能である。このような不正コードをここでは偽装された不正コードと呼び、以下、この偽装された不正コードの特徴的構造、及び検出手順について説明する。なお、中継装置10の構成、及び情報処理装置20,30との接続構成は実施の形態1と同様であるため説明を省略する。
すなわち、図6に示した構造を有する偽装された不正コードでは、call命令によりスタックへ格納されたアドレス(A2)を、A16〜A20に規定された命令コード群にて取得し、そのアドレスA2から5つ目のアドレス(A7)に対応付けられている外部コマンドを起動させるようにするのである。
図8は本実施の形態に係る侵入検出システムの処理手順を説明するフローチャートである。まず、中継装置10のCPU11は、受信したデータからcall命令を検索する(ステップS21)。そして、検索の結果、call命令があるか否かを判断し(ステップS22)、call命令がある場合(S22:YES)、CPU11は、検索されたcall命令のアドレスをメモリ12に記憶させる(ステップS23)。受信したデータにcall命令がない場合(S22:NO)、本侵入検出システムによる処理を終了する。
次いで、CPU11は、読込んだデータがスタックへアドレスを格納するためのpush命令か否かを判断する(ステップS26)。push命令であると判断した場合(S26:YES)、現在アドレスを記憶して(ステップS27)、処理をステップS25へ戻す。
呼出先のルーチンが終了していないと判断した場合(S31:NO)、処理をステップS25へ戻し、呼出先のルーチンが終了したと判断した場合(S31:YES)、ステップS23にて記憶させたアドレスを参照し、呼出元の次のアドレスへ移動させ(ステップS32)、call命令を再度検索し直す。
前述の実施の形態では、ルータ、スイッチ、ブロードバンドルータ等のデータ通信で利用される中継装置に本発明を適用した形態について説明したが、パーソナルコンピュータ、サーバ装置、携帯電話機、PDA等の通信機能を有した情報処理装置に適用することも可能である。
なお、本発明のコンピュータプログラムは、記録媒体60により提供されるだけでなく、データ通信網Nを通じて提供される形態であってもよいことは勿論である。
また、本発明のコンピュータプログラムをFD、CD−ROM等の記録媒体に記録させて提供することにより、コンピュータウィルスを検出するアプリケーションソフトウェアのパッケージとして提供することも可能である。
11 CPU
12 メモリ
12a ルーティングテーブル
12b フィルタリングテーブル
12c 分岐テーブル
13 通信IF
14 通信IF
20 情報処理装置
30 情報処理装置
50 情報処理装置
N データ通信網
Claims (4)
- 複数の命令コードを含むデータをデータ処理装置にて受信し、受信したデータに含まれる命令コードに基づいて実行される処理が不正処理であるか否かを前記データ処理装置が判断するデータ処理方法において、
前記データ処理装置は、CPU及びメモリを備え、
前記CPUは、
分岐命令に係る命令コードを前記データから検索し、
検索された命令コードに対応付けられている分岐元アドレス、及び前記命令コードの分岐先に対応付けられている分岐先アドレスを前記メモリ内に設けたテーブルに記憶させ、
前記分岐先アドレスに、外部コマンドを呼出す命令コード群を呼出すための命令コードが対応付けられているか否かを判断し、
前記分岐先アドレスに前記命令コードが対応付けられていると判断した場合、前記テーブルに記憶させた分岐元アドレス及び分岐先アドレスを参照することにより、前記命令コードの呼出先アドレスが前記分岐元アドレス及び分岐先アドレスの間にあるか否かを判断し、
前記呼出先アドレスが前記分岐元アドレス及び分岐先アドレスの間にあると判断した場合、前記データが不正処理を実行するデータである旨の情報を生成し、
生成した情報を出力する
ことを特徴とするデータ処理方法。 - 複数の命令コードを含むデータを受信し、受信したデータに含まれる命令コードに基づいて実行される処理が不正処理であるか否かを判断するデータ処理装置において、
該データ処理装置は、CPU及びメモリを備え、
前記CPUは、
分岐命令に係る命令コードを前記データから検索するステップと、
検索された命令コードに対応付けられている分岐元アドレス、及び前記命令コードの分岐先に対応付けられている分岐先アドレスを前記メモリ内に設けたテーブルに記憶させるステップと、
前記分岐先アドレスに、外部コマンドを呼出す命令コード群を呼出すための命令コードが対応付けられているか否かを判断するステップと、
前記分岐先アドレスに前記命令コードが対応付けられていると判断した場合、前記テーブルに記憶させた分岐元アドレス及び分岐先アドレスを参照することにより、前記命令コードの呼出先アドレスが前記分岐元アドレス及び分岐先アドレスの間にあるか否かを判断するステップと、
前記呼出先アドレスが前記分岐元アドレス及び分岐先アドレスの間にある場合、前記データが不正処理を実行するデータである旨の情報を生成するステップと、
生成した情報を出力するステップと
を実行するようにしてあることを特徴とするデータ処理装置。 - 入力された複数の命令コードを含むデータに基づいて実行される処理が不正処理であるか否かを、メモリを備えたコンピュータに判断させるコンピュータプログラムにおいて、
コンピュータに、分岐命令に係る命令コードを前記データから検索させるステップと、
コンピュータに、検索された命令コードに対応付けられている分岐元アドレス、及び前記命令コードの分岐先に対応付けられている分岐先アドレスを前記メモリ内に設けたテーブルに記憶させるステップと、
コンピュータに、前記分岐先アドレスに、外部コマンドを呼出す命令コード群を呼出すための命令コードが対応付けられているか否かを判断させるステップと、
コンピュータに、前記分岐先アドレスに前記命令コードが対応付けられていると判断した場合、前記テーブルに記憶させた分岐元アドレス及び分岐先アドレスを参照させることにより、前記命令コードの呼出先アドレスが前記分岐元アドレス及び分岐先アドレスの間にあるか否かを判断させるステップと、
コンピュータに、前記呼出先アドレスが前記分岐元アドレス及び分岐先アドレスの間にあると判断した場合、前記データが不正処理を実行するデータである旨の情報を生成させるステップと、
コンピュータに、生成した情報を出力させるステップと
を実行させることを特徴とするコンピュータプログラム。 - 入力された複数の命令コードを含むデータに基づいて実行される処理が不正処理であるか否かを、メモリを備えたコンピュータに判断させるコンピュータプログラムが記録されているコンピュータでの読取りが可能な記録媒体において、
コンピュータに、分岐命令に係る命令コードを前記データから検索させるステップと、
コンピュータに、検索された命令コードに対応付けられている分岐元アドレス、及び前記命令コードの分岐先に対応付けられている分岐先アドレスを前記メモリ内に設けたテーブルに記憶させるステップと、
コンピュータに、前記分岐先アドレスに、外部コマンドを呼出す命令コード群を呼出すための命令コードが対応付けられているか否かを判断させるステップと、
コンピュータに、前記分岐先アドレスに前記命令コードが対応付けられていると判断した場合、前記テーブルに記憶させた分岐元アドレス及び分岐先アドレスを参照させることにより、前記命令コードの呼出先アドレスが前記分岐元アドレス及び分岐先アドレスの間にあるか否かを判断させるステップと、
コンピュータに、前記呼出先アドレスが前記分岐元アドレス及び分岐先アドレスの間にあると判断した場合、前記データが不正処理を実行するデータである旨の情報を生成させるステップと、
コンピュータに、生成した情報を出力させるステップと
を実行させるコンピュータプログラムが記録されていることを特徴とするコンピュータでの読取りが可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008265651A JP4589996B2 (ja) | 2008-10-14 | 2008-10-14 | データ処理方法、データ処理装置、コンピュータプログラム、及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008265651A JP4589996B2 (ja) | 2008-10-14 | 2008-10-14 | データ処理方法、データ処理装置、コンピュータプログラム、及び記録媒体 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002227888A Division JP4660056B2 (ja) | 2002-08-05 | 2002-08-05 | データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009037642A JP2009037642A (ja) | 2009-02-19 |
JP4589996B2 true JP4589996B2 (ja) | 2010-12-01 |
Family
ID=40439420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008265651A Expired - Fee Related JP4589996B2 (ja) | 2008-10-14 | 2008-10-14 | データ処理方法、データ処理装置、コンピュータプログラム、及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4589996B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9659173B2 (en) * | 2012-01-31 | 2017-05-23 | International Business Machines Corporation | Method for detecting a malware |
ES2762988T3 (es) * | 2015-12-19 | 2020-05-26 | Bitdefender Ipr Man Ltd | Autoanálisis de memoria dual para asegurar múltiples puntos finales de red |
-
2008
- 2008-10-14 JP JP2008265651A patent/JP4589996B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009037642A (ja) | 2009-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10326781B2 (en) | Cloud-based gateway security scanning | |
US10733297B2 (en) | Real-time signatureless malware detection | |
CN108881101B (zh) | 一种基于文档对象模型的跨站脚本漏洞防御方法、装置以及客户端 | |
US20110307956A1 (en) | System and method for analyzing malicious code using a static analyzer | |
CN111737696A (zh) | 一种恶意文件检测的方法、系统、设备及可读存储介质 | |
CN106357696A (zh) | 一种sql注入攻击检测方法及系统 | |
JP4660056B2 (ja) | データ処理装置 | |
KR102271545B1 (ko) | 도메인 생성 알고리즘(dga) 멀웨어 탐지를 위한 시스템 및 방법들 | |
US10033761B2 (en) | System and method for monitoring falsification of content after detection of unauthorized access | |
US9680832B1 (en) | Using a probability-based model to detect random content in a protocol field associated with network traffic | |
US20200351300A1 (en) | Proxy server and navigation code injection to prevent malicious messaging attacks | |
CN101901232A (zh) | 用于处理网页数据的方法和装置 | |
WO2018076697A1 (zh) | 僵尸特征的检测方法和装置 | |
US20190044958A1 (en) | System, Method, and Apparatus for Computer Security | |
US11487868B2 (en) | System, method, and apparatus for computer security | |
CN111177727A (zh) | 漏洞检测方法及装置 | |
JP2014179025A (ja) | 接続先情報抽出装置、接続先情報抽出方法、及び接続先情報抽出プログラム | |
US11368430B2 (en) | Domain name server based validation of network connections | |
JP4589996B2 (ja) | データ処理方法、データ処理装置、コンピュータプログラム、及び記録媒体 | |
US20090126005A1 (en) | Method, apparatus and system for managing malicious-code spreading sites using firewall | |
CN110830518B (zh) | 溯源分析方法、装置、电子设备及存储介质 | |
KR101521903B1 (ko) | 링크정보의 악성코드에 대응한 단말기의 로컬환경 보호방법과 보호시스템 | |
EP3594841A1 (en) | Real-time signatureless malware detection | |
CN111147491A (zh) | 一种漏洞修复方法、装置、设备及存储介质 | |
JP2011258018A (ja) | セキュリティサーバシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100112 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100315 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100413 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100713 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100720 |
|
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: 20100831 |
|
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: 20100910 |
|
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: 20130917 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130917 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130917 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |