CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Covert Channels.

Slides:



Advertisements
Similar presentations
Network and Application Attacks Contributed by- Chandra Prakash Suryawanshi CISSP, CEH, SANS-GSEC, CISA, ISO 27001LI, BS 25999LA, ERM (ISB) June 2006.
Advertisements

 Dynamic policies o Change as system security state/load changes o GAA architecture  Extended access control lists  Pre-, mid- and post-conditions,
1 Reading Log Files. 2 Segment Format
Hands-On Ethical Hacking and Network Defense Second Edition Chapter 5 Port Scanning.
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Scanning.
1 Topic 1 – Lesson 3 Network Attacks Summary. 2 Questions ► Compare passive attacks and active attacks ► How do packet sniffers work? How to mitigate?
System Security Scanning and Discovery Chapter 14.
Computer Security Fundamentals by Chuck Easttom Chapter 4 Denial of Service Attacks.
Hacking Presented By :KUMAR ANAND SINGH ,ETC/2008.
Network & Computer Attacks (Part 2) February 11, 2010 MIS 4600 – MBA © Abdou Illia.
© 2006 Cisco Systems, Inc. All rights reserved. Implementing Secure Converged Wide Area Networks (ISCW) Module 6: Cisco IOS Threat Defense Features.
Information Networking Security and Assurance Lab National Chung Cheng University 1 A Real World Attack: wu-ftp.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. 6 Packet Filtering By Whitman, Mattord, & Austin© 2008 Course Technology.
Computer Security and Penetration Testing
Chapter 2 Networking Overview. Figure 2.1 Generic protocol layers move data between systems.
Internet Relay Chat Chandrea Dungy Derek Garrett #29.
Port Scanning.
Process-to-Process Delivery:
CS252: Systems Programming Ninghui Li Final Exam Review.
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Software Security.
Forensic and Investigative Accounting
Attacks on Computer Systems
Web Server Administration Chapter 10 Securing the Web Environment.
1 Reconnaissance, Network Mapping, and Vulnerability Assessment ECE4112 – Internetwork Security Georgia Institute of Technology.
Remote Access Chapter 4. Learning Objectives Understand implications of IEEE 802.1x and how it is used Understand VPN technology and its uses for securing.
FEATURES & FUNCTIONALITY. Page 2 Agenda Main topics Packet Filter Firewall Application Control Other features.
EECS 354 Network Security Metasploit Features. Hacking on the Internet Vulnerabilities are always being discovered 0day vulnerabilities Every server or.
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Scanning.
May 2, 2007St. Cloud State University Software Security.
Software Security Testing Vinay Srinivasan cell:
1 Internet Browsing Vulnerabilities and Security ECE4112 Final Lab Ye Yan Frank Park Scott Kim Neil Joshi.
CSC 382: Computer SecuritySlide #1 CSC 382: Computer Security Threat Modeling.
1 CHAPTER 3 CLASSES OF ATTACK. 2 Denial of Service (DoS) Takes place when availability to resource is intentionally blocked or degraded Takes place when.
CSC 382: Computer SecuritySlide #1 Firewalls. CSC 382: Computer SecuritySlide #2 Single Host Firewall Simplest type of firewall—one host acts as a gateway.
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
1 Reconnaissance, Network Mapping, and Vulnerability Assessment ECE4112 – Internetwork Security Georgia Institute of Technology.
Linux Networking and Security
Lecture 20 Hacking. Over the Internet Over LAN Locally Offline Theft Deception Modes of Hacker Attack.
Fundamentals of Proxying. Proxy Server Fundamentals  Proxy simply means acting on someone other’s behalf  A Proxy acts on behalf of the client or user.
CHAPTER 3 Classes of Attack. INTRODUCTION Network attacks come from both inside and outside firewall. Kinds of attacks: 1. Denial-of-service 2. Information.
Week 10-11c Attacks and Malware III. Remote Control Facility distinguishes a bot from a worm distinguishes a bot from a worm worm propagates itself and.
Distributed Denial of Service Attacks Shankar Saxena Veer Vivek Kaushik.
Scanning & Enumeration Lab 3 Once attacker knows who to attack, and knows some of what is there (e.g. DNS servers, mail servers, etc.) the next step is.
1 Figure 4-1: Targeted System Penetration (Break-In Attacks) Host Scanning  Ping often is blocked by firewalls  Send TCP SYN/ACK to generate RST segments.
CIS 450 – Network Security Chapter 14 – Specific Exploits for UNIX.
CHAPTER 9 Sniffing.
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Network Monitoring.
Denial of Service Sharmistha Roy Adversarial challenges in Web Based Services.
1 Network Firewalls CSCI Web Security Spring 2003 Presented By Yasir Zahur.
EC week Review. Rules of Engagement Teams selected by instructor Host will read the entire questions. Only after, a team may “buzz” by raise of.
Advanced Packet Analysis and Troubleshooting Using Wireshark 23AF
Computer Science and Engineering Computer System Security CSE 5339/7339 Session 25 November 16, 2004.
Rootkits, Backdoors, and Trojans ECE 4112 – Lab 5 Summary – Spring 2006 Group 9 Greg Sheridan Terry Harvey Group 10 Matthew Bowman Laura Silaghi Michael.
Slide #1 CIT 380: Securing Computer Systems TCP/IP.
DoS/DDoS attack and defense
Hands-On Ethical Hacking and Network Defense
CSC 593: Secure Software Engineering Seminar
Firewalls A brief introduction to firewalls. What does a Firewall do? Firewalls are essential tools in managing and controlling network traffic Firewalls.
Role Of Network IDS in Network Perimeter Defense.
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Covert Channels.
Mike Switlick. Overview What is a covert channel? Storage / Timing Requirements Bunratty attack Covert_tcp Questions.
@Yuan Xue Worm Attack Yuan Xue Fall 2012.
Microsoft OS Vulnerabilities April 1, 2010 MIS 4600 – MBA © Abdou Illia.
Port Scanning James Tate II
CIT 380: Securing Computer Systems
Domain 4 – Communication and Network Security
CIT 480: Securing Computer Systems
Process-to-Process Delivery:
Process-to-Process Delivery: UDP, TCP
Presentation transcript:

CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Covert Channels

CIT 380: Securing Computer SystemsSlide #2 Covert Channels 1.Covert Channels 2.Using Other Protocols 3.Hiding within a Protocol 4.Local Covert Channels 5.Defending against Covert Channels

CIT 380: Securing Computer SystemsSlide #3 Covert Channels Covert channel: a path of communication that was not designed for such communication. IDS look for abnormal traffic –Use traffic that already exists: ping, DNS, HTTP. –Avoid creating abnormal traffic patterns. Use encryption –Avoids keyword detection by IDS. –Prevents incident response from viewing data.

CIT 380: Securing Computer SystemsSlide #4 Using Other Protocols Use non-TCP/UDP protocols –Don’t show up on port scan. –Don’t show up on netstat on machine. Use standard protocols for other purposes –DNS –HTTP Reverse the direction of traffic –Internal machine initiates covert channel.

CIT 380: Securing Computer SystemsSlide #5 Loki Tunnel shell using ICMP echo packets. –Uses ICMP data for commands/responses. –Uses Blowfish encryption algorithm. Loki2 can also tunnel via DNS lookups. –Can swap between ICMP and DNS tunneling. Other ICMP shells, often use echo reply only –icmp_backdoor –sneaky-sneaky –lyceum

CIT 380: Securing Computer SystemsSlide #6 TunnelShell Multi-protocol backdoor with evasion. ICMP: standard ICMP shell. TCP: uses only ACK packets to communicate, bypassing packet filters, and showing no port used on local machine. UDP: UDP shell without binding port. IP: IP without using a higher level protocol. Fragment: uses fragmented IP packets.

CIT 380: Securing Computer SystemsSlide #7 WWW Shells Simple shells –Web program that acts as a shell. –ex: CGI Telnet, PHP Shell Reverse WWW Shell –Web client that checks server for commands. –Use predefined or random time intervals. –Looks like a browser surfing the web. HTTP request (shell prompt) GET /cgi- bin/order?M5mAejTgZdgYOdgIO0BqFfVYTgjFLdgxEdb1He7krj HTTP/1.0 HTTP response (ls command) g5mAlfbknz

CIT 380: Securing Computer SystemsSlide #8 HTTP Tunnels Tunnel any protocol over HTTP –Bypass firewalls. –Most software supports proxies. –Can use SSL for encryption. –Malware embeds self in IE as a BHO, then uses HTTP to phone home with IE’s permissions. GoToMyPC –Commercial HTTP tunnel. –Remote desktop access protocol like VNC.

CIT 380: Securing Computer SystemsSlide #9 TCP/IP Headers Requirements –Headers must not be used by end systems. –Headers must not be modified by routers. IP Headers –IP Identification –IP options (may be modified by routers) TCP Headers –Sequence numbers –Bits reserved for future use. –TCP options (may be modified by routers)

CIT 380: Securing Computer SystemsSlide #10 Covert_TCP IP covert channel –Insert one byte into IPID field of each packet. TCP sequence number channel –Inserts one byte into sequence numbers. –Sends SYN with encoded ISN. –Server responds with RST to acknowledge. –Each byte transferred requires two packets.

CIT 380: Securing Computer SystemsSlide #11 Covert_TCP TCP ACK number bounce channel –Inserts one byte into the ACK number. –Uses 3 hosts: client, server, bounce server Operation 1.Client: SYN w/ encoded ISN, spoofing IP of server. 2.Bounce server: SYN/ACK or RST w/ encoded ISN+1 to spoofed source IP (server) 3.Server: receives bounced packet, recovers byte from ISN.

CIT 380: Securing Computer SystemsSlide #12 Nushu Passive covert channel. –Inserts data into TCP packets from other apps. –Alters sequence numbers to contain data. –Runs as a Linux kernel module. Receiver sniffs data off network. –Receiver IP address not in any packets. –Receiver must be at gateway where it can sniff all of the packets sent by Nushu.

CIT 380: Securing Computer SystemsSlide #13 Steganography A covert channel via data files. Share data files openly –Use file sharing sites like Flickr. –Use sites with photographs like Ebay. –Hack another site and replace data files. Both sides must know –Steganographic technique. –Locations used to dump files.

CIT 380: Securing Computer SystemsSlide #14 Local Covert Channels Binary coding –At each time interval one bit is transferred. –If condition true, then bit is 1, otherwise 0. CPU Usage –Use 100% CPU to signal a 1. Disk Usage –Create enormous file to signal a 1. File Locking –Writer locks file to transfer a 1. –If reader cannot lock file, it must be locked, so it’s a 1.

CIT 380: Securing Computer SystemsSlide #15 Covering your Covering Tracks Covert backdoors hide data from network. But process listings will show backdoors. How can you hide the backdoors? –Alter process / command names. –Use rootkit to hide processes. –Embed backdoor in kernel mode rootkit.

CIT 380: Securing Computer SystemsSlide #16 Detecting Covert Channels Pattern matching –Use snort or similar tool to match patterns in cleartext channels. Counting connections –If backdoor creates a TCP connection for each command, an abormal # of TCP flows exists. Timing analysis –Analyze packet timing and data size to identify interactive sessions on unexpected ports/protos. Entropy analysis –ICMP packets with entropy values of natural language may be covert channel, while entropy values of random data may indicate an encrypted covert channel.

CIT 380: Securing Computer SystemsSlide #17 Stopping Covert Channels Host-based security. –Stop attackers from gaining access to install. Use stateful firewall –Blocks ACK tunneling. Use firewall to limit outgoing data –Stop ICMP echo replies. –Should your db server be browing the web?

CIT 380: Securing Computer SystemsSlide #18 References 1.Matt Bishop, Introduction to Computer Security, Addison-Wesley, Scott Campbell, “Detecting Illicit ICMP Communication Channels,” 3.daemon9, “Project Loki,” Phrack, Vol 7, Issue 49, daemon9, “Loki 2: The Implementation,” Vol 7, Issue 51, Craig H. Rowland, “Covert Channels in the TCP/IP Protocols Suite,” Garfinkel, Simson, Spafford, Gene, and Schartz, Alan, Practical UNIX and Internet Security, 3 rd edition, O’Reilly & Associates, Ed Skoudis, Counter Hack Reloaded, Prentice Hall, J. Christian Smith, “Covert Shells,” van Hauser, “Placing Backdoors through Firewalls” (reverse www shell),

CIT 380: Securing Computer SystemsSlide #19 CIT 380: Securing Computer Systems Software Security

CIT 380: Securing Computer SystemsSlide #20 Topics 1.Why Software? 2.Vulnerability Databases 3.Buffer Overflows 4.Integer Overflows 5.Attack Techniques 6.Metasploit

CIT 380: Securing Computer SystemsSlide #21 The Problem is Software “Malicious hackers don’t create security holes; they simply exploit them. Security holes and vulnerabilities – the real root cause of the problem – are the result of bad software design and implementation.” John Viega & Gary McGraw

CIT 380: Securing Computer SystemsSlide #22 Why is Software Security poor? 1.Security is seen as something that gets in the way of software functionality. 2.Security is difficult to assess and quantify. 3.Security is often not a primary skill or interest of software developers. 4.Time spent on security is time not spent on adding new and interesting functionality.

CIT 380: Securing Computer SystemsSlide #23 The Trinity of Trouble Complexity –Continually increasing. –Windows 3.1 (3mloc) to Windows XP (40mloc) Extensibility –Plugins. –Mobile code. Connectivity –Network access. –Wireless networking.

CIT 380: Securing Computer SystemsSlide #24 Software Complexity 5-50 bugs per/kloc 8 –5/kloc: rigorous quality assurance testing (QA) –50/kloc: typical feature testing SystemLines of Code MS Word 952 million MS Windows 3.13 million Boeing 7777 million Space Shuttle10 million Netscape17 million MS Windows XP40 million

CIT 380: Securing Computer SystemsSlide #25 Vulnerabilities Vulnerability: A defect in software that allows security policy to be violated. –Confidentiality –Integrity –Availability Ex: Allowing users to create self-replicating objects on a game server. Exploit: A program that exercises a vulnerability.

CIT 380: Securing Computer SystemsSlide #26 Vulnerability Databases Collect vulnerability reports. –Vendors maintain databases with patches for their own software. –Security firms maintain databases of vulnerabilities that they’ve discovered. Well known vulnerability databases –CERT –CVE –NVD –OSVDB

CIT 380: Securing Computer SystemsSlide #27 Why Vulnerability Databases? Know about vulnerabilities to software that you have deployed so you can mitigate them. Learn about vulnerability trends. If a JPG library bug is discovered, does the same type of bug exist in GIF or PNG libraries? Learn about security problems to prevent when you’re programming.

CIT 380: Securing Computer SystemsSlide #28 CVE: Common Vulnerabilities and Exposures Problem: Different researchers and vendors call vulnerabilities by different names. Solution: CVE, a dictionary that provides –A common public name for each vulnerability. –A common standardized description. –Allows different tools / databases to interoperate.

CIT 380: Securing Computer SystemsSlide #29 CVE Name: CVE Status: Entry Description: Internet Explorer 5.01 through 6.0 does not properly check certain parameters of a PNG file when opening it, which allows remote attackers to cause a denial of service (crash) by triggering a heap-based buffer overflow using invalid length codes during decompression, aka "Malformed PNG Image File Failure." References VULNWATCH: PNG Deflate Heap Corruption Vulnerability BUGTRAQ: PNG Deflate Heap Corruption Vulnerability EEYE:AD MS:MS XF:ie-png-bo(10662) BID:6216 OVAL:oval:org.mitre.oval:def:393

CIT 380: Securing Computer SystemsSlide #30 NVD: National Vulnerability DB Collects all publicly available government vulnerability resources. HTML and XML output at Uses CVE naming scheme. Links to industry and govt reports. Provides CVSS severity numbers. Links to OVAL repository.

CIT 380: Securing Computer SystemsSlide #31 Buffer Overflows A program accepts too much input and stores it in a fixed length buffer that’s too small. char A[8]; short B; AAAAAAAABB AAAAAAAABB overflows0 gets(A);

CIT 380: Securing Computer SystemsSlide #32 The Stack Stack is LIFO. Every function call allocates a stack frame. Return address is address where function was called from and will return to. Buffer 1 (Local Variable 1) Buffer 2 (Local Variable 2) Return Address Function Arguments Writes go up

CIT 380: Securing Computer SystemsSlide #33 Smashing the Stack Program accepts input into local variable 1. Attacker sends too much data for buffer, overwriting the return address. Attacker data contains machine code for shell. Return address overwritten with address of machine code. When function returns, attacker’s code is executed. Machine code exec(/bin/bash) Buffer 2 (Local Variable 2) Pointer to machine code. Function Arguments Writes go up

CIT 380: Securing Computer SystemsSlide #34 NOP Slide Attacker includes NOPs in front of executable code in case address isn’t precise. If pointer points at NOPs, execution will continue to machine code. IDS attempt to detect buffer overflows by looking for long strings of NOPs (x90). NOP Machine code exec(/bin/bash) Buffer 2 (Local Variable 2) Pointer to machine code. Function Arguments Writes go up

CIT 380: Securing Computer SystemsSlide #35 Arc Injection (return-into-libc) Arc injection transfers control to code that already exists in memory. Adds a new arc into program’s CFG. Change return address to existing function. libc has functions to start a shell. Allows exploit even if stack non-executable. Sophisticated arc injection attacks create multiple stack frames to run multiple functions that are in memory.

CIT 380: Securing Computer SystemsSlide #36 Integer Overflow An integer overflow is when integer operations produce a value that exceeds the computer’s maximum integer value, causing the value to “wrap around” to a negative value or zero.

CIT 380: Securing Computer SystemsSlide #37 32-bit Integer Quiz 1.What two non-zero integers x and y satisfy the equation x * y = 0? 2.What negative integer (-x) has no corresponding positive integer (x)? 3.List two integers x and y, such that x + y < 0.

CIT 380: Securing Computer SystemsSlide #38 Quiz Answers * = 0 or 256 * = 0 or any x * y = =

CIT 380: Securing Computer SystemsSlide #39 Are Integer Overflows Important? Broward County November 2004 election –Amendment 4 vote was reported as tied. –Software from ES&S Systems reported a large negative number of votes. –Discovery revealed that Amendment 4 had passed by a margin of over 60,000 votes.

CIT 380: Securing Computer SystemsSlide #40 Fuzz Testing Black-box input based testing technique. –Uses random data. –Easily automated. –If application crashes or hangs, it fails. Results of 1995 study 9. –15-43% of utilities from commerical UNIX systems failed. –9% of Linux utilities failed. –6% of GNU utilities failed. –50% of X-Windows utilities failed.

CIT 380: Securing Computer SystemsSlide #41 Attack Trees Decompose threats into individual, testable conditions using attack trees. Attack Trees –Hierarchical decomposition of a threat. –Root of tree is adversary’s goal in the attack. –Each level below root decomposes the attack into finer approaches. –Child nodes are ORed together by default. –Special notes may indicate to AND them.

CIT 380: Securing Computer SystemsSlide #42 Attack Trees—Graph Notation Goal: Read file from password-protected PC. Read File Get Password Search Desk Social Engineer Network Access Physical Access Boot with CD Remove hard disk

CIT 380: Securing Computer SystemsSlide #43 Attack Trees—Text Notation Goal: Read message sent from one PC to another. 1. Convince sender to reveal message. 1.1 Blackmail. 1.2 Bribe. 2. Read message when entered on sender’s PC. 1.1 Visually monitor PC screen. 1.2 Monitor EM radiation from screen. 3. Read message when stored on receiver’s PC. 1.1 Get physical access to hard drive. 1.2 Infect user with spyware. 4. Read message in transit. 1.1 Sniff network. 1.2 Usurp control of mail server.

CIT 380: Securing Computer SystemsSlide #44 Metasploit Modular exploit system –Exploit collection: over 100 exploits. –Payloads: machine code to run –Command line and web interfaces. Payloads –Bind shell: opens shell backdoor on port. –Reverse shell: send shell back to attacker. –Windows VNC: remote desktop access. –Create user: add new administrative user.

CIT 380: Securing Computer SystemsSlide #45 Using Metasploit 1.Select an exploit use exploit_name 2.Enter the target set RHOST ip_address_of_target 3.Select the payload set payload payload_name set LHOST ip_address_of_your_host 4.Run exploit

CIT 380: Securing Computer SystemsSlide #46 Advantages of Metasploit Ease of use –One interface to many exploits. Flexibility –Can choose whatever payload you need. Faster development time –Payloads already written. Reliability –Framework and payloads are well tested.

CIT 380: Securing Computer SystemsSlide #47 Uses of Metasploit Vulnerability verification –Scanners report possible vulnerabilities. –Metasploit will give you remote access. IDS/IPS testing –Test IDS/IPS with real exploit code. Penetration testing –Easy to develop custom exploits for pen testing. Convincing management –Remote access is more convincing than a report.

CIT 380: Securing Computer SystemsSlide #48 References 1.Matt Bishop, Introduction to Computer Security, Addison-Wesley, Simson Garfinkel, Gene Spafford, and Alan Schartz, Practical UNIX and Internet Security, 3 rd edition, O’Reilly & Associates, Mark Graff and Kenneth van Wyk, Secure Coding: Principles & Practices, O’Reilly, Greg Hoglund and Gary McGraw, Exploiting Software: How to Break Code, Addison-Wesley, Michael Howard, David LeBlanc, and John Viega, 19 Deadly Sins of Software Security, McGraw-Hill Osborne, Michael Howard, David LeBlanc, Writing Secure Code, 2 nd edition, Microsoft Press, Michael Howard and Steve Lipner, The Security Development Lifecycle, Microsoft Press, Gary McGraw, Software Security, Addison-Wesley, John Viega and Gary McGraw, Building Secure Software, Addison-Wesley, David Wheeler, Secure Programming for UNIX and Linux HOWTO, HOWTO/index.html, HOWTO/index.html