Читаем Как противостоять хакерским атакам. Уроки экспертов по информационной безопасности полностью

На протяжении нескольких лет самым ярким событием конкурса Pwn2Own было участие доктора Миллера, который в течение менее чем нескольких минут использовал свои навыки, чтобы уйти с одним или несколькими крупными призами. Он делал это столько раз, что в конце концов конкурс стал известен как мероприятие, где каждый продукт будет взломан в течение пары минут после того, как доктор Миллер примется за работу. Несколько лет имя доктора Миллера было синонимом взлома автомобилей. Именно из-за его успеха во взломе некоторых из самых популярных операционных систем, браузеров и устройств люди обратили больше внимания, когда он начал говорить о взломе автомобилей. Его репутация опережала его. Не было сомнений, что он понимает, о чем говорит, и добьется успеха.

Секрет раннего успешного взлома доктора Миллера был связан с фаззингом. Существует множество способов поиска программных ошибок. Вы можете вручную испытать программное обеспечение путем анализа всей деятельности и вручную изменять входные сигналы для того, чтобы увидеть, к чему это приведет. Вы можете статически анализировать код, используя для проверки исходного кода ПО (или вручную просматривая его), которое ищет предопределенные ошибки кодирования. Или вы можете случайно наткнуться на ошибку при использовании программы в обычном режиме. На протяжении десятилетий эти три традиционных метода были способом обнаружения наиболее эксплуатируемых ошибок.

В конце 1990-х фаззинг стал невероятным источником ошибок, и любая программа разработчика программного обеспечения была обречена на несколько уязвимостей нулевого дня, если разработчики не тестировали собственные программы, прежде чем выпустить их. При тестировании другая программа (фаззер) автоматизирует процесс введения всех видов различных входных данных, обычно не ожидаемых программистом или языком программирования (например, очень длинных, содержащих случайные управляющие символы, «зарезервированные слова кодирования» и т. д.), в активную версию целевой программы, чтобы вызвать ошибку. Каждая найденная ошибка после этого проверяется программой фазз-испытания или вручную человеком, для того чтобы увидеть, можно ли использовать условие ошибки для того, чтобы эксплуатировать программу или основную операционную систему.

Вот как Доктор Миллер описывает свои успехи в фаззинге: «Я узнал о фаззинге в АНБ. Он понравился мне, потому что находил ошибки быстро и очень легко. Я запускал программу, шел смотреть телевизор, потом засыпал, просыпался и смотрел на результаты. Примерно в 2010 году на конференции Blackhat (http://blackhat.com/) я использовал фаззинг на сцене против некоторых конкурентов, чтобы найти ошибки. Они при этом использовали статический анализатор. Мне потребовалось несколько минут, чтобы фаззинг сработал, а через час я выиграл».


Примечание. Если вы заинтересованы в использовании программного обеспечения для фаззинга, доступно множество бесплатных и коммерческих продуктов. Microsoft предлагает достойный фаззинг бесплатно по адресу: https://www.microsoft.com/en-us/springfield/.


Я спросил доктора Миллера, почему его первые исследования были направлены в основном на продукты Apple. Он сказал: «Тогда у Apple было немного средств информационной безопасности, особенно защиты памяти в коде. И они не проводили собственные тесты. Я сделал это для них и нашел много ошибок, которые мог бы использовать в Pwn2Own. Microsoft и Microsoft Windows провели тестовый фаззинг, и их программы теперь имеют встроенную защиту памяти. Я не был нацелен на Apple, просто их ошибки было очень легко найти, а мне нравится легкий взлом».

В 2007 году он стал человеком, удаленно взломавшим iPhone и телефон на платформе Android в тот же день, когда он вышел (в 2008 году). Позже в этом году доктор Миллер нашел уязвимость нулевого дня в браузере Safari MacBook Air и выиграл 10 000 долларов. В 2009 и 2010 годах он снова взломал браузер Safari от Apple и продолжил успешно взламывать iPhone. В 2011 году он обнаружил дыры в безопасности iOS на iPad и iPhone. По сути, он показал, как приложение Apple может злонамеренно украсть информацию или иным образом взломать владельцев устройств Apple. Он создал демонстрационную программу, которую разместил в Apple App Store.

Работа доктора Миллера по поиску ошибок вызвала у Apple гнев. Они обвинили его в нарушении условий соглашения с разработчиком (что, в сущности, было правдой) и отняли у него право разрабатывать и публиковать их ПО. Он рассказал мне об этом инциденте: «Они сказали, что забирают мой ID разработчика Apple на год. Когда я подал заявку на восстановление, его не вернули. У меня до сих пор нет ID разработчика Apple». Многие люди, наблюдавшие за этим, полагали, что Apple усвоила печальный урок и примет доктора Миллера обратно.

Перейти на страницу:

Все книги серии КиберБез. Лучшие книги о безопасности в сети

Нет соединения с сервером, попробуйте зайти чуть позже