CSCE 465 Lecture 19

From Notes
Jump to navigation Jump to search

« previous | Tuesday, April 2, 2013 | next »


Intrusion Detection System (IDS)

  Firewall Network IDS
Monitoring Passive Active
If it fails Fail-Close Fail-Open

Network IDS Requirements:

  • High-speed, large volume monitoring
  • Real-time notification
  • Separate mechanism from policy
  • Extensible (add modules to detect new attacks)
  • Broad array of protection
  • Frugal with resources
  • Resilient to Stress and attacks against IDS itself

Eluding IDS

Insertion Attack

Each letter represents a packet:

  • End system sees "ATTACK"
  • IDS Sees "ATXTACK"
  • Attacker's data stream is "TXTCAAK"

Can be accomplished with "bad" checksum or carefully crafted TTL [1] value.

Evasion Attack

Each letter represents a packet:

  • End system sees "ATTACK"
  • IDS Sees "ATTCK"
  • Attacker stream is "TTCAAK"

This can be accomplished with fragmentation and overlapping packets

Summary

What IDS Sees may not be what the end system gets: IDS needs to perform full reassembly of packets in order to see for sure, but can bog down system.


Hash Functions

(See MATH 470 Lecture 20→)

A one-way function/transformation that produces a fixed-length unique identifier (message digest) for a longer sequence of data

E.g. MD5 = 128 Bits; SHA-1 = 160 Bits

Properties:

  • Performance: Easy to compute H(n)
  • One-Way: Given H(m), but not m it should be computationally infeasible to find m
  • Weak Collision Resistance (Weak-collision-free): Given H(m), it's computationally infeasible to find m′ such that H(m)=H(m′)
  • Strong Collision Resistance (Strong-collision-free): Computationally infeasible to find m1 and m2 such that H(m1)=H(m2)

Length of Hash Image:

  • Too long: unnecessary overhead
  • Too short: (birthday paradox) easy to find collisions

Application: Commitment Protocol

  1. Alice picks x and sends z=H(x) to Bob
  2. Bob picks his number y and sends it to Alice.
  3. Alice sends x
  4. Bob verifies z=H(x)

if Hash function is not a good one, it can be easy for either Alice or Bob to cheat.

Application: Message Encryption

  1. Alice and Bob share a secret key k, but don't want to use encryption of the message with k
  2. Alice sends encrypted random number r1 to Bob
  3. Bob sends encrypted random number r2 to Alice
  4. Concatenation r1∣r2 is used as IV into OFB, where H is encryption function to produce a one-time pad

Is reverse possible? can encryption be used to generate hash?


Footnotes

  1. ↑ Time to Live is the number of hops that the packet should be sent before it is dropped. Each router hop decreases this value by 1. For example, a packet with TTL=3 will be sent for 3 hops, and when the TTL reaches 0, the packet will be dropped.