IT-опасности, о которых надо знать
Устали устанавливать патчи? Ошибки, постоянно обнаруживаемые в популярных программах, не просто угрожают персональным компьютерам, они расшатывают основы всего Интернета.

Вот уже много лет пользователи Windows занимаются одним и тем же — каждый второй вторник месяца устанавливают обновление безопасности от Microsoft. Кроме того, нельзя забывать также о новых версиях самых разных программ... Эта нескончаемая лавина обновлений объясняется просто: программы, установленные на множестве компьютеров, автоматически становятся заветной целью хакеров, желание которых — распространить как можно больше вредоносного ПО. При этом популярные ОС являются основой для тысяч приложений. Их разработанные десятилетия назад системные интерфейсы с устаревшим, как правило, кодом должны оставаться совместимыми.
Не только старые системные зависимости делают ПО ненадежным: реализация новшеств также может стать проблемой, если на первом месте не стоит вопрос безопасности. Например, покупателям электронных книг в формате EPUB необходимо иметь на своем компьютере Adobe Digital Editions. И вот как-то стало известно, что эта программа, начиная с версии 4.0, помимо информации для проверки лицензии отправляет данные о книжных предпочтениях покупателя в компанию Adobe, причем в незашифрованном виде. Adobe отреагировала и настроила шифрование с помощью обновления.
Высший приоритет не у безопасности
Даже корпорация Apple при выпуске своей системы iOS 8 выставила не те приоритеты. В результате первые релизы были переполнены вопиющими багами. Еще никогда клиенты этого концерна не колебались так долго, переходить ли на последнюю ОС или нет. Версию 8.0.1 разработчик отозвал в принципе. В этом фиаско были виновны конфликты между разработчиками, требующими больше времени, и менеджерами, которым нужно выпустить продукт как можно скорее.
На этом фоне процветает рынок эксплойтов, рассматривающий уязвимости в качестве товара. Такие организации, как Google Vulnerability Reward Program, платят за уязвимости для того, чтобы максимально быстро их ликвидировать. Однако есть и клиентура, не заинтересованная в исправлении проблем. После разоблачений Сноудена выяснилось, что помимо преступников потребителями эксплойтов стали секретные службы и правоохранительные органы. Неудивительно, что известный хакер Кевин Митник собирается открыть биржу Absolute Zero-Day Exploit Exchange. На торговой площадке будут продаваться уязвимости не ниже восьмого уровня по шкале CVSS по цене от $100 000. Такие расценки не потянет даже Google.
Колебаний у спецслужб больше не возникает: вооружившись девизом «Контроль превыше безопасности», руководитель ФБР Джеймс Коми требует обеспечить его организации доступ к шифрованию данных систем iOS и Android. Это возможно реализовать лишь с помощью преднамеренного внедрения в ПО ошибок. Мы выяснили, какие ошибки на сегодняшний день самые серьезные, и на следующих страницах расскажем о них в контексте операционных систем, приложений и браузеров. При этом станет понятно, что даже известные проекты с открытым кодом все чаще попадают под прицел хакеров.
Ошибки в системах
Спрогнозировать надежность ПО позволяет число известных ошибок в нем. Точность прогноза зависит от того, насколько эта программа интересует хакеров, разыскивающих уязвимости. В базе данных National Vulnerability Database (NVD) правительства США выявленные уязвимости собираются и оцениваются по степени серьезности. Система оценки Common Vulnerability Scoring System (CVSS) представляет собой шкалу от 0 до 10 баллов, при этом значение 10 равнозначно передаче программы хакеру прямо в руки.
Windows уже давно считается небезопасной системой, обе ОС от Apple, напротив, имеют хорошую репутацию. Данные NVD, однако, говорят о другом: в 2014 году компания Apple лидировала по числу уязвимостей, в то время как показатели Windows 7 и 8 были ниже даже крупных дистрибутивов Linux. Но все же более дифференцированно посмотреть на опасность позволяет шкала CVSS: лишь 19 из 97 уязвимостей в Apple iOS показали себя как серьезные. В случае же с Windows 7 проблемными оказались 18 из 27 ошибок. С помощью 11 уязвимостей Windows хакеры получают широкие права, что сделать сложнее на системах, основанных на Unix: в Mac OS таких ошибок две, в iOS — четыре.
Для Linux доля подобных уязвимостей составляет лишь около 10%. Впрочем, корпорация Microsoft пытается исправить ситуацию ежемесячными патчами, благодаря чему наблюдается тенденция уменьшения выявленных уязвимостей, в то время как в Mac OS их число снова растет с 2012 года, a iOS сохраняет высокие показатели ошибок.
Windows безопаснее, чем о ней думают
Даже стандартные приложения в Windows демонстрируют снижение количества уязвимостей: на протяжении уже нескольких лет в офисных программах их становится все меньше. То же самое наблюдается и в Acrobat Reader. Компания Adobe регулярно «латает» свой Flash Player, однако с переменным успехом: интеграция плеера в браузер делает его идеальной мишенью для хакеров (в итоге от него отказались вовсе). К тому же пользователям сложно постоянно следить за выходом патчей для множества программ. На помощь придет специальная утилита, например SUMo. Она проанализирует систему и автоматически обновит ПО.
Серьезные уязвимости почти всегда прокрадываются в управление памятью системы. Виртуальные машины и «песочницы» должны это предотвратить, однако их код сам уязвим к ошибкам. Например, Acrobat Reader, начиная с десятой версии, содержит «песочницу», где и открываются документы в формате PDF, но в одном только 2014 году были обнаружены три уязвимости десятого уровня, сводящие на нет эту защиту.
Принцип Docker может стать основным решением будущего. Пока он используется только для серверных приложений в области Linux. Так, Docker-контейнер содержит помимо программного кода все системные библиотеки, которые необходимы программе для ее выполнения. Кроме контейнера запускается лишь хорошо защищенное ядро. Microsoft планирует интегрировать Docker в следующий релиз Windows Server — путь до ПК уже не так далек.
Опасности в Сети
Главной целью хакеров в случае с домашними компьютерами всегда был браузер. При вызове веб-страницы тот обрабатывает скрипт, который пользователь в свою очередь может использовать для передачи важных данных, например, при онлайн-банкинге или для входа в почтовые и облачные службы. В отличие от программ Office и Acrobat, для заражения не нужно даже открывать документы — в Интернете достаточно просто зайти не в то время на не ту страницу. Инфицирование зачастую осуществляется через скрипт, в фоновом режиме подгружающий вредоносный код. Как правило, он использует уязвимости в плагинах и системных библиотеках.
В Windows интегрированы некоторые методы, которые должны это предотвращать, однако они с каждым днем становятся все менее и менее эффективными. Так, Windows и даже iOS посредством функции предотвращения выполнения данных (DEP) определяют области, где выполнение кода запрещено. Авторы вредоносного ПО противодействуют этой защите с помощью возвратно-ориентированного программирования (ROP). При этом они используют не собственный выполняемый код, а вызывают уже загруженные в память программные функции. Таким образом, получится вызвать, например, функцию VirtualProtect, она содержит в себе возможность отключения DEP. С 2010 года популярность ROP постоянно растет, и фактически все открытые уязвимости в Internet Explorer основаны на манипуляциях с ROP.
На прицеле — Internet Explorer
Судя по всему, браузер IE наиболее подвержен атакам ROP: в 2014 году он заработал рекордный балл 9,1, в то время как браузеры Firefox, Chrome и Safari показали от 6,8 до 7,3 балла. Против ROP помогает метод Address Space Layout Randomization (ASLR), поскольку он случайным образом указывает области памяти приложениям. Хакер даже после отключения DEP не знает, куда ему прописывать вредоносный код. В качестве ответной меры злоумышленник использует «распыление», также случайным образом распределяющее вредоносный код по крупным областям памяти, повышая тем самым шанс его выполнения, несмотря на активную защиту ASLR.
Компания Microsoft выпустила пакет инструментов Enhanced Mitigation Experience (ЕМЕТ), содержащий дополнительные технологии защиты памяти для установленных приложений. Однако существуют эксплойты, назначающие сам ЕМЕТ объектом атаки и снимающие его защиту. Для Firefox рекомендуется использовать дополнения безопасности, например NoScript, в которых можно отключить автоматическое выполнение плагинов или скриптов. В отношении плагинов больше всего проблем создает среда Java Runtime. Она предназначена для выполнения кода Java под Windows. В настоящий момент есть возможность отключения этой функции в браузере в настройках Java. На внедрение этой опции компанию Oracle побудили многочисленные проблемы с безопасностью с оценкой 10 по шкале CVSS. Уже в этом году в Java были обнаружены 115 новых уязвимостей — это в два раза больше, чем у Flash Player.
Open Source - не панацея
Закон Линуса (названный так в честь создателя ядра Linux) гласит, что наличие множества разработчиков способствует выслеживанию и устранению багов в коде. Большинство веб-серверов, например Apache и Nginx, — это открытые системы.
Ряд серьезных уязвимостей пошатнул принцип открытого ПО и показал, что закон Линуса — химера. Одним из последних примеров стала серия ошибок Shell-Shock. В конце сентября в командной оболочке bash были обнаружены пять опасных ошибок, они оставались незамеченными целых 22 года. Множество компонентов веб-серверов, включая домашние NAS, подверглись воздействию ShellShock. В течение нескольких часов хакеры рассылали зараженные сообщения на «незалатанные» сервера. В заголовках писем скрывался код, который сервер автоматически выполнял с помощью bash.
Нехватка денег на открытые проекты
Даже шифрование данных в Сети базируется на открытом коде. Это дает серверу и браузеру возможность взаимодействовать без риска быть прослушанными. Посредством системы OpenSSL две трети всех серверов создают для вашего секретного закрытого ключа (Private Key) подходящий открытый ключ (Public Key) и отправляют его браузеру. В конце апреля шороху навела уязвимость под названием Heartbleed. Она позволяет считывать содержание памяти, защищенной OpenSSL. Зачастую там находится Private Key. Хакер может просмотреть всю зашифрованную коммуникацию сервера или даже расшифровать ее. У Heartbleed и ShellShock есть кое-что общее: код был разработан несколькими добровольцами и плохо проверен на предмет безопасности — проектом OpenSSL занимались лишь 11 разработчиков с годовым бюджетом $2000, собранных с помощью пожертвований.
Шифрование электронной почты PGP должно стать будущей целью атаки, поскольку Google и Yahoo! как раз собираются интегрировать его в свои сервисы. Специалист по IT-безопасности Мэтью Грин считает, что основные компоненты проекта PGP, к примеру, его система управления ключами, уже устарели — они функционируют подобно OpenSSL. По его мнению, в PGP должен использоваться метод под названием Perfect Forward Secrecy: он удаляет ключи после использования.
Сейчас безопасность ПО с открытым кодом тщательно проверяется: в организации Linux Foundation состоят такие компании, как Google, Microsoft и Adobe, что обеспечивает ей хорошее финансирование. Годовой бюджет Core Infrastructure Initiative составляет $1,2 млн, с помощью этих денег можно привлечь экспертов для проверки кода. И сейчас, пожалуй, самое время заняться этим, поскольку лишь недавно была обнаружена уязвимость в Bugzilla, скрывающаяся там вот уже восемь лет, а ведь данной программой пользуются многие проекты по созданию ПО, чтобы обнаружить и исправить внутренние ошибки, — настоящая золотая жила для хакеров.
*** |