Group Projects Phase I

64
W4140 Network Laboratory Lecture 8 Oct 30 - Fall 2006 Shlomo Hershkop Columbia University

description

 

Transcript of Group Projects Phase I

Page 1: Group Projects Phase I

W4140 Network Laboratory

Lecture 8Oct 30 - Fall 2006

Shlomo HershkopColumbia University

Page 2: Group Projects Phase I

Announcements

Last lab will be due next week due to hardware issues

will be working on it

today: Group presentations please save questions for end if you have an idea, please share need to coordinate between groups/racks

Page 3: Group Projects Phase I

Here are the group presentations

Page 4: Group Projects Phase I

Virtual Private Networks

Gilbert Hom ([email protected])Mohit Vazirani ([email protected])Eric Zhang ([email protected])

Page 5: Group Projects Phase I

Purpose

Learn about how VPNs establish secure channels in a volatile and inherently insecure environment

Explore VPN options in Windows and Linux and learn about how different implementations interact

Page 6: Group Projects Phase I

Phase 1 Goals

Set up a VPN server and several VPN clients

The VPN server will run Windows 2000/2003 Server; the clients will run Windows XP

Observe traffic flow and encryption between machines with Ethereal/tcpdump

Page 7: Group Projects Phase I

Network SetupRouter2

E0/0: 10.0.2.2/24 E0/1: 10.0.3.1/24

Hub

Server/PC1E0/0: 10.0.1.11/24

This topology simulates the internet: The server and clients are on different subnets, and there may be multiple paths available to the server from the client.

Router3E0/0: 10.0.2.3/24 E0/1: 10.0.3.2/24

Router1E0/0: 10.0.1.1/24 E0/1: 10.0.2.1/24

Hub

Router4E0/0: 10.0.3.4/24E0/1: 10.0.4.1/24

PC2E0/0: 10.0.4.2/24

PC4E0/0: 10.0.4.3/24

PC3E0/0: 10.0.4.4/24

Page 8: Group Projects Phase I

Tools

Windows 2000 Server, Windows XP – Built-in support for VPN connections and firewalls through network configuration options

Linux – Openswan (Open source IPsec implementation for Linux) for VPN and iptables for firewalling

Ethereal – To monitor network traffic and verify that the communication is encrypted.

OpenSSL – To generate certificates needed for authentication.

Page 9: Group Projects Phase I

Research Papers

M. Blaze, J. Ioannidis, and A. Keromytis. “Trust Management and Network Layer Security Protocols.” In Proceedings of the 1999 Cambridge Security Protocols International Workshop, 1999. http://citeseer.ist.psu.edu/643312.html

R. Gawlick, C. Kamanek, and K.G. Ramakrishnan. “On-line routing for virtual private networks.” Unpublished manuscript, February 1994. http://citeseer.ist.psu.edu/186679.html

Page 10: Group Projects Phase I

Man-in-the-middle Attackusing ARP Poisoning

Arezu Moghadam (amm2141)Armando Ramirez (alr2106)

Mark Tabry (met2105)

Page 11: Group Projects Phase I

Project Objective

ARP protocol insecure by design Possible to impersonate

routers/clients Nature of wireless networks

compound the problem Inject our attacker between client

and router, and manipulate traffic

Page 12: Group Projects Phase I

Phase One Goals

Poison ARP caches of router and client

Set up attacker’s IP forwarding Man-in-the-middle without analysis

or data manipulation

Page 13: Group Projects Phase I

Phase Two Goals

Actively intercept and reply to HTTP requests

If time, attack other protocols

Page 14: Group Projects Phase I

Network Setup

AP Client

Attacker

I am client I a

m ro

uter

To router

Page 15: Group Projects Phase I

Network Setup

AP ClientAttacker

To router

Page 16: Group Projects Phase I

Systems and Tools

Laptop with Linux kernel (attacker) Linux IP forwarding Linux library for packet construction

libnet? Interest Lab Access Point/Client Network Sniffer

Ethereal

Page 17: Group Projects Phase I

Research Papers

S. Manwani. ARP cache poisoning prevention and detection. Technical report, Faculty of Computer Science, San Jose State University, December 2003.

Page 18: Group Projects Phase I

StealingWireless

HTTPS Auth

Casey Callendrello

Eric Garrido

{cdc2107,ekg2002}@columbia.edu

Page 19: Group Projects Phase I

The Big Idea

• Use the inherent insecurity in wireless networking to steal passwords.

• Exploit HTML vulnerabilities to silently grab passwords.

Page 20: Group Projects Phase I

What’s the problem with WiFi?

• You have no idea where your packets are going or where they’re coming from.– Anybody can name

their AP “Columbia University”

Page 21: Group Projects Phase I

Phase 1 Goal

• Using a Linux PC, impersonate an AP

• Intercept traffic and insert HTML exploits. Use these to capture passwords

• Two “exploit vectors”– DNS hijacking– Man-in-the-middle HTML

injection

Page 22: Group Projects Phase I

Exploit

• Send a bogus DNS response to a website we control.

• Man in the middle attack– Send a TCP reset to

the server– Send traffic to the

client with our exploit

Page 23: Group Projects Phase I

Javascript

• Simply sends us keypresses.

• Posts to same domain as requested site (same origin) or uses trickery*.

* - Signed code, DNS Pinning attack, etc.

Page 24: Group Projects Phase I

Setup

Page 25: Group Projects Phase I

Extending

• Ultimate goal: Make TCP Reset attacks work.– Make attack work from another client.

Page 26: Group Projects Phase I

Tools

• iptables• http://gnucitizen.org• dsniff

– dnsspoof– webmitm

Page 27: Group Projects Phase I

W 4140 Networking W 4140 Networking Laboratory Laboratory

Final Project: Wireless NetworkFinal Project: Wireless Network

Page 28: Group Projects Phase I

Team MemberTeam Member

Matt (Yu-Ming Chang) Matt (Yu-Ming Chang) • [email protected]@columbia.edu

Yitao WangYitao Wang• [email protected]@columbia.edu

Alexandre Ling LeeAlexandre Ling Lee• [email protected]@columbia.edu

Page 29: Group Projects Phase I

Problem to be solved in this project: Problem to be solved in this project: How to choose from the a access How to choose from the a access point with higher bandwidth?point with higher bandwidth?

Page 30: Group Projects Phase I

The Goal of Phase IThe Goal of Phase I

Set up experimental environment.Set up experimental environment.• Install and configure 2 wireless adapter Install and configure 2 wireless adapter

on one laptopon one laptop• Set up 2 access points Set up 2 access points • Build the network between the adapters Build the network between the adapters

and APs, analysis the traffic by looking and APs, analysis the traffic by looking into the captured packetsinto the captured packets

Page 31: Group Projects Phase I

AP 1 AP 2

Laptop

Connection 2

Connection 1

Move to AP 2Move to AP 1

Page 32: Group Projects Phase I

Analysis toolsAnalysis tools

iperf (end-to-end bandwidth measurement iperf (end-to-end bandwidth measurement tool) voip clients such as yate tool) voip clients such as yate http://http://yate.null.royate.null.ro and the tools from Hennings and the tools from Hennings web page for path measurement and web page for path measurement and characterization for VoIP.characterization for VoIP.

Also, read about how 802.11a/b/g Also, read about how 802.11a/b/g LAN/MAN Wireless standard works and LAN/MAN Wireless standard works and some papers about multipath routing and some papers about multipath routing and tun tun http://http://vtun.sourceforge.net/tunvtun.sourceforge.net/tun//

Page 33: Group Projects Phase I

ReferenceReference

http://vtun.sourceforge.net/tun/faq.hthttp://vtun.sourceforge.net/tun/faq.htmlml

http://yate.null.ro/pmwiki/index.php?http://yate.null.ro/pmwiki/index.php?n=Main.WhatsYate?n=Main.WhatsYate?

Page 34: Group Projects Phase I

MiniDoS:Denial of Service Attacks Over Small NetworksAl Hwang (ah2200)

Mike Lynch (mtl2103)

Cindy Liao (cl2229)

Page 35: Group Projects Phase I

Project Objective

Investigate the resilience of network equipment and hosts against denial of service attacks in a small network.

To do this, we will existing malicious networking tools to

Page 36: Group Projects Phase I

Phase 1 Goals

Research different types of DoS attacks: SYN Floods, ACK Floods, ICMP Flood, Smurf

Attacks Testing attacks and documenting resilience of

target hosts Analyze means to improve effectiveness of

attack.

Page 37: Group Projects Phase I

Network Topology

Hub

Router1

Router2 Router3

hub

hub hub

PC 4(Master)

PC 2(Zombie)

PC 1

PC 3(Zombie)

Page 38: Group Projects Phase I

Tools

We will look into various published malicious tools to employ these attacks, including: mstream – primitive tool, contains errors, but still

causes significant disruption to network trinoo – employs SYN attacks with encrypted

communications between master and zombie attackers

TFN (Tribe Flood Network) – advanced tool that implements a number of different DoS attack methods

Page 39: Group Projects Phase I

Research Papers

Security Analyses by Dr. David Dittrich (University of Washington): “The ‘mstream’ Distributed Denial of Service

Attack Tool” (http://staff.washington.edu/dittrich/misc/mstream.analysis.txt)

“The DoS Project's ‘trinoo’ Distributed Denial of Service Attack Tool” (http://staff.washington.edu/dittrich/misc/trinoo.analysis.txt)

“The ‘Tribe Flood Network’ Distributed Denial of Service Attack Tool” (http://staff.washington.edu/dittrich/misc/tfn.analysis.txt)

Page 40: Group Projects Phase I

Research Papers (cont’d)

“DDoS Attacks and Defense Mechanisms: Classification and State-of-the-art” by Christos Douligeris and Aikaterini Mitrokotsa (Oct. 13, 2003) Overview of DDoS attacks in general and

concepts involved in preventing them

Page 41: Group Projects Phase I

Project Outline/Proposal for:

Project 3: Resilience of network equipment and hosts against Denial of Service Attacks (DoS)

Page 42: Group Projects Phase I

Group composition

• Roberto Martin ([email protected])

• Darren Tang ([email protected])

Page 43: Group Projects Phase I

Main point of the entire project

• The question we are trying to answer is: how resilient are networks against the DOS attacks (as will be defined)?

Page 44: Group Projects Phase I

Phase 1 goals

Phase1 (network level attacks) • As the project outline states this will involve Arp

poisoning attacks and also router resilience to packet fragmentation and address spoofing. We will take the following approach to investigate these attacks:

• Arp Poisoning– First we will clearly define what this means and investigate

exactly how it is done. From this information we will gather all the tools needed to carry out such an attack, then we will experiment with this in the lab and observe the resilience of the switches.

• Address Spoofing– Again we will clearly define what this means and as above

gather tools needed to carry out and measure the effects of such attacks.

Page 45: Group Projects Phase I

Network Topology 1

Page 46: Group Projects Phase I

Network Topology 2

Page 47: Group Projects Phase I

Tools being used

• Ethereal (to view packets)

• Ettercap (arp poisoning/spoofing)

Page 48: Group Projects Phase I

Resources

[1] Jelena Mirkovic, Sven Dietrich, David Dittrich, Peter Reiher.

Internet Denial of Service: Attack and

Defense Mechanisms, Prentice Hall, 2005.

[2] Ettercap Web Page:http://ettercap.sourceforge.net/

[3] Ed Skoudis, Tom Liston

Counter Hack Reloaded

Page 49: Group Projects Phase I

Defence Mechanisms

• 1. Use static ARP tables between important hosts (not very practical in most cases).2. Use ARPWatch to spot when someone is pulling off an ARP poisoning attack.

Page 50: Group Projects Phase I

Securing Networks and Communications

VPN and Firewall Setup and Configuration

Securing Networks and Communications

VPN and Firewall Setup and Configuration

Sharmini [email protected]

Sharmistha Roy [email protected]

KaoFu Lai [email protected]

Sharmini [email protected]

Sharmistha Roy [email protected]

KaoFu Lai [email protected]

Page 51: Group Projects Phase I

Goal of the projectGoal of the project

To study implementations and setup of VPN and Firewalls

To implement any mechanism of secure communications and test it

To study implementations and setup of VPN and Firewalls

To implement any mechanism of secure communications and test it

Page 52: Group Projects Phase I

Phase I ObjectivePhase I Objective

To study literature and man pages for implementation and setup of mechanisms used in VPN for Windows machines

To implement a version of Onion Routing mechanism (one method for anonymous communications)

To study literature and man pages for implementation and setup of mechanisms used in VPN for Windows machines

To implement a version of Onion Routing mechanism (one method for anonymous communications)

Page 53: Group Projects Phase I

Network setupNetwork setup

Source machine Destination machine The path between the two will consist of

routers forwarding the packets to the hosts. A layer of encryption is added for each router in the path and each router decrypts the layer as a packet reaches it

Source machine Destination machine The path between the two will consist of

routers forwarding the packets to the hosts. A layer of encryption is added for each router in the path and each router decrypts the layer as a packet reaches it

Page 54: Group Projects Phase I

Tools required for implementationTools required for implementation

Implement random routing between the two end hosts with data encryption

Implement Privoxy Filter to conceal the identity of client visiting a server website

Implement random routing between the two end hosts with data encryption

Implement Privoxy Filter to conceal the identity of client visiting a server website

Page 55: Group Projects Phase I

ReferencesReferences

http://www.onion-router.net Publication:Onion Routing for Anonymous

and Private Internet connections: David GoldSchlag,Michael Reed,Paul Syverson

http://www.onion-router.net Publication:Onion Routing for Anonymous

and Private Internet connections: David GoldSchlag,Michael Reed,Paul Syverson

Page 56: Group Projects Phase I

Linux Kernel 2.6 Support for Overlay Networks

Page 57: Group Projects Phase I

Introduction

Objective of the project:

- Reduce Application Layer / Kernel Layer switching latency due to standard socket API system call

- Reduce Indirection Delay induced due to the inherent indirection infrastructure of the modern overlay networks and achieve better network characteristics such as low latency, high bandwidth etc.

- Support packet classification and scheduling for providing QoS guarantees

Page 58: Group Projects Phase I

Breakup of Tasks

- Phase 1: (Classification / Marking / Queuing of IP datagrams based on type)

Group : 1 (Aniruddha , Ankur , Dhruva) - Linux Packet Scheduling , Queuing , - Tools to queue and mark packets (eg. NF- HiPAC, ipset etc.) - Testing out simple P2P application and assuring QoS for such applications using

such packet marking queuing mechanism

Page 59: Group Projects Phase I

Classification / Marking / Queuing and scheduling of IP Datagrams

NF_IP_LOCAL_OUT (imeplement the kernel hooks here to classify / mark and queue IP datagrams

Page 60: Group Projects Phase I

- Phase 1:Group : 2

(Implementation of kernel hooks to bypass user space / kernel space switching)

(Sambuddho , Tarun) - Design and implementation of the

system call to directly send the file across to the peer host

- Design and implementation of the system call to directly receive the file across to the peer host

Page 61: Group Projects Phase I

System Call – peer_send() / peer_recv()

peer_send() : System call to bypass the socket API send () / sendto () and directly pass the file name to the kernel

peer_recv () : System call to bypass the kernel recv() / recvfrom() system call and directly get the filename to write to. This should be a blocking system call which blocks till the file is received and copied into the file.

Page 62: Group Projects Phase I

System Call – peer_send() / peer_recv()

peer_send() : peer_send(sockfd, filename,sock_param);

do_peer_send(sockfd, filename,sock_param){

/* open the file and mmap() it to a kernel space

block of memory and then call the actual UDP/IP stack operations to transfer the file */

}

(User space)

(Kernel space)

Page 63: Group Projects Phase I

System Call – peer_send() / peer_recv()

peer_recv() : peer_recv(sockfd, filename,sock_param);

`

do_peer_recv(sockfd, filename,sock_param){

/* read multiple blocks of data from the sockfd socket and buffer them to a block of kernel memory and when the block is full transfer it to a file and then again call the actual UDP/IP stack operations to receive the next block of memory of the file */

}

(User space)

(Kernel space)

Page 64: Group Projects Phase I

Any Questions?