230 likes | 380 Vues
This project presents a robust software architecture for an Intrusion Detection System (IDS) tailored specifically for detecting port scanning attacks. It actively monitors network systems to identify any ongoing port scans, providing crucial data such as the source and destination IP addresses, scanned ports, and scan duration. The IDS effectively recognizes multiple scanning techniques, including TCP SYN, UDP port scans, and others, employing object-oriented design principles for efficiency and cross-platform compatibility (Windows/Linux). This system enables network administrators to swiftly respond to potential threats, enhancing overall network security.
E N D
Intrusion Detection System Marc Nemati April 19, 2011 Software Architecture
Intrusion Detection • Port Scan Detection • Many attacks begin with locating an open port to launch the attack (Port Scan) • Many algorithms and methods to determine if a port is open
Project Overview • Check at any given time, if any system on a network is being port scanned • Once a port scan is detected, return the following crucial information to the network admin • IP address • MAC address • Ports Scanned • Duration of Scan
Functionality • Display the Source MAC and IP addresses • Check the type of transport protocol used by looking at the protocol field of the IP packet. • If it a TCP or UDP packet extract and display the source and destination port numbers. • Specifically recognize all of the following attacks; • TCP SYN scan • UDP port scan • IP protocol scan • TCP Maimon scan • TCP FIN, and Null scan • When a scan is detected, display the number of ports scanned, originating IP address, destination IP, and list all the destination port addresses.
Design 1 – Level 2 Main isTCP_SYN_attack() getDeviceList() PortScanDetector isTCP_FIN_attack() PacketHandler isTCP_Maimon_attack() run() isIPproto_attack() detect() receivePacket() isUDP_attack() Packet_list
Design 2 – Level 2 Main Network isTCP_SYN_attack() getDeviceList() PortScanDetector isTCP_FIN_attack() PacketHandler isTCP_Maimon_attack() run() isIPproto_attack() receivePacket() detect() isUDP_attack() sendPacket() Packet_list
Pros and Cons Object - Oriented Client/Server
Rational For Implementation • Object Oriented • Java • Cross Platform (Windows/Linux) • Threading • Used due to Large number of packets on the network • Efficiency • Memory Management • Reduces Network Overhead