Битсквоттинг — регистрация доменных имён, которые отличаются на один бит от оригинальных. По аналогии с тайпосквоттингом, когда регистрируются домены, отличающиеся на один символ от оригинальных. Тайпосквоттеры рассчитывают на опечатку пользователя при вводе URL в адресную строку или осуществляют фишинговую атак, когда пользователь может просто не заметить отличия в один символ.
Битсквоттинг по форме похож на тайпосквоттинг, но придуман совершенно для других целей. Здесь расчёт идёт не на человеческую, а на аппаратную ошибку. Не секрет, что в различном оборудовании постоянно происходят случайные сбои. Битсквоттинг делает ставку на то, что какое-нибудь из подключённых к интернету устройств случайно ошибётся и изменит один нужный бит в DNS-запросе, так что трафик пойдёт вместо оригинального сайта на сайт злоумышленника. Это похоже на лотерею, и шансы на «правильную» ошибку в конкретном устройстве чрезвычайно малы, но нужно учитывать, что к сети подключено более 5 миллиардов устройств, а сбои в RAM происходят постоянно на каждом устройстве.
Например, вот бинарное представление адреса cnn.com.
01100011 | 01101110 | 01101110 | 0101110 | 01100011 | 01101111 | 01101101 |
c | n | n | . | c | o | m |
Если из-за ошибки в памяти всего один поменяется с 0 на 1, то запрос пойдёт к другому домену con.com. Это может быть ошибка в стеке TCP/IP, в памяти маршрутизатора, в браузере и т.д., на любом этапе обработки запроса.
01100011 | 01101111 | 01101110 | 0101110 | 01100011 | 01101111 | 01101101 |
c | o | n | . | c | o | m |
Теоретически, к такой атаке уязвимы абсолютно все платформы и все версии ОС, и не требуется написание эксплойтов.
Идею выдвинул хакер Артём Динабург (Artem Dinaburg), к прошлогодней конференции Blackhat он подготовил доклад. В Сети есть также слайды его презентации с Defcon 19, ниже — видеозапись презентации по этим слайдам.
Автор объясняет, что для такого типа атаки нужно выбирать домены CDN и рекламных сетей, контент с которых подгружается на тысячи популярных сайтов. Это такие домены, как fbcdn.net, 2mdn.net и akamai.com.
Для проверки своей теории Динабург зарегистрировал 32 домена методом битсквоттинга — и оказалось, что теория вполне работает. К сайтам действительно поступали DNS-запросы и HTTP-запросы, и подключались сторонние устройства. За семь с половиной месяцев эксперимента поступило в общей сложности 52317 запросов с 12949 уникальных IP-адресов. В среднем, запросы шли с 59 уникальных IP-адресов в день.
Список адресов, которые принимали участие в эксперименте: ikamai.net, aeazon.com, a-azon.com, amazgn.com, microsmft.com, micrgsoft.com, miarosoft.com, iicrosoft.com, microsnft.com, mhcrosoft.com, eicrosoft.com, mic2osoft.com, micro3oft.com, li6e.com, 0mdn.net, 2-dn.net, 2edn.net, 2ldn.net, 2mfn.net, 2mln.net, 2odn.net, 6mdn.net, fbbdn.net, fbgdn.net, gbcdn.net, fjcdn.net, dbcdn.net, roop-servers.net, doublechick.net, do5bleclick.net.
Артём выложил в открытый доступ запись всего DNS-трафика (PCAP), поступившего на его серверы в ходе эксперимента: dnslogs.tar.7z. Оттуда можно понять, что битсквоттинг работает и на внутренней DNS-адресации, свидетельством чему являются поступившие запросы к адресам вроде таких:
dnshostprobe.redmond.corp.micrgsoft.com dubitsmsema01.europe.corp.micrgsoft.com l32web.redmond.corp.micro3oft.com ls2web.redmond.corp.eicrosoft.com ls2web.redmond.corp.iicrosoft.com ls2web.redmond.corp.mhcrosoft.com ls2web.redmond.corp.miarosoft.com ls2web.redmond.corp.micrgsoft.com ls2web.rmdmond.corp.micrgsoft.com msdcs.corp.micrgsoft.com pptestsubca.redmond.corp.eicrosoft.com pptestsubca.redmond.corp.iicrosoft.com pptestsubca.redmond.corp.mhcrosoft.com pptestsubca.redmond.corp.miarosoft.com pptestsubca.redmond.corp.mic2osoft.com pptestsubca.redmond.corp.micrgsoft.com pptestsubca.redmond.corp.micro3oft.com pptestsubca.redmond.corp.microsmft.com pptestsubca.redmond.corp.microsnft.com pug.redmond.corp.microsmft.com tk5-red-dc-02.redmond.corp.microsnft.com udp.corp.microsnft.com wpad.corp.mic2osoft.com