Системные администраторы последних поколений стали старательно избегать подобных проблем, в значительной степени из-за того, что слишком часто на собственной шкуре ощущали последствия таких ошибок в коде. «Вы никогда по-настоящему не поймете, как работает ваша программа, пока ее не попытаются взломать», – говорил Братус о том чувстве, которое сейчас испытывают многие программисты или пользователи, неожиданно ставшие жертвами. Вы не поймете себя, пока вас хакеры однажды не превратят в «pwned» . Вероятность того, что бесконечные возможные программные глюки исправят, равна нулю. Хакеры все равно еще долгте годы продолжат использовать классические трюки вроде фаззинга, несанкционированного взлома и «закулисного» проникновения в ваш компьютер, а также продолжат разрабатывать более изощренные способы овладения его разумом. Эта погоня за совершенством, конечно, безумно динамичная, но она не бездумная. У нее есть цель: ведь чем ближе хакер подбирается к сердцу компьютерной программы или сети, тем больший контроль он имеет. Обладать доступом к ядру системы – значит контролировать всю информацию, которую она видит, и контролировать то, как она принимает решения. Такой «хак» равносилен победе иностранного шпиона на президентских выборах, вызвавшей превращение всего правительства США в «ненормальную машину». Столь эффектный результат – моментального, высокоуровневого и абсолютно надежного доступа – золотой стандарт хакеров-пижонов.
Самые опасные – и, следовательно, самые заманчивые – из таких атак известны как уязвимости нулевого дня. Опасность, которую они представляют собой, всегда проявляется именно тогда, когда уже слишком поздно, – в нулевой день, когда становится ясно, что они все это время активно работали в «доверчивой» сети или компьютере. Этот момент, когда узнаешь о вирусном заражении, подобен тому же нулевому дню диагноза рака – в обоих случаях моментально начинается отчаянный поиск выхода. Слабые места, уязвимости, которые являют собой «трещины» в стенах компьютеров, часто не известны их производителям, системным инженерам и экспертам в области безопасности. Мечта хакеров, шпионов и хакеров-пижонов – особая версия такого трюка, который называется продвинутой постоянной угрозой: скрытый доступ к машине, которая держится – иногда даже годами – за счет обновлений, проверок безопасности и чисток системы, и, одновременно, все это время, будучи уже «ненормальной», выполняет команды, о которых ее пользователь не имеет и малейшего понятия, – отправляет, например, копию каждого действия, совершенного пользователем, на какой-нибудь другой компьютер или выполняет функции стартовой площадки для атак на другие машины, создавая при этом вид совершенно нормального рабочего компьютера.
Лучшие взломы «нулевого дня» основаны не столько на идее внедрения в машины вредоносного ПО, сколько на использовании уже существующего проверенного кода и поиске в нем мелких щелей, создающих возможность краж информации из гигантских каналов. Такие атаки обычно базируются на случайно допущенных ошибках в компьютерных системах или на таких их характеристиках, которые могут выглядеть безобидными, но легко могут стать опасными. Все разработчики аппаратного и программного обеспечения отлично понимают, что их системы уязвимы. Математики доказали, что никогда нельзя быть уверенным, что компьютер, подключенный к сети, безопасен. Мобильный телефон, к примеру, может содержать более 10 миллионов строк кода. Системы, обрабатывающие огромные облачные хранилища, такие как Google и Amazon, еще более массивны. Обновляются они ежедневно, объемы информации, которую они пропускают через себя, невообразимы. Даже самые талантливые программисты допускают по 4–5 ошибок на каждый миллион строк кода.
Производители программного и аппаратного обеспечения обычно стремятся скрывать такие возможности взлома до тех пор, пока они не найдут способ исправить их. Но это не всегда работает. Тайное всегда становится явным. Но даже после того, как исправление выходит в свет, на то, чтобы установить его, уходят недели, а порой и месяцы. Нет ничего необычного в том, что спустя пару часов после того, как будет объявлено об обнаружении новой уязвимости нулевого дня, атаки, в которых применяются такие методы, просто взрывают Интернет. Тысячи хакеров пытаются воспользоваться уязвимостью, прорвать оборону систем, пока те отключены для починки или для перезагрузки или просто оставлены без присмотра системными администраторами, которые не в курсе, что сейчас в самом разгаре сезон охоты на отдельную часть кода. О существовании нулевого дня под названием Heartbleed, позволявшего хакерам прокрадываться в компьютеры пользователей через дыры в их браузерах, стало известно 7 апреля 2014 года – спустя более чем 2 года после его возникновения в результате программной ошибки. Случайно? Из-за переутомления инженера? Нарочно? Под эгидой какого-нибудь федерального агентства безопасности? Никто не знал. (Или не говорил.) Как бы то ни было, спустя два дня после обнародования информации о Heartbleed и задолго до того, как большую часть компьютеров успели полностью залатать, количество атак с использованием этого метода выросло от нескольких десятков в час до миллионов.
Читать дальше
Конец ознакомительного отрывка
Купить книгу