100M pakietów na sekundę czyli jak radzić sobie z atakami DDoS Przemysław Frasunek 24 listopada 2016 r.
DDoS? DDoS - skoordynowany, rozproszony atak system teleinformatyczny Zazwyczaj prowadzony przez botnet złożony z setek tysięcy zainfekowanych komputerów innych urządzeń IP (routery, kamery CCTV, drukarki itp.) Celem ataku może być dowolny podmiot, którego działalność wymaga dostępu do Internetu Prosty, tani, skuteczny Dostępny jako usługa (CaaS), nie trzeba być specjalistą Przystępny cenowo Cel ataku jest przeciążony i przestaje działać (strona, łącze, serwery) Nie wiadomo, kto stoi za atakiem
Skala problemu (1)
Skala problemu (2) 2013 r. upowszechnienie ataków typu reflected 2016 r. upowszechnienie ataków z botnetówiot IX 2016: 660 Gb/s ataku na blog Briana Krebsa IX 2016: 1000 Gb/s sumy jednoczesnych ataków wewnątrz sieci OVH X 2016: 1200 Gb/s ataku na Dyn (DNS), awaria wpływa na serwisy m.in. Netflix, Paypal, Spotify, Twitter
Dominacja ataków infrastrukturalnych źródła: Akamai 2016Q3 report Verisign 2016Q2 report
Pytania do firmowego IT i do ISP Co się stanie z naszą bieżącą działalnością, jeśli otrzymamy 10, 20, 100 gigabitów na sekundę ataku DDoS? Czy separacja urządzeń internetowych od sieci technologicznych jest pełna? Jaką pojemność ma zastosowane rozwiązanie anty DDoS lokalne lub u operatora? Czy blokada ataku polega po prostu na zablokowaniu celu ataku? (blackholing)
Crime as a service (CaaS)
100G na PC dlaczego to takie trudne? Aby uzyskać 14,8 mln pakietów na sekundę (port 10Gb/s) potrzebujemy: 1277 ns na duży pakiet ~67,2 ns na mały pakiet daje to w uproszczeniu (pomijając zrównoleglanie) około 200 cykli jednego rdzenia współczesnego 3GHz CPU Dla porównania: L2 cache: ~4 ns, L3 cache: ~8 ns atomic lock+unlock: 16 ns cache miss: ~32ns syscall: 50 100 ns (uwaga na wpływ SELinux)
redguardian (1) Bardzo wydajny filtr pakietów rozwijany przez Atende Software od 2015 r. zastosowanie biblioteki Intel DPDK wykorzystanie mechanizmów dostępnych w nowych CPU Intela (AVX2, DDIO, CAT) wydajność 100M pps (> 100 Gbps) na pojedynczym serwerze klasy PC skalowanie liniowe przez partycjonowanie ruchu klasyfikacja ruchu wg nagłówków IP/TCP/UDP klasyfikacja wg payloadu filtry stanowe rate limiter interfejs do samplingu (PCAP)
redguardian (2) Regularny profiling i testy regresyjne #50 test_gre.testgre.test_frag_after_df... passed #51 test_gre.testgre.test_frag_after_large... passed #52 test_gre.testgre.test_frag_after_small... passed #53 test_gre.testgre.test_frag_before_clear_df... passed #54 test_gre.testgre.test_frag_before_df... passed [ ] #121 test_statefilter.teststatefilter.test_hash_dnsid... passed #122 test_statefilter.teststatefilter.test_hash_srcip... passed #123 test_statefilter.teststatefilter.test_hash_srcport... passed #124 test_statefilter.teststatefilter.test_make_tcp_reset... passed
redguardian w akcji Reflected DNS Flood 123031 2468.332598000 189.23.146.130 -> x DNS 200 Standard query response 0xe873 MX 5 hormel.cpsc.gov MX 5 stagg.cpsc.gov TXT[Unreassembled Packet] 123035 2468.332848000 189.23.146.130 -> x DNS 200 Standard query response 0xe873 MX 5 stagg.cpsc.gov MX 5 hormel.cpsc.gov TXT[Unreassembled Packet] 123038 2468.332977000 89.179.69.140 -> x DNS 200 Standard query response 0x1458 A 63.74.109.2 DNSKEY[Unreassembled Packet] 123044 2468.333063000 109.172.131.19 -> x DNS 194 Standard query response 0xca41 NS auth61.ns.uu.net SOA auth00.ns.uu.net NS auth00.ns.uu.net 123047 2468.360474000 109.172.2.110 -> x DNS 200 Standard query response 0x1458 DNSKEY[Unreassembled Packet] 123048 2468.360500000 115.42.166.98 -> x DNS 200 Standard query response 0x1458 NS auth61.ns.uu.net NS auth00.ns.uu.net MX 5 hormel.cpsc.gov MX 5 stagg.cpsc.gov TXT[Unreassembled Packet] 123055 2468.360793000 77.122.99.234 -> x DNS 200 Standard query response 0x1458 DNSKEY[Unreassembled Packet]
Modele wdrożeniowe BGP scrubbing center przejęcie ruchu przychodzącego, odbiór tunelem Lokalne scrubbing center dosył i odbiór ruchu dedykowanym łączem Licencja/on-premises wdrożenie u klienta na sprzęcie własnym lub dostarczonym testowane u jednego z krajowych ISP
Koncepcja budowy narodowego scrubbing center Możliwość budowy narodowego/branżowego scrubbing center przeznaczonego do ochrony administracji publicznej i operatorów infrastruktury krytycznej Podział kosztów zakupu infrastruktury i utrzymania portów w IX Model realizowany w Holandii, przez stowarzyszenie zrzeszające ISP Możliwość wykorzystania tanich i wydajnych mechanizmów filtrowania ruchu
Przyszłość Wzrost liczebności botnetów IoT (źródła Mirai upubliczniono), miliony zapomnianych, nie aktualizowanych urządzeń Wybór ataków w IP streserach zwiększy się Próby odcinania największych firm oraz całych krajów Bez szeroko zakrojonej współpracy i koordynacji na poziomie kraju nie uda się wygrać z tym problemem
Dziękuję za uwagę