lab 8: firewalls & intrusion detec6on systems
TRANSCRIPT
Lab8:Firewalls&IntrusionDetec6onSystems
FengweiZhang
WayneStateUniversity CSC5991CyberSecurityPrac6ce 1
Firewall&IDS• Firewall
– Adeviceorapplica6onthatanalyzespacketheadersandenforcespolicybasedonprotocoltype,sourceaddress,des6na6onaddress,sourceport,anddes6na6onport.Packetsthatdonotmatchpolicyarerejected
• IntrusionDetec6onSystem(IDS)– Adeviceorapplica6onthatanalyzeswholepackets,bothheaderand
payload,lookingforknownevents.Whenaknowneventisdetected,alogmessageisgarneteddetailingtheevent
• IntrusionPreventSystem(IPS)– Adeviceorapplica6onthatanalyzeswholepackets,bothheaderand
payload,lookingforknownevents.Whenaknowneventisdetected,thepacketisrejected
• Moderndevicescombinesallofthesefunc6onsinasingledevice/applica6on(SmartFirewall)
WayneStateUniversity CSC5991CyberSecurityPrac6ce 2
TypesofIDS
• Host-basedIDS(HIDS)– Installedlocallyonmachines– Monitoringlocalusersecurity– Monitoringprogramexecu6on– Monitoringlocalsystemlogs
• Network-basedIDS(NIDS)– Sensorsareinstalledonthenetwork– Monitornetworkac6vity(deeppacketinspec6on)
WayneStateUniversity CSC5991CyberSecurityPrac6ce 3
TypesofNetwork-basedIDS
• Signature-basedIDS– Comparesincomingpacketswithknownsignatures
– E.g.,Snort,Bro,Suricata• Anomaly-basedIDS– Leansthenormalbehaviorofthesystem– Generatesalertsonpacketsthataredifferentformthenormalbehavior
WayneStateUniversity CSC5991CyberSecurityPrac6ce 4
Signature-basedIDS
• An6-virustools• Problems– “Zero-day”a`acks– Polymorphica`acks
WayneStateUniversity CSC5991CyberSecurityPrac6ce 5
Anomaly-basedIDS
• Anomaly-basedIDSiscapableofiden6fying“Zero-day”a`acks
• Problems– Highfalseposi6verates– Labeledtrainingdata
WayneStateUniversity CSC5991CyberSecurityPrac6ce 6
IDSEvalua6onMetrics• TruePosi6ves(TP)
– Hit:Agenuinea`ackisdetected• TrueNega6ves(TN)
– Correctrejec6on:Benigntrafficiden6fiedasbenign• FalsePosi6ves(FP)
– Falsealarm:Harmlessbehaviorismisclassifiedasana`ack• Falsenega6ves(FN)
– Miss:Agenuinea`ackisnotdetected
• Anintrusiondetec6onsystemis:– Accurate:ifitdetectsallgenuinea`acks– Precise:ifitneverreportslegi6matebehaviorasana`ack
WayneStateUniversity CSC5991CyberSecurityPrac6ce 7
IDSEvalua6onMetrics
• Thetrueposi6ve(hit)rateis:TP/(TP+FN)– TPisthenumberofthetrueposi6ves– FNisthenumberofthefalsenega6ves
• Thefalseposi6ve(falsealarm)rate:FP/(FP+TN)– FPisthenumberofthefalseposi6ves– TNisthenumberofthetruenega6ves
WayneStateUniversity CSC5991CyberSecurityPrac6ce 8
IDSEvalua6onMetrics
• Anundetecteda`ackmightleadtosevereproblems;frequentfalsealarmscanleadtothesystembeingdisabledorignored.AperfectIDSwouldbebothaccurateandprecise
• Supposethatonly1%oftrafficareactuallya`acks;thedetec6onaccuracyofyourIDSis90%;thefalseposi6verateis10%
• Ifyouhaveanalarm,whatisthechancethatitisafalsealarm?
WayneStateUniversity CSC5991CyberSecurityPrac6ce 9
IDSEvalua6onMetrics• Supposethatonly1%oftrafficareactuallya`acks
– 1000events:990benign(falsealarmorcorrectrejec6on);10a`acks(hitormiss)
• Thedetec6onaccuracyofyourIDSis90%– Trueposi6verate(hitaccuracy):90%– Trueposi6venumber:(TP+FN)*TPR=10*90%=9truealarms
• Thefalseposi6verateis10%– Falseposi6verate:10%– Falseposi6venumber:(FP+TN)*FPR=990*10%=99falsealarms
• P(a`acks/alarms)=9/(9+99)=0.083333• Thereisapproximately92%chancethataraisedalarmis
false
WayneStateUniversity CSC5991CyberSecurityPrac6ce 10
Snort
• Signature-basedIDS• CanberunasIPSorIDS• Firstreleasedin1997buts6llupdatedandmaintainedtoday
• LatestversionSnort2.9.8.2
WayneStateUniversity CSC5991CyberSecurityPrac6ce 11
SnortRules
alerttcp$EXTERNAL_NETany->$HOME_NETany(msg:"SCANSYNFIN";flags:SF;reference:arachnids,198;classtype:a`empted-recon;sid:624;rev:1;)ruleheader(ruleop6ons)
WayneStateUniversity CSC5991CyberSecurityPrac6ce 12
SnortRuleHeader
WayneStateUniversity CSC5991CyberSecurityPrac6ce 13
alerttcp$EXTERNAL_NETany->$HOME_NETany(msg:"SCANSYNFIN";flags:SF;reference:arachnids,198;classtype:a`empted-recon;sid:624;rev:1;)alerttcp$EXTERNAL_NETany->$HOME_NETany
ac6on protocol
SrcIP SrcPort
Direc6on
DstIP DstPort
SnortRuleHeaderAc6on
WayneStateUniversity CSC5991CyberSecurityPrac6ce 14
alerttcp$EXTERNAL_NETany->$HOME_NETany(msg:"SCANSYNFIN";flags:SF;reference:arachnids,198;classtype:a`empted-recon;sid:624;rev:1;)alerttcp$EXTERNAL_NETany->$HOME_NETany
ac6on protocol
1. alert:Alertsandlogsthepacketwhentriggered.2. log:Onlylogsthepacketwhentriggered.3. pass:Ignoresordropsthepacketortrafficmatching.4. ac0vate:Alertsthenac6vatesadynamicruleorrules.5. dynamic:Ignores,un6lstartedbytheac6vaterule,atwhich6me,actsasalogrule.6. drop:blockandlogthepacket7. reject:blockthepacket,logit,andthensendaTCPresetiftheprotocolisTCPoranICMPport
unreachablemessageiftheprotocolisUDP.8. sdrop:blockthepacketbutdonotlogit.
protocol
SrcIP SrcPort
Direc6on
DstIP DstPort
SnortRuleHeaderProcotol
WayneStateUniversity CSC5991CyberSecurityPrac6ce 15
alerttcp$EXTERNAL_NETany->$HOME_NETany(msg:"SCANSYNFIN";flags:SF;reference:arachnids,198;classtype:a`empted-recon;sid:624;rev:1;)alerttcp$EXTERNAL_NETany->$HOME_NETany
ac6on protocol
SrcIP SrcPort
Direc6on
DstIP DstPort
Protocols:TCP,UDP,ICMP,andIPFuturemayinclude:ARP,IGRP,GRE,OSPF,RIP,IPX,etc.
SnortRuleHeaderIP
WayneStateUniversity CSC5991CyberSecurityPrac6ce 16
alerttcp$EXTERNAL_NETany->$HOME_NETanyalerttcp192.168.1.0/24any->192.168.1.0/241:1024alerttcp![192.168.1.0/24,10.1.1.0/24]any->192.168.1.44
SrcIP SrcPort DstIP DstPort
• $EXTERNAL_NETisaconfigvaluesetinsnort.conf• IPisspecifiedalsoasdo`ednota6onwithCIDRmasks.
“any”isalsovalid• !isthenega6onoperator• Mul6pleIPspecifica6onscanbeincludedusingsquare
brackets[]andcomma-separa6ng.Donotaddspaces
SnortRuleHeaderPort
WayneStateUniversity CSC5991CyberSecurityPrac6ce 17
alerttcp$EXTERNAL_NETany->$HOME_NETanyalerttcp192.168.1.0/24any->192.168.1.0/241:1024alerttcp![192.168.1.0/24,10.1.1.0/24]any->192.168.1.44
SrcIP SrcPort DstIP DstPort
Portcanbespecifiedas:any--anyport1:1024--ports1to1024inclusive55:--ports55andhigher:55--ports0to55(inclusive)
nega6ons6llworks:
!6000:6001 -matchesanyportexcept6000and6001
SnortRuleHeaderDirec6on
WayneStateUniversity CSC5991CyberSecurityPrac6ce 18
alerttcp$EXTERNAL_NETany->$HOME_NETanyalerttcp192.168.1.0/24any->192.168.1.0/241:1024alerttcp![192.168.1.0/24,10.1.1.0/24]any->192.168.1.44
SrcIP SrcPort DstIP DstPort
Direc6oncanbespecifiedas:-> FromrightIP/Port(source)toleyIP/Port(des6na6on)<> Anydirec6onNote:<-doesnotexist…sothesnortrulesalwaysreadconsistently.
SnortRuleOp6on
WayneStateUniversity CSC5991CyberSecurityPrac6ce 19
alerttcp$EXTERNAL_NETany->$HOME_NETany\(msg:"SCANSYNFIN";flags:SF;reference:arachnids,198;\classtype:a`empted-recon;sid:624;rev:1;)name:value;
msg:<samplemessage> Logsmessageinto/var/snort/logflags:<AFPRSU210> MatchesspecificTCPflagscontent:<text> Matchesspecifiedtextinpacketcontent:|<hexadecimal>|Matchesspecifiedhexcharssid:<snortID> Uniquenumbertoiden6fyruleseasily.Yourrules
shoulduseSIDs>1,000,000rev:<revision#> Rulerevisionnumberreference:<ref> Wheretogetmoreinfoabouttherulegid:<generatorID> Iden6fieswhichpartofSnortgeneratedthealert.
See/etc/snort/gen-msg.mapforvalues