Bitsquatting
https://media.blackhat.com/bh-us-11/Dinaburg/BH_US_11_Dinaburg_Bitsquatting_WP.pdf
- Проблемы железа. Sun UltraSparc II CPU - во время изготовления получали примеси, которые являются эмиттером альфа частиц в SRAM. Кэш получал битовые ошибки - крэш сервера. Нет проверки корректности.
- memtest86 не просто так добавляют на Ubuntu LiveCD - DRAM тоже очень подвержен
- Температура
- Радиация (высокоэнергичные частицы из космоса) - основной источник ошибок в DRAM. На высоте километра - в 5 раз выше, чем на уровне моря
- Тесты DRAM: до 1 ошибки в 1.4 года на Мегабит DRAM ~ ошибка раз в несколько минут
- Чексуммы - очень эффективны. Но не используются (ECC - мало где)
- NIC, keyboard, DiskDrives - все используют DRAM, чаще всего без ECC
- В 2003 показали, как можно выбраться из песочницы JVM - заполняя всю память ссылками на статичный объект, со временем битовая ошибка приводит к изменению ссылки, и можно писать куда-то еще. Нагревали лампой!
- Аналогично - атака на smartcards
- bitsquatting - перенаправление в интернете
- В 2010 с самой лучшей памятью (1 ошибка в 950 лет на мегабит) - 600К ошибок в час
- Зарегистрировали кучу (~30) доменов, слушали трафик (отвечали 404) в течение полугода (2010)
- Слушали DNS и HTTP запросы
- 52К запросов с 12К уникальных адресов (удалены crawlers, web spiders, etc)
- 3 всплеска на графике
- один из всплесков - скорее всего ошибка на DNS сервере.
- 2 типа ошибки: на этапе DNS или на этапе выкачивания данных. Определяется по совпадению запроса полю HOST. Если совпадает - значит DNS вернул неправильные данные
- Mitigation: pre-registration, CRC - checks, ECC memory