The Aerospace Clinic 2002 Team Members Nick Hertl (Project Manager) Will Berriel Richard Fujiyama Chip Bradford Faculty Advisor Professor Michael Erlinger Aerospace Liaisons Joseph Betser, PhD Rayford Sims
Overview Background Information Tunnel Technical Approach –Completed work –Tunnel Demo –Future work Questions
Background TCP/IP Network Security Firewalls BEEP IDXP
TCP/IP Main protocols used over the Internet Provides reliable, full-duplex, peer-to- peer communication Most current application protocols use this directly: HTTP (web), SMTP ( ), etc. Multiple connections to the same machine are handled using ports
Today’s Internet
Network Security Only authorized users should be able to access private networks Some data and services should only be available internally Firewalls are used in most corporations to restrict access to network resources
Firewalls Set of rules to restrict network traffic Can filter by any combination of: –Source IP –Destination IP –Port –Protocol Rule sets are usually static
Today’s Internet with Firewalls
BEEP Blocks Extensible Exchange Protocol General framework for the rapid creation of application-level protocols Provides a message framing mechanism and many common services (profiles) Application chooses services (e.g. security) or protocol (HTTP, IDXP) Requires an underlying transport protocol – TCP
Tomorrow’s Internet with BEEP
IDXP Intrusion Detection eXchange Protocol Standard communication of Intrusion Detection messages (IDMEF) BEEP profile Firewall must not block authorized messages
The Internet with Tunnel
Tunnel Our focus is Tunnel for IDXP messages
Tunnel Uses XML messages to establish a tunnel: Parsed at every host.
Tunnel Characteristics –Poke a “controlled” hole in firewall – short lived –Mutual authentication of client/server –Application level security Differs from –SSH which has one sided authentication –VPNs which are long lived –IPSec which requires OS modification
Problem Statement Evaluate and implement the Tunnel specification as a BEEP profile in at least two programming languages.
Deliverables Evaluation of Tunnel specification –Will this work? –What needs more clarification? Tunnel Implementation in C and Java –Fully documented code tree for both languages –Sample Client/Server/Proxy Applications
Completed Work Evaluated Tunnel Specification Chose BEEP Implementations Implemented –Host to Host Tunnel –Single Firewall Tunnel Some interoperability testing
Fall Schedule
Tunnel Evaluation No standard way to extend the DTD. Previously no IPv6 support in the DTD. Possibility for loops with misconfigured servers. No way to specify a Time-To-Live when using a dynamic route, ie: connecting to a service rather than a host.
BEEP Implementations: JAVA: –PermaBEEP 0.8 (Better API) –Beepcore–java (TLS support) C –Roadrunner 0.9 (More fully implemented) –Beepcore–C 0.2 (Abandoned)
Host to Host Tunnel Profile and application can successfully open a tunnel to a host with no firewall in between.
Single Firewall Tunnel
Tunnel host1.example.com proxy.example.com host2.example.com Transport Connect TCP
Tunnel host1.example.com proxy.example.com host2.example.com Transport Connect BEEP Greeting Advertise services (Tunnel, maybe others)
Tunnel host1.example.com proxy.example.com host2.example.com Transport Connect BEEP Greeting Start Tunnel
Tunnel host1.example.com proxy.example.com host2.example.com Transport Connect BEEP Greeting Start Tunnel Transport Connect TCP
Tunnel host1.example.com proxy.example.com host2.example.com Transport Connect BEEP Greeting Start Tunnel Transport Connect BEEP Greeting Advertise services (Tunnel, maybe others)
Tunnel host1.example.com proxy.example.com host2.example.com Transport Connect BEEP Greeting Start Tunnel Transport Connect BEEP Greeting Start Tunnel
Tunnel host1.example.com proxy.example.com host2.example.com Transport Connect BEEP Greeting Start Tunnel Transport Connect BEEP Greeting Start Tunnel OK
Tunnel host1.example.com proxy.example.com host2.example.com Transport Connect BEEP Greeting Start Tunnel OK Transport Connect BEEP Greeting Start Tunnel OK proxy now transparently forwards messages
Tunnel host1.example.com proxy.example.com host2.example.com Transport Connect BEEP Greeting Start Tunnel OK Transport Connect BEEP Greeting Start Tunnel OK BEEP Greeting Advertise services (proxy now invisible)
Future Work Firewall daemon (Enforce Security Policy) Multi-Firewall Support More interoperability testing between C and Java implementations. Bug squashing Final report
Spring Schedule
Questions?