my background
play

My Background Ph.D. at Carnegie Mellon University Research - PDF document

2/17/15 Introduc)on to Security The Role of Data Science Prof. Tudor Dumitra Assistant Professor, ECE University of Maryland, College Park


  1. 2/17/15 ¡ Introduc)on ¡to ¡Security ¡ The ¡Role ¡of ¡Data ¡Science ¡ Prof. ¡Tudor ¡Dumitraș ¡ Assistant ¡Professor, ¡ECE ¡ University ¡of ¡Maryland, ¡College ¡Park ¡ http://www.umiacs.umd.edu/~tdumitra/ ¡ About ¡Me ¡ Tudor ¡Dumitraș ¡ Office: ¡AVW ¡3425 ¡ Email: ¡ tdumitra@umiacs.umd.edu ¡ 2 ¡ 1 ¡

  2. 2/17/15 ¡ My ¡Background ¡ • Ph.D. ¡at ¡Carnegie ¡Mellon ¡University ¡ – Research ¡in ¡distributed ¡systems ¡and ¡fault-­‑tolerant ¡middleware ¡ • Worked ¡at ¡Symantec ¡Research ¡Labs ¡ – Built ¡WINE ¡plaUorm ¡for ¡Big ¡Data ¡experiments ¡in ¡security ¡ – WINE ¡currently ¡used ¡by ¡academic ¡researchers ¡and ¡ ¡ Symantec ¡engineers ¡ WINE ¡ • Joined ¡UMD ¡faculty ¡ • Research ¡and ¡teaching ¡on ¡applied ¡security ¡and ¡systems ¡ – Focus ¡on ¡solving ¡security ¡problems ¡with ¡data-­‑driven ¡techniques ¡ 3 ¡ Who ¡Can ¡You ¡Trust? ¡ ApplicaZon ¡ NFS ¡Server ¡ Request ¡ I ¡wonder ¡ what ¡Tudor’s ¡ O/S ¡ SSN ¡is ¡… ¡ O/S ¡ WorkstaZon ¡ Server ¡ Network ¡ channel ¡ Keyboard/display ¡ channel ¡ • Where ¡is ¡the ¡request ¡“from”? ¡ – The ¡user? ¡ ¡The ¡workstaZon? ¡ ¡The ¡applicaZon? ¡The ¡network ¡channel? ¡ ¡ All ¡of ¡the ¡above? ¡ – Which ¡of ¡these ¡actors ¡do ¡you ¡trust? ¡ 4 ¡ 2 ¡

  3. 2/17/15 ¡ Ken ¡Thompson ¡ ACM ¡Turing ¡Award, ¡1983 ¡ 5 ¡ “Reflec)ons ¡on ¡Trus)ng ¡Trust” ¡ • What ¡sodware ¡can ¡we ¡trust? ¡ • Example: ¡any ¡operaZng ¡system ¡includes ¡a ¡program ¡ ¡ checking ¡whether ¡users ¡are ¡allowed ¡to ¡log ¡in ¡ – "login" ¡or ¡"su" ¡in ¡Unix ¡ – Is ¡the ¡login ¡binary ¡from ¡Windows/Mac ¡OS/Ubuntu/etc. ¡trustworthy? ¡ – Does ¡it ¡send ¡your ¡password ¡to ¡someone? ¡ – Does ¡it ¡have ¡backdoor ¡for ¡a ¡“special” ¡remote ¡user? ¡ • Can't ¡trust ¡the ¡binary, ¡so ¡check ¡source ¡code ¡or ¡write ¡your ¡own, ¡ recompile ¡ • Does ¡this ¡solve ¡problem? ¡ 6 ¡ 3 ¡

  4. 2/17/15 ¡ “Reflec)ons ¡on ¡Trus)ng ¡Trust” ¡– ¡cont’d ¡ ¡ • Who ¡wrote ¡the ¡compiler? ¡ • Compiler ¡looks ¡for ¡source ¡code ¡that ¡looks ¡like ¡the ¡login ¡ process, ¡inserts ¡backdoor ¡into ¡it ¡ • Ok, ¡inspect ¡the ¡source ¡code ¡of ¡the ¡compiler… ¡ ¡Looks ¡good? ¡ ¡ Recompile ¡the ¡compiler! ¡ • Does ¡this ¡solve ¡the ¡problem? ¡ 7 ¡ “Reflec)ons ¡on ¡Trus)ng ¡Trust” ¡– ¡cont’d ¡ ¡ • The ¡UNIX ¡login ¡program ¡is ¡compiled ¡by ¡a ¡C ¡compiler ¡ – The ¡C ¡compiler ¡was ¡also ¡compiled ¡by ¡an ¡(older) ¡C ¡compiler ¡ • Aside: ¡how ¡does ¡the ¡compiler ¡handle ¡special ¡characters? ¡ ¡ … ¡ … ¡ c ¡= ¡next( ¡); ¡ ¡ c ¡= ¡next( ¡); ¡ ¡ if(c ¡!= ¡'\\') ¡ ¡ if(c ¡!= ¡'\\') ¡ ¡ ¡return(c); ¡ ¡ ¡return(c); ¡ ¡ c ¡= ¡next( ¡); ¡ ¡ c ¡= ¡next( ¡); ¡ ¡ if(c ¡== ¡'\\') ¡ ¡ if(c ¡== ¡'\\') ¡ ¡ ¡return('\\'); ¡ ¡ ¡return('\\'); ¡ ¡ if(c== ¡'n') ¡ ¡ if(c== ¡'n') ¡ ¡ ¡return('\n'); ¡ ¡ ¡return('\n'); ¡ ¡ In ¡future ¡versions ¡of ¡ ¡ if(c ¡== ¡'v') ¡ ¡ if(c ¡== ¡'v') ¡ ¡ the ¡compiler: ¡use ¡ ¡ ¡return(11); ¡ ¡ ¡return('\v'); ¡ ¡ the ¡special ¡character ¡ … ¡ … ¡ When ¡adding ¡a ¡new ¡special ¡character ¡to ¡the ¡ ¡ C ¡language, ¡must ¡specify ¡the ¡character ¡code ¡ 8 ¡ 4 ¡

  5. 2/17/15 ¡ “Reflec)ons ¡on ¡Trus)ng ¡Trust” ¡– ¡cont’d ¡ ¡ • The ¡compiler ¡is ¡wriken ¡in ¡C ¡… ¡ ¡ compiler(S) ¡{ ¡ ¡ ¡ ¡ ¡ ¡ ¡if ¡(match(S, ¡"login-­‑pattern")) ¡{ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡compile ¡(login-­‑backdoor) ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡return ¡ ¡ ¡ ¡ ¡ ¡ ¡} ¡ In ¡future ¡versions ¡of ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡if ¡(match(S, ¡"compiler-­‑pattern")) ¡{ ¡ the ¡compiler: ¡the ¡ ¡ backdoor ¡no ¡longer ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡compile ¡(compiler-­‑backdoor) ¡ appears ¡in ¡the ¡source ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡return ¡ code ¡ ¡ ¡ ¡ ¡ ¡ ¡} ¡ ¡ ¡ ¡ ¡ ¡ ¡.... ¡/* ¡compile ¡as ¡usual ¡*/ ¡ ¡ ¡ ¡} ¡ 9 ¡ “Reflec)ons ¡on ¡Trus)ng ¡Trust” ¡– ¡cont’d ¡ ¡ “ The ¡moral ¡is ¡obvious. ¡You ¡can't ¡trust ¡code ¡that ¡ ¡ you ¡did ¡not ¡totally ¡create ¡yourself. ¡(Especially ¡ ¡ code ¡from ¡companies ¡that ¡employ ¡people ¡like ¡me.) ” ¡ 10 ¡ 5 ¡

  6. 2/17/15 ¡ Desirable ¡Security ¡Proper)es ¡ • Confiden)ality : ¡informaZon ¡isn’t ¡disclosed ¡ • Integrity : ¡informaZon ¡isn’t ¡changed ¡ • Availability : ¡informaZon ¡can ¡be ¡accessed ¡ • Authen)city : ¡you ¡know ¡where ¡the ¡informaZon ¡comes ¡from ¡ • Access ¡control : ¡only ¡the ¡right ¡people ¡can ¡access ¡the ¡informaZon ¡ • Accountability ¡and ¡ non-­‑repudia)on : ¡people ¡who ¡modify ¡the ¡ informaZon ¡cannot ¡hide ¡who ¡they ¡are ¡ • Privacy : ¡personal ¡informaZon ¡cannot ¡be ¡accessed ¡by ¡others ¡ … ¡ 11 ¡ Correctness ¡versus ¡Security ¡ • System ¡ correctness : ¡system ¡saZsfies ¡specificaZon ¡ – For ¡reasonable ¡input, ¡get ¡reasonable ¡output ¡ • System ¡ security : ¡system ¡properZes ¡preserved ¡in ¡face ¡of ¡akack ¡ – For ¡unreasonable ¡input, ¡output ¡not ¡completely ¡disastrous ¡ • Main ¡difference: ¡ intelligent ¡adversary ¡trying ¡to ¡subvert ¡system ¡ and ¡to ¡evade ¡defensive ¡techniques ¡ ¡ 12 ¡ 6 ¡

  7. 2/17/15 ¡ What ¡Can ¡A\ackers ¡Do? ¡ • A\ack ¡targets : ¡clients, ¡servers, ¡networks, ¡applicaZons, ¡users ¡ • Example ¡ a\ack ¡methods : ¡ – End-­‑hosts ¡(or ¡devices) : ¡install ¡malware ¡ – LAN : ¡read, ¡replay, ¡insert, ¡delete, ¡block ¡messages ¡ – Internet : ¡send ¡spam, ¡conduct ¡distributed ¡denial ¡of ¡service ¡akacks ¡ – Applica)ons : ¡exploit ¡vulnerabiliZes ¡ – Data : ¡steal/corrupt ¡secret ¡data, ¡plant ¡invalid ¡data ¡ – Users : ¡conduct ¡social ¡engineering ¡akacks ¡ 13 ¡ Aside: ¡Is ¡Hardware ¡Secure? ¡ ¡ • Malicious ¡device ¡firmware ¡ – Some ¡HW ¡funcZonality ¡is ¡actually ¡implemented ¡in ¡SW ¡ – Do ¡you ¡trust ¡device ¡firmware ¡to ¡come ¡from ¡legiZmate ¡vendor? ¡ – Is ¡firmware ¡free ¡of ¡vulnerabiliZes? ¡ ¡ • Malicious ¡hardware ¡ – HW ¡is ¡as ¡complex ¡as ¡SW ¡and ¡is ¡designed ¡using ¡SW ¡tools ¡ – Do ¡you ¡know ¡where ¡each ¡HW ¡component ¡comes ¡from? ¡ – Can ¡you ¡authenZcate ¡your ¡HW? ¡ 14 ¡ 7 ¡

  8. 2/17/15 ¡ Network ¡Stack ¡ Network ¡stack ¡ Phishing ¡akacks, ¡usability ¡ people ¡ Sendmail, ¡FTP, ¡NFS ¡bugs, ¡chosen-­‑ email, ¡Web, ¡NFS ¡ protocol ¡and ¡version-­‑rollback ¡akacks ¡ applicaZon ¡ RPC ¡ RPC ¡worms, ¡portmapper ¡exploits ¡ session ¡ TCP ¡ SYN ¡flooding, ¡RIP ¡akacks, ¡ transport ¡ sequence ¡number ¡predicZon ¡ IPv4 ¡/ ¡IPv6 ¡ IP ¡smurfing ¡and ¡other ¡ network ¡ address ¡spoofing ¡akacks ¡ 802.11 ¡ data ¡link ¡ WEP ¡akacks ¡ RF ¡ physical ¡ RF ¡fingerprinZng, ¡DoS ¡ Only ¡as ¡secure ¡as ¡the ¡single ¡weakest ¡layer ¡(or ¡interconnecZon ¡between ¡layers) ¡ 15 ¡ A\ack ¡Method ¡Examples ¡ • Malware ¡(malicious ¡sodware/firmware): ¡ ¡ – rootkits ¡ – bots ¡ – trojan ¡horses ¡ – spyware ¡ – worms ¡ – viruses ¡ ¡ – backdoors ¡… ¡ • Malware-­‑inser)on ¡methods ¡ – User ¡InteracZon/Social ¡Engineering ¡ – Incorrect ¡OS/ApplicaZon ¡ConfiguraZon ¡ – Compromised ¡OS/ApplicaZon ¡& ¡Vulnerability ¡ExploitaZon ¡ 16 ¡ 8 ¡

Recommend


More recommend