Protocol Flaws
Protocol Flaws
PROTOCOL FLAWS:
DESIGN FLAWS
- PROPOSED INTERNET PROTOCOLS POSTED FOR PUBLIC SCRUTINY
- DOES NOT PREVENT PROTOCOL DESIGN FLAWS
IMPLEMENTAION FLAWS
TYPES OF ATTACKS
IMPERSONATION
IA BY GUESSING
IA BY EAVESDROPPING/WIRETAPING
IA BY CIRCUMVENTING AUTHENTICATION
IA BY USING LACK OF AUTHENTICATION
IA BY EXPLOITING WELL-KNOWN AUTHENTICATION
IA BY EXPLOITING TRUSTED AUTHENTICATION
IMPERSONATION ATTACKS BY GUESSING
WAYS OF GUESSING:
COMMON WORD/DICTIONARY ATTACKS
GUESSING DEFAULT ID-PASSWORD PAIRS
E.G., GUEST-GUEST / GUEST-NULL / ADMIN-PASSWORD
GUESSING WEAK PASSWORDS
GUESSING CAN BE HELPED BY SOCIAL ENGG
E.G., GUESS WHICH ACCOUNT MIGHT BE DEAD/DORMANT
READ IN A COLLEGE NEWSPAPER ONLINE THAT PROF. RAMAMOORTHY IS ON SABBATICAL
=> GUESSSES THAT HIS ACCT IS DROMANT
SOCIAL ENGG: CALL TO HELP DESK TO RESET PASSWORD TO ONE GIVEN BY ATTACKER
ATTACKER WHO GAINED PROPER ID I1 ON ONE HOST H1, CAN ACCESS ALL HOSTS THAT
TRUST H1
LACK OF AUTHORIZATION DUE TO ADMINISTRATIVE DECISION
E.G., A BANK MAY GIVE ACCESS TO PUBLIC INFORMATION TO ANYBODY UNDER GUEST-NO
LOGIN ACCOUNT-PASWORD PAIR
„GUEST” ACCOUNT CAN BE A FOOTHOLD FOR ATTACKER
ATTACKER WILL TRY TO EXPAND GUEST PRIVILEGES TO EXPLOIT THE SYSTEM
SPOOFING
MASQUERADING
SESSION HIJACKING
MAN-IN-THE MIDDLE (MITM)
MASQUERADING
MASQUERADING - EXAMPLE 1:
MASQUERADING - EXAMPLE 2:
ATTACKER EXPLOITS WEB SERVER FLAW – MODIFIES WEB PAGES
MAKES NO VISIBLE CHANGES BUT „STEALS” CUSTOMERS
E.G., BOOKS-R-US WEB SITE COULD BE CHANGED IN A SNEAKY WAY:
PROCESSING OF BROWSING CUSTOMERS REMAINS UNCHANGED
BUT PROCESSING OF ORDERING CUSTOMERS MODIFIED:
(SOME) ORDERS SENT TO COMPETING BOOKS DEPOT
ONLY „SOME” TO MASK THE MASQUERADE
SESSION HIJACKING
SIMILAR TO HIJACKING
DIFFERENCE: MITM PARTICIPATES IN A SESSION FROM ITS START
(SESSION HIJACKING OCCURS AFTER SESSION ESTABLISHED)
CORRECT COMMUNICATION
MITM ATTACK
EAVESDROPPING –
IMPERSONATION –
MISDELIVERY
EXPOSURE
MSG CAN BE EXPOSED AT ANY MOMENT BETWEEN ITS CREATION AND DISPOSAL
SOME POINTS OF MSG EXPOSURE:
TEMPORARY BUFFERS
SWITCHES / ROUTERS / GATEWAYS / INTERMEDIATE HOSTS
WORKSPACES OF PROCESSES THAT BUILD / FORMAT / PRESENT MSG
(INCLUDING OS AND APP PGMS)
MANY WAYS OF MSG EXPOSURE:
PASSIVE WIRETAPPING
INTERCEPTION BY IMPERSONATOR AT SOURCE / IN TRANSIT / AT DESTINATION
MERE EXISTENCE OF MSG (EVEN IF CONTENT UNKNOWN) CAN REVEAL STH IMPORTANT
E.G., HEAVY MSG TRAFFIC FORM ONE NODE IN A MILITARY NETWORK MIGHT INDICATE
IT’S HEADQUARTERS
1) MSG FABRICATION
2) NOISE
= UNINTENTIONAL INTERFERENCE
NOISE CAN DISTORT MSG
COMMUNICATION PROTOCOLS DESIGNED TO DETECT/CORRECT TRANSMISSION ERRORS
CORRECTED BY: 1. ERROR CORRECTING CODES
2. RETRANSMISSION
BUFFER OVERFLOWS
DOT-DOT ATTACKS
EXPLOITING APPLICATION CODE ERRORS
SERVER-SIDE INCLUDE
BUFFER OVERFLOWS
ATTACKER FEEDS PGM MUCH MORE DATA THAN IT EXPECTS (AS DISCUSSED)
IISHACK - BEST KNOWN WEB SERVER BUFFER OVERFLOW PROBLEM
PROCEDURE EXECUTING THIS ATTACK IS AVAILABLE
DOT-DOT ATTACKS
SOURCE OF PROBLEM:
WEB SERVER MAY HAVE K*1,000 TRANSACTIONS AT A TIME
MIGHT USE PARAMETER FIELDS (APPENDED TO URL) TO KEEP TRACK OF TRANSACTION
STATUS
EXAMPLE: EXPLOITING INCOMPLETE MEDIATION IN APP (CF. EARLIER)
URL GENERATED BY CLIENT’S BROWSER TO ACCESS WEB SERVER, E.G.:
HTTP://WWW.THINGS.COM/ORDER/FINAL&CUSTID=101&PART=555A&QY=20&PRICE=10&SHIP=BOAT&SH
IPCOST=5&TOTAL=205
INSTEAD, USER EDITS URL DIRECTLY, CHANGING PRICE AND TOTAL COST AS FOLLOWS:
HTTP://WWW.THINGS.COM/ORDER/FINAL&CUSTID=101&PART=555A&QY=20&PRICE=1&SHIP=BOAT&SHI
PCOST=5&TOTAL=25
USER SENDS FORGED URL TO WEB SERVER
THE SERVER TAKES 25 AS THE TOTAL COST
SERVER-SIDE INCLUDE
EXAMPLE
OPEN TELNET SESSION FROM SERVER (WITH SERVER’S PRIVILEGES)
<!-#EXEC CMD=/”USR/BIN/TELNET &”->
INCLUDES:
PACKET-DROPPING ATTACKS (INCL. BLACK HOLE ATTACKS)
DNS ATTACKS
CONNECTION FLOODING
ECHO-CHARGEN ATTACK
ATTACK SCENARIO:
STAGE 1:
ATTACKER PLANTS TROJANS ON MANY TARGET MACHINES
TARGET MACHINES CONTROLLED BY TROJANS BECOME ZOMBIES
STAGE 2:
ATTACKER CHOOSES VICTIM V, ORDERS ZOMBIES TO ATTACK V
EACH ZOMBIE LAUNCHES A SEPARATE DOS ATTACK
ACTIVE CODE / MOBILE CODE = CODE PUSHED BY SERVER S TO A CLIENT C FOR EXECUTION ON
C
WHY S DOESN’T EXECUTE ALL CODE ITSELF? FOR EFFICIENCY.
EXAMPLE: WEB SITE WITH ANIMATION
IMPLEMENTATION 1 — S EXECUTING ANIMATION
EACH NEW ANIMATION FRAME MUST BE SENT FROM S TO C FOR DISPLAY ON C
USES NETWORK BANDWIDTH
IMPLEMENTATION 2 — S SENDS ANIMATION CODE FOR EXECUTION TO C
C EXECUTES ANIMATION
EACH NEW ANIMATION FRAME IS AVAILABLE FOR DISPALY LOCALLY ON C
COOKIES
= DATA OBJECT SENT FROM SERVER S TO CLIENT C THAT CAN CAUSE UNEXPECTED DATA
TRANSFERS FROM C TO S
NOTE: COOKIE IS DATA FILE NOT REALLY ACTIVE CODE!
COOKIES TYPICALLY ENCODED USING S’S KEY (C CAN’T READ THEM)
TYPES OF COOKIES:
1) PER-SESSION COOKIE
2) STORED IN MEMORY, DELETED WHEN C’S BROWSER CLOSED
3) PERSISTENT COOKIE
4) STORED ON DISK, SURVIVE TERMINATION OF C’S BROWSER
COOKIE CAN STORE ANYTHING ABOUT CLIENT C THAT BROWSER RUNNING ON C CAN
DETERMINE, INCLUDING:
USER’S KEYSTROKES
MACHINE NAME AND CHARACTERISTICS
CONNECTION DETAILS (INCL. IP ADDRESS)