WO2004013755A1 - データ処理方法、データ処理装置、コンピュータプログラム、及び記録媒体 - Google Patents

データ処理方法、データ処理装置、コンピュータプログラム、及び記録媒体 Download PDF

Info

Publication number
WO2004013755A1
WO2004013755A1 PCT/JP2003/009894 JP0309894W WO2004013755A1 WO 2004013755 A1 WO2004013755 A1 WO 2004013755A1 JP 0309894 W JP0309894 W JP 0309894W WO 2004013755 A1 WO2004013755 A1 WO 2004013755A1
Authority
WO
WIPO (PCT)
Prior art keywords
instruction code
instruction
data
branch
address
Prior art date
Application number
PCT/JP2003/009894
Other languages
English (en)
French (fr)
Inventor
Kazunori Saito
Original Assignee
Osaka Industrial Promotion Organization
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 Osaka Industrial Promotion Organization filed Critical Osaka Industrial Promotion Organization
Priority to US10/523,690 priority Critical patent/US7805760B2/en
Priority to AU2003252387A priority patent/AU2003252387A1/en
Publication of WO2004013755A1 publication Critical patent/WO2004013755A1/ja

Links

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
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Definitions

  • the present invention relates to a data processing method for detecting data for executing an unauthorized process, a data processing device, a computer program for realizing the data processing device, and a computer on which the computer program is recorded.
  • the present invention relates to a readable recording medium. Background art
  • attack data containing instruction codes for performing illegal processing (hereinafter referred to as “illegal codes”) is targeted for server devices, personal computers, etc. And the instruction code is executed by the information processing device.
  • malicious codes There are a variety of such attack methods, one of which is known as a buffer overflow attack method.
  • buffer overflow the number of buffers allocated in the stack exceeds the number of allocated buffers. If the buffer overflows when the query is being written to and the buffer overflows, unexpected variable rupture may occur and cause a program malfunction.
  • a buffer overflow attack intentionally causes a program to malfunction, for example, acquiring system administrator privileges.
  • the conventional detection method for attack data is not suitable for attack processing such as the detection of a known bit pattern or the simple repetition of a NOP instruction (NOP: non-operation). Attempts have been made to detect structures that are not qualitative. Therefore, it is weak to the variation of attack data, and every time unknown attack data appears, it is necessary to update the database of bit patterns used for detection, and the time lag until the database is updated has become a problem.
  • the present invention has been made in view of such circumstances, and relates to a branch instruction.
  • the input code is searched for the instruction code to be executed, and it is determined whether or not an instruction code for calling an instruction code group for executing a predetermined process is associated with the branch destination address. If it is determined that the instruction code is associated with the branch destination address, it is determined whether the call destination address of the instruction code is between the branch source address and the branch destination address.
  • a data processing method, a data processing device, a computer program for realizing the data processing device, and a computer-readable recording medium storing the computer program The and provide child and purpose.
  • the data processing method receives an input of data including a plurality of instruction codes, and determines whether or not a process executed based on the instruction codes included in the received data is an illegal process.
  • an instruction code related to a branch instruction is searched from the data, and a branch source address associated with the searched instruction code and a branch destination of the instruction code are determined.
  • the branch destination address is stored, and it is determined whether the branch destination address is associated with an instruction code for calling an instruction code group for executing a predetermined process. If it is determined that the instruction code is associated with the branch destination address, the call destination address of the instruction code is stored, and the stored call destination address is the branch source address and the branch destination address. Characterized in that to determine whether there between dress.
  • the data processing device includes means for receiving input of data including a plurality of instruction codes, and a process executed based on the instruction code included in the data received by the means is an unauthorized process.
  • Means for storing a branch destination address associated with the instruction, and whether or not an instruction code for calling an instruction code group for executing a predetermined process is associated with the branch destination address.
  • the data processing device is the data processing device according to the second aspect, The apparatus further comprises means for determining whether a predetermined character string is associated with the return destination address. If the character string is associated with the return destination address, the data executes an illegal process. It is characterized in that it is designed to output information that it is data to be processed.
  • a data processing device includes a means for receiving input of data including a plurality of instruction codes, and a process executed based on the instruction codes included in the data received by the means is an unauthorized process.
  • a data processing device for determining whether or not the instruction code for executing a predetermined process is called from the data; and a return address of the instruction code group.
  • a data processing device includes means for receiving input of data including a plurality of instruction codes, and a process executed based on the instruction codes included in the data received by the means is an unauthorized process.
  • a data processing device for determining whether or not the instruction code for calling a group of instruction codes for executing predetermined processing is searched from the data; and Means for determining whether or not the instruction code for obtaining the return address of the instruction code group is included in the instruction code group; and the instruction code is included in the instruction code group.
  • the information processing apparatus further comprises means for outputting information indicating that the data is data for executing an unauthorized process.
  • a computer program is a computer program having a step of causing a computer to determine whether or not a process executed based on data including a plurality of input instruction codes is an illegal process.
  • a step of storing a branch destination address that has been previously associated, and whether or not an instruction code for calling an instruction code group for executing a predetermined process is associated with the branch destination address in the computer. Determining whether or not the instruction code is associated with the branch destination address. If it is determined that there is a call destination address of the instruction code, the computer stores the stored call destination address between the branch source address and the branch destination address. It is characterized by having a step of judging whether or not it is.
  • the computer readable recording medium stores the computer based on data including a plurality of instruction codes inputted.
  • Computer program having a step of judging whether or not a process to be executed is an illegal process is recorded on a computer-readable recording medium on which a computer program is recorded.
  • a computer program which has a step of storing an address and a step of determining whether or not the stored call destination address is between the branch source address and the branch destination address.
  • the instruction code related to the branch instruction is searched from the input data, and the searched instruction code is searched for.
  • the branch source address and the branch destination address of the code are stored, and it is determined whether or not an instruction code for calling an instruction code group for executing a predetermined process is associated with the branch destination address. If it is determined that the instruction code is associated with the branch destination address, the call destination address of the instruction code is stored, and the stored call destination address is the branch source address and the branch destination address.
  • the detection accuracy of the illegal code is improved. improves.
  • an instruction code for calling an instruction code group for executing a predetermined process is searched from the input data, and a predetermined character is added to a return address of the instruction code group. Since it is determined whether or not a column is associated, it is easy to determine whether or not the code is illegal, and it is possible to determine with high accuracy.
  • an instruction code for calling an instruction code group for executing a predetermined process is searched from the input data, and if the instruction code is found, the instruction code group is searched. Since it is determined whether or not an instruction code for acquiring the return address is included in the data, it is easy to determine whether the code is an illegal code and the determination is made with high accuracy. Can be done.
  • FIG. 1 is a schematic configuration diagram illustrating an intrusion detection system using the data processing device of the present invention
  • FIG. 2 is a conceptual diagram illustrating a characteristic structure of an unauthorized code
  • FIG. FIG. 4 is a conceptual diagram illustrating a characteristic structure
  • FIG. 4 is a flowchart illustrating a processing procedure of the intrusion detection system according to the present embodiment
  • FIG. 5 is an example of a branch table used for intrusion detection.
  • Fig. 6 is a conceptual diagram illustrating the characteristic structure of spoofed malicious code
  • Fig. 7 is a conceptual diagram illustrating the characteristic structure of spoofed malicious code
  • Fig. 8 is the present embodiment.
  • FIG. 9 is a flowchart illustrating a processing procedure
  • FIG. 9 is a schematic diagram illustrating a configuration of an intrusion detection system according to the present embodiment.
  • FIG. 1 is a schematic configuration diagram illustrating an intrusion detection system using the data processing device of the present invention.
  • reference numeral 10 denotes a relay device that embodies the data processing device of the present invention, for example, a device that relays data communication such as a router, a switch, or a broadband router.
  • the relay device 10 includes a CPU 11, a memory 12, and communication interfaces (hereinafter, referred to as communication IFs) 13, 14, and information processing devices connected to the communication IF 13 are provided. It relays transmission and reception of various data between the device 20 and another information processing device 30 connected to the communication IF 14 via a data communication network N such as the Internet.
  • the information processing devices 20 and 30 are, for example, personal computers, server devices, mobile phones, PDAs
  • the relay device 10 When the relay device 10 receives the data transmitted from the information processing device 30, the relay device 10 transmits the data including an instruction code (hereinafter referred to as an invalid code) for executing the invalid processing on the received data. Judgment is made as to whether or not it is illegal, and if it contains an illegal code, processing such as shutting down communication and outputting an alarm is performed.
  • an instruction code hereinafter referred to as an invalid code
  • the memory 12 of the relay device 10 includes a routing table 12a, a filtering table 12b, and a branch table 12c.
  • the routing table 12a stores communication path control information, and the transmission path of data transmitted from the information processing device 20 is determined based on the path control information.
  • the filtering table 12b stores identification information (for example, an IP address or a port number) of a communication partner whose reception should be refused, and is transmitted from an information processing apparatus corresponding to the identification information. When receiving this data, the data is not transmitted to the information processing device 20.
  • the computer program of the present invention is stored in the memory 12 in advance, and the relay apparatus 10 detects the illegal code by executing the computer program by the CPU 11. It operates as an intrusion detection system.
  • the branch table 12c stores a memory address (hereinafter, simply referred to as an address) related to a specific instruction code acquired during the activation of the computer program, and is a data containing an illegal code. It is used to determine whether or not there is.
  • the CPU 11 of the intermediate thread lowering device 10 performs a writing process or a reading process on these tables as appropriate to control the communication.
  • the following description is based on the knowledge of the inventors.
  • the characteristic structure of the obtained malicious code will be described.
  • the inventor sets a call instruction (hereinafter referred to as a cal 1 instruction) at a branch destination specified by a branch instruction (hereinafter referred to as a jmp instruction). And that the callee is between the jmp instruction and the ca11 instruction. Then, the address stored in the stack by the ca11 instruction, that is, the address following the ca11 instruction is acquired by the instruction code group of the call destination, and the acquired address is used. And execute the command you want to start.
  • a call instruction hereinafter referred to as a cal 1 instruction
  • a branch instruction hereinafter referred to as a jmp instruction
  • FIG. 2 and FIG. 3 are conceptual diagrams illustrating the characteristic structure of the malicious code.
  • the jmp instruction for branching the processing The ca11 instruction is set according to the forehead. That is, the cal1 instruction is associated with the branch destination address (A10) of the jmp instruction, and the instruction code group (A2) for calling the external command is called at the call destination of the ca11 instruction. ⁇ A6) is associated, and the call destination by the cal1 instruction is set so as to be between the branch source address (A1) and the branch destination address (A10).
  • the address stored in the stack by the ca11 instruction in this instruction code group, that is,. a11 The address (All) following the instruction is acquired by the pop instruction, and an external command is executed using the acquired address.
  • dummy initial data and a work area may be provided between the instruction code group and the call instruction (A7 to A9).
  • the illegal code described above is (1) that the call instruction exists at the branch destination of the jmp instruction, and (2) the call destination of the call instruction is the ca11 instruction and the jmp instruction.
  • the feature is that it exists between
  • the relay device 10 detects an illegal code having such a characteristic structure from the data received by the communication IF 14, and outputs an alarm or cuts off the communication.
  • FIG. 4 is a flowchart for explaining the processing procedure of the intrusion detection system according to the present embodiment
  • FIG. 5 is used for intrusion detection.
  • FIG. 5 is a conceptual diagram showing an example of a branch table 1 2c to be executed.
  • the CPU 11 of the relay device 10 reads one byte of data received by the communication IF 14 (step S 1). Then, the CPU 11 determines whether or not the read data is a jmp instruction (step S2). If the read data is an imp instruction (S2: YES), the CPU 11 determines whether the address of the branch destination specified by the jmp instruction is larger than the address of the current position. Is determined (step S3).
  • step S4 If it is determined that the address of the branch destination is larger than the address of the current position (S3: YES), the address of the current position (branch source address) and the address of the branch destination (branch destination address) are determined. Is associated and stored in the branch table 12c (step S4).
  • the data is a jmp instruction, and the address of the branch destination designated by the ⁇ mp instruction is used.
  • Al is stored in the branch table 12 c as the branch source address and A 10 is stored in the branch table 12 c as the branch destination address. See figure).
  • step S3 If it is determined in step S3 that the branch destination address is smaller than the address of the current position (S3: NO), or in step S4, the branch source address is stored in the branch table 12c.
  • step S5 determines that the data to be read is completed (step S5), and determines that the data to be read still remains, (S5: NO), the process returns to step SI, and if it is determined that the data to be read has been completed (S5: YES), this routine ends.
  • step S2 If it is determined in step S2 that the data is not a read data jmp instruction (S2: NO), the CPU 11 matches the address at the current position with the branch destination address stored in the branch table 12c. Whether to do Judge (Step S6). If the address at the current position does not match the address at the branch destination (S6: NO), a branch destination address smaller than the address at the current position is deleted from the branch table 12c (step S7). . Then, the process of step S5 is performed, and the process returns to step S1 again, or it is determined whether to end the process of this routine. The address of the current position is stored in the branch table 12c.
  • Step S8 the CPU 11 determines whether the instruction code associated with the address at the current position is the ca 11 instruction. If it is determined that the instruction code corresponding to the address at the current position is the ca11 instruction (S8: YES), the CPU 11 refers to the branch table 12c to execute the ca11 instruction. 11. It is determined whether the call destination by the 1 instruction is between the branch source address and the branch destination address (step S9).
  • step S8 If it is determined in step S8 that the instruction is not the ca11 instruction (S8: NO), or if the call destination is not between the branch source address and the branch destination address in step S9. If judged (S9: NO), the process proceeds to step S5.
  • step S10 If it is determined that the call destination by the ca11 instruction is between the branch source address and the branch destination address stored in the branch table 12c (S9: YES), the CPU 11 is invalid. Information indicating that a code has been detected is generated (step S10).
  • Information indicating that the illegal code has been detected may be displayed on the relay device 10 by providing a display unit such as a liquid crystal display, or by providing an alarm unit such as a buzzer or an LED lamp. You may be notified. Further, the information may be transmitted to the information processing device 20 and displayed on a display unit (not shown) of the information processing device 20. Further, in response to the generation of information indicating that the unauthorized code has been detected, Communication may be interrupted.
  • the address stored in the stack by the ca11 instruction contains the character string of the external command to be executed, so the ASCII address is the address following the ca11 instruction.
  • the inventors of the present invention have studied that the presence or absence of an illegal code can be detected by independently determining whether or not an ASCII character string exists at the address following the ca11 instruction. Is known.
  • the present embodiment by sequentially reading and processing data, it is possible to determine whether or not an illegal code is included.
  • the mechanism is simple and high-speed processing is possible.
  • the illegal code described above is characterized in that an external command to be executed is placed at the address following the ca11 instruction.
  • a special command for calling such an external command is used.
  • the malicious code was detected.
  • the external command to be executed does not necessarily have to be placed after the ca 11 instruction, and can be shifted by an address predetermined by the creator of the illegal code.
  • Such a malicious code is referred to as a spoofed fraudulent code, and the characteristic structure of the spoofed fraudulent code and a detection procedure will be described below. Note that the configuration of the relay device 10 and the connection configuration with the information processing devices 20 and 30 are the same as those in the first embodiment, and a description thereof will be omitted.
  • Fig. 6 and Fig. 7 are conceptual diagrams explaining the characteristic structure of spoofed fraudulent code.
  • ca11 instruction In the instruction code group called as above, the address corresponding to the external command to be activated is obtained in the same manner as described above, but the ca11 instruction and the external command are used. This is different from the illegal code described in the first embodiment in that a dummy instruction code having a fixed length is placed between them and disguised.
  • the address (A 2) stored in the stack by the ca 11 instruction is changed to A 16 to A 20.
  • the specified command code group is acquired, and an external command associated with the fifth address (A7) from address A2 is started.
  • FIG. 8 is a flowchart illustrating a processing procedure of the intrusion detection system according to the present embodiment.
  • the CPU 11 of the relay device 10 searches for the ca 11 instruction from the received data (step S 21). Then, as a result of the search, it is determined whether or not there is a ca11 instruction (step S22). If there is a ca11 instruction (S22: YES), the CPU 11 determines the searched ca. 11. Store the address of the 1 instruction in memory 12 (step S23). If the received data does not include the ca11 instruction If (S22: NO), the processing by the intrusion detection system ends. After the address of the searched ca11 instruction is stored, it is moved to the call destination address specified by the ca11 instruction (step S24), and one byte of data is read. (Step S25).
  • the CPU 11 determines whether the read data is a push instruction for storing an address in the stack (step S26). If it is determined that the read data is a push instruction (S2 6: YES), memorize the current address (step S27), and return to step S25. If it is determined that the read data is not a push instruction (S26: NO), a pop instruction Is determined (step S28). If it is determined that the instruction is not a pop instruction (S28: NO), it is determined whether or not the called routine has been completed (step S31).
  • step S31: NO If it is determined that the called routine has not ended (S31: NO), the process returns to step S25, and if it is determined that the called routine has ended (S31: YES), the step The address stored in step S23 is referred to, moved to the next address of the calling source (step S32), and the ca11 instruction is searched again.
  • step S25 If it is determined that the data read in step S25 is a pop instruction (S28: YES), the CPU 11 refers to the address stored in step S27 by referring to the address stored in step S27. Then, it is determined whether or not the push instruction is a pop instruction that does not precede (step S29). The push instruction does not precede; if it is determined that the instruction is not a pop instruction (S29: NO), the process proceeds to step S31.
  • the CPU 11 sends information indicating that an illegal code has been detected.
  • the information indicating that the above-described illegal code is detected is the same as in the first embodiment.
  • the relay device 10 may be provided with a display unit such as a liquid crystal display or the like, or may be provided with an alarm unit such as a buzzer or an LED lamp to notify. Further, the information may be transmitted to the information processing device 20 and displayed on a display unit (not shown) included in the information processing device 20. Further, the communication may be cut off in response to the generation of the information indicating that the unauthorized code has been detected.
  • a relay device used for data communication such as a router, a switch, and a broadband router
  • a personal computer, a server device It can also be applied to information processors with communication functions such as telephones and PDAs.
  • FIG. 9 is a schematic diagram illustrating a configuration of an intrusion detection system according to the present embodiment.
  • 50 is an information processing device such as a personal computer, which is connected to the data communication network N via a relay device 40 such as a router.
  • the information processing device 50 receives data from various communication devices and other information processing devices through the data communication network N and the relay device 40, and transmits data to the communication devices and the information processing device. I try to send it.
  • the relay device 40 includes a CPU 41, a memory 42, and a communication interface 434, and the memory 42 has a routing in which communication path control information is stored. It has a table 42a and a filtering table 42b in which identification information (for example, an IP address or a port number) of a communication partner whose reception is to be rejected is stored.
  • identification information for example, an IP address or a port number
  • a transmission path is set by the routing table 42a, and when data is received from the outside, the data is referred to the filtering table 42b. Communication phase for which reception should be refused It is determined whether or not it is a hand.
  • the information processing device 50 includes a CPU 51, and has a ROM 53, a RAM 54, a display unit 55, an input unit 56, a communication unit 57, and an auxiliary storage device via a bus 52. It is connected to various hardware such as 58 and internal storage device 59.
  • the CPU 51 controls the hardware according to a control program stored in the ROM 53.
  • the RAM 54 is composed of an SRAM or a flash memory, and stores data generated when the control program stored in the ROM 53 is executed.
  • the display unit 55 is a display device such as a CRT or a liquid crystal display
  • the input unit 56 is an input device such as a keyboard and a mouse.
  • the display unit 55 and the input unit 56 are used, for example, when inputting and displaying data to be transmitted.
  • the communication unit 57 includes a line terminating device such as a modem, and controls transmission and reception of various data via the relay device 40.
  • the auxiliary storage device 58 includes an FD drive for reading the computer program and data from a recording medium 60 such as an FD or a CD-ROM in which the computer program and data of the present invention are recorded, a CD-ROM drive or the like.
  • the read computer program and data are stored in the internal storage device 59.
  • the computer program and data stored in the internal storage device 59 are read into the RAM 54 and executed by the CPU 51 to operate as the information processing device 50 according to the present embodiment.
  • the computer program of the present invention may be provided not only by the recording medium 60 but also through a data communication network N.
  • the above-mentioned computer program is desirably a resident type program that is automatically read into the RAM 54 when the information processing device 50 is started up, and when the communication unit 57 receives data from outside. Automatically It is advisable to detect unauthorized code in advance. The procedure for detecting an unauthorized code is the same as that described in the first and second embodiments, and therefore the description is omitted.
  • data including an unauthorized code is detected by using an information processing device 50 such as a personal computer.
  • an information processing device 50 such as a personal computer.
  • the present invention can be applied to electronic game machines, in-vehicle communication devices, and various information appliances.
  • the instruction code relating to the branch instruction is input and retrieved from the data, the branch source address and the branch destination address of the retrieved instruction code are stored, and the branch destination address is stored. It is determined whether or not an instruction code for calling an instruction code group for executing a predetermined process is associated with the address, and it is determined that the instruction code is associated with the branch destination address. In such a case, the call destination address of the instruction code is stored, and it is determined whether the stored call destination address is between the branch source address and the branch destination address. Therefore, since we focus on a universal structure that cannot be found in ordinary executable code, it is highly likely that even if the malicious code is transformed, it is likely to be detected, and unknown attack data will appear.
  • the malicious code can be detected.
  • the processing speed is high, and for example, real-time determination can be made for data received through communication.
  • the apparatus further includes means for determining whether or not a predetermined character string is associated with the return address of the instruction code group, the detection accuracy of an unauthorized code is improved.
  • an instruction code for calling an instruction code group for executing a predetermined process is searched from the input data, and a predetermined character string is associated with a return address of the instruction code group. Since it is determined whether or not the code is incorrect, it is easy to determine whether or not the code is invalid, and the determination can be made with high accuracy.
  • an instruction code for calling an instruction code group for executing a predetermined process is searched from the input data, and when the instruction code is found, a return address is obtained in the instruction code group.
  • the present invention has an excellent effect, for example, it is easy to judge whether or not an illegal code is included because it is possible to judge whether or not an instruction code for performing the operation is included. .

Abstract

分岐命令(jmp命令)の分岐元アドレスと分岐先アドレスとを記憶し、分岐先アドレスに外部コマンドを実行させるための命令コード群を呼出すための呼出命令(call命令)が対応付けられているか否かを判断し、呼出命令が分岐先アドレスに対応付けられている場合、その呼出先が分岐元アドレスと分岐先アドレスとの間にあるか否かを判断し、呼出命令による呼出先が分岐元アドレスと分岐先アドレスとの間にある場合、不正コードを検出した旨の情報を生成する。

Description

糸田 »
データ処理方法、 データ処理装置、 コ ンビ タプログラム 及び記録媒体 技術分野
本発明は、 不正な処理を実行するデータを検出するデータ処理方 法、 データ処理装置、 該データ処理装置を実現するためのコ ンビュ ータプロ グラム、 及び該コ ンピュータプログラムが記録されている コ ンピュータでの読取り が可能な記録媒体に関する。 背景技術
イ ンターネッ ト網の普及に伴い、 各種の情報処理装置がコ ンビュ ータ ウィ ルス、 ク ラ ッキング等の攻撃の対象と な り 、 それらの脅威 に晒される可能性が高く なってきている。
例えば、 近年、 「ニムダ」 、 「コー ドレ ッ ド」 等のコ ンピュータ ウィルスに代表される よ う に、 システムプロ グラム又はウェブブラ ゥザのよ う なアプリ ケーショ ンプロ グラムの脆弱性 (セキュ リ ティ ホール) を利用 して自 己増殖させ、 甚大な被害を与えたケースが存 在する。
前述のよ う なコンピュータ ウィルス、 ク ラ ッキング等による攻撃 では、 不正な処理を行う命令コー ド (以下、 不正コー ドという) を 含む攻撃データを攻撃対象であるサーバ装置、 パーソナルコ ンビュ ータ等の情報処理装置に対して送信し、 その情報処理装置にて前記 命令コー ドが実行される よ う にしている。 このよ う な攻撃手法は 様々なものが存在し、 その 1つと してバッファオーバフローによる 攻撃手法が知られている。 バッファオーバフローでは、 スタ ック 内 に確保されたバッ フ ァにおいて、 確保されたバッファ以上のスタ ッ クエリ ァに書込みが行われている状態であり、 バッファオーバフロ 一の状態に陥った場合、 予期せぬ変数破壌を招き、 プロ グラ ムの誤 動作の原因となり得る。 バッファオーバフローによる攻撃では、 プ ロ グラ ムの誤動作を意図的に引き起し、 例えばシステムの管理者権 限を取得することが行われる。
これらのコンピュータウィルス、 クラッキング等の攻撃に対処す るため、 従来では、 受信したデータに対して不正コー ドにみられる 特定のビッ トパターンの有無を検出する。 そして、 そのよ うなビッ トパターンが受信したデータに含まれている場合には、 不正コー ド を含んだ攻撃データであると判定し、 データの受信拒否、 ユーザへ の報知等の処理を行う よ う にしている。
そのため、 従来の手法によ り様々なコンピュータウィルス、 クラ ッキング等の攻撃に対処するためには、 各コンピュータウィルス、 ク ラ ッキングに対応した特定のビッ トパターンをデータベースに記 憶させて予め用意しておく必要があり、 新種のコンピュータ ウィル ス、 クラ ッキング手法が発見された場合には、 前記データベースを 更新して対処しなければならない。
と ころで、 攻撃データに対する従来の検出方法では、 前述のよ う に既知のビッ トパターンを検出するカ 又は N O P命令 (NOP : non-op erat i on ) の単純な繰り返しといった攻撃処理にとって、 本 質的とはいえない部分の構造を検出するよ う にしてきた。 そのため 攻擊データのバリエーショ ンに弱く 、 未知の攻撃データが現れる毎 に、 検出に用いるビッ トパターンのデータベースを更新する必要が あり 、 データベースが更新されるまでのタイムラグが問題になって いた。
発明の開示
本発明は斯かる事情に鑑みてなされたものであり、 分岐命令に係 る命令コー ドを入力されたデータから検索し、 分岐先ア ドレスに、 所定の処理を実行する命令コ ー ド群を呼出すための命令コ ー ドが対 応付けられているか否かを判断し、 分岐先ア ドレスに前記命令コ ー ドが対応付けられていると判断した場合、 前記命令コ ー ドの呼出先 ァ ドレスが前記分岐元ァ ドレス及び分岐先ァ ドレスの間にあるか否 かを判断する構成とすることによ り、 不正な処理を行う命令コー ド 群を検出するためのビッ トパターンを予め用意する必要がなく 、 不 正な処理を行う未知の命令コー ド群に対しても検出可能なデータ処 理方法、 データ処理装置、 該データ処理装置を実現するためのコ ン ピュータプログラム、 及ぴ該コンピュータプログラムが記録されて いるコンピュータでの読取り が可能な記録媒体を提供するこ とを目 的とする。
第 1発明に係るデータ処理方法は、 複数の命令コ ー ドを含むデー タ の入力を受付け、 受付けたデータに含まれる命令コー ドに基づい て実行される処理が不正処理であるか否かを判断するデータ処理方 法において、 分岐命令に係る命令コー ドを前記データから検索し、 検索された命令コー ドに対応付けられている分岐元ァ ドレス、 及び 前記命令コ ー ドの分岐先に対応付けられている分岐先ァ ドレスを記 憶し、 前記分岐先ア ドレスに、 所定の処理を実行する命令コー ド群 を呼出すための命令コー ドが対応付けられているか否かを判断し、 前記分岐先ァ ドレスに前記命令コ ー ドが対応付けられている と判断 した場合、 前記命令コー ドの呼出先ア ドレスを記憶し、 記憶した呼 出先ァ ドレスが前記分岐元ァ ドレス及ぴ分岐先ァ ドレスの間にある か否かを判断することを特徴とする。
第 2発明に係るデータ処理装置は、 複数の命令コー ドを含むデー タ の入力を受付ける手段を備え、 該手段にて受付けたデータに含ま れる命令コー ドに基づいて実行される処理が不正処理であるか否か を判断するデータ処理装置において、 分岐命令に係る命令コー ドを 前記データから検索する手段と、 検索された命令コー ドに対応付け られている分岐元ァ ドレス、 及び前記命令コ一 ドの分岐先に対応付 けられている分岐先ア ドレスを記憶する手段と、 前記分岐先ァ ド レ スに、 所定の処理を実行する命令コー ド群を呼出すための命令コー ドが対応付けられているか否かを判断する手段と、 前記分岐先ア ド レスに前記命令コー ドが対応付けられている と判断した場合、 前記 命令コー ドの呼出先ア ドレスを記憶する手段と、 記憶した呼出先ァ ドレスが前記分岐元ァ ドレス及び分岐先ァ ドレスの間にあるか否か を判断する手段と、 前記呼出先ア ドレスが前記分岐元ア ドレス及び 分岐先ア ド レスの間にある場合、 前記データが不正処理を実行する データである旨の情報を出力する手段とを備える こ とを特徴とする 第 3発明に係るデータ処理装置は、 第 2発明に係るデータ処理装 置において、 前記命令コード群の復帰先ア ドレス に所定の文字列が 対応付けられているか否かの判断をする手段を更に備え、 前記文字 列が前記復帰先ァ ドレスに対応付けられている場合、 前記データが 不正処理を実行するデータである旨の情報を出力すべく なしてある ことを特徴とする。
第 4発明に係るデータ処理装置は、 複数の命令コー ドを含むデー タの入力を受付ける手段を備え、 該手段にて受付けたデータに含ま れる命令コー ドに基づいて実行される処理が不正処理であるか否か を判断するデータ処理装置において、 所定の処理を実行する命令コ 一 ド群を呼出すための命令コー ドを前記データから検索する手段と 前記命令コー ド群の復帰先ァ ドレスに所定の文字列が対応付けられ ているか否かを判断する手段と、 前記文字列が前記復帰先ア ド レス に対応付けられている場合、 前記データが不正処理を実行するデー タである旨の情報を出力する手段とを備えることを特徴とする。 第 5発明に係るデータ処理装置は、 複数の命令コー ドを含むデー タの入力を受付ける手段を備え、 該手段にて受付けたデータに含ま れる命令コー ドに基づいて実行される処理が不正処理であるか否か を判断するデータ処理装置において、 所定の処理を実行する命令コ 一 ド群を呼出すための命令コ ー ドを前記データから検索する手段と 前記命令コー ドが検索された場合、 前記命令コー ド群の復帰先ア ド レスを取得するための命令コー ドが前記命令コー ド群に含まれる力 否かを判断する手段と、 前記命令コー ドが前記命令コー ド群に含ま れる場合、 前記データが不正処理を実行するデータである旨の情報 を出力する手段とを備えるこ とを特徴とする。
第 6発明に係るコンピュータプロ グラムは、 コンピュータに、 入 力された複数の命令コー ドを含むデータに基づいて実行される処理 が不正処理であるか否かを判断させるステップを有するコンビユ ー タプログラムにおいて、 コンピュータに、 分岐命令に係る命令コー ドを前記データから検索させるステップと、 コンピュータに、 検索 された命令コー ドに対応付けられている分岐元ァ ド レス、 及び前記 命令コ ー ドの分岐先に対応付けられている分岐先ァ ドレスを記憶さ せるステップと、 コンピュータに、 前記分岐先ア ドレスに、 所定の 処理を実行する命令コード群を呼出すための命令コー ドが対応付け られているか否かを判断させるステップと、 コンピュータに、 前記 分岐先ア ドレスに前記命令コー ドが対応付けられている と判断した 場合、 前記命令コー ドの呼出先ァ ド レスを記憶させるステップと、 コンピュータに、 記憶させた呼出先ァ ドレスが前記分岐元ァ ド レス 及ぴ分岐先ア ド レス の間にあるか否かを判断させるステップと有す ることを特徴とする。
第 7発明に係るコンピュータでの読取り が可能な記録媒体は、 コ ンピュータに、 入力された複数の命令コ ー ドを含むデータに基づい て実行される処理が不正処理であるか否かを判断させるステップを 有するコ ンピュータプログラムが記録されているコ ンピュータ での 読取り が可能な記録媒体において、 コ ンピュータに、 分岐命令に係 る命令コー ドを前記データから検索させるステップと、 コ ンビユ ー タに、 検索された命令コー ドに対応付けられている分岐元ァ ド レス 及ぴ前記命令コ ー ドの分岐先に対応付けられている分岐先ァ ド レス を記憶させるステップと、 コ ンピュータに、 前記分岐先ア ド レス に 所定の処理を実行する命令コ ー ド群を呼出すための命令コ ー ドが対 応付けられているか否かを判断させるステップと、 コ ンピュータに 前記分岐先ア ドレス に前記命令コー ドが対応付けられている と判断 した場合、 前記命令コードの呼出先ア ドレスを記憶させるステップ と、 コ ンピュータに、 記憶させた呼出先ア ドレスが前記分岐元ア ド レス及び分岐先ア ドレスの間にあるか否かを判断させるステップと 有する コ ンピュータプログラムが記録されているこ とを特徴とする 第 1発明、 第 2発明、 第 6発明、 及び第 7発明にあっては、 分岐 命令に係る命令コ ー ドを入力されたデータから検索し、 検索された 命令コ ー ドの分岐元ァ ドレス及び分岐先ァ ドレスを記憶し、 分岐先 ァ ド レス に、 所定の処理を実行する命令コード群を呼出すための命 令コー ドが対応付けられているか否かを判断し、 分岐先ァ ドレス に 前記命令コー ドが対応付けられている と判断した場合、 命令コー ド の呼出先ア ドレスを記憶し、 記憶した呼出先ア ドレスが分岐元ア ド レス及び分岐先ァ ド レスの間にあるか否かを判断するよ う にしてい る。 したがって、 通常のデータ (実行コー ド) には見られない普遍 的な構造に着目 しているため、 不正コードを変形させた場合であつ ても検出できる可能性が高く 、 未知の攻擊データが現れたときでも 不正コ ー ドの本質的処理が変わらない限り、 不正コ ー ドを見抜く こ とができる。 また、 命令コー ドを逐次的に読込むことによって、 不 正コー ドであるか否かの判定が可能であるため処理速度が速く、 例 えば通信によ り受信したデータに対してリ アルタイムに判定するこ とができる。
第 3発明にあっては、 命令コー ド群の復帰先ァ ドレスに所定の文 字列が対応付けられているか否かの判断をする手段を更に備えてい るため、 不正コー ドの検出精度が向上する。
第 4発明にあっては、 所定の処理を実行する命令コー ド群を呼出 すための命令コ ー ドを入力されたデータから検索し、 命令コ ー ド群 の復帰先ァ ドレスに所定の文字列が対応付けられているか否かを判 断するため、 不正コー ドであるか否かの判定が簡単であり、 しかも 精度良く判定するこ とができる。
第 5発明にあっては、 所定の処理を実行する命令コー ド群を呼出 すための命令コー ドを入力されたデータから検索し、 前記命令コ ー ドが検索された場合、 命令コー ド群に復帰先ァ ドレスを取得するた めの命令コ ー ドが含まれるか否かを判断するため、 不正コ ー ドであ るか否かの判定が簡単であり 、 しかも精度良く判定するこ とができ る。 図面の簡単な説明
第 1 図は本発明のデータ処理装置を利用した侵入検出システムを 説明する模式的構成図、 第 2図は不正コー ドの特徴的構造を説明す る概念図、 第 3図は不正コー ドの特徴的構造を説明する概念図、 第 4図は本実施の形態に係る侵入検出システムの処理手順を説明する フローチャー ト、 第 5図は侵入検出の際に利用される分岐テーブル の一例を示す概念図、 第 6図は偽装された不正コー ドの特徴的構造 を説明する概念図、 第 7図は偽装された不正コー ドの特徴的構造を 説明する概念図、 第 8図は本実施の形態に係る侵入検出システムの 処理手順を説明するフ ローチャー ト、 第 9図は本実施の形態に係る 侵入検知システムの構成を説明する模式図である。 発明を実施するための最良の形態
以下、 本発明をその実施の形態を示す図面に基づいて具体的に説 明する。
実施の形態 1 .
第 1 図は本発明のデータ処理装置を利用 した侵入検出システムを 説明する模式的構成図である。 図中 1 0は本発明のデータ処理装置 を具体化した中継装置であり、 例えば、 ルータ、 スィ ッチ、 ブロー ドバン ドル一タ等のデータ通信を中継する装置である。 中継装置 1 0は、 C P U 1 1 、 メ モ リ 1 2、 及び通信イ ンタ ーフ ェース (以下 通信 I F という) 1 3, 1 4を備えており 、 通信 I F 1 3 に接続さ れた情報処理装置 2 0 とイ ンターネッ ト網のよ うなデータ通信網 N を介して通信 I F 1 4に接続された他の情報処理装置 3 0 と間で、 各種データの送受信を中継する。 情報処理装置 2 0, 3 0は、 例え ば、 パーソナルコ ンピュータ、 サーバ装置、 携帯電話機、 P D A
(Personal Digital Asistant ) 等のデータ通信を行う こ と力 Sでき る装置である。
情報処理装置 3 0から送信されたデータを中継装置 1 0が受信し た際、 中継装置 1 0は受信したデータが不正な処理を実行する命令 コー ド (以下、 不正コードという) を含んだデータであるか否かを 判断し、 不正コー ドを含んでいる場合には、 通信の遮断、 警報の出 力等の処理を行う。
中継装置 1 0 のメ モ リ 1 2 は、 ルーティ ングテーブル 1 2 a 、 フ ィルタ リ ングテーブル 1 2 b、 及び分岐テーブル 1 2 c を備えてい る。 ルーテ ィ ングテーブル 1 2 a には通信の経路制御情報が記憶され ており 、 該経路制御情報によって、 情報処理装置 2 0から送信され るデータの伝送経路が決定される。 フ ィルタ リ ングテーブル 1 2 b には受信を拒否すべき通信相手の識別情報 (例えば、 I P ア ド レス 又はポー ト番号等) が記憶されており、 前記識別情報に該当する情 報処理装置からのデータを受信した場合、 そのデータを情報処理装 置 2 0 へ送信しないよ うにしている。
また、 メ モ リ 1 2 には本発明のコ ンピュータプログラムが予め記 憶されており 、 C P U 1 1が当該コ ンピュータプログラムを実行す るこ とによって、 中継装置 1 0は、 不正コー ドを検出する侵入検出 システムと して動作する。 分岐テーブル 1 2 c には、 前記コ ンビュ ータプログラムが起動中に取得した特定の命令コードに係るメ モ リ ア ド レス (以下、 単にア ドレス という) が記憶され、 不正コー ドを 含んだデータであるか否かを判断する際に利用される。
中糸降装置 1 0の C P U 1 1 は、 これらのテーブルに対して適宜書 込み処理、 又は読込み処理を行い、 通信制御を行う よ う にしている 以下、 発明者らの知見に基づいて見出された不正コー ドの特徴的 構造について説明する。 発明者らは不正コー ドの普遍的な特徴と し て、 分岐命令 (以下、 j m p命令という) によ り指定された分岐先 に呼出命令 (以下、 c a l 1 命令とレ、う) が設定されているこ と、 そしてその呼出先が j m p命令と c a 1 1 命令との間にあるこ とを 見出している。 そして、 c a 1 1命令によって、 スタ ックへ格納さ れたア ドレス、 すなわち c a 1 1命令の次のア ドレスを呼出し先の 命令コー ド群にて取得して、 取得したァ ド レスを用いて起動したい コマン ドを実行させるよ う にしている。
第 2図及び第 3図は、 不正コー ドの特徴的構造を説明する概念図 である。 前述したよ う に、 処理を分岐させるための j m p命令の分 岐先に対応させて c a 1 1命令を設定している。 すなわち、 j m p 命令の分岐先ア ド レス (A 1 0 ) に c a l 1 命令を対応させている そして、 c a 1 1命令の呼出し先に、 外部コマン ドを呼び出すた めの命令コー ド群 (A 2 ~A 6 ) を対応付け、 その c a l 1 命令に よる呼出し先が、 分岐元ア ドレス (A 1 ) と分岐先ア ドレス (A 1 0 ) との間にく るよ う に設定している。 この命令コー ド群において c a 1 1 命令によってスタックへ格納されたア ドレス、 すなわち 。 a 1 1 命令の次のア ド レス ( A l l ) を p o p命令によって取得し 取得したァ ド レスを利用して、 外部コマン ドを実行させるよ う にし ている。
したがって、 不正コー ドの作成者が意図した任意の外部コマン ド を c a 1 1 命令の次のァ ドレス に対応させるこ とによって、 これら の命令コー ドが実行されるときに、 前記外部コマンドが呼出されて 実行される構成となっている。
なお、 前記命令コー ド群と c a l 1命令との間 (A 7〜A 9 ) に はダミーの初期データ及び作業領域を設けても良いことは勿論であ る。
前述した不正コー ドは、 第 3図に模式的に示した如く、 ( 1 ) j m p命令の分岐先に c a l l命令が存在すること、 ( 2 ) c a l l 命令の呼出先が c a 1 1 命令と j m p命令との間に存在するこ とを 特徴と している。
中継装置 1 0では、 このよ うな特徴的構造を持つ不正コー ドを通 信 I F 1 4にて受信したデータから検出し、 警報を出力するか又は 通信の遮断を行う よ う にしている。
' 以下、 前述した特徴的構造をもつ不正コー ドの検出手順について 説明する。 第 4図は本実施の形態に係る侵入検出システムの処理手 順を説明するフ ローチヤ一トであり、 第 5図は侵入検出の際に利用 される分岐テーブル 1 2 c の一例を示す概念図である。 まず、 中継 装置 1 0の C P U 1 1 は通信 I F 1 4にて受信したデータを 1バイ ト読込む (ステップ S 1 ) 。 そして、 C P U 1 1 は、 読込んだデー タが j m p命令か否かを判断する (ステップ S 2 ) 。 読込んだデー タが ; i m p命令である場合 ( S 2 : Y E S ) 、 C P U 1 1 は、 その j m p命令で指定される分岐先のァ ド レスが、 現在位置のァ ド レス より も大きいか否かを判断する (ステップ S 3 ) 。
分岐先のァ ドレスが現在位置のァ ドレスよ り も大きいと判断した 場合 ( S 3 : Y E S ) 、 現在位置のア ドレス (分岐元ア ドレス) と 分岐先のア ドレス (分岐先ァ ドレス) とを対応付けて分岐テーブル 1 2 c に記憶させる (ステップ S 4 ) 。 第 2図に示した如きデータ の例では、 ア ドレス A 1 のデータを読込んだ場合、 そのデータは j m p命令であり、 当該〗 m p命令で指定される分岐先のァ ドレス
( A 1 0 ) がァ ド レス A 1 より も大きいため、 分岐元ア ド レス と し て A l、 分岐先ァ ドレス と して A 1 0が分岐テーブル 1 2 c に記憶 される (第 5図参照) 。
ステップ S 3 にて、 分岐先ァ ドレスが現在位置のァ ドレスよ り も 小さいと判断した場合 ( S 3 : N O) 、 又はステップ S 4にて、 分 岐テーブル 1 2 c に分岐元ァ ド レス と分岐先ァ ドレス とを記憶させ た場合、 C P U 1 1 は、 読込むべきデータが終了したか否かを判断 し (ステップ S 5 ) 、 読込むべきデータが未だ残っている と判断し た場合 ( S 5 : N O) 、 処理をステップ S I へ戻し、 読込むべきデ —タが終了したと判断した場合 ( S 5 : Y E S ) 、 本ルーチンを終 了する。
ステップ S 2において、 読込んだデータ j m p命令でないと判断 した場合 ( S 2 : N O) 、 C P U 1 1 は、 現在位置のァ ドレスが分 岐テーブル 1 2 c に記憶された分岐先ア ドレス に一致するか否かを 判断する (ステ ップ S 6 ) 。 現在位置のァ ドレスが分岐先のァ ドレ スに一致しない場合 ( S 6 : N O) 、 現在位置のア ドレス よ り小さ い分岐先ア ドレスを分岐テーブル 1 2 c から削除する (ステップ S 7 ) 。 そして、 ステップ S 5の処理を行い、 再度ステップ S 1へ処 理を戻すか、 又は本ルーチンの処理を終了するか否かの判断をする 現在位置のァ ドレスが分岐テーブル 1 2 c に記憶された分岐先ァ ドレス に一致する と判断した場合 ( S 6 : Y E S ) 、 C P U 1 1 は 現在位置のァ ド レスに対応付けられた命令コー ドが c a 1 1命令で あるか否かを判断する (ステップ S 8 ) 。 現在位置のア ドレス に対 応付けられた命令コー ドが c a 1 1 命令である と判断した場合 ( S 8 : Y E S ) 、 C P U 1 1 は、 分岐テーブル 1 2 c を参照すること によって、 前記 c a 1 1 命令による呼出先が分岐元ア ドレス と分岐 先ア ドレスとの間にあるか否かを判断する (ステップ S 9 ) 。
ステップ S 8 にて、 c a 1 1命令でないと判断した場合 ( S 8 : N O) 、 又はステ ップ S 9にて、 呼出先が分岐元ア ドレス と分岐先 ア ド レス と の間にないと判断した場合 ( S 9 : N O ) 、 処理をステ ップ S 5へ移行させる。
c a 1 1命令による呼出先が分岐テーブル 1 2 c に記憶された分 岐元ァ ド レス と分岐先ァ ドレス と の間にある と判断した場合 ( S 9 : Y E S ) 、 C P U 1 1は、 不正コー ドを検出した旨の情報を生 成する (ステ ップ S 1 0 ) 。
前述の不正コー ドを検出した旨の情報は、 中継装置 1 0に液晶デ イスプレイ等の表示部を設けて表示させるよ う にしても よ く 、 また ブザー、 L E Dランプ等の警報部を設けて報知するよ うにしてもよ い。 更に、 前記情報を情報処理装置 2 0へ送信し、 情報処理装置 2 0が備える表示部 (不図示) にて表示させるよ う にしてもよい。 更 に、 前記不正コー ドを検出した旨の情報が生成されたことを受けて 通信を遮断するよ う にしてもよい。
なお、 前述したよ う に c a 1 1命令によ り スタ ックへ格納される ァ ドレスには、 実行させたい外部コマン ドの文字列が存在するため c a 1 1 命令の次のア ドレスにアスキー文字列 (コマンド名) が存 在するか否かを傍証と して利用することによ り、 不正コー ドの検出 精度を向上させることができる。
また、 c a 1 1 命令の次のア ドレスにアスキー文字列が存在する か否かについての判断を単独で行う こ とによっても、 不正コ ー ドの 有無を検出できることが発明者らの検討によ り知られている。
このよ う に、 本実施の形態では、 データを逐次的に読込んで処理 することによ り、 不正コー ドが含まれているか否かについて判断で きるため、 不正コー ドの有無を検出するアルゴリ ズムが簡単であ り しかも高速処理が可能である。
実施の形態 2 .
前述の不正コー ドでは、 c a 1 1 命令の次のァ ドレスに実行させ たい外部コマン ドを置く こと特徴と しており、 実施の形態 1では、 そのよ う な外部コマン ドを呼出すための特殊な構造を見出すこ とに よって、 不正コ ー ドを検出していた。 しかしながら、 実行させたい 外部コマン ドは必ずしも c a 1 1 命令の次に置く必要はなく、 不正 コ ー ドの作者によって予め定められたァ ドレス分だけ位置をずら し て置く こ と も可能である。 このよ うな不正コー ドをここでは偽装さ れた不正コー ドと呼び、 以下、 この偽装された不正コー ドの特徴的 構造、 及び検出手順について説明する。 なお、 中継装置 1 0の構成 及び情報処理装置 2 0 , 3 0 との接続構成は実施の形態 1 と同様で あるため説明を省略する。
第 6図及び第 7図は偽装された不正コー ドの特徴的構造を説明す る概念図である。 偽装された不正コー ドでも、 c a 1 1命令によつ て呼出された命令コ ー ド群において、 起動したい外部コマンドに対 応付けられているァ ドレスを取得するよ う にしていることは前述と 同様であるが、 c a 1 1 命令と外部コマン ドと の間に固定長を有す るダミーの命令コー ドを置いて偽装していることが実施の形態 1 で 説明した不正コー ドと異なる。
すなわち、 第 6図に示した構造を有する偽装された不正コー ドで は、 c a 1 1 命令によ り スタ ックへ格納されたァ ド レス ( A 2 ) を A 1 6 ~ A 2 0に規定された命令コー ド群にて取得し、 そのア ドレ ス A 2から 5つ目 のア ドレス (A 7 ) に対応付けられている外部コ マンドを起動させるよ う にするのである。
このよ うな偽装された不正コー ドは、 実施の形態 1 で説明した処 理によっては検出不可能であるが、 第 7図に模式的に示した如く 、
( 1 ) c a 1 1 命令によって命令コー ド群を呼出し、 ( 2 ) その命 令コー ド群において、 c a 1 1命令によってスタ ックへ格納したァ ドレスを p o p命令によ り取得する という特徴的構造を依然と して 有しているこ とが分かる。 したがって、 c a l l 命令によって呼出 された命令コー ド群において、 p u s h命令が先行しない! o p命 令を検索することによって、 偽装された不正コー ドを検出すること が可能となる。
以下、 偽装された不正コー ドの検出手順について説明する。
第 8図は本実施の形態に係る侵入検出システムの処理手順を説明 するフ ロ ーチャー トである。 まず、 中継装置 1 0 の C P U 1 1 は、 受信したデータから c a 1 1命令を検索する (ステップ S 2 1 ) 。 そして、 検索の結果、 c a 1 1命令があるか否かを判断し (ステツ プ S 2 2 ) 、 c a 1 1 命令がある場合 ( S 2 2 : Y E S ) 、 C P U 1 1 は、 検索された c a 1 1命令のア ドレスをメ モ リ 1 2に記憶さ せる (ステップ S 2 3 ) 。 受信したデータに c a 1 1命令がない場 合 ( S 2 2 : N O) 、 本侵入検出システムによる処理を終了する。 検索された c a 1 1 命令のア ドレスを記憶させた後、 その c a 1 1命令によ り指定される呼出先ァ ドレスへ移動させ (ステ ップ S 2 4 ) 、 データを 1バイ ト読込む (ステ ップ S 2 5 ) 。
次いで、 C P U 1 1 は、 読込んだデータがスタ ックへア ドレスを 格納するための p u s h命令か否かを判断する (ステ ップ S 2 6 ) p u s h命令である と判断した場合 ( S 2 6 : Y E S ) 、 現在ア ド レスを記憶して (ステップ S 2 7 ) 、 処理をステップ S 2 5へ戻す 読込んだデータが p u s h命令でないと判断した場合 ( S 2 6 : N O) 、 p o p命令であるか否かを判断する (ステップ S 2 8 ) 。 p o p命令でないと判断した場合 ( S 2 8 : N O) 、 呼出先のルー チンが終了したか否かを判断する (ステップ S 3 1 ) 。
呼出先のルーチンが終了していないと判断した場合 ( S 3 1 : N O ) 、 処理をステップ S 2 5へ戻し、 呼出先のルーチンが終了 した と判断した場合 ( S 3 1 : Y E S ) 、 ステ ップ S 2 3 にて記憶させ- たァ ド レスを参照し、 呼出元の次のァ ド レスへ移動させ (ステップ S 3 2 ) 、 c a 1 1命令を再度検索し直す。
ステップ S 2 5で読込んだデータが p o p命令であると判断した 場合 ( S 2 8 : Y E S ) 、 C P U 1 1 は、 ステ ップ S 2 7 にて記憶 させたァ ド レスを参照することによって、 p u s h命令が先行しな い p o p命令であるか否かを判断する (ステ ップ S 2 9 ) 。 p u s h命令が先行しない; p o p命令でないと判断した場合 ( S 2 9 : N O ) 、 処理をステップ S 3 1へ移行する。
ステップ S 2 5で読込んだデータが、 p u s h命令が先行しなレ、 p o p命令である と判断した場合 ( S 2 9 : Y E S ) 、 C P U 1 1 は、 不正コー ドを検出 した旨の情報を生成する (ステ ップ S 3 0 ) , 前述の不正コー ドを検出した旨の情報は、 実施の形態 1 と同様に 中継装置 1 0に液晶ディスプレイ等の表示部を設けて表示させるよ う にしてもよく 、 また、 ブザー、 L E Dランプ等の警報部を設けて 報知するよ う に してもよい。 更に、 前記情報を情報処理装置 2 0へ 送信し、 情報処理装置 2 0が備える表示部 (不図示) にて表示させ るよ うにしても よい。 更に、 前記不正コー ドを検出した旨の情報が 生成されたこ と を受けて通信を遮断するよ う にしてもよい。
実施の形態 3 .
前述の実施の形態では、 ルータ、 スィ ッチ、 ブロー ドバン ドル一 タ等のデータ通信で利用される中継装置に本発明を適用した形態に ついて説明したが、 パーソナルコ ンピュータ、 サーバ装置、 携帯電 話機、 P D A等の通信機能を有した情報処理装置に適用するこ と も 可能である。
第 9図は本実施の形態に係る侵入検知システムの構成を説明する 模式図である。 図中 5 0は、 パーソナルコ ンピュータのよ うな情報 処理装置であり 、 該情報処理装置 5 0 にはルータ のよ うな中継装置 4 0を介してデータ通信網 Nへ接続されている。 情報処理装置 5 0 は、 データ通信網 N及び中継装置 4 0を通じて各種の通信機器、 及 び他の情報処理装置からデータを受信する と と もに、 それらの通信 機器、 情報処理装置へデータを送信するよ う にしている。
中継装置 4 0 には、 C P U 4 1 、 メ モ リ 4 2、 及ぴ通信 I F 4 3 4 4を備えており 、 メ モ リ 4 2には、 通信の経路制御情報が記憶さ れたルーティ ングテーブル 4 2 a と、 受信を拒否すべき通信相手の 識別情報 (例えば、 I Pア ドレス又はポー ト番号等) が記憶された フィルタ リ ングテ一ブル 4 2 b とを有している。 情報処理装置 5 0 から外部へデータを送信する際にルーティ ングテーブル 4 2 a によ り伝送経路が設定され、 外部からデータを受信する際、 フィルタ リ ングテーブル 4 2 b を参照することによ り受信を拒否すべき通信相 手であるか否かが判定される。
情報処理装置 5 0は、 C P U 5 1 を備えており、 バス 5 2を介し て、 R OM 5 3 、 R AM 5 4、 表示部 5 5、 入力部 5 6、 通信部 5 7、 補助記憶装置 5 8、 及び内部記憶装置 5 9等の各種ハー ドゥエ ァに接続されている。 C P U 5 1 は、 R OM 5 3 に格納された制御 プログラムに従って、 それらのハー ドウェアを制御する。 R AM 5 4は、 S R AM又はフラッシュメ モ リ等で構成され、 R OM 5 3 に 格納された制御プログラムの実行時に発生するデータを記憶する。 表示部 5 5 は、 C R T、 液晶ディスプレイ等の表示装置であり 、 入力部 5 6 は、 キーボード、 マウス等の入力装置である。 表示部 5 5及び入力部 5 6 は、 例えば、 送信すべきデータの入力及び表示を する際に利用される。 通信部 5 7は、 モデム等の回線終端装置を備 えており、 中継装置 4 0を介した各種データの送受信を制御する。 補助記憶装置 5 8は、 本発明のコ ンピュータプログラム及びデー タを記録した F D、 C D— R OM等の記録媒体 6 0からコ ンビユー タプログラム及びデータを読取る F D ドライブ、 C D— R OMドラ イブ等からな り 、 読取られたコン ピュータプログラム及びデータは 内部記憶装置 5 9 に記憶される。 内部記憶装置 5 9 に記憶されてい るコ ンピュータプログラム及びデータは、 R AM 5 4に読込まれ、 C P U 5 1 が実行することで本実施の形態に係る情報処理装置 5 0 と して動作する。
なお、 本発明のコ ンピュータプログラムは、 記録媒体 6 0によ り 提供されるだけでなく 、 データ通信網 Nを通じて提供される形態で あってもよいことは勿論である。
前述のコ ンピュータプログラムは、 情報処理装置 5 0の起動時に 自動的に R AM 5 4に読込まれる常駐型のプログラムであるこ とが 望ま しく 、 通信部 5 7 にて外部からデータを受信した際に、 自動的 に不正コー ドを検出するよ う にしておく と よい。 なお、 不正コー ド の検出手順については、 実施の形態 1及ぴ実施の形態 2で説明した 通り であるので説明を省略する。
本実施の形態では、 パー ソナルコ ンピュータのよ う な情報処理装 置 5 0を利用して不正コー ドを含んだデータを検出する構成と した が、 パーソナルコ ンピュータ の他、 携帯電話機、 P D A、 コ ンビュ ータゲーム機、 車載通信装置、 各種の情報家電に適用できるこ とは 勿論である。
また、 本発明のコ ンピュータプログラムを F D、 C D— R O M等 の記録媒体に記録させて提供することによ り、 コンピュータ ウィル スを検出するアプリ ケーショ ンソフ トウエアのパッケージと して提 供すること も可能である。 産業上の利用可能性
以上、 詳述したよ う に、 分岐命令に係る命令コー ドを入力され データから検索し、 検索された命令コー ドの分岐元ァ ドレス及び分 'ゝ 岐先ア ドレスを記憶し、 分岐先ア ドレス に、 所定の処理を実行する 命令コー ド群を呼出すための命令コー ドが対応付けられているか否 かを判断し、 分岐先ァ ドレス に前記命令コー ドが対応付けられてい る と判断した場合、 命令コー ドの呼出先ア ド レスを記憶し、 記憶し た呼出先ァ ドレスが分岐元ァ ドレス及び分岐先ァ ドレスの間にある か否かを判断するよ う にしている。 したがって、 通常の実行コード では見られない普遍的な構造に着目 しているため、 不正コー ドを変 形させた場合であっても検出でき る可能性が高く、 未知の攻擊デ一 タが現れたときでも、 不正コー ドの本質的処理が変わらない限り、 不正コー ドを見抜く ことができる。 また、 命令コー ドを逐次的に読 込むことによって、 不正コー ドであるか否かの判定が可能であるた め処理速度が速く、 例えば通信によ り受信したデータに対してリ ア ルタイムに判定する こ とができる。
また、 命令コー ド群の復帰先ァ ドレスに所定の文字列が対応付け られているか否かの判断をする手段を更に備えているため、 不正コ 一 ドの検出精度が向上する。
また、 所定の処理を実行する命令コー ド群を呼出すための命令コ ー ドを入力されたデータから検索し、 命令コー ド群の復帰先ァ ドレ スに所定の文字列が対応付けられているか否かを判断するため、 不 正コードであるか否かの判定が簡単であり、 しかも精度良く判定す る こ とができ る。
更に、 所定の処理を実行する命令コー ド群を呼出すための命令コ 一 ドを入力されたデータから検索し、 前記命令コー ドが検索された 場合、 命令コー ド群に復帰先ァ ドレスを取得するための命令コー ド が含まれるか否かを判断するため、 不正コー ドであるか否かの判定 が簡単であり 、 しかも精度良く判定することができる等、 本発明は 優れた効果を奏する。

Claims

請 求 の 範 囲
1 . 複数の命令コー ドを含むデータ の入力を受付け、 受付けたデ ータに含まれる命令コー ドに基づいて実行される処理が不正処理で あるか否かを判断するデータ処理方法において、
分岐命令に係る命令コー ドを前記データから検索し、 検索された 命令コー ドに対応付けられている分岐元ァ ドレス、 及ぴ前記命令コ ー ドの分岐先に対応付けられている分岐先ア ドレスを記憶し、 前記 分岐先ア ドレスに、 所定の処理を実行する命令コー ド群を呼出すた めの命令コー ドが対応付けられているか否かを判断し、 前記分岐先 ァ ドレスに前記命令コー ドが対応付けられている と判断した場合、 前記命令コー ドの呼出先ァ ドレスを記憶し、 記憶した呼出先ァ ドレ スが前記分岐元ァ ドレス及び分岐先ァ ドレスの間にあるか否かを判 断することを特徴とするデータ処理方法。
2 . 複数の命令コー ドを含むデータ の入力を受付ける手段を備え 該手段にて受付けたデータに含まれる命令コー ドに基づいて実行さ れる処理が不正処理であるか否かを判断するデータ処理装置におい て、
分岐命令に係る命令コー ドを前記データから検索する手段と、 検 索された命令コ一 ドに対応付けられている分岐元了 ドレス、 及び前 記命令コ一 ドの分岐先に対応付けられている分岐先ァ ドレスを記憶 する手段と、 前記分岐先ア ドレスに、 所定の処理を実行する命令コ 一 ド群を呼出すための命令コー ドが対応付けられているか否かを判 断する手段と、 前記分岐先ア ドレス に前記命令コー ドが対応付けら れている と判断した場合、 前記命令コー ドの呼出先ア ドレスを記憶 する手段と、 記憶した呼出先ァ ドレスが前記分岐元ァ ドレス及ぴ分 岐先ァ ドレスの間にあるか否かを判断する手段と、 前記呼出先ァ ド レスが前記分岐元ア ドレス及び分岐先ア ドレスの間にある場合、 前 記データが不正処理を実行するデータである旨の情報を出力する手 段とを備えることを特徴とするデータ処理装置。
3 . 前記命令コー ド群の復帰先ア ドレスに所定の文字列が対応付 けられているか否かの判断をする手段を更に備え、 前記文字列が前 記復帰先ア ドレス に対応付けられている場合、 前記データが不正処 理を実行するデータである旨の情報を出力すべく なしてあることを 特徴とする請求項 2に記載のデータ処理装置。
4 . 複数の命令コー ドを含むデータの入力を受付ける手段を備え 該手段にて受付けたデータに含まれる命令コー ドに基づいて実行さ れる処理が不正処理であるか否かを判断するデータ処理装置におい て、
所定の処理を実行する命令コード群を呼出すための命令コー ドを 前記データから検索する手段と、 前記命令コー ド群の復帰先ァ ドレ ス に所定の文字列が対応付けられているか否かを判断する手段と、 前記文字列が前記復帰先ァ ドレスに対応付けられている場合、 前記 データが不正処理を実行するデータである旨の情報を出力する手段 とを備えるこ とを特徴とするデータ処理装置。
5 . 複数の命令コー ドを含むデータ の入力を受付ける手段を備え 該手段にて受付けたデータに含まれる命令コー ドに基づいて実行さ れる処理が不正処理であるか否かを判断するデータ処理装置におい て、
所定の処理を実行する命令コー ド群を呼出すための命令コ " ドを 前記データから検索する手段と、 前記命令コー ドが検索された場合 前記命令コー ド群の復帰先ァ ドレスを取得するための命令コー ドが 前記命令コー ド群に含まれるか否かを判断する手段と、 前記命令コ 一 ドが前記命令コー ド群に含まれる場合、 前記データが不正処理を 実行するデータである旨の情報を出力する手段とを備えるこ とを特 徴とするデータ処理装置。
6 . コ ンピュータに、 入力された複数の命令コー ドを含むデータ に基づいて実行される処理が不正処理であるか否かを判断させるス テツプを有するコンピュータプログラムにおいて、
コ ンピュータ に、 分岐命令に係る命令コー ドを前記データから検 索させるステ ップと 、 コ ンピュータ に、 検索された命令コー ドに対 応付けられている分岐元ア ドレス、 及び前記命令コー ドの分岐先に 対応付けられている分岐先ア ドレスを記憶させるステ ップと、 コ ン ピュータに、 前記分岐先ア ドレス に、 所定の処理を実行する命令コ 一ド群を呼出すための命令コー ドが対応付けられているか否かを判 断させるステ ップと 、 コ ンピュータに、 前記分岐先ア ドレスに前記 命令コー ドが対応付けられている と判断した場合、 前記命令コー ド の呼出先ア ドレスを記憶させるステ ップと、 コ ンピュータに、 記憶 させた呼出先ァ ド レスが前記分岐元ァ ドレス及び分岐先ァ ドレスの 間にあるか否かを判断させるステップと有するこ とを特徴とするコ ンピュータプログラム。
7 . コ ンピュータ に、 入力された複数の命令コー ドを含むデータ に基づいて実行される処理が不正処理であるか否かを判断させるス テップを有するコンピュータプログラムが記録されているコンピュ ータでの読取りが可能な記録媒体において、
コ ンピュータに、 分岐命令に係る命令コー ドを前記データから検 索させるステ ップと 、 コ ンピュータに、 検索された命令コー ドに対 応付けられている分岐元ァ ドレス、 及び前記命令コー ドの分岐先に 対応付けられている分岐先ァ ドレスを記憶させるステ ップと 、 コ ン ピュータに、 前記分岐先ア ドレス に、 所定の処理を実行する命令コ 一ド群を呼出すための命令コードが対応付けられているか否かを判 断させるステ ップと 、 コ ンピュータに、 前記分岐先ア ドレスに前記 命令コー ドが対応付けられている と判断した場合、 前記命令コー ド の呼出先ア ド レスを記憶させるステップと、 コ ンピュータに、 記憶 させた呼出先ァ ドレスが前記分岐元ァ ドレス及び分岐先ァ ドレスの 間にあるか否かを判断させるステップと有する コンピュータプロ グ ラムが記録されている こ とを特徴とする コ ンピュータでの読取り が 可能な記録媒体。
PCT/JP2003/009894 2002-08-05 2003-08-04 データ処理方法、データ処理装置、コンピュータプログラム、及び記録媒体 WO2004013755A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/523,690 US7805760B2 (en) 2002-08-05 2003-08-04 Data processing method, data processing device computer program and recording medium
AU2003252387A AU2003252387A1 (en) 2002-08-05 2003-08-04 Data processing method, data processing device, computer program, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002-227888 2002-08-05
JP2002227888A JP4660056B2 (ja) 2002-08-05 2002-08-05 データ処理装置

Publications (1)

Publication Number Publication Date
WO2004013755A1 true WO2004013755A1 (ja) 2004-02-12

Family

ID=31492232

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/009894 WO2004013755A1 (ja) 2002-08-05 2003-08-04 データ処理方法、データ処理装置、コンピュータプログラム、及び記録媒体

Country Status (5)

Country Link
US (1) US7805760B2 (ja)
JP (1) JP4660056B2 (ja)
AU (1) AU2003252387A1 (ja)
TW (1) TW200402634A (ja)
WO (1) WO2004013755A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111552959A (zh) * 2020-06-18 2020-08-18 南方电网科学研究院有限责任公司 一种程序特征序列生成方法和装置
CN111930651A (zh) * 2020-08-14 2020-11-13 山东云海国创云计算装备产业创新中心有限公司 一种指令执行方法、装置、设备及可读存储介质

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100586500B1 (ko) * 2004-03-18 2006-06-07 학교법인고려중앙학원 버퍼 오버플로우 공격들을 감지하고 복구하는 방법 및 그장치
JP2006018765A (ja) * 2004-07-05 2006-01-19 Infocom Corp ソフトウエアの一時的な修正方法およびプログラム
US9064115B2 (en) 2006-04-06 2015-06-23 Pulse Secure, Llc Malware detection system and method for limited access mobile platforms
US9202049B1 (en) 2010-06-21 2015-12-01 Pulse Secure, Llc Detecting malware on mobile devices
US8726338B2 (en) 2012-02-02 2014-05-13 Juniper Networks, Inc. Dynamic threat protection in mobile networks
CN103309762B (zh) * 2013-06-21 2015-12-23 杭州华三通信技术有限公司 设备异常处理方法及装置
CN103473057A (zh) * 2013-09-10 2013-12-25 江苏中科梦兰电子科技有限公司 一种memcpy函数的优化方法
US10103890B2 (en) * 2014-08-08 2018-10-16 Haw-Minn Lu Membership query method
US10728040B1 (en) * 2014-08-08 2020-07-28 Tai Seibert Connection-based network behavioral anomaly detection system and method
CN105988905A (zh) * 2015-02-12 2016-10-05 中兴通讯股份有限公司 异常处理方法及装置
JP7316613B2 (ja) * 2020-03-27 2023-07-28 パナソニックIpマネジメント株式会社 異常検出方法、異常検出プログラム、異常検出装置、書き換え方法、書き換えプログラム及び書き換え装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5313616A (en) * 1990-09-18 1994-05-17 88Open Consortium, Ltd. Method for analyzing calls of application program by inserting monitoring routines into the executable version and redirecting calls to the monitoring routines
JP2702462B2 (ja) * 1995-10-31 1998-01-21 日本電気アイシーマイコンシステム株式会社 情報制御装置及びその制御方法
US6148437A (en) * 1998-05-04 2000-11-14 Hewlett-Packard Company System and method for jump-evaluated trace designation
US6301699B1 (en) * 1999-03-18 2001-10-09 Corekt Security Systems, Inc. Method for detecting buffer overflow for computer security
US6697950B1 (en) * 1999-12-22 2004-02-24 Networks Associates Technology, Inc. Method and apparatus for detecting a macro computer virus using static analysis
US7085920B2 (en) * 2000-02-02 2006-08-01 Fujitsu Limited Branch prediction method, arithmetic and logic unit, and information processing apparatus for performing brach prediction at the time of occurrence of a branch instruction
US6775780B1 (en) * 2000-03-16 2004-08-10 Networks Associates Technology, Inc. Detecting malicious software by analyzing patterns of system calls generated during emulation
US8341743B2 (en) * 2000-07-14 2012-12-25 Ca, Inc. Detection of viral code using emulation of operating system functions
US20030041315A1 (en) * 2001-08-21 2003-02-27 International Business Machines Corporation Debugger with automatic detection of control points influencing program behavior
US7340777B1 (en) * 2003-03-31 2008-03-04 Symantec Corporation In memory heuristic system and method for detecting viruses

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GAKUTO MASUDA: "Computer Virus", 16 January 2000, KABUSHIKI KAISHA SCC, pages: 108 - 110, XP002974929 *
PALEVICH J., TRANSLATED BY MAKINO: "E-mail from mountain view dai 31 kai computer virus no subete", ASCII DOS/V ISSUE, vol. 5, no. 9, 1 September 1999 (1999-09-01), pages 124 - 125, XP002974930 *
SUGURU YAMAGUCHI: "Joho Security", 20 September 2000, KYORITSU SHUPPAN CO., LTD., pages: 150 - 161, XP002974928 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111552959A (zh) * 2020-06-18 2020-08-18 南方电网科学研究院有限责任公司 一种程序特征序列生成方法和装置
CN111552959B (zh) * 2020-06-18 2023-08-29 南方电网科学研究院有限责任公司 一种程序特征序列生成方法和装置
CN111930651A (zh) * 2020-08-14 2020-11-13 山东云海国创云计算装备产业创新中心有限公司 一种指令执行方法、装置、设备及可读存储介质
CN111930651B (zh) * 2020-08-14 2022-03-08 山东云海国创云计算装备产业创新中心有限公司 一种指令执行方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
US7805760B2 (en) 2010-09-28
JP2004070605A (ja) 2004-03-04
US20060041863A1 (en) 2006-02-23
TW200402634A (en) 2004-02-16
JP4660056B2 (ja) 2011-03-30
AU2003252387A1 (en) 2004-02-23

Similar Documents

Publication Publication Date Title
US10484424B2 (en) Method and system for security protection of account information
US7827612B2 (en) Malicious-process-determining method, data processing apparatus and recording medium
WO2004013755A1 (ja) データ処理方法、データ処理装置、コンピュータプログラム、及び記録媒体
US20180351995A1 (en) Fake web addresses and hyperlinks
US7895655B2 (en) Malicious-process-determining method, data processing apparatus and recording medium
KR102271545B1 (ko) 도메인 생성 알고리즘(dga) 멀웨어 탐지를 위한 시스템 및 방법들
CN102571812B (zh) 一种网络威胁的跟踪识别方法及装置
US20110277033A1 (en) Identifying Malicious Threads
US20090320134A1 (en) Detecting Secondary Infections in Virus Scanning
US8776240B1 (en) Pre-scan by historical URL access
CN110717183B (zh) 病毒查杀方法、装置、设备及存储介质
CN101901232A (zh) 用于处理网页数据的方法和装置
JP2018519604A (ja) マルウェアの検出
CN104980404B (zh) 保护账号信息安全的方法和系统
JP5779334B2 (ja) 出力制御装置、出力制御プログラム、出力制御方法および出力制御システム
CN113904820A (zh) 网络入侵防护方法、系统、计算机及可读存储介质
EP2728472B1 (en) User terminal, reliability management server, and method and program for preventing unauthorized remote operation
US20090126005A1 (en) Method, apparatus and system for managing malicious-code spreading sites using firewall
JP4589996B2 (ja) データ処理方法、データ処理装置、コンピュータプログラム、及び記録媒体
CN110830518B (zh) 溯源分析方法、装置、电子设备及存储介质
JP2021051483A (ja) 偽装サイト検知装置、偽装サイト検知プログラム、及び偽装サイト検知方法
JP2011258018A (ja) セキュリティサーバシステム
CN113055446B (zh) 零信任中保护应用流量的方法、装置及计算设备
JP2011013974A (ja) ウェブサイト評価装置およびプログラム
JP2007025789A (ja) メールサーバ、プロキシサーバ、サーバシステム、誘導アドレス判定方法、アクセス先確認方法及びプログラム

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref document number: 2006041863

Country of ref document: US

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 10523690

Country of ref document: US

122 Ep: pct application non-entry in european phase
WWP Wipo information: published in national office

Ref document number: 10523690

Country of ref document: US