<<

Appendix 7-bit ASCII

000 001 010 011 100 101 110 111 0000 nul soh stx etx eat enq ack bel 0001 bs ht nl vt np cr si 0010 dIe del de2 dc3 dc4 nak syn etb VVll can SUD esc LS gs rs us , 0100 ! " # $ % & 0101 () * + , - / 0110 0 1 2 3 4 5 6 7 0111 8 9 : ; < = > ? 1000 @ A B 0 F G 1001 J KLM 0 1010 P R S T V W

A

- 1011 XYZ [ \ ] , -- 1100 a b c d e f g 1101 h j k 1 ill n 0 1110 P q r s t u v w -- 1111 x y z { I ) del

Row numbers represent the 4-bit prefix, and the column numbers represent the 3-bit suf­ fix. The first 32 ASCII and the last ASCII code are control codes, whIch are not displayable. Appendix B SMA-512 Constants (in )

i i Ki i Ki 0 428a2f98d728ae22 1 7137449123ef65cd 2 b5cOfbcfec4d3b2f ':l ,~Q1 o--u-a-, A -v rv c v- _0C r-'~Qh~-'Q r:; ~Qf'11 f'1hhn~r1n1Q 6 923f82a4afl94f9b 7 ablc5ed5da6d8118 8 d807aa98a3030242 9 12835b0145706fbe 10 243185be4ee4b28c 11 550c7dc3d5ffb4e2 12 72be5d74f27b896f 13 80deblfe3b1696bl 14 9bdc06a725c71235 15 c19bfl74cf692694 16 e49b69c1gef14ad2 17 efbe4786384f25e3 18 Ofc19dc68b8cd5b5 19 240calcc77ac9c65 20 2de92c6f592b0275 21 4a7484aa6ea6e483 22 5cbOa9dcbd41fbd4 23 76f988da831153b5 24 983e5152ee66dfab 25 a831c66d2db43210 26 b00327c898fb213f 27 bf597fc7beefOee4 28 c6eOObf33da88fc2 29 d5a7914793 Oaa 725 30 06ca6351e003826f 31 142929670aOe6e70 32 27b70a8546d22ffc 33 2elb21385c26c926 34 4d2c6dfc5ac42aed 35 53380d139d95b3df 36 650a73548baf63de 37 766aOabb3c77b2a8 38 81c2c92e47edaee6 39 92 722c851482353b 40 a2bfe8a14cfl 0364 41 a81a664bbc423001 42 c24b8b70dOf89791 43 c76c5la30654be30 44 d192e819d6ef5218 45 d69906245565a910 46 f40e35855771202a 47 106aa07032bbdlb8 48 19a4cl16b8d2dOc8 49 le376c085141ab53 50 2748774cdf8eeb9 9 51 34bObcb5e19b48a8 52 391cOcb3c5c95a63 53 4ed8aa4ae3418acb 54 5b9cca4f7763e373 55 682e6ff3d6b2b8a3 56 748f82ee5defb2fc 57 78a5636f43172f60 58 84c87814alfOab72 59 8cc702081a643gec 60 90befffa23631e28 61 a4506cebde82bde9 62 bef9a3f7b2c67915 63 c67178f2e372532b 64 ca273eceea26619c 65 d186b8c721cOc207 66 eada7dd6cdeOeble 67 f57d4f7fee6ed178 68 06f067aa72176fba 69 Oa637dc5a2c898a6 70 113f9804bef90dae 71 Ib710b35131c471b 72 28db77f523047d84 73 32caab7b40c72493 74 3cgebeOa15c9bebc 75 431d67c49cl00d4c 76 4cc5d4becb3e42b6 77 597f299cfc657e2a 78 5fcb6fab3ad6faec 79 6c44198c4a475817 Appendix C Data Compression using ZIP

ZIP is a simple matching algorithm using two sliding windows, called the base win­ dow and the look-ahead window. These two windows are placed side-by-side on the data file, where the look-ahead window goes ahead of the base window. ZIP scans the entIre file by slIdmg these two wmdows and encodmg data on the fly. In par­ tIcular, ZIP finds the longest prefix s of the data stnng contamed in the look-ahead window that also appears in the base window. This string in the look-ahead window (if found) is a copy of s in the base window, and so it can be uniquely identified by two attributes: (1) the distance between the location of the first of s in the base wmdow and the locatIOn of the first character m the look-ahead wmdow and (2) the length of s. If the space needed hold the values of these two attnbutes IS smaller than the space needed to hold s, obtam a savmg of space. To implement this idea, we will need to distinguish the binary values of the two attributes from normal encodings of characters. Suppose the data file is encoded usmg the 8-blt ASCII code set. If the first bIt IS used as a panty bIt, then It could be eIther 0 or 1. The first bIt of the bmary strmg representmg the two attnbutes can also be eIther 0 or 1. Thus, to make a dlstmctIon, we add an extra bIt of 1 m front of each ASCII code to yield a 9-bit extended ASCII code and add an extra bit of 0 in front of the binary string representing the two attributes. This simple encoding uniquely identifies the original data file. In partIcular, let W1 denote the number of characters the base wmdow can hold, d d where 2 -1 < Wj < 2 for some d > 1. Let W2 denote the number of characters the 1 look-ahead window can hold, where 21- < W2 ::; 2/ for some l with 1 ::; l::; d. This produces a (d + l + 1)-bit binary encoding for s, where the first bit is 0 (used as an indicator), the next d bits represent the distance, and the last l bits represent the length. For convenience, we will call this (d + l + 1)-bit code a location code. A locatIOn code IS easIly dlstmgUlshable from any 9-blt extended ASCII code because a locatIOn code has a fixed length and an mdlcator 0 dIfferent from the indicator in a 9-bit extended ASCII code. In other words, given a compressed file using this encoding method, it can be uniquely and easily "uncompressed" back to its original ASCII format. The proof is left to the reader (see the Exercise). Thus, as long as d +l+ 1 < 8k, where k = lsi, ZIP may save space. ZIP then shifts both of the 354 C Data Compression using ZIP base window and the look-ahead window to the right max{I,k} times and repeats the same procedure until the look-ahead window is shifted out of the data file. For example, let = 18 and Wz = 7. Then d = 5 and I = 3. Let us consider the following text string:

"a loop containing a loop is a nested loop"

Denote by nb, the binary representation of positive integer n. Running ZIP on this character string produces the following output (see Fig. C.l ):

where each letter and space in the output string is encoded by a 9-bit extended ASCII code. For clarity, we do not spell out the location code in binary. The length of the "compressed" string in binary is therefore equal to 18 x 9 + 9 + 11 x 9 + 9 = 279 bIts, and the length of the ongmal character stnng encoded m the 8-blt ASCII code set IS equal to 41 x 8 = 328 bIts. Thus, ZIP has compressed the ongmal data stnng to a shorter bmary string,

base window look-ahead input a loop containing a loop is a nested loop 7 11

basewindQw a loop containing a loop is a nested

16

output a loop containing 017b7b is a nested 016b5"

Fig. C.I A demonstration of a ZIP process

To decode a compressed file, ZIP scans It from the begmnIng, removes the lead­ mg 1 from each 9-blt extended code, and replaces each 9-blt code WIth leadmg 0 by the correspondmg character substrmg using the dIstance and length attnbutes.

Exercise

Show why the IO-bit code defined in Section C is easily distinguishable from the extended 9-bit ASCII code. That is, given a compressed file using this encoding method, show it can be uniquely and easily "uncompressed" back to its original ASCII format AppendixD Base64 Encoding

Base64 encoding represents a 6-bit binary string using a printable character (see Table D.l), where a 6-bit value of 0 to 25 represents a upper-case letter A to Z correspondingly; a 6-bit value of 26 to 51 represents a lower-case letter a to z cor­ respondingly; a 6-bit value of 52 to 61 represents a digit 0 to 9 correspondingly; and the last two 6-bit values of 62 and 63 represent H+" and HI" respectively. Trans­ mitted in ASCII format, this means that every 6-bit string is replaced with an 8-bit string.

Table D.I Base64 encoding 6-bitvalue 0 I 2 3 4 5 6 7 8 9 10 II 12 13 14 15 16 17 18 19 character encoding ABC DEFGHI J KLMN 0 P Q RST 6-bit value 20 21 22 23 24 25 26 27 28 29 31 31 32 33 34 35 36 37 38 39 character encoding U V W Z Y Z abc d e f g h i j k I ill n 6-bit value 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 character encoding 0 p q r stu v w z y z 0 I 2 3 4 5 6 7 6-bit value 60 61 62 63 character encoding 8 9 + /

In addition, Base64 encoding uses character "-" as a special indicator. Using Base64 encoding, a binary string is converted to a character string as follows: Case I: The binary data consists of only one . Pad it at the end with 16 O's to extend it to a 24-bit string. This 24-bit string is then converted to a Base64 string of four characters, wIth "==" beIng the last two characters. ThIS IndIcates that only the first two characters are to be decoded, and the suffix 0000 IS dIscarded. Case 2: The binary data consists of only two . Pad it at the end with eight O's to extend it to a 24-bit string. This 24-bit string is then converted to a Base64 string of four characters, with "=" being the last character. This indicates that only the first three characters are to be decoded, and the suffix 00 IS dIscarded. Case 3: The bInary data consists of at least three bytes. Place the first three bytes of the binary data into a 24-bit buffer, where the first byte is placed in the most significant eight bits of the buffer, the second byte is placed in the middle, and the 356 D Base64 Encoding third byte in the least significant eight bits. This 24-bit string is then converted to a Base64 string of four characters. Repeat this process until there is byte left, there is one byte left, or there are two bytes left. The conversion is completed if there is no byte left. If there is one byte left, apply Case 1 to this byte to complete the conversion. If there are two bytes left, apply Case 2 to these two bytes to complete the conversion. Given in Table D.2 are several examples of Base64 conversions.

Table D.2 Examples of Base64 conversions, where boldface bits are bits binary string 10110011 (one byte) 24-bit buffer 101100 110000 000000 000000 (padding of two bytes) Base64 conversion sw== binary string 10110011 00000101 24-bit buffer 101100110000010100000000 (padding of one byte) Base64 conversion swU= binary string 10110011 00000101 01100010 24-bit buffer 101100110000010101 100010 (no padding) Base64 conversion swVi

Decoding a Base64 string back to the original binary data is straightforward and is left to the reader (Exercise D). The Base64 encoding was first used in the Privacy-enhanced Electronic Mail (PEM) protocol for transfernng electromc data.

Exercise

Describe how to decode Base64 strings back to their original binary strings. Appendix E Cracking WEP Keys using WEPCrack

This appendix describes an experiment to crack a WEP protected WLAN using WEPCrack, an open-source WEP cracking tool. WEPCrack implements the RC4 weak- attack introduced in 2001 by Fluhrer, Mantin, and Shamir. It is written in the language. Stephen Brinton designed and implemented the experiments.

E.! System Setup

The expenment uses three computers and one WEP-enab1cd LInksys wIreless as an AP. One computer serves as an Apache Web server, which is connected to the router via an Ethernet cable. The second computer is a WEP-enabled wireless laptop PC connected to the router. The router and the laptop computer share a I 04-bit secret WEP key K. ThIs computer contInuously requests Web pages from the Web server for the purpose of generatIng a large number of frames. The thIrd computer IS also a laptop PC eqUIpped WIth a WEP-enab1ed WIrelessnetwork Interface card (NrC) that can monitor network traffic. This computer runs WEPCrack to crack the WEP key K. Fig. E.I shows the system setup of this experiment. '~ 'l:': ~ Web server_-wir-';-<; (((( .~ . •••••• user requesting Web pages .r>; ~ r<;

attacker running WEPCrack

Fig. E.! WEPCrack Experiment system setup 358 E Cracking WEP Keys using WEPCrack

The experiment uses the following AP and wireless NICs:

AP

The AP used in the experiment was a WEP-enabled Linksys Wireless-B Broadband Router.

User's Network Card

Device: Belkin F5D7010 54g Wireless Network card Driver: ndiswrapper (Belkin: bcmwI5.inf) Vendor Bmadman

Attacker's Network Card

Device: AR5212 802.11 abg (Netgate) Device Name: athO Driver: ath_pcl Vendor: Atheros Communications, Inc.

E.2 Experiment Details

WEPCrack cracks WEP keys by first collecting weak initialization vectors. After suffiCIent InformatIon about weak InItIahzatlOnvectors IS obtaIned, WEP Crack de­ duces from It the WEP key used in the WLAN. It may take a number of hours to collect information. After that, the actual cracking part may take only a few minutes.

Step 1: Initial Setup

Select a 104-bit WEP key for both the AP (the router) and the STA (the laptop computer that will continuously request Web pages from the Web server). In the experiment, the WEP key is chosen as a 13-byte binary string

K = 96 6 91 24207 211 3992158724037234

Start the Apache server usmg the #rcapache2 start command. The STA starts the requester program requester. c (see Section E.3) usmg

./reguester 172.16.1.1 80 GET / E.2 Experiment Details 359 where 172 . 16 . 1 . 1 is the IP address of the Apache server. This produces contin­ uous request and sending of a web page over the wireless connection.

Step 2: Attacker Setup

The attacker's laptop runs Linux. First run the ifconfig athO up command to enable the laptop's NIC. Then run the iwconfig athO scan command to search for the AP within range and col1ect its MAC address, channel, and essid information. The iwconfig athO scan command returns the fol1owing out- put: athO Scan completed Cell 01 -- Address: 00:II:F5:ID:98:04 ESSID: "Gates" Mode' Master Frequency: 2.442 GHz (Channel 7) Quality = 43/94 Signal level = -52 dBm Noise level = -95 dBm Key: on Blt Rate' Final1y,configure the NIC using the fol1owing commands: lfconflg athO down lwconflg athO channel 11 lwconflg athO ap 00:06:25:F3:CD:89 iwconfig athO essid ResearchAP iwconfig athO mode monitor lfconflg athO up

Step 3: Collecting Weak Initialization Vectors

Start Wireshark and open the capture wmdow to capture WIreless frames. Then run the WEPCrack program pcap-get IV . p L using the fol1owing command: ./pcap-getIV.pl -i athO. This may take several hours to run to col1ect sufficient information. This program produces a log file named IVFlle.log, which contams weak InttlaJtzatlOn vectors and encrypted outputs. They WI]] be used to help reveal the WEP key.

Step 4: Cracking

Run the WEPCrack.pl on IVFile.log to deduce the WEB-kep. After only a few minutes of execution, WEPCrack arrived at the correct encryption key shown as below, where $ is the Linux prompt: 360 E Cracking WEP Keys using WEPCrack

$. /WEPCrack. p L Keysize = 13 [104 bits] 96 6 91 24 207 211 39 92 158 7 240 37 234

E.3 Sample Code

The STA executes the following program, written by Stephen Brinton, to keep ­ questing Web pages. requester.h

1************************************************ Header name: request.h *************************************************1

#include #include #include #include #include #include #include #include #include #include #include

II Maximum Sizes #define BUFSIZE 1024 #define HOST NAME SIZE 256 #define COMMAND NAME SIZE 3 #define FILENAME_SIZE 256 #define PORTNUMBER_SIZE 4

#define QLEN 128 requester.c

/*********************************************************** Fllename: reguester.c Deslgner: Stephen Brlnton UML E.3 Sample Code 361

Overview: This program will continuously request and print Web pages Usage:

client host portnumber command

Example: ./requester www.cnn.com GET index.html Function: make_socket() - makes a socket connection ************************************************************7

#include "requester.h"

int main(int argc, char *argv[])

int sd; II socket descriptor ID int n; II number of characters tolfrom socket char msg[BUFSIZE]; II buffer used to hold socket message char host[HOST_NAME_SIZE]; II host address char command[COMMAND_NAME_SIZE]; II command - GET or PUT char filename[FILENAME_SIZE]; II filename to GETIPUT char port_number [PORTNUMBER_SIZE] ; II store portnumber from command line arguments

int portnumber; II portnumber to GETIPUT

II **** GATHER THE ARGUMENTS FROM THE COMMAND LINE **** if (argc !~ 5) II check if there are 5 arguments II print error message otherwise fprlntf(stderr, "Error - Usage: client host port_number command filename\n"); exit(l);

sprlntf(host,argv[l]); sprlntf(port_number,argv[2]); portnumber - atol(port_number); sprintf(command,argv[3] ); sprintf(filename,argv[4]);

whlle(l)

if (strcmp("GET",command) !=o && strcmp("PUT",command) !=O)

fprlntf(stderr, "Error - Invalld command entered: %s (Must be either PUT or GET)\n", command); 362 E Cracking WEP Keys using WEPCrack

exit(I);

// setup command to be sent through socket to host if (strcmp("GET",command)~~O) II Process the GET command

sprintf(msg, "GET %s HTTP/l.0\r\nHost: %s\r\n\r\n", filename,host); if ((sd = make_socket (portnumber, host)== -1)

exit(I); }; write(sd,msg,strlen(msg»;

else II PUT command

FILE* fptr; lnt fd; lnt bytes_read; struct stat flle_lnfo; char* buffer; size_t length;

If ((fptr - fopen(fllename, "rb"» -- NULL)

fprintf(stderr, "Error - File Not Found\n"); close (sd); exit(I);

fd - flleno(fptr); fstat (fd, &file_info); length = file_info.st_size; if (!S_ISREG (file_info.st_mode)

fprintf(stderr, "Error File is not regular\n"); close (fd); close(sd) ; exit(I);

sprintf (msg, "PUT /%s HTTP/l.0\r\nHost: %s\r\nContent-type: text/plain\r\nContent-length: %d\r\n\r\n",filename,host,length); if ((buffer=(char*)malloc(length+strlen(msg)))==NULL)

fprlntf(stderr, "Error Insufflclent E.3 Sample Code 363

memory available to send file\n"); close (fd); exit(l);

memcpy(buffer, msg, strlen(msg)); bytes_read-fread(buffer+strlen(msg),I,length,fptr); close (fd); if ((sd = make_socket (portnumber, host)== -1)

free(buffer); exit(I); Li write(sd,buffer,bytes_read+strlen(msg));

II **** READ AND DISPLAY MESSAGES FROM SOCKET **** 77 read from socket and keep doing it until nothing 77 remains in socket n - recv(sd,msg,slzeof(msg),O); while (n>O)

wrlte(l,msg,n); n - recv(sd,msg,slzeof(msg),O);

close(sd); II **** CLOSE CONNECTION **** return(O);

/***************************************************************** Function name: make_socket Overview: This function setups a socket to be used by this client ****************************************************** ***********1

lnt make_socket(lnt portnumber, char* host)

struct hastent *ptrh; II pointer used by gethostbyname struct sockaddr In sad; int sd; 77 socket descriptor ID 77 **** PREPARE THE ADDRESS TO BE USED IN MAKING THE CONNECTION memset ((char *)&sad, O,sizeof(sad)); sad. sin_family = AF_INET; sad.sin_port = htons((u_short)portnumber); ptrh - gethostbyname(host); If (((char *)ptrh) -- NULL) 364 E Cracking WEP Keys using WEPCrack

fprintf(stderr,"Error-Invalid host entered: \%s\n",host); return 1·,

memcpy(&sad.sin addr, ptrh->h addr, ptrh->h length);

77 **** MAKE THE SOCKET **** sd = socket(PF INET, SOCK STREAM, 0); if (sd < 0)

fprintf(stderr, "Error - Socket creation failed\n"); return 1·, 1 II **** CONNECT TO SERVER **** if (connect (sd, (struct sockaddr *)&sad, sizeof(sad))

fprintf(stderr, "Error - Connect failed\n"); return 1·,

return sd; Appendix F Acronyms

ACK Acknow ledgement ACL Access Control LIst AES Advanced Encryption Standard AJAX Asynchronous JavaScript and XML AH Authentication Header ALG ApphcatlOn-Level Gateway; ApphcatlOn-Layer Gateway AMS Anti MahclOus Software ANSI Amencan NatIOnalStandard Institute AP Access ARP Address Resolution Protocol ASCII Amencan Standard Code for InformatIOn Interchange AS AuthentIcatIOn Server ASIC ApphcatlOn-Speclfic Integrated CIrcUIt ASP Active Server Page AVI Audio- Video Interleaved DHCP Dynamic Host Configuration Protocol CA CertIficate Authonty CBC Clpher-Block-Chammg Mode CBC-MAC Cipher-Block Chaining Massage Authentication Code CCMP Counter Mode-CBC MAC Protocol CEO Chief Executive Officer CERT Computer Emergency Response Team (USA) COl Common Gateway Interlace CIA Central Intelhgence Agency (USA) CIFS Common File System CHF Cryptographic Hash Function CLG CIrcUIt-Level Gateway COFF Common Object COM Component Object Model CPU Central Processing Unit 366 F Acronyms

CRC Cyclic Redundancy Check CTR Center DAC Data Authentication Code DES DiF Distributed FirewaJl DIS Digital Immune System DLL Dynamic Link Library DMZ Demilitarized Zone DoS Denial of Service DDoS Distributed Denial of Service DHCP Dynamic Host Configuration Protocol DHBS Double-Homed Bastion System DPF Dynamic Packet Filter DSL Digital Subscriber Line DZ Demilitarized Zone EAPoL Extensible Authentication Protocol over LAN EBCDIC Extended Bmary Coded DeCImal Interchange Code ECB ElectronIc-Codebook Mode ECC EllIptIc-Curve Cryptography ECDH Elliptic-Curve Diffie-HeJlman EFF Electronic Frontier Foundation ELF Executable and Lmkmg Format ESP Encapsulatmg Secunty Payload ESSID Extended Service Set IDentIfier FCS Scheme FAT File AJlocation Table FTP GB Guojia Biaozhun (NatIOnal Standards, Chma) GCHQ Bntlsh Government Communications Headquarters GMK Group Master Key GUI Graphical User Interface HIHAT High Interaction Honeypot Analysis Toolkit HMAC Keyed-Hash Message AuthentIcatIOn Code HBD Host-Based Detection HMM HIdden Markov Model HTML Hypertext Markup Language IAT Import Address Table IBM InternatIOnal Busmess Machmes Corporation (USA) ICMP Internet Control Message Protocol ICV Integnty Check Value IDEA International Data Encryption Algorithm IDES Intrusion Detection Expert System IDP Intrusion Detection Policy IDS IntruSIOn Detection System IE Internet Explorer F Acronyms 367

IEC International Electrotechnical Commission IEEE Institute of Electrical and Electronics Engineers (USA) IETF The Internet Engineering Task Force lIS Internet Information Services IKE Internet 1M Instant Messaging IMAP Internet Mail Access Protocol IP Internet Protocol IPS Intrusion Prevention System IPsec IP Security IPv4 Internet Protocol version 4 IPv6 Internet Protocol version 6 ISAKMP Internet Security Association and Key Management Protocol ISO International Standardization Organization; International Organization for Standardization ISP Internet Service Provider ITU InternatIOnal TelecommUnicatIOn Union JSON JavaScnpt Object Notation JVM Java VIrtual Machme JSP Java Server Page KDC Key Distribution Center KDP Key Determination Protocol KGA Key Generation Algonthm KSA Key Scheduhng Algonthm LFSR Linear Feedback Shift Registers MAC Media Access Control MAC Message Authentication Code MBSA MIcrosoft Basehne Secunty Analyzer MIC Message Integnty Code MIDI Musical Instrument Data Interface MKPKC Multiple-Key Public-Key Cryptography MPDU MAC Protocol Data Unit MSDU MAC ServIce Data Unit LAN Local Area Network NAT Network Address TranslatIOn NBD Network-Based Detection NBS National Bureau of Standards (USA) NESSIE New European Schemes for SIgnatures, Integnty, and Encryption NetBIOS Network BaSIC Input and Output System NFS Network FIle System; National Science Foundation (USA) NGVCK Next Generation Virus Creation Kit NIC Network Interface Card NIDS Network-based Intrusion Detection System NIST NatIOnal Institute of Standards and Technology (USA) 368 F Acronyms

NSA (USA) NTFS New Technology File System OCB Offset-Codebook Mode OFB Output-Feedback Mode OLE Object Linking and Embedding OSI Open System Interconnection PAN Personal Area Network PAT Port Address Translation PDA Personal Digital Assistant PE Portable Executable PEM Privacy-enhanced Electronic Mail Protocol PGP Pretty Good Privacy PHP Hypertext Preprocessor PHT Pseudo Hadamard Transform PID Process Identifier PKA Public-Key Authority PKC PublIc-Key Cryptography; PublIc-Key PKI PublIc-Key Infrastructure PKIX X.S09 Public-Key Infrastructure PMK Pairwise Master Key POP Post Office Protocol POP3 Post Office Protocol version 3 PRNG Pseudo-Random Number Generator PTK Pairwise Transient Key P2P Peer-to-Peer RADIUS Remote Authentication Dial-In User Service RAM Random Access Memory RSN Robust Security Network RSNIE Robust Security Network InformatIOn Element RSNA Robust Security Network Association Security Association SAD Security Association SANS SysAdmIn, AudIt, Network, and Security Institute (USA) SAS Secunty AssocIatIOn Selector SCP Secure Copy Protocol SET Secure Electronic Transaction SFTP Secure File Transfer Protocol SHA Secure Hash Algonthm SHBS SIngle-Homed BastIOn System SIV System Integrity Venfier S/MIME Secure/Multipurpose Internet Mail Extension SMTP Simple Mail Transfer Protocol SOHO Sma]] Office and Home Office SPD Security PolIcy Database SPI Security Parameters Index; Stateful Packet Inspection F Acronyms 369

SPF Stateful Packet Filtering SRES Singed Response SSH Secure Shell SSL Secure Sockets Layer SSP Secure Simple Pairing STA (wireless endpoint) Station SYN Synchronization TCP Transmission Control Protocol TCPv4 Transmission Control Protocol version 4 TCPv6 Transmission Control Protocol version 6 Telnet Teletype network TGS Ticket-Granting Server TFTP Trivial File Transfer Protocol TSC TKIP Sequence Counter TKIP Temporal Key Integrity Protocol TLS Transport Layer Security TOS Trusted Operatmg System TTL Time-to-Live value UDP User Datagram Protocol URL Uniform Resource Locator Unification Code VB VIsual BaSIC VBS VIsual BaSIC Script VoIP VOIce of IP VPN Virtual WAP Wireless Access Point Wi-Fi Wireless Fidelity WEP WIred EqUIvalent Privacy WKDC WIreless Key DlstnbutlOn Center WLAN Wireless Local-Area Network WN Wireless Node WPA Wi-Fi Protected Access WPA2 WI-FI Protected Access version 2 WPAN WIreless Personal Area Network WPKI WIreless Pubhc-Key Infrastructure WSN Wireless Sensor Network XML Extensible Markup Language References

1. Adams C and Farrell S (1999) Internet X.509 Public Key Infrastructure: Certificate Man­ agement Protocols. RFC 2510 2. Agrawal M, Kayal N, and Saxena N (2004) PRIMES is in P. Annals of Mathematics 160(2):781-793 3. Arkin 0 and Yarochkin F (2002) Xprobe v2.0: A "Fuzzy Approach to Remote Active Oper­ atmg System Fmgerpnntmg. http://www . xprobe2. org. 4. Allen J (2001) The CERT Guide to System and Network Security Practices. Addison­ Wesley, Massacusetts 5. Bace R (2000) Intrusion Detection. Macmillan Technical Publishing, Indiana 6. Bace Rand Mell P (2001) Intrusion Detection Systems. NIST Special Publication 800-31.http://www . csrc. nist. govIpublicationsInistpubs180 0-31 I sp 800-31. 7. Barreto P and Rijmen V (2003) The WHIRLPOOL Hashing Function. 8. Barrett D, Silverman R, and Byrnes R (2005) SSH: The Secure Shell (The Definitive Guide). 2nd ed. O'Reilly, California 9. Bass S (2007) Top 25 Web Hoaxes and Pranks. PC World. http://www.pcworld.com/printable/article/id.131340/printable. 10. Barta M, Bonnell J, Enfield A, Esposito D, Francis B, Harrison R, Homer A, Jakab S, Li S, Murphy S, and UIIman C (1997) ProfessIOnal IE4 Programmmg, Wrox Press II. Bellovin S (1999) Distributed firewalls. ;login: (the USENIX magazine) 39-47. 12. Biham E and Shamir A (1993) A Differential Cryptoanalysis of the Data Encryption Stan­ dard. Snnger, New York 13. Bluetooth Special Interest Group (2006) Simple pairing whitepaper. Version VlOrOO 14. Bluetooth SpeCialInterest Group (2007) Bluetooth Protocol Arcllltecture IS. Bluetooth Specification Version 2.1 + EDR (2007) Volumes 0-4 16. Blum L, Blum M, and Shub M (1986) A simple unpredictable pseudo-random number gen­ erator. SIAM Journal on 15:364-383 17. Bonsov N, Goldberg I, and Wagner D (2001) Interceptmg mobile commumcalions: the m­ security of 802.11. In: Poceedings of the 7th Annual International Conference on Mobile Computmg and Networkmg 18. Campbell K and Wiener M (1992) Proof that DES is not a group. In: Proceedings of Crypto'92, 518-526. Springer-Verlag, Berlin bibitemmonograph Campbell P,Calvert B, and Boswell S (2003) Security Guide to Network Securny Fundamentals. 2nd ed. Thompson Course technology, Massachusetts 19. Cappe 0, Moulines E, Ryden T (2005) Inference in Hidden Markov Models. Springer, 2005 20. CERT AdVISOry (200 I) "Code Red" worm exploltmg buffer overflow m IIS mdexmg service DLL. CA-2001-19. http://www.cert.org/advisories/cA-2001-19.html 21. CERT Incident Note (2001) "Code Red II:" Another worm exploiting buffer overflow in IIS mdexmg service DLL. IN-200l-09. http://www.cert.org/incident_notes/IN 2001 09.html 22. CERT Advisory (2001) Nimda worm. CA-2001-26. http://www.cert.org/advisories/CA-2001-26.html 23. CERT InCidentNote (2003) W32/Soblg.F worm. IN-2003-03. http://www.cert.org/incident_notes/IN-2003-03.html 24. Chandra P (2005) Bulletproof Wireless Security: GSM, UMTS, 802.11, and Ad Hoc Secu­ rity. Elsevier, Paris 25. Chaum D (1983) Blind signatures for untraceable payments. In: Proceedings of CRYPTO'82, 199-203. Plenum Press, New York 26. Chaum D, Fiat A, and Naor M (1990) Untraceable electronic cash. In: Proceedings of CRYPTO'88, Lecture Notes in , vol. 403, 319-327. Springer-Verlag, BerlIn 372 References

27. Chaum D and van Antwerpen H (1989) Undeniable signatures. In: Proceedings of Advances in Cryptology (CRYPTO'89), 212-216 28. Cheswick W, Bellovin S, and Rubin A (2003) Firewalls and Internet Security, Repelling the WIly Hacker. 2nd ed. AddIson-Wesley, Massachusetts 29. CNSS (2003) National Policy on the Use of the Advanced Encryption Standard (AES) to Protect Security Systems and National Security Information. CNSS Policy No. 15 Fact Sheet No. I. http://www.cnss.gov/Assets/pdf/ cnssp 15 fs.pdf 30. Ciampa M (2005) Security Guide to Network Security Fundamentals. 2nd ed. Thompson Course technology, Massachusetts 31. Cohen F (1994) A Short Course on Computer Viruses. John Wiley & Sons, New Jersey 32. Cole E (2002) Hackers Beware. New RIders, IndIana 33. Comer D (2006) Network Systems Design using Network Processors: Intel IXP 2xxx ersion, Prentice Hall, New Jersey 34. Coppersmith D (1994) The Data EncryptIOnStandard (DES) and Its strength against attacks. IBM Journal of Research and Development 38:243-250 35. Courtois Nand Pieprzyk J (2002) of block ciphers with overdefined systems of equations. In: Proceedings of the 8th International Conference on the Theory and Appli­ catIOnof Cryptology and InformatIOn Secunty (ASIACRYPT), Lecture Notes In Computer Science, vol. 2501, 267-287. Springer, Berlin 36. Crume J (2000) Inside Internet Security: What Hackers Don't Want You to Know. Addison­ Wesley, New Jersey 37. Daemen J and RlJmen V (1999) AES Proposal: The RIJndael . http://csrc.nist.gov/CryptoToolkit/aes/rijndael/Rijndael.pdf 38. Dawson E and Nielsen L (1996) Automated cryptanalysis of XOR strings. Cryp­ tologia, 2:165-181 39. Dennmg D (1987) An mtruslOn detectIOn model. IEEE TransactIOns on Software Engmeer­ ing 13(2):222-232 40. Diffie Wand Hellman M (1976) New directions in cryptograpy. IEEE Transactions in Infor­ mation Theory 22:644-654 41. Doraswamy Nand Harkings D (1999) IPSec The New Security Standard for the Internet, Intranet, and Vlflual Pnvate Networks. PrentICeHall, New Jersey 42. Doman A (2002) The Essential Guide to Wireless Communications Applications. Prentice­ Hall, New Jersey 43. Easttom C (2006) Network Defense and Countermeasures: Principles and Practices. Pearson Prentice Hall, New Jersey 44. Edney J and Arbaugh W (2004) Real 802.11 Security: Wi-Fi Protected Access and 802.lli. AddIson-Wesley, Boston 45. Electronic Frontier Foundation (1999) Distributed.Net and EFF DES Cracker put the final nUll Into the Data EncryptIOn Standard's coflin. http://www.eff.org/Privacy/Crypto/Crypto_misc/OESCracker 46. Elgamal T (1985) A public-key cryptosystem and a signature scheme based on discrete logarithms. IEEE Transactions on Information Theory 31(4):469-472 47. FIPS 46-3 (1999) Data Encryption Standard (DES). Federal Information Processing Stan­ dards Publication 46-3 (Reaffirmed), National Institute of Standards and Technology 48. FIPS-171 (1995) American National Standard Financial Institution Key Management (Wholesale). National Institute of Standards and Technology 49. FIPS 180-1 (1995) Secure Hash Standard. Federal Information Processing Standards Publi­ cation 180-1, National Institute of Standards and Technology 50. FIPS 180-2 (2002) Secure Hash Standards. Federal Information Processing Standards Pub­ lication 180-2, National Institute of Standards and Technology 51. FIPS 186-2 (2000) Standard (DSS). Federal Information Processing Stan­ dards Publication 186-2, National Institute of Standards and Technology 52. FIPS-197 (2001) Announcing the Advanced Encryption Standard. FIPS Special Publication 197, National Institute of Standards and Technology References 373

53. FIPS-198 (2002) The keyed-hash message authentication code (HMAC). FIPS Special Pub­ hcatlOn 198, NatIOnalInstitute of Standards and Technology 54. Fluhrer S, Mantin I, and Shamir A (2001) Weaknesses in the key scheduling algorithm of RC4. In: Proceedings of the 8th Annual International Workshop on Selected Areas in Cryp­ tography, Lecture Notes in Computer Science, vol. 2259,1-24. Springer-Verlag, London 55. Forouzan B (2008) Cryptography and Network Security. McGraw-Hill, New York 56. Harley D, Slade R, and Gattiker U (2001) Viruses Revealed. McGraw-Hill, New York 57. Gerkis A and Purcell J (2006) A Survey of Wireless Mesh Networking Security Technology and Threats. SANS Institute 58. Hayre J and Kelath J (2006) AJAX Security Basics. http://www.securityfocus.com/infocus/1868/1 59. C and Mitchell J (2004) Analysis of the 802.1Ii 4-way handshake. In Proceedings of the 3rd ACM Workshop on Wireless Security, 43-50. ACM Press, New York 60. Housley R, Ford W, Polk W, and Solo D (2002) Internet X.509 Public Key Infrastructure: Certificate and CRL Profile. RFC 3280 61. Howlett T (2005) Open Source Security Tools: A Practical Guide to Security Applications. Prentice-HaIl, New Jersey 62. Hua L-K (1987) Introduction to Number Theory. Translated from Chinese by P. Shiu. Spnnger, Berhn 63. Javitz H and Valdes A (1991) The SRI IDES statistical anomaly detector. In Proceedings of the IEEE Symposium in Security and Privacy, IEEE Computer Society Press, pages 316-326 64. Karro J and Wang J (1998) Protecting Web servers from security holes in server-side In­ cludes. In: Proceedings of Annual Computer Security Application Conference (ACSAC'98), 103-111. IEEE Computer Society Press, Washmgton DC 65. Karygiannis T and Owens L (2002) Wireless Network Security: 802.11, Bluetooth, and Handheld Devices. National Institute of Standards and Technology, Special Publication 800­ 2ffi 66. Knightley P (1986) The Second Oldest Profession, Spies and Spying in the Twentieth Cen­ tury. Pengum Books, New York 67. Knuth D (1998) The Art of Computer Programming, Vol. 2: Seminumerical Algorithms. 3rd ed. Addison-Wesley, Massachusetts 68. Koblas D and Koblas M (1992) SOCKS. In: Proceedings of the Third Usenix Security Sym­ puslUm.Pages 77-83 69. Kobliz N (1998) Algebraic Aspects of Cryptography. Springer-Verlag, Berlin 70. LAN/MAN Committee (2004) IEEE Standard for : Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications Amendment 6: Medium Access Control (MAC)Security Enhancements 71. Lmn, J (1987) Pnvacy Enhancement for Internet Electromc Mall: Part I: Message Enclpher­ ment and Authentication Procedures. RFC 989 72. Linn, J (1993) Privacy Enhancement for Internet Electronic Mail: Part I: Message Encryp­ tion and AuthenticatIOn Procedures. RFC 1421 73. Massey J (1993) SAFER K-64: A Byte-Oriented Block-Ciphering Algorithm. In Proceed­ mgs of Fast Software EncryptIOn, 1-17 74. Massey J, Khachatnan G, and Kureglan M (1998) SAFER+. In Proceedmgs of the First Advanced Encryption Standard Candidate Conference. National Institute of Standards and Technology 75. McKean C (2001) Peer-to-Peer Security and Intel's Peer-to-Peer Trusted Library. SANS Secunty Essentials, USEe Practical ASSignment, VersIOn 1.2e 76. Merkle R (1979) Secrecy, Authentication, and Public Key Systems. PhD thesis, Standford University 77. Miller, G (1976) Riemann's Hypothesis and Tests for Primality. Journal of Computer and System Sciences 13(3): 300-317 78. Moore T, Clulow J, Anderson R, Nagaraja S (2007) New Strategies for Revocation in Ad­ Hoc Networks. In Proceedings of the 4th European Workshop on Security and Privacy in Ad hoc and Sensor Networks. Lecture Notes in Computer Science, vol. 4572, pages 232-246, Springer-Verlag, Berlin 374 References

79. Mirkovic J and ReIher P (2004) A taxonomy of DDoS attack and DDoS defense mecha­ nisms. ACM SIGCOMM Computer Communications Review 34(2):39-53 80. Neuman B-C and Ts' 0 T (1994) Kerberos: an authentication service for computer networks. IEEE Communications 32(9):33-38 81. Northcutt S (1999) Network Intrusion Detection, An Analysit's Handmonograph. New Rid­ ers, Indiana 82. Oppliger R (1999) Security Technologies for the . Artech House, Mas­ sachusetts 83. PC Magazine (2007) Ten most common passwords. http://www.pcmag.com /article2/0,1759,2113976,OO.asp 84. Peterson L and Davie B (2006) Computer Networks A Systems Approach. 3rd ed. Elsevier, Pans 85. Pfteeger C and Pfteeger S (2006) Security in Computing. 4th ed. Prentice-Hall, New Jersey 86. Pietrek M (1994) Peering Inside the PE: A Tour of the Win32 Portable Executable File Format. MSDN Magazine. http://msdn2.microsoft.com/en-us/library/ms809762.aspx 87. Pietrek M (2002) An In-Depth Look into the Win32 Portable Executable File Format. MSDN MagaZine. Part I: http://msdn.microsoft.com/msdnmag/issues/02/02/PE/default.aspx. Part II: http://msdn.microsoft.com/msdnmag/issues/02/03/PE2/default.aspx 88. Proctor P (2001) The Practical IntruSIOn DetectIOn Handmonograph. Prentice-Hail, New Jersey 89. Provos N (2004) A VIrtual honeypot framework. In Proceedings of the 13th USENIX Secu­ rity Symposium. Pages 1-14 90. Ramachandran V and Ahmad M (2007) Cafe latte with a free topping of cracked WEP: retrieving WEP keys from road-warriors. In Proceedings of ToorCon 91. Ranum M (1992) A network . In: Proceedll1gs of the FIrst World Conference on Systems Administration and Security 92. Rabll1, M (1980) Probablhstlc algontlul1 for testll1g pnmahty. Journal of Number Theory 12(1): 128-138 93. Rescorla E (2001) SSL and TLS: Deslgmng and BUlldll1g Secure Systems. AddIson-Wesley, Massachusetts 94. RIvest R-L (1992) The RC4 encryption algonthm. RSA Data Secunty 95. Rivest R-L (1995) The RC5 encryption algorithm. Dr. Dobb's Journal 20:146-148 96. Rivest R-L, Shamir A, and Adleman L-M (1978) A method for obtaining digital signatures and public-key . Communications of the ACM 21:120-126 97. Rogaway P, Bellare M, and Black J (2003) OCB: A block-cipher mode of operation for effiCient authenticated encryption, ACM Transactions on Information and System Secunty, 6(3):365-403 98. Rubin A (2001) White-Hat Secunty Arsenal, Tackhng the Threats. AddIson-Wesley, Mas­ sachusetts 99. Salomaa A (1990) PUbhc-Key Cryptography. Spnnger-Verlag, Berlin 100. Seaminatha T and Elden C (2003) Wireless Security and Privacy. Addison-Wesley, Mas­ sachusetts 101. Schneier B (1996) Applied Cryptography. 2nd ed. John Wiley & Sons, New York 102. SchneIer B (2000) Secrets and LIes, DIgital Secunty In a Networked World. John Wiley & Sons, New York 103. Shaked Y and Wool A (2005) Cracking the Bluetooth PIN. In Proceedings of the 3rd USENIX/ACM Conference Mobile Systems, Applications, and Services (MobiSys), pages 39=.50 104. Shor P-W (1997) Polynomial-time algorithms for factorization and discrete loga­ rithms on a quantum computer. SIAM Journal on Computing 26:1481-1509 105. Skoudis E (2002) Counter Hack, A Step-by-Step Guide to Computer Attacks and Effective Defenses. Prentice Hall, New Jersey References 375

106. Stallings W (2006) Cryptography and Network Secuirty: Principles and Practice. 4th ed. Prentice HaIl, New Jersey 107. Steiner J, Neuman C, and Schiller J (1988) Kerberos: an authentication service for open network systems (VersIOn 4). In Proceedings of the Winter 1988 Usemx Conference 108. Suehring S and Ziegler R (2006) Linux Firewalls. 3rd ed. Novell Press, Indiana 109. Szor P (2005) The Art of Computer Virus Research and Defense. Addison-Wesley, New Jersey 110. Thomas S (2000) SSL and TLS essentials secunng the Web. John Wiley & Sons, New York 111. Tibbs R and Oakes E (2006) Firewalls and VPNs Principles and Practices. Pearson Prentice HaIl, New Jersey 112. Trappe Wand Washington L (2006) Introduction to Cryptography with Coding Theory. 2nd ed. Prentice Hall, New Jersey 113. Vlega J and McGraw G (2002) Bmdllng Secure Software. Addison-Wesley, Massachusetts 114. Voice of America (1999) Navajo Code Talkers. http://www.voanews.com/ specialenglish/archive/2002-02/a-2002-02-01-26-1.cfm 115. Wack J, Cutler K, and Pole J (2002) Guidelines on Firewalls and Firewall Policy. NIST SpeCialPublicatIOn SP 800-41 116. Walker J (2002) 802.11 security series part II: the Temporal Key Integrity protocol (TKIP). Intel Cooperation. http://cache-www.intel.com/cd/OO/OO/Ol/77/17769_80211_part2.pdf 117. Wang X, Yin Y, and H (2005) Finding collisions in the full SHAI. In: Proceedings of CRYPTO'05, Lecture Notes in Computer Science, vol. 3621, 17-36. Springer, Berlin 118. WEPCrack: http://wepcrack.sourceforge.net 119. Whiteman M-E and Mattord H-J (2005) Principles of Information Security. 2nd ed. Thom­ son Course Technology, Massachusetts 120. Yao A (1982) Protocols for secure computations. In Proceedings of the 23rd IEEE Sympo­ sium on the Foundations of Computer Science (FOCS'82), 160-164 121. Ylonen T (2006) The Secure Shell (SSH) Protocol Architecture. RFC 4251 122. Ylonen T (2006) The Secure Shell (SSH) Authentication Protocol. RFC 4252 123. Ziv J and A Lempel (1977) A universal algorithm for sequential data compression. IEEE Transacliuns un Inlurmaliun Theury, 23:337-343 Index

I's complement sum, 140 ARP poisoning, 14 2DES,55 ARP spoofing, 14, 16,35 3DES/2,55 Asynchronous JavaScript and XML (AJAX), 3DES/3,55 308 4-way handshake, 221 , 43 802.IX,219 Avast AntiVirus, 296

A B access point (AP), see wireless access point backdoor, 22, 23 (WAP) Barreto, P, 132 ActiveX, 305 Base64 encoding, 191 ActiveX control, 306 bastion host, 259, 260 ad hoc WLAN, 208, 210 batch detection, 326 Adleman, L, 90 BBS pseudorandom bit generator, 79 Advanced Encryption Standard, 39 beacomng, 209 adware,25 behavior signature, 329 AES behaviorial data forensics, 336 add round key, 58, 62 Bellare, M, 143 add subkey, 62 bias vector, 235 inversed S-Box, 70 big endian, 85 meet-in-the-middle attack, 110 bmary string, 40 mix-columns, 58, 64 birthday attack, 132, 146 partial information attack, 109 set intersection attack, 149 reverse S-Box, 60 birthday paradox, 148 S-Box, 60, 70 bit, 40 shift-rows, 58 Black, J, 143 state matrix, 58 black-hat hacker, 25, 26 substItute bytes, 58, 63 blackhole attack, 244 algebraic cryptanalysis, 44 blind signature, 155, 164 almost b-conserving, 77 block cipher, 41 anti-malicious-software system, 28 antI-phlshmg extension, 7 AP spoofing, 211 application gateway, 251 initialization key, 239, 240 application-specific integrated circuit (ASIC), link key, 234, 239, 240 250 secure pairing, 233 378 Index

secure simple pairing (SSP), 242 crafted packet, 253 Blum, L, 79 crafted SYN packet, 14 Blum,M,79 cryptanalysIs, 4 boot virus, 278 crypto placement, 168 bootstrap protocols (Bootp), 253 cryptographic algorithm, 165 botnet, see zombie army cryptographic checksum, 140 broadcast attack, 330 cryptographic hash function, 129, 130 browser hijacking, 24 cryptosystem, 28 buffer overflow, 16 cyber buffer overrun, see buffer overflow spy, 25, 27 bugnosis, 315 terrorist, 25, 28 Cyclic Redundancy Check (CRe), 140,212

D CA chain, 120 network, 120 cache gateway, 258 availability, 2 CERT,30 confidentiality, 2 certificate authonty, 119 mtegnty,2 certificate path, 120 non-repudiation, 2 challenge-response authentication, 212 storage state, 2 character code sets, 40 transrmssron state, 2 Chaum, D, 164 data authentication code standard (DAC), 142 chosen-plaintext attack, 44 Data Encryption Standard (DES), 39,45 cipher-block-chaining mode (CBe), 72 data mining, 318, 336, 337 cipher-feedback mode (CFB), 72, 73 data refinement, 337 data, 4 database security, 3 mode (CTS), 86 DDoS attack, 20 clogging attack, 181 de-association attack, 232 Cocks, C, 91 deep layered defense, 3 collisIOn resistance, 131 Common Criteria, 260 Common Internet File System (CIFS), 253 Common Object File Format (COFF), 285 commutative group, 112 encryption, 51 Component Object Model (COM), 305 expansion permutation, 51 compound signature, 330-332 initial permutation, 52 computatIOnal umqueness property, 130, 131 permutatIOn on keys, 48 computer S-Box,49 forensics, 3 subkeys,48 hijacking, 24 substitution, 51 virus, 2 detection engine, 326 confusion, 43 detectIOn policy, 324 congruence relation, 92, 93 dictionary attack, 5, 7, 8 content signature differential cryptanalysis, 44 payload signature, 329 Diffie, W, 90 contextual interpretation, 337 Diffie-Hellman key exchange, 89, 181 conventional encryption algorithm, 39 diffusion, 43 cookie, 181,306 digital certificate, 119 counter mode (CTR), 72, 74 digital digest, 129 counter mode-CBC MAC protocol (CCMP), digital fingerprint, 129, 130 229 digital immune system (DIS), 297 cracker, 26 digital signature standard (DSS), 150 Index 379 disaster recovery, 3 fast modular exponentiation, 94, 95 discrete elliptic curves, 113 Feistel cipher scheme, 45 discrete logarithm (discrete log), 10 I Feistel, H, 45 distributed denial of service (DDoS), 20, 310 Ferguson, N, 222 distributed firewall, 251 Fermat's little theorem, 94 DoS attack, 20, 36 (FAT), 279 double signature, 164 file-format virus, 279 dnll down, 337 file-system vrrus, 279 dual signature, 153, 154 fingerprint reader, 12 dynamic document finite continued fraction, 99 Active Server Page (ASP), 303 firewall, 28, 249 Common Gateway Interface (COl), 303 ipf,268 Hypertext Preprocessor (PHP), 303 iptables, 268, 269 JavaServer Page (JSP), 303 access control list (ACL), 252 Dynamic Host Configuration Protocol application gateway, 257 (DHCP),253 application-level gateway (ALG), see Dynamic Link Library (DLL), 279 application gateway circuit gateway, 251, 255 E circUit-level gatcway (CLG) , see ctrcuit gateway eCash, 157 connection-state filtering, 254 ECC demilitarized zone, 261, 264 ~-~-~~------~~-~~~~-~~~~~ decryption, 116 dual-home bastion host (DHBH), 262 encoding, 114 dual-homed bastion system, 261 encryption, 116 dynamic packet filter, 251 key exchange, 117 dynamic packet filter (DPF), 255 electronic cash, 156, 157 egress filtering, 251 electronic-codebook mode (ECB), 72 ingress filtering, 251 Elgamal PKC, 102 packet filter, 251 Elgamal public-key cryptosystem, 89 , see apphcatlon gateway Elgamal, T, 102 screened subnet, 261, 263 elliptic-curve cryptography, 91, 112 single-homed bastion system, 261 elliptic-curve Diffie-Hellman (ECDH), 117 SOCKS, 257 elliptic-curve encoding parameter, 116 stateful filtering, 252, 254 elliptic-curve logarithm, 116 stateful packet inspection (SPI), 259 elliptic-curve public-key cryptobraphy, 89 stateless filtering, 252 emergency response, 3 Fluhrer, S, 77 encrypted checksum algorithm, 129 fragmentation attack, 217 encrypted hash, 7 Euclid's algorithm, 79, 80 G Euler's theorem, 93 Euler's totient function, 93 Galois field, 68 event counter, 334 gateway, 19 event gauge, 335 Gray code, 144 event timer, 335 grayhole attack, 244 Extensible Authentication Protocol over LAN grey-hat hacker, 25, 26 (EAPoL),220 group master key (GMK), 220 external network, 250 H F hacker, 25 false negative detection, 324 hacking tool, 27 false positive, 324 hash function, 130 false positive alarm, 324 header signature, 329, 330 380 Index healthy host, 22 security association database (SAD), 174, heap, 16 175 Hellman, M, 90 security parameters index (SPI), 174 hidden Markov model (HMM), 316 security policy database (SPD), 174, 175 High Interaction Honeypot Analysis Toolkit slldmg wmdow, 178 (HIHAT), 339 irreducible polynomial, 68 HoneyBow, 339 honeypot, 29, 317,338 J Honey trap, 339 Honeywall, 339, 343 Java Virtual Machine (JVM), 304 host-based detection (HBD), 318, 325, 328 host-based signature, 330 K hybrid detection, 318 Hypertext Markup Language (HTML), 303 Katz, P, 185 Kerberos, 165, 194 I authentication server, 195 multiple-realm Kerberos, 195, 198 server ticket, 195 identity spoofing, 12 single-realm Kerberos, 195 Import Address Table (IAT), 285 ticket, 195 infected host, 22 ticket granting server, 195 information, 2 key distribution center (KDC), 126 information security, 3 key ring, 122 infrastructure WLAN, 208 key scheduling algorithm (KSA), 75 initial vector, 72 keyed-hash message authentication code instant messaging (1M), 301 (HMAC), 129, 142 integer factorization, 80 keystroke logger, 25

Internet InformatIOn Services (lIS), 293 Koblas, M, 257 Internet Mall Access Protocol (IMAP), 193 Koblitz, N, 91 intrusion, 18 Krovetz, T, 143 Intrusion Detection Expert System (IDES), 334 L intrusion detection system (IDS), 28, 318 intrusion prevention system (IPS), 318 left-circular shift operation, 48, 235 IP Lempel, A, 185 header, 15, 16 Line Printer Remote protocol (LRP), 253 scan, 18,35 , 44 spoofing, 14 little endian, 85 IPsec, 165 logic bomb, 22, 23 Internet key exchange, 173 AH format, 177 M authentication header (AH), 173 cookie exchange, 181 MAC encapsulating security payload (ESP), 173 backward intractability, 141 mtegnty check value (lCV), In computational uniqueness, 141 Internet secunty association and key forward efficiency, 141 management protocol (ISAKMP), 180 uniform distribution, 141 Oakley key determination protocol (KDP), MAC address, 16 180 MAC Service Data Unit (MSDU), 214 SA bundle, 174 MAC-address filtering, 209 SA selectors (SAS), 174, 175 macro virus, 279 security association (SA), 174 Mafiaboy, 21 Index 381

Maginot Line, 31 network-based detection (NBD), 318, 325, 326 malicious software, 22 network-node detection, 326 malware network-sensor detection, 326 see malicious software, 22 Neuman, C, 194 man-in-the-middle attack, 12, 101 Neumann, P, 317 Mantin, I, 77 New Technology File System (NTFS), 279 Massey, J, 234 Next Generation Virus Creation Kit (NGVCK), master key, 118 287 master zombie, 310 Nimitz, C, 27 master-slave DDoS attack, 310 node subversIOn, 347 master-slave-reflector DDoS attack, 310 nonce, 13, 172 mathematical attack, 44 Norton AntiVirus, 296 McAfee VirusScan, 296 meet-in-the-middle attack, 55 o meet-in-the-middle attacks on 2DES, 56 memory layout, 17 Objcct Linking and Embcdding (OLE), 305 memory-resident virus, 280 offset codebook mode (OCB), 143 Merkle, R, 132 one-time pad, 42 message, 2 one-way property, 130 replay, 12, 13 operational detection, see signature detection message authentication code (MAC), 129 out-of-band data, 337 message injection, 216 output-feedback mode (OFB), 72, 74 message mtegnty code (MIC), 222 metamorphic virus, 280, 287, 316 p MIller, G, 97 MIller, S, 194 P2P Miller, V,91 BitTorrent, 299 Mitnick, K, 15 eMule,299 modular exponentiation, 95 Gnutella, 299 modular inverse, 93 Napster, 299 multi-host signature, 330, 331 sniffer, 3, 33 multiple-key public-key cryptography padding, 41 (MKPKC),164 pairwise master key (PMK), 219, 220 Multipurpose Internet Mail Extension protocol pairwise transient key (PTK), 220 (MIME), 193 password sniffing, 5, 10, 25 muted computer, 14 payload signature, 329 peer-to-peer (P2P), 301 N peer-to-peer security, 299 per-frame key, 224 Nepenthes, 339 penmeter secunty, 249 network periodic detection, 326 administration tools, 31 phisher, 6, 7 smfter, see packet smfter, 33 phlshmg, 5, 6 spoofing, 12, 14 phishing site, 7 network address translation (NAT), 265 physical address, 16 dynamic NAT, 266 piconet, 232 Network Basic Input/Output System master device, 232 (NetBIOS), 253 parked station, 232 Network File System (NFS), 253 slave device, 232 network interface card (NIC), 357 plaintext data, 4 network signature, 329 polymorphic viruses, 280 network tap, 326 port address translation (PAT), 266 382 Index port scan, 18,35 RSA public-key cryptosystem, 90 Portable Executable (PE), 285 RSN IE poisoning, 231 Pretty Good Privacy (PGP), 165 rule-based detection, 329 primality test, 97 rushing attack, 244 prime number theorem, 92 primitive root, 94, 95 s private key, 90 private network, 266 SANS, 30 pnvate-key nng, 122, 192 scanning, 209 probabilistic algonthm, 97 script kiddies, 25, 27 program behavior, 321 script virus, 280 protocol Sebeck, 339 defect, 2 secret key, 4 flaw, 2 secure code, 3 loophole, 2 Secure Electronic Transaction Protocol (SET), Pseudo Hadamard Transform (PHT), 236 154 pseudorandom number generator (PRNG), 78 secure hash algorithm, 132 public key, 90 Secure Shell (SSH), 165 public-key authonty (PKA), 127 secure socket layer protocol (SSL), 184 public-key certificate, 118, 119 Secure Sockets Layer (SSL), 165 public-key cryptography (PKC), 89 public-key cryptosystem, 89 backward intractability, 91 commutability,91 forward effiCiency, 91 public-key infrastructure (PKI), 165, 170 assessment, 3 public-key ring, 122, 123, 192 auditing, 3, 319 policy, 3 R training, 3 security network association (RSNA), 221 Rabin, M, 97 secunty profile, 319, 321 Radix-64 encoding session key, 118 see Base64 encoding, 191 Shamir, A, 77, 90 rainbow table, 8 Shor, P, 80, 101 RC4 , 75 Shub,M,79 real-time detection, 326 side channel attack, 45 reduction function, 8 sieve, 97 registry virus, 280 signature detection, 329 related-plaintext attack, 77 signature verification, 151 relatively prime, 79 silenced computer, see muted computer repudiatIOn attack, 17 smged response (SRES), 240 retma scanner, 12 smgle-event signature, 330, 331 Rijmen, Y, 57, 132 slave zombie, 310 Rivest, R, 75, 90 Smith, D, 289, 290 robust secunty network (RSN), 221 smurt attack, 20 Rogaway, P, 143 rollback attack, 231 round key, 57 route leak, 273 route-error-injection attack, 245 RSA challenge number, 111 small exponent attack, 108 SOHO firewall, 267 time analysis, 107 source combination, 337 Index 383 spam filter, 22 transport mode, 169 spam honeypot, 339 tnple-DES, 39 spam mail, 21 Trivial File Transfer Protocol (TFTP), 253 spam trap, see spam honeypot Trojan dropper, 298 spammer,22 Trojan horse, 22, 23 special b-exact key, 77 trusted operating system, 3 spyware, 22, 24 trusted operating system (TOS), 259 SSH no read up, 260 connection layer, 200, 201 no write down, 260 transport layer, 200 tunnel mode, 169 user authentication layer, 200 SSL II alert protocol, 185 change-cipher-spec protocol, 185 undeniable signature, 164 connection, 186 user password, 5 handshake protocol, 184, 185 user profile, 321 master secret, 188 pre-master secret, 188 v rccord protocol, 184, 189 STA spoofing, 211 van Antwerpen, H, 164 stack, 17 Vemam, G, 75 stealth VIruS, 280 vicious employee, 28 Stoned Empire Monkey, 279 virtual honeypot personality, 342 stream cipher, 75 virtual local area network (VLAN), 267 strong colhslOn resistance, 131 (VPN), 173 strongly collision resistant, 131 virus, 22 subkey generation algorithm (SGA), 76 Black Ice, 280 subhmmal channel, 127 cascade, 279 Sun Tzu, 1 DIR-II,279 sweeping attack, 332 Elk Cloner, 279 symmetnc-key encryption algonthm, see Happy99.exe, 280 conventional encryption algorithms host program, 278 SYN flooding, 14 infected program, see host program system mtegnty venfier (SIV), 328 LoveLetter, 280 WMIDMV,279 T XM/Larous, 279 Zafi,284 tag, see message authentication code (MAC) VIruS emulator, 297 TCP vrrus hoax, 299 fragmentation attack, 253, 270 virus scan, 22 header, 15 vrrus scanner, 294 hijacking, 14, 15 voice of IP (VoIP), 30 I packet, 15 port, 18 w wrappers, 15 the Chinese remainder theorem, 98 Wang, X, 131, 132 the fundamental theorem of arithmetic, 92 Web time stamp, 13, 172 active document, 303 , 45 dynamic document, 303 TKIP sequence counter (TSC), 224 static document, 303 traffic analysis, 18 Web bug, 315 transparent proxy firewall, 255 Web proxy server, 258 Transport Layer Security (TLS), 165 WEP transport layer security protocol (TLS), 184 FMS attack, 77 384 Index

per-frame key, 214 worm tunnel, 244 temporal key mtegnty protocol (TKIP), 218 wormhole attack, 244 WEP key, 211 WPA WHIRLPOOL DoS attack, 229 add round constant, 137, 140 Enterprise WPA, 219 add round key, 137, 140 Home-and-SmaII-Office WPA, 219 mix rows, 137, 139 key mixing, 224 shift columns, 137 message mtegnty code (MIC), 218 shift rows, 139 pairwise transient key (PTK), 220 state matrix, 136, 137 WPA2,229 substitute bytes, 137 white-hat hacker, 25, 26 x WI-FI,209 Wi-Fi Alliance, 209 X.509 WI-FI hotspot, 209 certificate authonty, 17l Wi-Fi network, 209 certificate revocation list, 171 WI-FI Protected Access (WPA), 207, 218 end entity, 17l Wi-Fi Protected Access version 2 (WPA), 207 registration authority (), 171 Wilhamson, M, 90 Repository, 171 Windows Defender, 308 X.509 PKI, 170 Wired Equivalent Privacy (WEP), 75, 207, 211 wireless access point (WAP), 208 Y wireless key dlstnbutlon center (WKDC), 244 wireless local-area network (WLAN), 207 wireless personal area networks (WPAN), 207, 232 Yao, F, 132 wireless pubhc-key ll1frastructure (WPKI), 244 YlOnen, T, 200 wireless sensor network (WSN), 248 worm, 22 z Code Red, 292, 293 Code Red II, 293 Zimmermann, P, 192 infection propagator, 287 ZIP LoveLetter, 280 base window, 353 mass mailer, 288 look-ahead window, 353 Melissa, 289 Ziv, J, 185 rabbit, 288 zombie SQL slammer, 293 computer, 21 storm, 293 software, 21 target locator, 287 zapper,21 mm,293 zombie army, 21 W32/Nimda, 293 Zombie Zapper, 36 mm,293 zombieware, 22