Информирование разработчиков. Не каждый, кто обнаружил «дыру» в безопасности, раскрывает полученную информацию – некоторые скрывают, чтобы позже использовать ее в преступных целях – для взлома систем. О том, что проблема существует, мы узнаем по факту преступления. Это «уязвимости нулевого дня». Как правило, ответственные лица стараются оперативно устранять такие сбои. Государственные структуры наподобие АНБ, киберкомандования США и их зарубежных аналогов тоже придерживают информацию. Подробнее мы поговорим об этом в главе 9, а пока давайте просто запомним, что любую обнаруженную, но скрытую от общественности «дыру» – даже если информацию о ней скрыло доверенное лицо или организация, – можно использовать против нас.
Иногда исследователей, считающих нужным сообщить об обнаруженной уязвимости, встречает холодный прием. Новички в компьютерном бизнесе, например производители кофеварок, не обладают опытом работы с исследователями в области безопасности, не знают об ответственном раскрытии информации, о важности разработки патчей. И это всем очевидно. Для компаний – разработчиков ПО создание программ – профильный вид деятельности. Производители холодильников или подразделения корпораций, занятые выпуском холодильников, ориентированы на другой вид деятельности, поэтому составление ПО так и останется для них второстепенным занятием.
Подобно производителям компьютеров 1990-х гг., компании по выпуску умных вещей расхваливают устойчивость ко взломам собственных систем, в случае обнаружения уязвимости отрицают любые проблемы и угрожают исками тем, кто обнародует информацию о проблемах. В 2017 г. Abbott Labs выпустила патч, хотя за год до этого назвала «лживым и недостоверным» первое сообщение об уязвимости в области безопасности (публикация не содержала подробностей о хакерской атаке){148}. Такое промедление допустимо в отношении компьютерных игр или текстовых процессоров, но крайне опасно в отношении автомобилей, медицинского оборудования и самолетов – устройств, способных убить, если их продолжат эксплуатировать с ошибками в ПО. Но должны ли исследователи раскрывать все подробности? Как именно должно выглядеть ответственное раскрытие информации в новой среде, пока никто не понимает.
Исследование уязвимостей. Чтобы двигаться в этом направлении, нужны исследователи для поиска «дыр» и усиления безопасности, а в законодательном акте под названием «Закон об авторском праве в цифровую эпоху» (Digital Millennium Copyright Act – DMCA) есть положения о запрете изысканий в данной сфере. Мы обратимся к этому закону в главе 4, а пока ограничимся информацией, что он запрещает несанкционированное воспроизведение произведений, защищенных авторским правом. Но его влияние гораздо шире. DMCA запрещает проводить реинжиниринг, находить уязвимости в программных системах, защищенных авторским правом, и сообщать о них общественности. Производители сертифицированного ПО неоднократно использовали эту лазейку.
В качестве примера приведу случай с российским программистом Дмитрием Скляровым. В 2001 г. он был арестован ФБР прямо на DefCon{149}. Поводом стала разработка метода обхода криптокода в Adobe Acrobat, предотвращающего незаконное копирование электронных книг. В том же 2001 г. НР применила DMCA в отношении исследователей, опубликовавших информацию о брешах в системе безопасности ее продукта Tru64{150}. В 2011 г. Activision использовала закон об авторском праве, чтобы закрыть веб-сайт инженера, который исследовал систему безопасности одной из ее видеоигр{151}. Подобных случаев очень много.
В 2016 г. Библиотека Конгресса внесла в DMCA поправку относительно исследователей в области безопасности{152}. Но изменения незначительны, к тому же носят временный характер и по-прежнему оставляют множество возможностей для преследования{153}.
Есть и другие поправки, направленные против аналитиков. В 2008 г. бостонский транспортный оператор MBTA (Massachusetts Bay Transportation Authority) воспользовался Законом о компьютерном мошенничестве и злоупотреблениях (Computer Fraud and Abuse Act) и воспрепятствовал презентации, посвященной дефектам проездных билетов на метро{154}. В 2013 г. Volkswagen подала в суд на исследователей, обнаруживших уязвимости в ее ПО, и тем самым на два года задержала обнародование этой информации{155}. В 2016 г. FireEye, работающая в сфере интернет-безопасности, добилась судебного запрета на публикацию деталей о «дырах» в ее продукте{156}.
Отрицательный эффект от подобных действий довольно ощутим. Беспокоясь о возможных судебных преследованиях, молодые исследователи, увлеченные карьерой, публикациями, отказываются от поиска ошибок – предпочитают не рисковать{157}.
По мере того как компьютеры проникают во все большее количество вещей, сложившаяся система будет работать все хуже и хуже. Но альтернативы пока нет.
Это возвращает нас к двум концепциям, о которых мы беседовали в начале главы: «Делайте правильно с первого раза» и «Убедитесь, что защита легко адаптируется».
В сфере ПО в ходу термин «каскадная модель»{158}. Используется он для описания традиционной модели разработки ПО: сначала формулируются требования, потом составляется спецификации, затем приходит очередь конструирования, реализации, тестирования и внедрения. Гибкий подход – это новая модель разработки ПО: создайте прототип, соответствующий базовым потребностям клиента, проследите за тем, как он выходит из строя, оперативно внесите исправления, обновите требования и спецификации и повторяйте эти действия снова и снова{159}. Гибкая модель намного лучше подходит для проектирования и разработки ПО. Она включает и конструктивные требования, и требования к функциональному дизайну.
Вы, наверное, заметили разницу в скорости обновления ПО Microsoft Office и приложений в iPhone. Новая версия Microsoft Office появляется раз в несколько лет, а новая версия приложений в iPhone – еженедельно. Изменения в Microsoft Office затрагивают конструктив и функционал, обновления приложений предполагают несущественные изменения и появление дополнительной функции. Возможно, Microsoft реализует гибкую модель, но из-за частоты релизов она ближе к каскадной модели.
Нужно объединить обе концепции. Мы не обладаем должной квалификацией, чтобы делать правильно с первого раза, поэтому у нас нет другого выхода, кроме как оперативно устанавливать патчи. Но еще нам нужно понять, как свести к минимуму издержки от этой модели. Из-за сложности интернета+ мы испытываем потребность как в стабильности каскадной схемы, так и в скорости реакции гибкой модели.
Глава 3Узнавать, кто есть кто в интернете, становится все труднее
Знаменитую карикатуру из журнала The New Yorker 1993 г., на которой изображены две собаки, сопровождает подпись: «В интернете никто не знает, что ты собака». В 2015 г. тема получила развитие, и на страницах The New Yorker появилась карикатура с парой других собак. Одна спрашивала у другой: «Помнишь времена, когда в интернете никто не знал, кто ты такой?»
В каждой шутке лишь доля шутки. В интернете мы доказываем, что мы – именно те, за кого себя выдаем, вводя пароль, известный, по идее, исключительно нам. В то же время существуют системы, которые позволяют и преступникам, и инакомыслящим скрытно общаться друг с другом, не давая властям возможности узнать, кто они (и все же государственные структуры часто об этом узнают). Нам известно и о системах анонимной коммуникации, например о создании аккаунта без ассоциации с именем пользователя. Наконец, хакеры способны взламывать сети, находясь на другом конце света и не под своим именем, и опять-таки власти и охранные фирмы их удачно идентифицируют.
Если вам кажется, что все это слишком запутанно, то вам кажется не напрасно – именно так все и есть.
В 2016 г. Роб Джойс – в то время он возглавлял входящее в АНБ подразделение по проникновению в компьютерные сети (Tailored Access Operations Group – TAOG) и был, по сути, главным хакером США – принял участие в публичной дискуссии (такое случается очень редко), на которой, помимо прочего, заявил примерно следующее:
«Уязвимости нулевого дня» переоценивают, и кража конфиденциальных учетных данных (логина и пароля) – это основной способ, который я использую для проникновения в сети.
Джойс был и остается прав. Как бы ни были опасны уязвимости в ПО, наибольшей популярностью у хакеров пользуется взлом в процессе аутентификации. Взлом этот можно осуществить как посредством украденного пароля, так и с применением технологии «незаконный посредник»[20]. Кража учетных данных не требует поисков «уязвимостей нулевого дня» или неисправленных «дыр», плюс здесь меньше шансов попасться. Это дает злоумышленнику бóльшую свободу действий.
Именно так китайские хакеры взломали сеть Управления кадровой службы США (Office of Personnel Management). В 2014 г. атака на компанию Target Corporation началась с кражи учетных данных для входа в систему. В 2011–2014 гг. иранские злоумышленники использовали для входа в систему политических и военных руководителей США, Израиля и других стран похищенные учетные данные. В 2015 г. хактивист