Александр Лямин, qratorlabs/hll
DESCRIPTION
HighLoad++ 2013TRANSCRIPT
Факты и цифры 2013 2012
Нейтрализовано атак: 5786 ↑ 3749
Среднее атак в день: 19 ↑ 10
Макс. в день: 151 ↑ 73
Средний ботнет: 1169 ↓ 2020
Макс. размер ботнета: 243247 ↑ 207401
Макс. длительность: 22 дня ↓ 83 дня
Spoofed атак: 57.97% ↑ 43.05%
Средняя доступность: 99.83% ↑ 99.71%
Распределение по отраслям 2012 3Q 2013 процент роста 12-13
Магические услуги 132.5 339.3 156%
Правительство 36.4 36.0 -1%
Интернет-магазины 28.7 30.8 7%
Купоны 23.7 49.0 107%
Недвижимость 23.5 50.5 115%
СМИ 22.5 22.7 1%
Биржи и Forex 22.1 117.5 431%
Инфо-услуги 21.0 26.0 24%
Платежные системы 20.9 41.0 97%
Игры и развлечения 19.2 22.6 18%
Сайты-визитки 11.8 16.0 36%
Банки 11.3 14.7 30%
Туристические фирмы 11.1 30.1 170%
Страховые компании 2.8 25.0 798%
Общий итог 24.8 33.3 34%
Гео-распределение
0,00%
1,00%
2,00%
3,00%
4,00%
5,00%
6,00%
7,00%
8,00%
9,00%
10,00%
VN
IN
IR
RU
KZ
ID
PH
TH
DE
MX
EG
PE
UA
TR
PK
US
CN
Скоростные атаки ( -UDP )
>= 1Gbps; 2,07%
< 1Gbps; 97,93%
Атаки по дням
0
20
40
60
80
100
120
140
160
1 янв 1 фев 1 мар 1 апр 1 май 1 июн 1 июл 1 авг 1 сен 1 окт 1 ноя 1 дек
2013
2012
Атаки по месяцам
0
200
400
600
800
1000
1200
1400
Январь Фебраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь
2013
2012
Атаки по типу
2012 2013
Full connect; 56,95%
Spoofed; 43,05% Full connect;
42,03%
Spoofed; 57,97%
Spoofed атаки по месяцам
0,00%
10,00%
20,00%
30,00%
40,00%
50,00%
60,00%
70,00%
80,00%
Январь Фебраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь
2013
2012
2013: Год фиолетового DNS
Beating on the dead horse
• Aug 1999 RFC-2671 EDNS0
• May 2000 BCP-38 “Network Ingress Filtering”
• Mar 2004 BCP-84 “Ingress Filtering for Multihomed Networks”
• Mar 2006 ICANN DNS DDoS advisory
Как это работает
Плохие парни
BOMB.EXAMPLE.C
OM IN T
XT
FUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUU
[dd]
~4k
SRC_IP Жертва? TXT BOMB.EXAMPLE.COM
~60b
Жертва: WTF MATE?!
Плечо атаки - x60
Кривой DNS
И дело не только в DNS
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 68 bytes
00:27:54.013110 IP 192.168.1.1.55959 > 192.168.2.1.123: NTPv2, Reserved, length 12
00:27:54.028044 IP 192.168.2.1.123 > 192.168.1.1.55959: NTPv2, Reserved, length 480
00:27:54.028058 IP 192.168.2.1.123 > 192.168.1.1.55959: NTPv2, Reserved, length 480
00:27:54.028061 IP 192.168.2.1.123 > 192.168.1.1.55959: NTPv2, Reserved, length 480
00:27:54.028063 IP 192.168.2.1.123 > 192.168.1.1.55959: NTPv2, Reserved, length 480
00:27:54.028065 IP 192.168.2.1.123 > 192.168.1.1.55959: NTPv2, Reserved, length 480
00:27:54.028068 IP 192.168.2.1.123 > 192.168.1.1.55959: NTPv2, Reserved, length 480
00:27:54.028192 IP 192.168.2.1.123 > 192.168.1.1.55959: NTPv2, Reserved, length 480
00:27:54.028200 IP 192.168.2.1.123 > 192.168.1.1.55959: NTPv2, Reserved, length 480
00:27:54.028203 IP 192.168.2.1.123 > 192.168.1.1.55959: NTPv2, Reserved, length 432
«Перспективные» протоколы
• SNMP
• NTP
• Bittorrent
• …любой другой протокол с плечом ответа и без аутентификации клиента
Local.Решения
• НЕ_держать DNS на локальной инфраструктуре;
• [иметь возможность] Отключить UDP на уровне оператора связи;
Local.Решения
Ratelimit на публичных UDP-сервисах.
iptables -A INPUT -p udp --dport 53 -m state --state NEW -m recent --set --name BRR --rsource
iptables -A INPUT -p udp --dport 53 -m state --state NEW -m recent --update --seconds 1 --hitcount ${BRR} --name BRR --rsource -j DROP
iptables -A INPUT -p udp --dport 53 -m state --state NEW -m recent --set --name CRR --rsource
iptables -A INPUT -p udp --dport 53 -m state --state NEW -m recent --update --seconds 10 --hitcount ${CRR} --name CRR --rsource -j DROP
Желательно включенный by default.
Local.Решения
*rawpost
:POSTROUTING ACCEPT [15:1548]
A POSTROUTING s 10.1.0.0/24 o eth8 j RAWSNAT tosource 10.10.40.3/32
COMMIT
# Completed on Mon May 20 04:47:30 2013
# Generated by iptablessave v1.4.16.3 on Mon May 20 04:47:30 2013
*raw
:PREROUTING ACCEPT [28:2128]
:OUTPUT ACCEPT [18:2056]
A PREROUTING d 10.10.40.3/32 m cpu cpu 0 j RAWDNAT todestination 10.1.0.1/32
A PREROUTING d 10.10.40.3/32 m cpu cpu 1 j RAWDNAT todestination 10.1.0.2/32
A PREROUTING d 10.10.40.3/32 m cpu cpu 2 j RAWDNAT todestination 10.1.0.3/32
A PREROUTING d 10.10.40.3/32 m cpu cpu 3 j RAWDNAT todestination 10.1.0.4/32
A PREROUTING d 10.10.40.3/32 m cpu cpu 4 j RAWDNAT todestination 10.1.0.5/32
A PREROUTING d 10.10.40.3/32 m cpu cpu 5 j RAWDNAT todestination 10.1.0.6/32
A PREROUTING d 10.10.40.3/32 m cpu cpu 6 j RAWDNAT todestination 10.1.0.7/32
A PREROUTING d 10.10.40.3/32 m cpu cpu 7 j RAWDNAT todestination 10.1.0.8/32
COMMIT
Local.Решения
0
500
1000
1500
2000
2500
3000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
kPP
S
RSS
Local.Решения
http://radar.qrator.net Проверить:
• Свою сеть
• Сеть upstream(s)
• Сеть к которой планируете подключаться
….написать нам bug-report!
Local.Решения
http://radar.qrator.net Проверить:
• Свою сеть
• Сеть upstream(s)
• Сеть к которой планируете подключаться
….написать нам bug-report!
Global.Решения
Short term
• Rate limiting
• Отказ от EDNS0
• BCP-38/BCP-84
• Подождать, cамо отвалится…
… но только до следующего раза
Long term
• UDP auth cookies
• End-to-end аутентификация
А что дальше ?
Low&slow
• 1 запрос в 2-3 секунды
• 4 соединения
• 222 URL в циклически повторяющемся списке
• порядок получения объектов имитирует Firefox
• забирает статику
…. cпециализируется на банках средней руки.
Безопасность сетевых топологий
Угоны префиксов
• Возможны
• Встречаются in the wild
• Сложно обнаружимы
• RPSL проблему не решает
• RPKI проблему не решает
• Проблему решает: наблюдательность и педантичность
Угоны префиксов в IPV6
• Еще более возможны
• Разреженное адресное пространство
• Меньше наблюдений и пострадавших
…Идеальный плацдарм для атак
Безопасность сетевой инфраструктуры
Атаки на сеть передачи данных
• Разделение control&data
• Изоляция control
Что нового у Qrator?
• Миграция на 10GbE
• Полоса++
• Точки присутствия++
• Отчеты по инцидентам
• WAF
• DNS
Вопросы ?