
NetSTATNetSTAT AA Network-basedNetwork-based IntrusionIntrusion DetectionDetection ApproachApproach ACSAC ‘98 Giovanni Vigna and Richard A. Kemmerer Reliable Software Group University of California Santa Barbara >YLJQDNHPP@#FVXFVEHGX http://www.cs.ucsb.edu/~kemm/NetSTAT/ NetSTAT NetSTAT NetSTAT • Network-based real-time intrusion detection system • Extends the State Transition Analysis Technique to represent attacks in a networked environment • Uses Network Hypergraphs to represent the network topology and services • Customizes generic attack scenarios to a target network (what to look for and where to look for it) • Features distributed architecture with decentralized processing of events *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ Overview NetSTAT Overview Network Fact Base State Transition Scenario Database Probe Network Security Officer Probe Probe Analyzer *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ Network Fact Base NetSTAT Network Fact Base • Contains information about the network topology and the services deployed wilder kubrick fellini NFS: /home kurbick, wood i6i5 i4 /fs kubrick, wood L1 i33 chaplin i31 L2 i32 i91 L4 Outside i7 i8 i2 Internet i92 wood jackson bergman landis L5 L3 rlogin: wilder i0 i11 i10 i1 i1 1 carpenter lang 2 hitchcok *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ Advantages NetSTAT Advantages • Provides well-defined semantics • Supports reasoning and automation • Models hosts and links in a uniform way (sets of interfaces) • Allows natural modeling of shared-bus links *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ StateState TransitionTransition ScenarioScenario NetSTAT DatabaseDatabase • Manages the state/transition representations of the intrusion scenarios to be detected • Representations based on the State Transition Analysis Technique (STAT) • STAT born to represent intrusions in host-based IDSs (USTAT) and extended to distributed IDSs (NSTAT) • Extended to represent intrusions in a networked environment • State Transition Diagram: from a safe state to a compromised state through a series of signature actions *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ State Transition Diagrams NetSTAT State Transition Diagrams signature actions compromised initial state state state assertions *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ States and Assertions NetSTAT States and Assertions • State of the network – Active connections (connection-oriented services) – State of interactions (connectionless services) – Tables • Assertions – Static assertions – Dynamic assertions *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ StaticStatic andand DynamicDynamic NetSTAT AssertionsAssertions • Static assertions – Verified by examining the Network Fact Base – Used to customize state transition representation for particular scenarios Service s in server.services | s.name == “www” and s.application.name == “CERN httpd”; • Dynamic assertions – Verified by examining the state of the network – Used to determine what relevant network state events should be monitored ConnectionEstablished(addr1, port1, addr2, port2) *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ Signature Actions NetSTAT Signature Actions • Signature actions represent critical changes in the security state of the system • For NetSTAT signature actions leverage off of an event model • Basic event: link-level message Message m {i_x,i_y} | m.length > 512; • Composite events: – IP datagrams (sequence of link-level message used for delivery) – UDP datagrams and TCP segments (encapsulated in IP datagrams) – Application-level events (encapsulated in UDP datagrams or TCP streams) *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ Examples NetSTAT Examples [IPDatagram d [UDPDatagram u [RPC r]]] {i_x, i_y} | d.dst == a_y and u.dst == 2049 and r.type == CALL and r.proc == MKDIR; TCPSegment t in [VirtualCircuit c] {i_x, i_y} | c.dstIP == a_y and c.dstPort == 80 and t.syn == true; *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ Probes NetSTAT Probes • Responsible for analyzing the stream of network events • Configured and positioned by the Analyzer Probe Decision Responds to attacks (log, warn, reset Engine connections, etc.) Inference Checks for signature actions Engine Maintains track of STD evolution Selects messages of interest Filter Operates reassembling Interface Network Link *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ Analyzer NetSTAT Analyzer • Takes as input the Network Fact Base and the State Transition Scenario Database • Determines: – Which events have to be monitored – Where the events have to be monitored – What information about the topology of the network is required to perform detection – What information about the state of the network must be maintained to be able to verify state assertions • Produces a set of probe configurations and a deployment plan *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ ConfigurationConfiguration andand NetSTAT DeploymentDeployment • NSO builds a database of attack scenarios using the State Transition Scenario Database • NSO builds a network description using the Network Fact Base • NSO selects a set of scenarios to be detected on the network • The Analyzer performs the analysis and customization process – Mostly automated – May require help from the NSO in specific situations • Configuration files are sent to probes *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ Example:Example: NetSTAT UDPUDP spoofingspoofing • Service authentication based on source IP address • An attacker tries to access a UDP-based service by pretending to be one of its trusted clients • Attacker sends a forged UDP-over-IP datagram • Attack detectable in particular topologies only *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ Sample Network NetSTAT Sample Network wilder kubrick fellini NFS: /home kurbick, wood /fs kubrick, wood i6i5 i4 L1 i31 i33 chaplin i32 L2 i91 L4 Outside i7 i8 i2 Internet i92 wood jackson bergman landis L5 L3 i0 i11 i10 carpenter lang i11 i12 hitchcok *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ AttackAttack NetSTAT RepresentationRepresentation Message m in [IPDatagram d [UDPDatagram u]] {i, a_v.interface}| d.src == a_t and d.dst == a_v and u.dst == s.port and not (Network.detachFromLink(m.src)). existsPath(m.src, d.src.interface); Host victim in ProtectedNetwork.hosts; Compromised Service s in victim.services | s.protocol == “UDP” and s.authentication == “IPaddress”; IPAddress a_v in s.addresses; IPAddress a_t in s.trustedAddr; Host attacker in Network.hosts | attacker != victim and not attacker.Ipaddresses.contains(a_t); Interface i in attacker.interfaces; *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ CustomizationCustomization toto NetSTAT TargetTarget NetworkNetwork victim s a_v a_t attacker i fellini NFS a4 a5 Outside i0 fellini NFS a4 a7 Outside i0 fellini NFS a4 a5 hitchcock i11 fellini NFS a4 a7 hitchcock i11 ………… … … fellini NFS a4 a5 lang i10 fellini NFS a4 a7 lang i10 fellini NFS a4 a5 carpenter i11 fellini NFS a4 a7 carpenter i11 *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ ProbeProbe placementplacement andand NetSTAT configurationconfiguration • For each scenario, the analyzer simulates the link-level messages that would be used to execute the attack • The messages are then matched against the predicates contained in the attack’s signature action • The messages that satisfy the predicate can be used as a basis for attack detection • One possible probe placement is chosen *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ Example NetSTAT Example [i11, i92 [a7, a4]] wilder kubrick fellini No path between i11 and i7 in network with ⇒ i6i5 i4 L3 - i11 spoofed [i91 , i32 , [a7, a4]] No path between L1 i31 i3 i91 and i7 in network with 3 ⇒ chaplin L2 - i91 spoofed i32 L2 [i33 , i4, [a7, a4]] Exists path between i9 1 L4 i33 and i7 in network with bergman ⇒ i7 i8 i2 L2 - i33 can’t say i92 wood landis L5 L3 i0 i11 i10 Outside carpenter lang i11 i12 hitchcok Internet *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ Conclusions NetSTAT Conclusions • Focused and efficient real-time network-based intrusion detection in complex topologies • Attacks represented as STDs • Networks represented as hypergraphs • Detection mechanisms highly tailored to target networks • Automated tool support for the Network Security Officer • Distributed, modular architecture with local processing • Scalable and interoperable *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ Status NetSTAT Status • Generic probe module completed • Automatic deployment mechanisms for dynamic probe configuration developed • More than 30 attacks analyzed and corresponding detection plug-ins developed • Recently successfully completed participation to LL/AFRL IDSs evaluation • People involved: – Richard Kemmerer, Steve Eckmann, Giovanni Vigna *9LJQDDQG5.HPPHUHU1HW67$7$&6$&¶ .
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages22 Page
-
File Size-