EE579T/GD_6 #1 Summer 2003 © , Richard A. Stanley EE579T Network Security 7: An Overview of SNMP and Intrusion Detection Prof. Richard A. Stanley
EE579T/GD_6 #2 Summer 2003 © , Richard A. Stanley Overview of Today’s Class Administrivia Review last week’s lesson Security in the news SNMP Intrusion Detection
EE579T/GD_6 #3 Summer 2003 © , Richard A. Stanley Updates Monday, August 18: no class Monday, August 25: class as usual (final lecture) Wednesday, September 3: class at usual time with project presentations Final for this course is take-home Shall we start the next class on Sept. 8th?
EE579T/GD_6 #4 Summer 2003 © , Richard A. Stanley Last time... Firewalls are useful tools to mediate access from internal networks to external networks Firewalls are not a single-point security solution Firewalls cannot protect against a malicious user on the internal network Trusted computing systems are needed to enforce security policy
EE579T/GD_6 #5 Summer 2003 © , Richard A. Stanley Crypto Security--Again Bugtraq reports 1024-bit RSA encryption should be “considered compromised” Estimates factoring can be done for <$1B What uses a key stronger than 1024 bits? So, are SSL, S/MIME, all toast? What about risk management? –Is what you have worth $1B to someone? –If so, do they have the $1B to spend on it?
EE579T/GD_6 #6 Summer 2003 © , Richard A. Stanley SNMP Outline Basic Concepts of SNMP SNMPv1 Community Facility SNMPv2 SNMPv3
EE579T/GD_6 #7 Summer 2003 © , Richard A. Stanley Why SNMP? To provide a simple means of managing objects across a network –These objects need not be network elements –The objects need not support SNMP (although it makes things easier if they do!) –“Management” can be tailored to mean what we need it to mean First introduced in 1988
EE579T/GD_6 #8 Summer 2003 © , Richard A. Stanley Basic Concepts of SNMP An integrated collection of tools for network monitoring and control. –Single operator interface –Minimal amount of separate equipment. Software and network communications capability built into the existing equipment SNMP key elements: –Management station (physical device) –Management agent (software implementation) –Management information base (collection of objects) –Network Management protocol Get, Set and Trap
EE579T/GD_6 #9 Summer 2003 © , Richard A. Stanley SNMP MIB Management Information Base = MIB –Database held at the managed client –Scalar variables –2D tables Uses streamlined protocol to: –Allow manager to Get and Set MIB variables –Enable agent to issue unsolicited notifications These are called traps
EE579T/GD_6 #10 Summer 2003 © , Richard A. Stanley SNMP Characteristics Runs over UDP/IP or TCP/IP, depending on version Uses –Port 161 (for messages) –Port 162 (for traps)
EE579T/GD_6 #11 Summer 2003 © , Richard A. Stanley SNMP Protocol
EE579T/GD_6 #12 Summer 2003 © , Richard A. Stanley SNMP Commands Get –Query a MIB for information Set –Set values in a MIB Trap –Send condition information –Asynchronous
EE579T/GD_6 #13 Summer 2003 © , Richard A. Stanley SNMP Proxies SNMPv1 supports UDP over IP –Period! There are lots of clients out there that need to be managed that don’t speak UDP Proxies bridge the gap –Provide translation of client management language to SNMP –Interfaces to SNMP for the client
EE579T/GD_6 #14 Summer 2003 © , Richard A. Stanley Proxy Configuration
EE579T/GD_6 #15 Summer 2003 © , Richard A. Stanley SNMPv2 Allows use of TCP/IP, and others Provides additional management features –Distributed network management Single-server hierarchical networks get overloaded –Functional enhancements GetBulk – retrieve block of data at once Inform – intra-management station communications of events and/or conditions Removes atomicity from the Get command
EE579T/GD_6 #16 Summer 2003 © , Richard A. Stanley SNMP v1 and v2 SNMPv2 intended deal with deficiencies of SNMPv1 –Introduced first in 1993 SNMPv1 is “connectionless” –Just like HTTP –Why? Utilizes UDP as the transport layer protocol. SNMPv2 allows use of TCP for “reliable, connection-oriented” service
EE579T/GD_6 #17 Summer 2003 © , Richard A. Stanley SNMPv2 Distributed Management
EE579T/GD_6 #18 Summer 2003 © , Richard A. Stanley SNMPv1 vs. SNMPv2 SNMPv1SNMPv2 Direction Description GetRequest Manager to agentRequest value for each listed object GetRequest Manager to agentRequest next value for each listed object GetBulkRequestManager to agentRequest multiple values SetRequest Manager to agentSet value for each listed object InformRequestManager to managerTransmit unsolicited information GetResponseResponseAgent to manager or Manage to manager(SNMPv2) Respond to manager request TrapSNMPv2-TrapAgent to managerTransmit unsolicited information
EE579T/GD_6 #19 Summer 2003 © , Richard A. Stanley SNMPv1 Community Facility SNMP Community – Relationship between an SNMP agent and SNMP managers –Think of a network domain as an analog Three aspects of agent control: –Authentication service –Access policy –Proxy service
EE579T/GD_6 #20 Summer 2003 © , Richard A. Stanley SNMPv1 Administrative Concepts
EE579T/GD_6 #21 Summer 2003 © , Richard A. Stanley Access Policy SNMP MIB View –Subset of objects within the MIB –May be on different MIB sub-trees SNMP Access Mode –Element of the set of MIB objects –Defined for each community These two together are the SNMP Community Profile
EE579T/GD_6 #22 Summer 2003 © , Richard A. Stanley What About Proxied Clients? Supported within community concept Proxy is an SNMP agent that acts on behalf of other (foreign) devices –For each device supported, SNMP proxy maintains an access policy –Therefore, proxy knows which MIB objects can be used to manage the proxied system, and their access mode
EE579T/GD_6 #23 Summer 2003 © , Richard A. Stanley Where is the Security? SNMPv1 has no inherent security –Messages can be spoofed, altered, or deleted –Does this have a potential for evil? SNMPv2 doesn’t have any, either –It actually makes things worse by introducing the distributed management concept What to do?
EE579T/GD_6 #24 Summer 2003 © , Richard A. Stanley Enter SNMPv3 Framework for incorporating security into SNMPv1 or SNMPv2 –Introduced 1998 Not a standalone replacement for either v1 or v2 !! –Adds security –Requires underlying SNMP system Not yet completely standardized
EE579T/GD_6 #25 Summer 2003 © , Richard A. Stanley SNMPv3 Architecture
EE579T/GD_6 #26 Summer 2003 © , Richard A. Stanley Traditional SNMP Manager
EE579T/GD_6 #27 Summer 2003 © , Richard A. Stanley Traditional SNMP Agent
EE579T/GD_6 #28 Summer 2003 © , Richard A. Stanley SNMPv3 Message Flow
EE579T/GD_6 #29 Summer 2003 © , Richard A. Stanley SNMP3 Message Format with USM
EE579T/GD_6 #30 Summer 2003 © , Richard A. Stanley User Security Model (USM) Designed to secure against: –Modification of information (integrity) –Masquerade (authentication) –Message stream modification (stream integrity) –Disclosure (confidentiality) Not intended to secure against: –Denial of Service (DoS attack) –Traffic analysis
EE579T/GD_6 #31 Summer 2003 © , Richard A. Stanley In Theory… DoS attacks may look like network failure (imagine that!) DoS should be dealt with by an overall network security capability, not one embedded in a protocol Traffic analysis no problem, as management traffic highly predictable anyway What do you think?
EE579T/GD_6 #32 Summer 2003 © , Richard A. Stanley USM Encryption Authentication (using authKey) –HMAC-MD5-96 –HMAC-SHA1-96 Encryption (using privKey) –DES CBC –Uses first 64 bits of the 16-octet privKey –Last 64 bits used as IV to DES CBC Key values not accessible from SNMP
EE579T/GD_6 #33 Summer 2003 © , Richard A. Stanley Authoritative Engine SNMP messages with payloads that expect a response (Get…, Set, Inform) –Receiver of message is authoritative SNMP messages with payload that does not expect response (Trap, Response, Report) –Sender is authoritative So what?
EE579T/GD_6 #34 Summer 2003 © , Richard A. Stanley Key Localization Allows single user to own keys stored in multiple engines –Key localized to each authoritative engine using hash functions –Avoids problem of a single key being stored in many places Greatly slows brute force attack
EE579T/GD_6 #35 Summer 2003 © , Richard A. Stanley Key Localization Process
EE579T/GD_6 #36 Summer 2003 © , Richard A. Stanley Timeliness Determined by a clock kept at the authoritative engine –When authoritative engine sends a message, it includes the current clock value Nonauthoritative agent synchronizes on clock value –When nonauthoritative engine sends a message, it includes the estimated destination clock value These procedures allow assessing message timeliness Why do we care?
EE579T/GD_6 #37 Summer 2003 © , Richard A. Stanley View-Based Access Control Model (VACM) VACM has two characteristics: –Determines whether access to a managed object should be allowed. –Make use of an MIB that: Defines the access control policy for this agent. Makes it possible for remote configuration to be used.
EE579T/GD_6 #38 Summer 2003 © , Richard A. Stanley Access Control Logic in VACM
EE579T/GD_6 #39 Summer 2003 © , Richard A. Stanley SNMPv3 Security SNMPv3 solves SNMP security problems, right? –NOT! Decent security implementation, but reality is: –SNMPv1 still holds ~95% of the market –Even SNMPv2 not widely deployed –Upgrading to SNMPv3 is difficult and costly (sort of like moving from Win95 to WinXP all at once) –There is the issue of proxies and foreign clients SNMPv3 is the clear long-term choice
EE579T/GD_6 #40 Summer 2003 © , Richard A. Stanley Recent SNMP Security Events CERT Advisory 12 Feb 02, Revised 26 Mar 02, warns about potential for –unauthorized privileged access (which allows, inter alia, enumeration of SNMP agents) –denial of service attacks –unstable behavior Vulnerabilities in both messages and traps Vulnerabilities are in SNMPv1!
EE579T/GD_6 #41 Summer 2003 © , Richard A. Stanley This is Not New News! After this class, are you surprised? These vulnerabilities have been in SNMP since Day One Only now, with an increased emphasis on security, are they getting the attention they deserve Officially, the vulnerabilities have not been exploited. Unofficially, they have.
EE579T/GD_6 #42 Summer 2003 © , Richard A. Stanley Intrusion Detection Systems Oddly enough, these are systems designed to detect intrusions into protected systems Security intrusion (per RFC 2828): –A security event, or a combination of multiple security events, that constitutes a security incident in which an intruder gains, or attempts to gain, access to a system (or system resource) without having authorization to do so.
EE579T/GD_6 #43 Summer 2003 © , Richard A. Stanley What’s a Security Incident? A security event that involves a security violation. (See: CERT, GRIP, security event, security intrusion, security violation.) In other words, a security-relevant system event in which the system's security policy is disobeyed or otherwise breached. "Any adverse event which compromises some aspect of computer or network security." [R2350] Source: RFC 2828, page 152; emphasis added
EE579T/GD_6 #44 Summer 2003 © , Richard A. Stanley Why Do We Need This? With the exception of authentication systems, most of the defenses we have studied up to now are directed towards intruders coming from outside the firewall These systems are not perfect--some intruders will get through Moreover, defenses such as firewalls cannot protect against intruders on the inside
EE579T/GD_6 #45 Summer 2003 © , Richard A. Stanley Intrusion Detection Functions Monitor protected networks and computers in real time (or as close to real time as is practicable) Detect security incidents –Requires a policy, and a way for the IDS to know what that policy is Respond –Raise an alarm –Send some automated response to the attacker
EE579T/GD_6 #46 Summer 2003 © , Richard A. Stanley IDS vs. Auditing Audits tend to be a posteriori –But an IDS can be seen as performing a constant, near real time audit function To perform an audit, you need to know what the policy is –Audit measures departures from the policy norms –Audits depend on system logs
EE579T/GD_6 #47 Summer 2003 © , Richard A. Stanley Early IDS’s Emulated the audit function –Crawled the logs, looking for deviations from policy-permitted actions –Intent was to speed up the audit, making it nearly real time –Still a useful approach IDS technology has been around only since the early 1990’s; not too mature
EE579T/GD_6 #48 Summer 2003 © , Richard A. Stanley IDS Uses Monitor system usage –Determine access, usage patterns –Plan for capacity engineering Monitor specific problem areas Serve as a deterrent –Sort of like the “burglar alarm” label on a house, even if there is really no alarm
EE579T/GD_6 #49 Summer 2003 © , Richard A. Stanley Log Files Are evidence if an intrusion occurs –Must be stored in their original, unmodified form, otherwise inadmissible in court –Provide data from which trends can be deduced –Can be subjected to forensic analysis –Probably needed to assess level of system compromise/damage and to restore to state prior to intrusion
EE579T/GD_6 #50 Summer 2003 © , Richard A. Stanley Legal Issues - 1 Privacy of your employees –Courts have held that employees have little expectation of privacy in the workplace, especially if told so at the outset can be monitored at work by employer phone calls can be monitored at work by employer doing either of these things outside the workplace violates the wiretap statutes (18 USC § 2516, etc.)
EE579T/GD_6 #51 Summer 2003 © , Richard A. Stanley Legal Issues - 2 What if the IDS discovers illegal acts being performed on/by your network? –Employees using the network for illegal activities –Outsiders having planted zombie programs so that your system attacks others –What is your responsibility and liability?
EE579T/GD_6 #52 Summer 2003 © , Richard A. Stanley Legal Issues - 3 This may be a Catch-22 issue –If an attacker is using your system, law enforcement may want you to continue to allow that to happen so they can apprehend the attacker If you interrupt the attack, could be interpreted as obstruction of justice –But, if you allow the attack to continue, you may be liable for damages to those attacked Get legal advice--beforehand!
EE579T/GD_6 #53 Summer 2003 © , Richard A. Stanley What About Automated Response? Tempting capability If attacking your system is illegal, what makes your attack on the attacker less illegal? What if you are, or are acting on behalf of, a governmental entity and the attacker is also a governmental entity? –Casus belli
EE579T/GD_6 #54 Summer 2003 © , Richard A. Stanley IDS Architecture Sensor Management Console
EE579T/GD_6 #55 Summer 2003 © , Richard A. Stanley Console Monitors and controls sensors –Sets policy, alarm levels, etc. –Stores logs Must have secure communications with sensors –Encrypted connection –Out of band (OOB)
EE579T/GD_6 #56 Summer 2003 © , Richard A. Stanley IDS Types Network-based (NIDS) –Monitors the network backbone Network node-based (NNIDS) –Monitors network nodes, not the backbone Host-based (HIDS) –This is the “log crawler” that started it all Gateway (GIDS) –NIDS in series with the network
EE579T/GD_6 #57 Summer 2003 © , Richard A. Stanley What Can It See? Network packets OS API calls System logs How do we merge this data to detect intrusions?
EE579T/GD_6 #58 Summer 2003 © , Richard A. Stanley Host-Based Sits on a host as a background task Monitors (potentially) –traffic to and from the host –OS API calls –system logs Adds to processing load on the host, so host must be able to support the extra load
EE579T/GD_6 #59 Summer 2003 © , Richard A. Stanley Network-based NIDS sensors placed on network backbone –Can view only packet traffic passing by, much like a classic passive sniffer –Does not place processing load on network, but the NIDS platform must be capable of dealing with network traffic speeds Software can usually handle 100 Mbps Hardware only 2-3 times faster If network is faster, looks only at subset of packets
EE579T/GD_6 #60 Summer 2003 © , Richard A. Stanley Network Node-based Used to inspect intrusions directly into network nodes –Effectively a blending of HIDS and NIDS –Used to protect mission-critical machines –Again, a background process on existing nodes, so node must be able to handle added processing load
EE579T/GD_6 #61 Summer 2003 © , Richard A. Stanley Gateway In series with network –Often set to block prohibited traffic automatically –Think of it as an in-network firewall with an extended rule set –Must be able to keep up with network load
EE579T/GD_6 #62 Summer 2003 © , Richard A. Stanley Deployment Putting in an IDS is a complex and time- consuming affair –Typically, start simple and add functionality as you learn more about the network –NIDS tends to see more and load network least –Follow up with HIDS on selected hosts, perhaps NNIDS on critical nodes Policy has to be in place first
EE579T/GD_6 #63 Summer 2003 © , Richard A. Stanley Attack Signatures Critical to success of any IDS Must be maintained, just like virus signatures –You want some visibility into this –Do you want strangers deciding what is an attack on your critical systems? Some IDS’s let you write/modify signatures, others do not CVE:
EE579T/GD_6 #64 Summer 2003 © , Richard A. Stanley IDS Deployment First, design the IDS sensor and management layout Next, deploy the IDS –Test the network for normal operation –Test the IDS Run packaged attacks to see if all are detected Document performance and repeat test regularly –Tune the IDS
EE579T/GD_6 #65 Summer 2003 © , Richard A. Stanley Sampling of IDS Products RealSecure: rise_protection/rsnetwork/sensor.php rise_protection/rsnetwork/sensor.php NFR: Snort: SnortSnarf: ortsnarf/ ortsnarf/
EE579T/GD_6 #66 Summer 2003 © , Richard A. Stanley SNMP Summary SNMP is widely-used for managing clients distributed across a network SNMPv1 is simple, effective, and provides the majority of SNMP service in the field SNMPv2 adds some functionality to v1 SNMPv3 is a security overlay for either version, not a standalone replacement SNMP security is a major issue!
EE579T/GD_6 #67 Summer 2003 © , Richard A. Stanley IDS Summary IDS’s can be useful in monitoring networks for intrusions and policy violations Up-to-date attack signatures and policy implementations essential Many types of IDS available, at least one as freeware Serious potential legal implications Automated responses to be avoided
EE579T/GD_6 #68 Summer 2003 © , Richard A. Stanley Homework Read Stallings, Chapter 8 Do Problems 8.2, 8.4, 8.8, 9.3, 9.7, 9.8, 9.9