ݺߣ

ݺߣShare a Scribd company logo
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ów IoT
• 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ę

More Related Content

100Mpps czyli jak radzić sobie z atakami DDoS?

  • 1. 100M pakietów na sekundę czyli jak radzić sobie z atakami DDoS Przemysław Frasunek 24 listopada 2016 r.
  • 2. 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
  • 4. Skala problemu (2) • 2013 r. – upowszechnienie ataków typu reflected • 2016 r. – upowszechnienie ataków z botnetów IoT • 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
  • 5. Dominacja ataków infrastrukturalnych źródła: • Akamai 2016Q3 report • Verisign 2016Q2 report
  • 6. 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)
  • 7. Crime as a service (CaaS)
  • 8. 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)
  • 9. 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)
  • 10. 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
  • 11. 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]
  • 12. 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
  • 13. 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
  • 14. 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