Chapter3_2 Flashcards
We are now in the network layer ( IP, BGP, RIP); WE are looking at the vulnerabilities
TRue
IP Function
IP is used for routing :
IP host knows location of router (gateway)
IP gateway must know route to other networks
Vulnerability in IP
No source IP authentication imples it is easy to override using raw sockets
Libnet: a library for formatting raw packets with arbitrary IP headers
Attack usng IP
: Anyone who owns their machine can send
packets with arbitrary source IP (IP spoofing)
… response will be sent back to forged source IP
This can lead to anonymous DOS attacks
What happens in IP fragmentation
Routers divide an IP datagram into several smaller fragments based on Maximum Transmission Unit
Fragment uses same header format as
datagram
Each fragment is routed
independently
All the IP fragments of a datagram will be
assembled
before the datagram is delivered to the
layers above
Where IP fragments are assembled
destination.
Why IP reassembly uses a timer
IP reassembly uses a timer. If timer expires and there are still missing fragments, all the fragments will be discarded.
IP Fragmentation Vulnerabilities
IP of source is not authenticated
Nothing in the IP header is checked for authenticity
Only checking done on checksum
Vulnerability: IP Fragmentation Attack: “Ping of death”
someone discovered that many operating systems,
routers, etc. can be crashed/rebooted by sending a single
malformed packet
It turns out that sending an IP packet larger than
65,535 bytes would crash the system
It allows sending packet bigger than what IP allows, which
blows up most fixed buffer size implementations (buffer
overflow attack)
“Ping of death” Defense:
patch the implementations
IP Fragmentation Attacks Denial of Service Attack
1st fragment: offset = 0
2nd fragment: offset = 64800
Result: The target machine will allocate 64 kilobytes
of memory, which is typically held for 15 to 255
seconds. Windows 2000, XP, and almost all versions
of Unix are vulnerable.
IP Fragmentation Attacks TearDrop
Send a packet with: offset = 0 payload size N More Fragments bit on Second packet: More Fragments bit off offset + payload size < N i.e., the 2nd fragment fits entirely inside the first one. When OS tries to put these two fragments together, it crashes.