WO2004040427A1 - Intrusion detection accelerator - Google Patents
Intrusion detection accelerator Download PDFInfo
- Publication number
- WO2004040427A1 WO2004040427A1 PCT/US2003/031313 US0331313W WO2004040427A1 WO 2004040427 A1 WO2004040427 A1 WO 2004040427A1 US 0331313 W US0331313 W US 0331313W WO 2004040427 A1 WO2004040427 A1 WO 2004040427A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- state
- state table
- intrusion detection
- recited
- intrusion
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
Definitions
- the present invention generally relates to parsing of documents such as an XMLTM document and, more particularly to parsing a document or other logical sequence of network data packets for detecting potential intrusion or an attack on a node of a network.
- certain character strings correspond to certain commands or identifications, including special characters and other important data (collectively referred to as control words) which allow data or operations to, in effect, identify themselves so that they may be, thereafter treated as "objects" such that associated data and commands can be translated into the appropriate formats and commands of different applications in different languages in order to engender a degree of compatibility of respective connected platforms sufficient to support the desired processing at a given machine.
- the detection of these character strings is performed by an operation known as parsing, similar to the more conventional usage of resolving the syntax of an expression, such as a sentence, into its component parts and describing them grammatically.
- the conventional approach is to implement a table-based finite state machine (FSM) to search for these strings of interest.
- the state table resides in memory and is designed to search for the specific patterns in the document.
- the current state is used as the base address into the state table and the ASCII representation of the input character is an index into the table. For example, assume the state machine is in state 0 (zero) and the first input character is ASCII value 02, the absolute address for the state entry would be the sum/concatenation of the base address (state 0) and the index/ASCII character (02) .
- the FSM begins with the CPU fetching the first character of the input document from memory.
- the CPU then constructs the absolute address in the state table in memory corresponding to the initialized/current state and the input character and then fetches the state data from the state table. Based on the state data that is returned, the CPU updates the current state to the new value, if different (indicating that the character corresponds to the first character of a string of interest) and performs any other action indicated in the state data (e.g. issuing a token or an interrupt if the single character is a special character or if the current character is found, upon a further repetition of the foregoing, to be the last character of a string of interest) .
- any other action indicated in the state data e.g. issuing a token or an interrupt if the single character is a special character or if the current character is found, upon a further repetition of the foregoing, to be the last character of a string of interest.
- the above process is repeated and the state is changed as successive characters of a string of interest are found. That is, if the initial character is of interest as being the initial character of a string of interest, the state of the FSM can be advanced to a new state (e.g. from initial state 0 to state 1) . If the character is not of interest, the state machine would (generally) remain the same by specifying the same state (e.g. state 0) or not commanding a state update) in the state table entry that s returned from the state table address. Possible actions include, but are not limited to, setting interrupts, storing tokens and updating pointers. The process is then repeated with the following character.
- the CPU may require the CPU to traverse portions of the XMLTM document numerous times to completely parse the XMLTM document .
- the entire XMLTM or other language document is parsed character-by-character in the above-described manner.
- the FSM steps through various state character-by- character until a string of interest is fully identified or a character inconsistent with a possible string of interest is encountered (e.g. when the string is completed/fully matched or a character deviates from a target string) .
- no action is generally taken other than returning to the initial state or a state corresponding to the detection of an initial character of another target string.
- the token is stored into memory along with the starting address in the input document and the length of the token.
- the state table can provide multiple transitions from any given state. This approach allows the current character to be analyzed for multiple target strings at the same time while conveniently accommodating nested strings .
- any process which requires an extreme amount of processing time at relatively high priority is, in some ways, similar to some characteristics of a denial -of-service (DOS) attack on the system or a node thereof or can be a tool that can be used in such an attack.
- DOS attacks frequently present frivolous or malformed requests for service to a system for the purpose of maliciously consuming and eventually overloading available resources.
- Proper configuration of hardware accelerators can greatly reduce or eliminate the potential to overload available resources.
- systems often fail or expose security weaknesses when overloaded. Thus, eliminating overloads is an important security consideration .
- Acceleration of parsing therefore supports early response to a potential attack and is particularly advantageous in a system such as that disclosed in the system described in the above-incorporated patent applications since an appropriate control of the network can be initiated as an incident of parsing and can thus be initiated at an earlier time if parsing can be significantly accelerated.
- Proper network control, initiated in a timely fashion in response to a detection alert can effect intrusion prevention in addition to intrusion detection.
- the present invention provides a hardware parser accelerator which provides extreme acceleration of parsing of documents for detection of signatures of a possible intrusion, attack or other security breach in a networked computer system at speeds which accommodate network transmission packet speeds for potentially real-time intrusion detection and prevention actions.
- an intrusion detection system possibly implemented within a document parser, comprising a character buffer for a plurality of bytes of a document, a state table addressable in accordance with a byte of a document and a state to access at least one of an interrupt or exception and next state data from the state table, a register for storing next state data, an • adder for combining contents of the register with a subsequent byte of a document to form a further address into the state memory, and a bus for communicating the interrupt or exception to a host CPU.
- Figure 1 is a representation of a portion of a state table used in parsing a document
- Figure 2A is a high level schematic diagram of the parser accelerator in accordance with a concurrently filed related provisional patent application
- Figure 2B is a high-level schematic diagram of the parser accelerator in accordance with the present invention.
- Figure 2C illustrates an implementation of the invention with a host processor and main memory
- Figure 3 illustrates a preferred character palette format as depicted in Figure 2A
- Figures 4A and 4B illustrate a state table format and a state table control register used in conjunction therewith in a preferred form of the invention as depicted in Figure 2A
- Figures 4A and 4B illustrate a state table format and a state table control register used in conjunction therewith in a preferred form of the invention as depicted in Figure 2A
- Figure 5A illustrates a preferred next state palette format as depicted in Figure 2A
- Figure 5B illustrates a preferred state table entry format for use with the invention as depicted in Figure 2B
- Figure 6 is a preferred token format as depicted in Figure 5.
- Figure 1 there is shown a representation of a portion of a state table useful in understanding the invention. It should be understood that the state table shown in Figure 1 is potentially only a very small portion of a state table useful for parsing an XMLTM document and is intended to be exemplary in nature. While the full state table does not physically exist, at least in the form shown, in the invention and Figure 1 can also be used in facilitating an understanding of the operation of known software parsers, no portion of Figure 1 is admitted to be prior art in regard to the present invention.
- an XMLTM document is used herein as an example of one type of logical data sequence which can be processed using an accelerator in accordance with the invention.
- Other logical data sequences can also be constructed from network data packet contents such as user terminal command strings intended for execution by shared server computers . Such command strings are frequently generated by malicious users and sent to shatred server computers as part of a longer term intrusion attempt .
- the accelerator in accordance with the invention is suitable for processing many such logical data sequences. It will also be helpful observe that many entries in the portion of the state table illustrated in Figure 1 are duplicative and it is important to an appreciation of the invention that hardware to accommodate the entirety of the state table represented by Figure 1 is not required.
- the invention can be implemented in software, possibly using a dedicated processor, that the hardware requirements in accordance with the invention are sufficiently limited that the penalty in increased processing time for parsing by software is not justified by any possible economy in hardware .
- the intrusion detection system is intended to be applicable to any type of digital file and is not limited to text files or particular languages which may be used to represent particular applications or data structures at or exceeding packet transmission speeds which can accommodate real-time digital transmissions over networks through which security attacks are generally perpetrated.
- the invention may be implemented as an arrangement for providing only intrusion detection; in which case substantially optimum performance at lowest cost would be expected.
- the goal of performing intrusion detection at signal transmission speeds can also be achieved as a special mode of operation of a parser accelerator in which some operations are omitted to provide further acceleration, possibly augmented by alternative state table memory arrangements as will be described below and which is presently considered to be preferred. Therefore, the invention will be described in the context of a parser accelerator in the interest of completeness and to convey a more thorough understanding of the scope of advantages provided by the invention even though that context is more complex than necessary for the invention to function as intended for realtime, high-speed intrusion detection.
- the state table is divided into an arbitrary number of rows, each having a base address corresponding to a state .
- the rows of the base address are divided into a number of columns corresponding to the number of codes which may be used- to represent characters in the document to be parsed; in this example, two hundred fifty-six (256) columns corresponding to a basic eight bit byte for a character which is used as an index into the state table .
- an entry of "stay in state n" provides for the state to be maintained through potentially long runs of one or more characters such as might be encountered, for example, in numerical arguments of commands, as is commonly encountered.
- the invention provides special handling of this type of character string to provide enhanced acceleration, as will be discussed in detail below. 3.
- an entry of "go to state 0" signifies detection of a character which distinguishes the string from any string of interest, regardless of how many matching characters have previously been detected and returns the parsing process to the initial/default state to begin searching for another string of interest .
- An entry including a command with "go to state 0 indicates completion of detection of a complete string of interest.
- the command will be to store a token (with an address and length of the token) which thereafter allows the string to be treated as an object.
- a command with "go to state n" provides for launching of an operation at an intermediate point while continuing to follow a string which could potentially match a string of interest.
- the parsing operation begins with the system in a given default/initial state, depicted in Figure 1 as state 0, and then progresses to higher numbered states as matching characters are found upon repetitions of the process.
- the operation such as storing a token or issuing an interrupt is performed.
- the character must be fetched from CPU memory, the state table entry must be fetched (again from CPU memory) and various pointers (e.g. to a character of the document and base address in the state table) and registers (e.g. to the initial matched character address and an accumulated length of the string) must be updated in sequential operations. Therefore, it can be readily appreciated that the parsing operation can consume large amounts of processing time.
- Figure 2A A high-level schematic block diagram of the parser accelerator 100 in accordance with the invention is illustrated in Figure 2A.
- Figure 2A can also be understood as a flow diagram illustrating the steps performed in accordance with the invention to perform parsing.
- the invention exploits some hardware economies in representing the state table such that a plurality of hardware pipelines are developed which operate essentially in parallel although slightly skewed in time.
- the updating of pointers and registers can be performed substantially in parallel and concurrently with other operations while the time required for memory accesses is much reduced through both faster access hardware operated in parallel and prefetching from CPU memory in regard to the state table and the document .
- the document such as an XMLTM document is stored externally in DRAM 120 which is indexed by registers 112, 114 and transferred by, preferably, thirty-two bit words to and input buffer 130 which serves as a multiplexer for the pipelines.
- Each pipeline includes a copy of a character palette 140, state table 160 and a next state palette 170; each accommodating a compressed form of part of the state table.
- the output of the next state palette 170 contains both the next state address portion of the address into entries in the state table 160 and the token value to be stored, if any.
- Operations in the character palette 140 and the next state palette 170 are simple memory accesses into high speed internal SRAM which may be performed in parallel with each other as well as in parallel with simple memory accesses into the high speed external DRAM forming the state table 160 (which may also be implemented as a cache) . Therefore, only a relatively few clock cycles of the CPU initially controlling these hardware elements (but which, once started, can function autonomously with only occasional CPU memory operation calls to refresh the document data and to store tokens) are required for an evaluation of each character in the document.
- the basic acceleration gain is the reduction of the sum of all memory operation durations per character in the CPU plus the CPU overhead to the duration of a single autonomously performed memory operation in high-speed SRAM or DRAM.
- memory structures referred to herein as "external” is intended to connote a configuration of memories 120, 140, which is preferred by the inventors at the present time in view of the amount of storage required and access from the hardware parser accelerator and/or the host CPU.
- Figure 3 illustrates the preferred form of a character palette which corresponds to the characters which are or may be included in the strings of interest.
- This format preferably provides entries numbered 0 - 255, corresponding to the number of columns in the state table of Figure 1.
- the term "palette” is used in much the same sense as in the term “color palette” containing data for each color supported and collectively referred to as a gamut .
- Use of a pallette reduces entries/columns in the state table.
- a character referred to as a "null character” which does not result in a change of state can be expressed in one column of the state table rather than many such columns.
- the format can be accommodated by a single register or memory locations configured as such by, for example, data in base address register 142 which points to a particular character palette (schematically illustrated by overlapping memory planes in Figure 2) .
- the current eight bit character from the document e.g. XMLTM document
- one of four provided from the input buffer 130 as received as a four byte word from the external DRAM 120 addresses an entry in the character palette which then outputs an address as an index or partial pointer into the state memory.
- Figure 4A shows the preferred state table format which is constituted or configured similarly to the character palette (e.g. substantially as a register) .
- the principal difference from the character palette of Figure 3 is that the length of the register is dependent on the number of responses to characters desired and the number and length of strings of interest. Therefore, it is considered desirable to provide for the possibility of implementing this memory in CPU or other external DRAM (possibly with an internal or external cache) if the amount of internal memory which can be economically provided is insufficient in particular instances. Nevertheless, it is clear that a substantial hardware economy is provided since highly duplicative entries in the state table of Figure 1 can be reduced to a single entry; the address of which is accommodated by the data provided as described above in accordance with the character palette of Figure 3.
- the output of the state table 160 is preferably one, two or four bits but provision for as much as thirty-two bits may provide increased flexibility, as will be discussed below in connection with Figure 4B.
- the output of the state table provides an address or pointer into the next state palette 170.
- a preferred implementation feature of the invention includes a state table control register 162 which allows a further substantial hardware economy, particularly if a thirty-two bit output of state table 160 is to be provided.
- the state table control register provides for compression of the state table information by allowing a variable length word to be stored in and read out of the state table.
- the state table control register 162 stores and provides the length of each entry in the state table 160 of Figure 4A. Since some state table entries in Figure 1 are highly duplicative (e.g. "go to state 0", "stay in state n” ) , these entries not only can be represented by a single entry in state table 160 or at least much fewer than in Figure 1 but may also be represented by fewer bits, possibly as few as one which will yield substantial hardware economies even if most or all duplicative entries are included in the state table, as may be found convenient in some state tables. The principle of this reduction will be recognized by those skilled in the art as similar to so-called entropy coding.
- next state pallette 170 is preferably implemented in much the same manner as the character palette 140 discussed above. However, as with the state memory 160, the number of entries that may be required is not, a priori , known and the length of individual entries is preferably much longer (e.g. two thirty-two bit words) . On the other hand, the next state palette 170 can be operated as a cache (e.g. using next state palette base address register 172) since only relatively small and predictable ranges of addresses need be contained at any given time.
- the lower address thirty-two bit word output from the next state palette 170 is the token to be saved.
- This token preferably is formed as a token value of sixteen bits, eight bits of token flags, both of which are stored in token buffer 190 at an address provided by pointer 192 to the beginning of the string and together with the length accumulated by counting successful character comparisons, and eight bits of control flags.
- the control flags set interrupts to the host CPU or control processing in the parser accelerator.
- One of these latter control flags is preferably used to set a skip enable function for characters which do not cause a change of state at a state other than state 0 such as a string of the same or related characters of arbitrary length which may occur in a string of interest, as alluded to above.
- next state table entry can be reused without fetching it from SRAM/SDRAM.
- the input buffer address 112 is incremented without additional processing; allowing substantial addition acceleration of parsing for certain strings of characters.
- the second thirty-two bit word is an address offset fed back to register 180 and adder 150 to be concatenated with the index output from the character palette to form a pointer into the state table for the next character.
- the initial address corresponding to state 0 is supplied by register 182.
- the accelerator has access to the program memory of the host CPU where the character data (sometimes referred to as packet data connoting transmission of a network) and state table are located.
- the accelerator 100 is under control of the main CPU via memory-mapped registers.
- the accelerator can interrupt the main CPU to indicate exceptions, alarms and terminations, which, in the context of intrusion detection may be referred to generically as a pattern matching alert . an intrusion event alert or the like.
- pointers (112, 114) are set to the beginning and end of the input buffer 130 data to be analyzed, the state table to be used (as indicated by base address 182 and other control information (e.g. 142) is set up within the accelerator.
- the CPU issues a command to the accelerator which, in response, fetches a first thirty-two bit word of data from the CPU program memory (e.g. 120 or a cache) and places it into the input buffer 130 from which the first byte/ASCII character is selected.
- the accelerator fetches the state information corresponding to the input character (i.e. Figure 4A corresponds to a single character or a single column of the full state table of Figure 1) and the current state.
- the state information includes the next state address and any special actions to be performed such as interrupting the CPU or terminating the processing.
- the accelerator next selects the next byte to be analyzed from input buffer 130 and repeats the process with the new state information which will already be available to adder 150.
- the operation or token information storage can be performed concurrently. This continues until all four characters of the input word have been analyzed. Then (or concurrently with the analysis of the fourth character by prefetching) buffers 112, 114 are compared to determine if the end of the document buffer 120 is reached and, if so, an interrupt is sent back to the CPU. If not, a new word is fetched, the buffer 112 is updated and the processing is repeated.
- pointers and counters are implemented in dedicated hardware they can be updated in parallel rather than serially as would be required if implemented in software. This reduces the time to analyze a byte of data to the time required to fetch the character from a local input buffer, generate the state table address from high speed local character palette memory, fetch the corresponding state table entry from memory and to fetch the next state information, again from local high speed memory. Some of these operations can be performed concurrently in separate parallel pipelines and other operations specified in the state table information (partially or entirely provided through the next state palette) may be carried out while analysis of further characters continues .
- the invention provides substantial acceleration of the parsing process through a small and economical amount of dedicated hardware. While the parser accelerator can interrupt the CPU, the processing operation is entirely removed therefrom after the initial command to the parser accelerator. However, since substantial time is required for processing of tokens even when performed concurrently with other parsing operations, the acceleration provided as described above is not optimal for detection of a possible intrusion or security breach, particularly in view of the fact that operations which are difficult or impossible to secure can be initiated by the issuance of commands in the course of the parsing process.
- FIG. 2B an arrangement is shown for a hardware parsing accelerator which greatly enhances processing speed of parsing beyond that of the arrangement of Figure 2A as described above but for the limited purpose of detection of a signature of a possible intrusion or security breach but which is fully compatible therewith.
- Figure 2B By comparing Figure 2B with Figure 2A it will be recognized by those skilled in the art that the arrangement of Figure 2B is principally a sub-set of the arrangement of Figure 2A and provides the same advantage of being able to search for all strings which may be a signature of an intrusion (e.g.
- the intrusion detection accelerator in accordance with the invention (and in comparison with the hardware parser accelerator described above) , the token processing, and the use of a character palette are omitted, resulting in lower memory resource requirements and some reduction in processing time.
- the increase of processing speed is generally about 25% or somewhat less; depending, in part, on the particular devices used for the various resources in terms of memory speed, logic speed and the like. perhaps more importantly than speed, however, is the fact that any signature of a possible security breach will be detected and a remedial interrupt or exception issued before a corresponding command can be executed by the CPU as part of the attack.
- the input buffer 120 and the input word buffer 130, together with the address registers 112, 114, adder 150 and state table base address register 182 are identical to the corresponding elements described above and function in an identical manner to access state table 160.
- the difference resides principally in the omission of the character palette and the next state pallette memories and the data in the state table and internal format thereof.
- the state table is essentially of the same width, 256 characters as in the embodiment of Figure 2A. It should be understood that the signatures for which the search is conducted may be more complex than a simple character string of an arbitrary number of characters.
- the signatures are more generally described as "regular expressions" which may be more complex than character strings, as discussed in "So What's a $#!%% Regular Expression Why?! by Vikram Vaswani et al . (Developer Shed) , Copyright Melonfire 2000 - 2002, which is hereby fully incorporated by reference.
- the state table corresponding to a regular expression can thus be much larger than for a simple character string. Additionally, multiple regular expressions can be searched for concurrently using the same state table which could lead to very large state tables. However, in practice, sixty-four states are generally sufficient. If not, however, expansion of the state table entry to beyond eight bits would be necessary. Therefore, the extreme compression provided as described above is not generally necessary and the hardware of the state table 160 as described above can provide a substantial portion is not the entirety of the state table required for detection of attack signatures in order to reduce the number of memory accesses required.
- access into the state table is performed directly from the character bits buffered in word buffer 130.
- the contents of respective entries in the state table need only comprise a next state or row of the state table to be loaded, which defines character strings of interest and allows character strings to be followed, and/or a flag or other code for the interrupt or exception that is to be issued for the character of a string which supports recognition of the string as a signature (which is not necessarily the last character of a string which may constitute such a signature), as illustrated in Figure 5B .
- the next state can usually be expressed in less that eight bits and the interrupt of exception to be produced upon detection of a string of interest may be expressed as a single bit .
- the characters are tested in sequence and no updating of any registers other than registers 112, 114 is required until a character is encountered which is the first character of a string of interest. That is, until such a detection, even the state is unchanged and the next state is not updated in register 180. Therefore, the document can be screened for initial characters with extreme speed.
- the next state data is read from the state table, register 180 is updated, new state table data is loaded into the state memory if not already present and the next character is processed in the same manner.
- the state table memory is much smaller than for the XMLTM parser described above.
- the data read from the state table will include an interrupt or an exception that is issued to the host CPU as a command for protection of the system.
- the architecture of the system including the invention as embodied as shown in either Figure 2A or 2B is not critical to the practice of the invention, the architecture shown in Figure 2C is preferred in connection with the intusion detection accelerator of Figure 2B.
- the host CPU 230 and its main memory 210 are connected by a bus 220 through which the hardware parser accelerator of the invention communicates with the main memory 210 and the host CPU 230.
- the invention provides for issuance of a remedial interrupt or exception before performance of any operations which may be included in an attack.
- the invention provides for extremely rapid screening of a document for signatures which may indicate the possibility of an attempted attack within the context and environment of a hardware parser accelerator which signi icantly reduces time for parsing of a document such as an XMLTM document to a fraction of the time which has been required prior to the present invention.
- the intrusion detection parser of the present invention requires no additional elements or hardware beyond that of the parser accelerator in accordance with the invention and can issue interrupts and/or exceptions prior to any intrusion process becoming executable.
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2003277248A AU2003277248B2 (en) | 2002-10-29 | 2003-10-03 | Intrusion detection accelerator |
JP2004548348A JP2006505042A (en) | 2002-10-29 | 2003-10-03 | Intrusion detection accelerator |
CA002504483A CA2504483A1 (en) | 2002-10-29 | 2003-10-03 | Intrusion detection accelerator |
EP03809941A EP1556752A1 (en) | 2002-10-29 | 2003-10-03 | Intrusion detection accelerator |
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US42177302P | 2002-10-29 | 2002-10-29 | |
US42177402P | 2002-10-29 | 2002-10-29 | |
US42177502P | 2002-10-29 | 2002-10-29 | |
US60/421,773 | 2002-10-29 | ||
US60/421,775 | 2002-10-29 | ||
US60/421,774 | 2002-10-29 | ||
US10/331,879 | 2002-12-31 | ||
US10/331,879 US7146643B2 (en) | 2002-10-29 | 2002-12-31 | Intrusion detection accelerator |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2004040427A1 true WO2004040427A1 (en) | 2004-05-13 |
WO2004040427A9 WO2004040427A9 (en) | 2004-07-08 |
Family
ID=32111027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2003/031313 WO2004040427A1 (en) | 2002-10-29 | 2003-10-03 | Intrusion detection accelerator |
Country Status (7)
Country | Link |
---|---|
US (1) | US7146643B2 (en) |
EP (1) | EP1556752A1 (en) |
JP (1) | JP2006505042A (en) |
KR (1) | KR20050083877A (en) |
AU (1) | AU2003277248B2 (en) |
CA (1) | CA2504483A1 (en) |
WO (1) | WO2004040427A1 (en) |
Families Citing this family (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7213265B2 (en) * | 2000-11-15 | 2007-05-01 | Lockheed Martin Corporation | Real time active network compartmentalization |
US7225467B2 (en) * | 2000-11-15 | 2007-05-29 | Lockheed Martin Corporation | Active intrusion resistant environment of layered object and compartment keys (airelock) |
US20040083466A1 (en) * | 2002-10-29 | 2004-04-29 | Dapp Michael C. | Hardware parser accelerator |
US20070061884A1 (en) * | 2002-10-29 | 2007-03-15 | Dapp Michael C | Intrusion detection accelerator |
US7080094B2 (en) * | 2002-10-29 | 2006-07-18 | Lockheed Martin Corporation | Hardware accelerated validating parser |
ITVA20020066A1 (en) * | 2002-12-04 | 2004-06-05 | St Microelectronics Srl | INTERRUPTIONS CONTROL METHOD AND RELATED CIRCUIT |
US7774831B2 (en) * | 2002-12-24 | 2010-08-10 | International Business Machines Corporation | Methods and apparatus for processing markup language messages in a network |
US20050273858A1 (en) * | 2004-06-07 | 2005-12-08 | Erez Zadok | Stackable file systems and methods thereof |
US8560475B2 (en) * | 2004-09-10 | 2013-10-15 | Cavium, Inc. | Content search mechanism that uses a deterministic finite automata (DFA) graph, a DFA state machine, and a walker process |
US8392590B2 (en) * | 2004-09-10 | 2013-03-05 | Cavium, Inc. | Deterministic finite automata (DFA) processing |
US8301788B2 (en) * | 2004-09-10 | 2012-10-30 | Cavium, Inc. | Deterministic finite automata (DFA) instruction |
US7941585B2 (en) * | 2004-09-10 | 2011-05-10 | Cavium Networks, Inc. | Local scratchpad and data caching system |
GB2422450A (en) * | 2005-01-21 | 2006-07-26 | 3Com Corp | Pattern-matching using a deterministic finite state machine |
US8667106B2 (en) * | 2005-05-20 | 2014-03-04 | At&T Intellectual Property Ii, L.P. | Apparatus for blocking malware originating inside and outside an operating system |
US7735135B1 (en) | 2005-08-31 | 2010-06-08 | Juniper Networks, Inc. | Hardware-based intrusion detection accelerator |
US7661138B1 (en) | 2005-08-31 | 2010-02-09 | Jupiter Networks, Inc. | Finite state automaton compression |
GB2416891B (en) * | 2005-11-09 | 2006-11-01 | Streamshield Networks Ltd | A network implemented content processing system |
US20070283166A1 (en) * | 2006-06-05 | 2007-12-06 | Kabushiki Kaisha Toshiba | System and method for state transition intrusion detection |
WO2008073824A1 (en) * | 2006-12-08 | 2008-06-19 | Pandya Ashish A | Dynamic programmable intelligent search memory |
US20110029549A1 (en) * | 2006-12-08 | 2011-02-03 | Pandya Ashish A | Signature search architecture for programmable intelligent search memory |
US7899977B2 (en) * | 2006-12-08 | 2011-03-01 | Pandya Ashish A | Programmable intelligent search memory |
US7890692B2 (en) * | 2007-08-17 | 2011-02-15 | Pandya Ashish A | FSA context switch architecture for programmable intelligent search memory |
US9141557B2 (en) | 2006-12-08 | 2015-09-22 | Ashish A. Pandya | Dynamic random access memory (DRAM) that comprises a programmable intelligent search memory (PRISM) and a cryptography processing engine |
US7996348B2 (en) | 2006-12-08 | 2011-08-09 | Pandya Ashish A | 100GBPS security and search architecture using programmable intelligent search memory (PRISM) that comprises one or more bit interval counters |
US9270641B1 (en) * | 2007-07-31 | 2016-02-23 | Hewlett Packard Enterprise Development Lp | Methods and systems for using keywords preprocessing, Boyer-Moore analysis, and hybrids thereof, for processing regular expressions in intrusion-prevention systems |
US8266630B2 (en) * | 2007-09-03 | 2012-09-11 | International Business Machines Corporation | High-performance XML processing in a common event infrastructure |
US8819217B2 (en) * | 2007-11-01 | 2014-08-26 | Cavium, Inc. | Intelligent graph walking |
US7949683B2 (en) * | 2007-11-27 | 2011-05-24 | Cavium Networks, Inc. | Method and apparatus for traversing a compressed deterministic finite automata (DFA) graph |
US8180803B2 (en) * | 2007-11-27 | 2012-05-15 | Cavium, Inc. | Deterministic finite automata (DFA) graph compression |
US9106592B1 (en) * | 2008-05-18 | 2015-08-11 | Western Digital Technologies, Inc. | Controller and method for controlling a buffered data transfer device |
US8938590B2 (en) | 2008-10-18 | 2015-01-20 | Micron Technology, Inc. | Indirect register access method and system |
US8209521B2 (en) | 2008-10-18 | 2012-06-26 | Micron Technology, Inc. | Methods of indirect register access including automatic modification of a directly accessible address register |
US8327443B2 (en) * | 2008-10-29 | 2012-12-04 | Lockheed Martin Corporation | MDL compress system and method for signature inference and masquerade intrusion detection |
US8473523B2 (en) | 2008-10-31 | 2013-06-25 | Cavium, Inc. | Deterministic finite automata graph traversal with nodal bit mapping |
US7970964B2 (en) * | 2008-11-05 | 2011-06-28 | Micron Technology, Inc. | Methods and systems to accomplish variable width data input |
US9639493B2 (en) * | 2008-11-05 | 2017-05-02 | Micron Technology, Inc. | Pattern-recognition processor with results buffer |
US7917684B2 (en) | 2008-11-05 | 2011-03-29 | Micron Technology, Inc. | Bus translator |
US8402188B2 (en) | 2008-11-10 | 2013-03-19 | Micron Technology, Inc. | Methods and systems for devices with a self-selecting bus decoder |
US20100138575A1 (en) * | 2008-12-01 | 2010-06-03 | Micron Technology, Inc. | Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices |
US9348784B2 (en) * | 2008-12-01 | 2016-05-24 | Micron Technology, Inc. | Systems and methods for managing endian mode of a device |
US10007486B2 (en) | 2008-12-01 | 2018-06-26 | Micron Technology, Inc. | Systems and methods to enable identification of different data sets |
US9164945B2 (en) * | 2008-12-01 | 2015-10-20 | Micron Technology, Inc. | Devices, systems, and methods to synchronize parallel processing of a single data stream |
US8897139B2 (en) * | 2008-12-05 | 2014-11-25 | Hewlett-Packard Development Company, L.P. | Packet processing indication |
US8140780B2 (en) * | 2008-12-31 | 2012-03-20 | Micron Technology, Inc. | Systems, methods, and devices for configuring a device |
US20100174887A1 (en) * | 2009-01-07 | 2010-07-08 | Micron Technology Inc. | Buses for Pattern-Recognition Processors |
US8214672B2 (en) * | 2009-01-07 | 2012-07-03 | Micron Technology, Inc. | Method and systems for power consumption management of a pattern-recognition processor |
US8281395B2 (en) | 2009-01-07 | 2012-10-02 | Micron Technology, Inc. | Pattern-recognition processor with matching-data reporting module |
US8843523B2 (en) * | 2009-01-12 | 2014-09-23 | Micron Technology, Inc. | Devices, systems, and methods for communicating pattern matching results of a parallel pattern search engine |
US9836555B2 (en) | 2009-06-26 | 2017-12-05 | Micron Technology, Inc. | Methods and devices for saving and/or restoring a state of a pattern-recognition processor |
US8489534B2 (en) | 2009-12-15 | 2013-07-16 | Paul D. Dlugosch | Adaptive content inspection |
US9323994B2 (en) | 2009-12-15 | 2016-04-26 | Micron Technology, Inc. | Multi-level hierarchical routing matrices for pattern-recognition processors |
US9501705B2 (en) | 2009-12-15 | 2016-11-22 | Micron Technology, Inc. | Methods and apparatuses for reducing power consumption in a pattern recognition processor |
US20110302394A1 (en) * | 2010-06-08 | 2011-12-08 | International Business Machines Corporation | System and method for processing regular expressions using simd and parallel streams |
US20130275709A1 (en) | 2012-04-12 | 2013-10-17 | Micron Technology, Inc. | Methods for reading data from a storage buffer including delaying activation of a column select |
US9524248B2 (en) | 2012-07-18 | 2016-12-20 | Micron Technology, Inc. | Memory management for a hierarchical memory system |
US9703574B2 (en) | 2013-03-15 | 2017-07-11 | Micron Technology, Inc. | Overflow detection and correction in state machine engines |
US9448965B2 (en) | 2013-03-15 | 2016-09-20 | Micron Technology, Inc. | Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine |
CN104348677A (en) * | 2013-08-05 | 2015-02-11 | 华为技术有限公司 | Deep packet inspection method and equipment and coprocessor |
US9391771B2 (en) | 2014-02-06 | 2016-07-12 | Empire Technology Development Llc | Server-client secret generation with cached data |
US9600596B2 (en) | 2014-04-08 | 2017-03-21 | Sap Se | Parser wrapper class |
CN104378361A (en) * | 2014-10-24 | 2015-02-25 | 苏州阔地网络科技有限公司 | Network intrusion detection method and system |
US11366675B2 (en) | 2014-12-30 | 2022-06-21 | Micron Technology, Inc. | Systems and devices for accessing a state machine |
US10430210B2 (en) | 2014-12-30 | 2019-10-01 | Micron Technology, Inc. | Systems and devices for accessing a state machine |
US10769099B2 (en) | 2014-12-30 | 2020-09-08 | Micron Technology, Inc. | Devices for time division multiplexing of state machine engine signals |
US10977309B2 (en) | 2015-10-06 | 2021-04-13 | Micron Technology, Inc. | Methods and systems for creating networks |
US10846103B2 (en) | 2015-10-06 | 2020-11-24 | Micron Technology, Inc. | Methods and systems for representing processing resources |
US10691964B2 (en) | 2015-10-06 | 2020-06-23 | Micron Technology, Inc. | Methods and systems for event reporting |
US10146555B2 (en) | 2016-07-21 | 2018-12-04 | Micron Technology, Inc. | Adaptive routing to avoid non-repairable memory and logic defects on automata processor |
US10019311B2 (en) | 2016-09-29 | 2018-07-10 | Micron Technology, Inc. | Validation of a symbol response memory |
US10268602B2 (en) | 2016-09-29 | 2019-04-23 | Micron Technology, Inc. | System and method for individual addressing |
US10929764B2 (en) | 2016-10-20 | 2021-02-23 | Micron Technology, Inc. | Boolean satisfiability |
US10592450B2 (en) | 2016-10-20 | 2020-03-17 | Micron Technology, Inc. | Custom compute cores in integrated circuit devices |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5319776A (en) * | 1990-04-19 | 1994-06-07 | Hilgraeve Corporation | In transit detection of computer virus with safeguard |
US5414833A (en) * | 1993-10-27 | 1995-05-09 | International Business Machines Corporation | Network security system and method using a parallel finite state machine adaptive active monitor and responder |
CA2307529A1 (en) * | 2000-03-29 | 2001-09-29 | Pmc-Sierra, Inc. | Method and apparatus for grammatical packet classifier |
Family Cites Families (113)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4279034A (en) | 1979-11-15 | 1981-07-14 | Bell Telephone Laboratories, Incorporated | Digital communication system fault isolation circuit |
US4527270A (en) | 1983-05-04 | 1985-07-02 | Allen-Bradley Company | Communications network with stations that detect and automatically bypass faults |
US4622546A (en) | 1983-12-23 | 1986-11-11 | Advanced Micro Devices, Inc. | Apparatus and method for displaying characters in a bit mapped graphics system |
US4556972A (en) | 1983-12-27 | 1985-12-03 | At&T Bell Laboratories | Arrangement for routing data packets through a circuit switch |
US4879716A (en) | 1987-12-23 | 1989-11-07 | Bull Hn Information Systems Inc. | Resilient data communications system |
US5280577A (en) | 1988-01-19 | 1994-01-18 | E. I. Du Pont De Nemours & Co., Inc. | Character generation using graphical primitives |
US5027342A (en) | 1989-05-03 | 1991-06-25 | The University Of Toronto Innovations Foundation | Local area network |
US5003531A (en) | 1989-08-11 | 1991-03-26 | Infotron Systems Corporation | Survivable network using reverse protection ring |
US5193192A (en) | 1989-12-29 | 1993-03-09 | Supercomputer Systems Limited Partnership | Vectorized LR parsing of computer programs |
EP0436194A3 (en) | 1990-01-02 | 1992-12-16 | National Semiconductor Corporation | Media access controller |
US5214778A (en) | 1990-04-06 | 1993-05-25 | Micro Technology, Inc. | Resource management in a multiple resource system |
EP0459912B1 (en) | 1990-05-30 | 1996-09-11 | Fujitsu Limited | An issue processing system for a right to use a resource |
US5247664A (en) | 1991-03-28 | 1993-09-21 | Amoco Corporation | Fault-tolerant distributed database system and method for the management of correctable subtransaction faults by the global transaction source node |
US5511213A (en) | 1992-05-08 | 1996-04-23 | Correa; Nelson | Associative memory processor architecture for the efficient execution of parsing algorithms for natural language processing and pattern recognition |
AU675816B2 (en) | 1992-12-14 | 1997-02-20 | Commonwealth Of Australia, The | Message document security |
JPH06282527A (en) | 1993-03-29 | 1994-10-07 | Hitachi Software Eng Co Ltd | Network control system |
FR2706652B1 (en) | 1993-06-09 | 1995-08-18 | Alsthom Cge Alcatel | Device for detecting intrusions and suspicious users for a computer system and security system comprising such a device. |
US5519830A (en) | 1993-06-10 | 1996-05-21 | Adc Telecommunications, Inc. | Point-to-multipoint performance monitoring and failure isolation system |
DE69424565T2 (en) | 1993-12-01 | 2001-01-18 | Marathon Techn Corp | FAULT OPERATIONAL / FAULT TOLERANT COMPUTER OPERATING METHOD |
US5606668A (en) | 1993-12-15 | 1997-02-25 | Checkpoint Software Technologies Ltd. | System for securing inbound and outbound data packet flow in a computer network |
JP3339741B2 (en) | 1994-01-13 | 2002-10-28 | 株式会社リコー | Language analyzer |
JP3438105B2 (en) | 1994-03-18 | 2003-08-18 | 富士通株式会社 | Detour route search method |
FR2721781B1 (en) | 1994-06-28 | 1996-07-19 | Thomson Csf | Method for ensuring the confidentiality of a phonic link and local telecommunication network implementing the method. |
US5737526A (en) | 1994-12-30 | 1998-04-07 | Cisco Systems | Network having at least two routers, each having conditional filter so one of two transmits given frame and each transmits different frames, providing connection to a subnetwork |
TW278292B (en) | 1995-03-17 | 1996-06-11 | Advanced Micro Devices Inc | Intrusion control for secure networks |
US5696486A (en) | 1995-03-29 | 1997-12-09 | Cabletron Systems, Inc. | Method and apparatus for policy-based alarm notification in a distributed network management environment |
US6006019A (en) | 1995-08-10 | 1999-12-21 | Nec Corporation | Network system capable of managing a network unit from an agent |
KR100244836B1 (en) | 1995-11-02 | 2000-02-15 | 포만 제프리 엘 | Error recovery by isolation of peripheral components in a data processing system |
JP3165366B2 (en) | 1996-02-08 | 2001-05-14 | 株式会社日立製作所 | Network security system |
US6233704B1 (en) | 1996-03-13 | 2001-05-15 | Silicon Graphics, Inc. | System and method for fault-tolerant transmission of data within a dual ring network |
JPH09311806A (en) | 1996-05-24 | 1997-12-02 | Hitachi Ltd | Method for detecting illegal update of data |
US5768501A (en) | 1996-05-28 | 1998-06-16 | Cabletron Systems | Method and apparatus for inter-domain alarm correlation |
US5798706A (en) | 1996-06-18 | 1998-08-25 | Raptor Systems, Inc. | Detecting unauthorized network communication |
US5995963A (en) | 1996-06-27 | 1999-11-30 | Fujitsu Limited | Apparatus and method of multi-string matching based on sparse state transition list |
US6119236A (en) | 1996-10-07 | 2000-09-12 | Shipley; Peter M. | Intelligent network security device and method |
US6182029B1 (en) | 1996-10-28 | 2001-01-30 | The Trustees Of Columbia University In The City Of New York | System and method for language extraction and encoding utilizing the parsing of text data in accordance with domain parameters |
US5958015A (en) | 1996-10-29 | 1999-09-28 | Abirnet Ltd. | Network session wall passively listening to communication session, with use of access rules, stops further communication between network devices by emulating messages to the devices |
US5991881A (en) | 1996-11-08 | 1999-11-23 | Harris Corporation | Network surveillance system |
US5969632A (en) | 1996-11-22 | 1999-10-19 | Diamant; Erez | Information security method and apparatus |
US5922049A (en) | 1996-12-09 | 1999-07-13 | Sun Microsystems, Inc. | Method for using DHCP and marking to override learned IP addesseses in a network |
US5920698A (en) | 1997-01-06 | 1999-07-06 | Digital Equipment Corporation | Automatic detection of a similar device at the other end of a wire in a computer network |
US5805801A (en) | 1997-01-09 | 1998-09-08 | International Business Machines Corporation | System and method for detecting and preventing security |
US5905859A (en) | 1997-01-09 | 1999-05-18 | International Business Machines Corporation | Managed network device security method and apparatus |
AU8490898A (en) | 1997-07-18 | 1999-02-10 | Interprophet Corporation | Tcp/ip network accelerator system and method |
US5919257A (en) | 1997-08-08 | 1999-07-06 | Novell, Inc. | Networked workstation intrusion detection system |
US5848410A (en) | 1997-10-08 | 1998-12-08 | Hewlett Packard Company | System and method for selective and continuous index generation |
US6021510A (en) * | 1997-11-24 | 2000-02-01 | Symantec Corporation | Antivirus accelerator |
US6094731A (en) * | 1997-11-24 | 2000-07-25 | Symantec Corporation | Antivirus accelerator for computer networks |
US6151624A (en) | 1998-02-03 | 2000-11-21 | Realnames Corporation | Navigating network resources based on metadata |
US6279113B1 (en) | 1998-03-16 | 2001-08-21 | Internet Tools, Inc. | Dynamic signature inspection-based network intrusion detection |
US6393386B1 (en) | 1998-03-26 | 2002-05-21 | Visual Networks Technologies, Inc. | Dynamic modeling of complex networks and prediction of impacts of faults therein |
US6167448A (en) | 1998-06-11 | 2000-12-26 | Compaq Computer Corporation | Management event notification system using event notification messages written using a markup language |
US6083276A (en) | 1998-06-11 | 2000-07-04 | Corel, Inc. | Creating and configuring component-based applications using a text-based descriptive attribute grammar |
US6282546B1 (en) | 1998-06-30 | 2001-08-28 | Cisco Technology, Inc. | System and method for real-time insertion of data into a multi-dimensional database for network intrusion detection and vulnerability assessment |
US6304973B1 (en) | 1998-08-06 | 2001-10-16 | Cryptek Secure Communications, Llc | Multi-level security network system |
US6421656B1 (en) | 1998-10-08 | 2002-07-16 | International Business Machines Corporation | Method and apparatus for creating structure indexes for a data base extender |
US6366934B1 (en) | 1998-10-08 | 2002-04-02 | International Business Machines Corporation | Method and apparatus for querying structured documents using a database extender |
US8006177B1 (en) | 1998-10-16 | 2011-08-23 | Open Invention Network, Llc | Documents for commerce in trading partner networks and interface definitions based on the documents |
US6321338B1 (en) | 1998-11-09 | 2001-11-20 | Sri International | Network surveillance |
US6370648B1 (en) | 1998-12-08 | 2002-04-09 | Visa International Service Association | Computer network intrusion detection |
US6301668B1 (en) | 1998-12-29 | 2001-10-09 | Cisco Technology, Inc. | Method and system for adaptive network security using network vulnerability assessment |
US6487666B1 (en) * | 1999-01-15 | 2002-11-26 | Cisco Technology, Inc. | Intrusion detection signature analysis using regular expressions and logical operators |
US6374207B1 (en) | 1999-02-10 | 2002-04-16 | International Business Machines Corporation | Methods, data structures, and computer program products for representing states of interaction in automatic host access and terminal emulation using scripts |
US6418446B1 (en) | 1999-03-01 | 2002-07-09 | International Business Machines Corporation | Method for grouping of dynamic schema data using XML |
US6405318B1 (en) | 1999-03-12 | 2002-06-11 | Psionic Software, Inc. | Intrusion detection system |
US6446110B1 (en) | 1999-04-05 | 2002-09-03 | International Business Machines Corporation | Method and apparatus for representing host datastream screen image information using markup languages |
US6408311B1 (en) | 1999-06-30 | 2002-06-18 | Unisys Corp. | Method for identifying UML objects in a repository with objects in XML content |
US6684335B1 (en) | 1999-08-19 | 2004-01-27 | Epstein, Iii Edwin A. | Resistance cell architecture |
US6363489B1 (en) | 1999-11-29 | 2002-03-26 | Forescout Technologies Inc. | Method for automatic intrusion detection and deflection in a network |
US6721727B2 (en) | 1999-12-02 | 2004-04-13 | International Business Machines Corporation | XML documents stored as column data |
US6772413B2 (en) | 1999-12-21 | 2004-08-03 | Datapower Technology, Inc. | Method and apparatus of data exchange using runtime code generator and translator |
US6697950B1 (en) * | 1999-12-22 | 2004-02-24 | Networks Associates Technology, Inc. | Method and apparatus for detecting a macro computer virus using static analysis |
US6295276B1 (en) | 1999-12-31 | 2001-09-25 | Ragula Systems | Combining routers to increase concurrency and redundancy in external network access |
US20020073091A1 (en) | 2000-01-07 | 2002-06-13 | Sandeep Jain | XML to object translation |
US20020108059A1 (en) | 2000-03-03 | 2002-08-08 | Canion Rodney S. | Network security accelerator |
US7159237B2 (en) | 2000-03-16 | 2007-01-02 | Counterpane Internet Security, Inc. | Method and system for dynamic network intrusion monitoring, detection and response |
JP2001296881A (en) | 2000-04-14 | 2001-10-26 | Sony Corp | Device and method for information processing and recording medium |
US7496637B2 (en) | 2000-05-31 | 2009-02-24 | Oracle International Corp. | Web service syndication system |
US7007301B2 (en) | 2000-06-12 | 2006-02-28 | Hewlett-Packard Development Company, L.P. | Computer architecture for an intrusion detection system |
US6964604B2 (en) * | 2000-06-23 | 2005-11-15 | International Business Machines Corporation | Fiber embedded polishing pad |
AUPQ849500A0 (en) | 2000-06-30 | 2000-07-27 | Canon Kabushiki Kaisha | Hash compact xml parser |
FR2811782B1 (en) | 2000-07-12 | 2003-09-26 | Jaxo Europ | DOCUMENT CONVERSION SYSTEM WITH TREE STRUCTURE BY SELECTIVE PATHWAY OF SAID STRUCTURE |
EP1314098A1 (en) | 2000-08-02 | 2003-05-28 | Biospace.Com, Inc. | Apparatus and method for producing contextually marked-up electronic content |
AU2000260103A1 (en) | 2000-08-02 | 2002-02-13 | Philipp Kutter | Xml-robot |
US20020120697A1 (en) | 2000-08-14 | 2002-08-29 | Curtis Generous | Multi-channel messaging system and method |
US7475405B2 (en) | 2000-09-06 | 2009-01-06 | International Business Machines Corporation | Method and system for detecting unusual events and application thereof in computer intrusion detection |
US6799248B2 (en) | 2000-09-11 | 2004-09-28 | Emc Corporation | Cache management system for a network data node having a cache memory manager for selectively using different cache management methods |
US8108543B2 (en) | 2000-09-22 | 2012-01-31 | Axeda Corporation | Retrieving data from a server |
US7225467B2 (en) | 2000-11-15 | 2007-05-29 | Lockheed Martin Corporation | Active intrusion resistant environment of layered object and compartment keys (airelock) |
US7213265B2 (en) | 2000-11-15 | 2007-05-01 | Lockheed Martin Corporation | Real time active network compartmentalization |
US20020099734A1 (en) | 2000-11-29 | 2002-07-25 | Philips Electronics North America Corp. | Scalable parser for extensible mark-up language |
US20020069318A1 (en) | 2000-12-01 | 2002-06-06 | Chow Yan Chiew | Real time application accelerator and method of operating the same |
US6687897B2 (en) | 2000-12-01 | 2004-02-03 | Microsoft Corporation | XML based script automation |
US20020152244A1 (en) | 2000-12-22 | 2002-10-17 | International Business Machines Corporation | Method and apparatus to dynamically create a customized user interface based on a document type definition |
US6671689B2 (en) | 2001-01-19 | 2003-12-30 | Ncr Corporation | Data warehouse portal |
EP1225516A1 (en) | 2001-01-22 | 2002-07-24 | Sun Microsystems, Inc. | Storing data of an XML-document in a relational database |
US6959416B2 (en) | 2001-01-30 | 2005-10-25 | International Business Machines Corporation | Method, system, program, and data structures for managing structured documents in a database |
US20020116644A1 (en) | 2001-01-30 | 2002-08-22 | Galea Secured Networks Inc. | Adapter card for wirespeed security treatment of communications traffic |
US6631379B2 (en) | 2001-01-31 | 2003-10-07 | International Business Machines Corporation | Parallel loading of markup language data files and documents into a computer database |
US20020111963A1 (en) | 2001-02-14 | 2002-08-15 | International Business Machines Corporation | Method, system, and program for preprocessing a document to render on an output device |
US7194683B2 (en) | 2001-03-02 | 2007-03-20 | International Business Machines Corporation | Representing and managing dynamic data content for web documents |
US6862588B2 (en) * | 2001-07-25 | 2005-03-01 | Hewlett-Packard Development Company, L.P. | Hybrid parsing system and method |
US20020010715A1 (en) | 2001-07-26 | 2002-01-24 | Garry Chinn | System and method for browsing using a limited display device |
US20030041302A1 (en) * | 2001-08-03 | 2003-02-27 | Mcdonald Robert G. | Markup language accelerator |
US20030229846A1 (en) * | 2002-06-07 | 2003-12-11 | Anil Sethi | System and method for capturing digital data directly from an electronic device and processing the data into XML form on a computer chip |
US7639257B2 (en) * | 2002-07-31 | 2009-12-29 | Adobe Systems Incorporated | Glyphlets |
US7493603B2 (en) * | 2002-10-15 | 2009-02-17 | International Business Machines Corporation | Annotated automaton encoding of XML schema for high performance schema validation |
US7080094B2 (en) * | 2002-10-29 | 2006-07-18 | Lockheed Martin Corporation | Hardware accelerated validating parser |
US20040083466A1 (en) * | 2002-10-29 | 2004-04-29 | Dapp Michael C. | Hardware parser accelerator |
US20040172234A1 (en) * | 2003-02-28 | 2004-09-02 | Dapp Michael C. | Hardware accelerator personality compiler |
US20040194016A1 (en) * | 2003-03-28 | 2004-09-30 | International Business Machines Corporation | Dynamic data migration for structured markup language schema changes |
US7774386B2 (en) * | 2003-07-24 | 2010-08-10 | International Business Machines Corporation | Applying abstraction to object markup definitions |
US7437374B2 (en) * | 2004-02-10 | 2008-10-14 | International Business Machines Corporation | Efficient XML schema validation of XML fragments using annotated automaton encoding |
-
2002
- 2002-12-31 US US10/331,879 patent/US7146643B2/en not_active Expired - Lifetime
-
2003
- 2003-10-03 EP EP03809941A patent/EP1556752A1/en not_active Withdrawn
- 2003-10-03 JP JP2004548348A patent/JP2006505042A/en active Pending
- 2003-10-03 CA CA002504483A patent/CA2504483A1/en not_active Abandoned
- 2003-10-03 AU AU2003277248A patent/AU2003277248B2/en not_active Ceased
- 2003-10-03 KR KR1020057007619A patent/KR20050083877A/en not_active Application Discontinuation
- 2003-10-03 WO PCT/US2003/031313 patent/WO2004040427A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5319776A (en) * | 1990-04-19 | 1994-06-07 | Hilgraeve Corporation | In transit detection of computer virus with safeguard |
US5414833A (en) * | 1993-10-27 | 1995-05-09 | International Business Machines Corporation | Network security system and method using a parallel finite state machine adaptive active monitor and responder |
CA2307529A1 (en) * | 2000-03-29 | 2001-09-29 | Pmc-Sierra, Inc. | Method and apparatus for grammatical packet classifier |
Also Published As
Publication number | Publication date |
---|---|
WO2004040427A9 (en) | 2004-07-08 |
CA2504483A1 (en) | 2004-05-13 |
US7146643B2 (en) | 2006-12-05 |
US20040083387A1 (en) | 2004-04-29 |
AU2003277248A1 (en) | 2004-05-25 |
EP1556752A1 (en) | 2005-07-27 |
AU2003277248B2 (en) | 2009-04-23 |
JP2006505042A (en) | 2006-02-09 |
KR20050083877A (en) | 2005-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7146643B2 (en) | Intrusion detection accelerator | |
US20070061884A1 (en) | Intrusion detection accelerator | |
US20040083466A1 (en) | Hardware parser accelerator | |
JP4855400B2 (en) | Method and system for multi-pattern search | |
Norton | Optimizing pattern matching for intrusion detection | |
KR101648235B1 (en) | Pattern-recognition processor with matching-data reporting module | |
US7080094B2 (en) | Hardware accelerated validating parser | |
US8756170B2 (en) | Regular expression matching method and system | |
US7734091B2 (en) | Pattern-matching system | |
US20050273450A1 (en) | Regular expression acceleration engine and processing model | |
US20040172234A1 (en) | Hardware accelerator personality compiler | |
US20060259508A1 (en) | Method and apparatus for detecting semantic elements using a push down automaton | |
KR20120106978A (en) | Methods and apparatuses for reducing power consumption in a pattern recognition processor | |
US20100306263A1 (en) | Apparatuses and methods for deterministic pattern matching | |
US7735135B1 (en) | Hardware-based intrusion detection accelerator | |
JP2001313686A (en) | Method and device for data analysis | |
AU2003277249A1 (en) | Hardware parser accelerator | |
US7661138B1 (en) | Finite state automaton compression | |
KR20070003488A (en) | Regular expression representing method for efficient pattern matching in tcam and pattern matching method | |
CN100357846C (en) | Intrusion detection accelerator | |
CA2504491A1 (en) | Hardware accelerated validating parser |
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 JP 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 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 | ||
COP | Corrected version of pamphlet |
Free format text: PUBLISHED INTERNATIONAL SEARCH REPORT (1 PAGE) REPLACED BY CORRECT INTERNATIONAL SEARCH REPORT (3 PAGES) |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2003277248 Country of ref document: AU Ref document number: 2004548348 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020057007619 Country of ref document: KR Ref document number: 2504483 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 817/KOLNP/2005 Country of ref document: IN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2003809941 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 20038A61642 Country of ref document: CN |
|
WWP | Wipo information: published in national office |
Ref document number: 2003809941 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1020057007619 Country of ref document: KR |