3.7 Skoni - Ids Architecture: Memory Blocker (IPFW) Network Traffic
3.7 Skoni - Ids Architecture: Memory Blocker (IPFW) Network Traffic
1 below.
NETWORK INTERFACE
PREPROCESSOR ENGINE 2
NETWORK TRAFFIC
SYSTEM RESPONSE
MEMORY
BLOCKER (IPFW)
ALERT MECHANISM
ADAPTIVE DETECTION
PREPROCESSOR ENGINE 1
MYSQL
INNATE
ENGINE INNATE
There are basically five major parts to the (CIS) architecture as shown above: 1. The Preprocessor Engines 2. Innate detection Engine 3. Adaptive Detection Engine (new) 4. System Response (Windows IP Firewall and the Alert Mechanisms) (new) 5. MySQL Database 6. Graphic User Interface (New) The adaptive detection Engine, System response using IP firewall and the alert mechanism and also the 1
graphic user interfaces were the added components to Snort IDS framework. The functions of the different components in SKONI_IDS architecture are as follows: 3.7.1 PRE-PROCESSING ENGINE (PPE1 and PPE2) There are two pre-processing engines in the architecture. Data to be analyzed is processed into a format that is compatible with the analysis engines for each part of the architecture- PPE1 for the innate analysis engine and PPE2 for the adaptive analysis engine. 3.7.2 INNATE DETECTION (Signature Detection) The innate analysis engine is an implementation of misuse detection which is a standard technique used in intrusion detection system. Snort rules were used in the innate analysis engine. The data to be analysed was matched against the rule. Once there is a match, the system provides an alarm response. This technique can provide a high level of detection accuracy and a low level of false positive responses if the rules are tuned correctly. If the system does not provide an alarm response at this point, it could either be that the data analysed is normal, or it could be an attack that does not have a similar or matching rule in the rule base. To determine which situation it is, if no alarm is raised, the data is simply logged into the database. The general form of a Snort rule is given as: <action> <proto> <src_ip> <src_port> <direction> <dst_ip> <dst_port> <options> A Snort rule is composed of two major parts: rule headers and rule options. Within the rule options are a number of subsets of options. Some of these are metadata options, payload detection options, non payload detection options, and post detection options. 3.7.2.1 Snort Rule Headers The rule header contains the information that defines the rule action, protocols, IP addresses, port numbers, and direction operator. This portion of the rule must be structured exactly as it is, and must contain all elements. Without this, the rule will not be valid and Snort will exit upon loading it. Eight rule action options are possible as at Snort 2.9.0. They are log, alert, dynamic, activate, pass They are named snort_alerts and snort29. Snort_alerts is used for storing alerts, while snort29 is used for storing logs. Structure and descriptions of the database tables are included in this report. 3.8 Database Model for the IDS 2
The object oriented approach was used in the design of the database model for the system. Object orientation is a modeling and development methodology based on object oriented (OO) concepts. It uses a set of design and development principle based on conceptually autonomous computer structures know as objects. OO database design allows data models semantics to be captured and represented in the real world more accurately while decreasing development time by reducing the amount of code (Peter and Carloc, 2007). Objects are described by their attributes known as instance variables. The variables in the database are descriptive of the IDS process. The objects and their associated attributes supported in the database are shown below: Table 3.8.1 Acid_event
Field sid cid signature sig_name sig_class_id sig_priority timestamp ip_src Type int(10) int(10) int(10) varchar(255) int(10) int(10) Datetime int(10) Attributes UNSIGNED UNSIGNED UNSIGNED UNSIGNED UNSIGNED UNSIGNED Null No No No Yes Yes Yes No Yes Default Extra
UNSIGNED latin1_swedish_ci
latin1_swedish_ci
NULL NULL
3.9 System specification Having examined the various components of the system at the design stage, we develop the functionalities of the system in this section. The class diagram for the system is given in figure 3.4 to figure 3.7 while the sequence diagrams are given in figures 3.8 to 3.10
Figure 3.4
Figure 3.5
Figure 3.6
Figure 3.7
Figure 3.8
10
Figure 3.9.
11
5.5 Further Work We have used negative selection approach in this research work as described by Forrest (1999) however other approaches exist like the danger theory and clonal selection algorithms. Further work may therefore be done in this area for developing a more sensitive system using an optimal combination of these approaches. This work may also be extended to developing distributed intrusion detection systems, that is, to study systems that will simultaneously monitor other layers of the OSI model in order to detect other application specific attacks. The system may further be developed for management of multiple sensor deployments using a suitable GUI. It can also be extended for use in forensic analysis, which is a promising area for research too. Although the system can be replicated for use on Linux like systems, it will need different components and configuration since Linux systems do not require editing of the registry while windows based systems requires this feature. A promising area of research for future work would also be to implement the system on cross platform using Java programming language by incorporating Java virtual machine for every OS that requires the system.
12