security b-sides warsaw 2014 - network security treasures - gawel mikolajczyk
DESCRIPTION
Network Security Treasures - Profiling, Application Visibility and Control, OpenAppID, Indicators of Compromise, OpenIoC.TRANSCRIPT
Network Security Treasures
Gaweł Mikołajczyk [email protected]
Security B-Sides, 11 października 2014, Warszawa
Cisco Public 2© 2014 Cisco and/or its affiliates. All rights reserved.
http://www.slideshare.net/gmikolaj/security-bsides-warsaw-2012-bezpieczenstwo-ipv6-gawel-mikolajczyk
• Bezpieczeństwo IPv6
• Rekonesans IPv6
• IPv6 i IPSec
• Address Glean
• IPv6 Source Guard
• IPv6 RA Guard
• SLAAC
• CGA
• IPv6 DAD
• SeND
• IPv6 IPS
Październik 2012
Cisco Public 3© 2014 Cisco and/or its affiliates. All rights reserved.
http://www.slideshare.net/gmikolaj/security-bsides-warsaw-2013-masywna-telemetria-netflow-jest-masywna-gawel-mikolajczyk
• Kill Chain
• Widoczność w sieci
• Netflow v5/v9, IPFIX
• Sieciowa Analiza Śledcza
• Kolekcja flowów
• Flow stitching z NAT/PAT
• Deduplikacja danych
• Cisco CSIRT
• Identyfikacja rekonesansu
• Propagacja malware
• Wykrywanie C&C
• Detekcja wycieku danych
• Wizualizacja (D)DoS
Październik 2013
Cisco Public 4© 2014 Cisco and/or its affiliates. All rights reserved.
Ataki - od cebuli do karczocha
Hasła
Bazy danych
Buffer Overflows
Urządzenia sieciowe
Aplikacje Webowe
Ataki Client-side
SSL Heartbleed
Bash Shellshock
SSL Heartbleed
Urządzenia mobilne
Cisco Public 5© 2014 Cisco and/or its affiliates. All rights reserved.
Dlaczego nie cebula?
• Typowe podejście „cebulowe” działało od dawna i dzisiaj również ma pewne zastosowanie
• Ataki były od zawsze skoncentrowane na danych
• Atakujący „jeżdżą” po liściach karczocha
• Brzeg sieci jest rozmyty, SaaS, usługi w Chmurze – robi się coraz trudniej
Passwords
Databases
Buffer Overflows
Network Devices
Web Applications
Client-side Attacks
Bezpieczeństwo buduje się z warstw, które nie zawsze się nakładają!
Cisco Public 6© 2014 Cisco and/or its affiliates. All rights reserved.
Widoczność i kontekst
Firewall
NGFW
NAC + usługi Identity
VPN
UTM
NGIPS
Web Security
Email Security
Advanced Malware Protection
Behawioralna analiza sieciowa
Z portfolio zasobnego bezpiecznika
PRZEDKontrola
WymuszenieWzmocnienie
POOkreślenie
zakresu Remediacja
Cykl ataku/obrony
WykrycieBlokowanie
Obrona
W TRAKCIE
Incident Response
Cisco Public 7© 2014 Cisco and/or its affiliates. All rights reserved.
Cisco Public 8© 2014 Cisco and/or its affiliates. All rights reserved.
Proporcja users/devices się zmienia
Sytuacja wymyka się spod kontroli!
Cisco Public 9© 2014 Cisco and/or its affiliates. All rights reserved.
Przykładowe atrybuty kolekcjonowanie przez profilerRADIUS DHCP
IP
SNMP NMAP
LLDP
CDPMAC NetFlow
Niektóre atrybuty są ciekawsze od innych
Cisco Public 10© 2014 Cisco and/or its affiliates. All rights reserved.
Polityka profilowania urządzeń• Zestaw warunków dla identyfikacji urządzenia
Czy MAC Address od Apple
DHCP:host-nameCONTAINS iPad
IP:User-AgentCONTAINS iPad
Biblioteka profilera
Przypisz ten MAC Address do
Grupy “iPad”
Jestem dość pewien, że to
iPad
Cisco Public 11© 2014 Cisco and/or its affiliates. All rights reserved.
Biblioteka znanych urządzeń
Cisco Public 12© 2014 Cisco and/or its affiliates. All rights reserved.
HTTP Probe – pozyskujemy informacje z ruchu webPrzykładowa topologia dla profilowania urządzeń końcowych
12
Cisco Public 13© 2014 Cisco and/or its affiliates. All rights reserved.
Cisco Public 14© 2014 Cisco and/or its affiliates. All rights reserved.
Snort 2.9.7RC – 8 października 2014!
Cisco Public 15© 2014 Cisco and/or its affiliates. All rights reserved.
Snort® jest systemem open source IDS/IPS
Silnik Snort
Język reguł Snort
Stworzony przez Marty’ego Roescha w 1998, założyciela Sourcefire
7 października 2013, Cisco dokonało akwizycji Sourcefire
Snort łączy w sobie inspekcję sygnaturową, protokołów i anomalii
Najpopularniejszy silnik IPS/IDS na świecie
400,000 zarejestrowanych użytkowników na http://snort.org/
De facto standard branży IPS
Krótka historia Snort
Cisco Public 16© 2014 Cisco and/or its affiliates. All rights reserved.
Dekoder pakietów Pakiety są dekodowane z użyciem Data
Acquisition library (DAQ) m.in. afpacket
Dekodowanie protokołów L2, L3, L4
Preprocesory Analiza, modyfikacja, normalizacja
pakietów
Silnik detekcji Reguły Snort dla tworzenia sygnatur –
wykrywanie ataków
Modularność
Architektura Snortnetwork
Packet Decoder
Alert and log files
Preprocessors
Detection Engine
Logging and Alerting System
----------------------Output Modules
DAQ libraries
Cisco Public 17© 2014 Cisco and/or its affiliates. All rights reserved.
AppID jest preprocesorem Snort
Open Source Application Visibility And Control (AVC) Identyfikuje protokół aplikacyjny i generuje atrybuty appid
Obecnie 3800+ definicji protokołów i aplikacji sieciowych
Wykorzystuje preprocesor HTTP dla ekstrakcji nagłówków
Generuje statystyki aplikacji w formacie Uniform2
Plik statystyk można czytać ( u2openappid | u2spewfoo )
Można forwardować do serwera Syslog (u2streamer)
Raporty i nazwy aplikacji w zdarzeniach IPS
Blokowanie aplikacji
Kreacja własnych detektorów aplikacji z użyciem języka Lua
OpenAppID – duża innowacja w Snort
Cisco Public 18© 2014 Cisco and/or its affiliates. All rights reserved.
Next-Generation FW (NFGW) = FW + AVC + IPS
Budujemy Next-Generation Firewall z użyciem OpenAppID
https://www.youtube.com/watch?v=xXAYEimXp8A
Cisco Public 19© 2014 Cisco and/or its affiliates. All rights reserved.
Cisco Public 20© 2014 Cisco and/or its affiliates. All rights reserved.
Mam informacje z NBAR@Potrzebuję tożsamości
Mam logi z firewalla!Potrzebuję tożsamości
Mam zdarzenia bezpieczeństwa!Potrzebuję reputacji!
Mam netflow!Potrzebuję uprawnień
Mam informacje o reputacji!Potrzebuję info o zagrożeniach
Mam dane MDM!Potrzebuję lokalizacji
Mam informacje o aplikacjach!Porzebuję kondycji bezpieczeństwa
Mam tożsamość i rozpoznane urządzenie Potrzebuję informacji o podatnościach
Znam aplikacjePotrzebuję lokalizację i grupę
Mam info o zagrożeniach!Potrzebuję reputacji
Znam lokalizację!Potrzebuję tożsamości
SIO
WłasnościoweAPI nie są
rozwiązaniem
Współ-dzieleniedanych
Cisco Public 21© 2014 Cisco and/or its affiliates. All rights reserved.
SIO
Pojedynczny i skalowalny framework
pxGridDzieleniekontekstu
Cisco Public 22© 2014 Cisco and/or its affiliates. All rights reserved.
Architektura pxGrid
Grid Publish
SF-IPS*
WSA*
Cyber
Threat
Defense*
Grid
Subscribe
ISE
Uwierzytelnienie certyfikatemUwierzytelnienie certyfikatem
* Na roadmapie
Cisco Public 23© 2014 Cisco and/or its affiliates. All rights reserved.
pxGrid dla ochrony przed zagrożeniami z SIEM/TD
Przypadek użycia: dynamiczna reautoryzacja użytkownika generującego zagrożenie
PlatformaSIEM/TD
Policy: Użytkownik generuje ataki,
infekcja malware, DoS, flood, inne
niepożądane aktywności
Context: Współdzielenie z platformą SIEM
USER : DEVICE TYPE : CONN STATUS
pxGridController
Kwarantanna/RemediacjaRuchu użytkownika
Cisco Public 24© 2014 Cisco and/or its affiliates. All rights reserved.
Implementacja – aplikacja pxLog
Cisco Public 25© 2014 Cisco and/or its affiliates. All rights reserved.
Aplikacja pxLog – Konfiguracja
Sep 8 10:42:13 snort snort[9690]: [1:100124:0] ALERT {ICMP} 10.221.0.240 -> 10.222.0.61
Cisco Public 26© 2014 Cisco and/or its affiliates. All rights reserved.
pxLog – reguły autoryzacji
Cisco Public 27© 2014 Cisco and/or its affiliates. All rights reserved.
pxLog – Integracja z systemami IPS• Cisco ASA inspection
• Aug 12 2014 14:36:20: %ASA-5-415006: HTTP - matched Class 23: MS13-025_class in policy-map MS_Mar_2013_policy, URI matched - Dropping connection from inside:192.168.60.88/2135 tooutside:192.0.2.63/80
• Cisco Sourcefire NGIPS
• Aug 28 19:46:19 IDS01 SFIMS: [CA IDS][Policy1][119:15:1] http_inspect: OVERSIZE REQUEST-URI DIRECTORY [Classification: Potentially Bad Traffic] [Priority: 2] {TCP} 10.12.253.47:55504 -> 10.15.224.60:80
• Juniper JunOS
• Jul 16 10:09:39 JuniperJunOS: asp[8265]: ASP_IDS_TCP_SYN_ATTACK: asp 3: proto 6 (TCP), ge-0/0/1.0 10.60.0.123:2280 -> 192.168.1.12:80, TCP SYN flood attack
• Linux iptables
• Jun 15 23:37:33 netfilter kernel: Inbound IN=lo OUT= MAC=00:13:d3:38:b6:e4:00:01:5c:22:9b:c2:08:00 src=10.0.0.1 DST=10.0.0.100 LEN=60 TOS=0x10 PREC=0x00 TTL=64 ID=47312 DF PROTO=TCP SPT=40945 DPT=3003 WINDOW=32767 RES=0x00 SYN URGP=0
• Freebsd ipfw
• Sep 7 15:03:14 delta ipfw: 11400 Deny UDP 10.61.216.50 10.81.199.2 in via fxp0 (frag 52639:519@1480)
Cisco Public 28© 2014 Cisco and/or its affiliates. All rights reserved.
pxLog – sesja 802.1X
Cisco Public 29© 2014 Cisco and/or its affiliates. All rights reserved.
pxLog – atak i kwarantanna
Regułka snort: alert icmp any any -> any any (itype:8; ttl: 6; sid:100124)Log odebrany przez pxLog:Sep 8 10:42:13 snort snort[9690]: [1:100124:0] ALERT {ICMP} 10.221.0.240 -> 10.222.0.61
Cisco Public 30© 2014 Cisco and/or its affiliates. All rights reserved.
pxLog – atak i kwarantanna po stronie serwera RADIUS
Cisco Public 31© 2014 Cisco and/or its affiliates. All rights reserved.
pxLog – atak i kwarantanna – przełącznik
Cisco Public 32© 2014 Cisco and/or its affiliates. All rights reserved.
Cisco Public 33© 2014 Cisco and/or its affiliates. All rights reserved.
„w analizie śledczej – IoC jest artefaktem, którego detekcja na poziomie sieci lub systemu operacyjnego, daje nam wysokie prawdopodobieństwo, że nastąpiła kompromitacja”
Indicators of Compromise – czym są?
http://en.wikipedia.org/wiki/Indicator_of_compromise
IPS Events
Malware Backdoors
CnCConnections
Exploit KitsAdmin Privilege
Esclations
Web App Attacks
SI Events
Connections to Known CnC IPs
Malware Events
Malware Detections
Malware Executions
Office/PDF/Java Compromises
Dropper Infections
Cisco Public 34© 2014 Cisco and/or its affiliates. All rights reserved.
Cykl życiowy IR z użyciem IoC
Cisco Public 35© 2014 Cisco and/or its affiliates. All rights reserved.
Projekt open source Mandiant Pozwala Analitykom Incident Response kreować własne detekcje Składnia XML, ponad 500 atrybutów do dyspozycji
http://openioc.org/terms/Current.iocterms
Definicja IoC to wyrażenie logiczne z użyciem atrybutów np.: (klucz w rejestrze AND nazwa pliku) OR (zdarzenie w logach)
Testowe IoCs dla detekcji Stuxnet, Zeus, Duqu
Wymiana wiedzy w społecznościach, np. https://www.iocbucket.com/
Wprowadzenie do OpenIoC
(File MD5 is A35930B93D3057493EF3567395BC3C0F) || (Network DNS contains mybaddomain.net) || ((File Name is asdf.exe) && ((File Size is 35343) || (File Compile Time is 2008-09-29T00:24:05Z))) || ((Service Name is svc24) && (Service DLL contains svc24_log.dll))
Cisco Public 36© 2014 Cisco and/or its affiliates. All rights reserved.
Zastosowanie IoC – zdarzenia w sieci
Cisco Public 37© 2014 Cisco and/or its affiliates. All rights reserved.
Zastosowanie IoC – zdarzenia na hostach
Chmura FireAMP
Konektory FireAMP dla Windows
1
4
32 Zdarzenia w konsoli GUI
IoC• własne• wspólne
Dziękuję[email protected]