Еще сильны в памяти волнения, связанные с открытием серьезной уязвимости под названием Heartbleed весной этого года. Тогда стало известно, что в результате ошибки переполнения буфера в криптографическом ПО OpenSSL возникает возможность несанкционированного доступа к памяти на сервере или клиенте. Какие данные могут попасть в скомпрометированный участок памяти, никто не контролирует: это могут быть как вполне безобидные значения переменных, так и код закрытого ключа безопасности сервера.

Обнаруженная ошибка Heartbleed просуществовала в нераскрытом виде более двух лет, и тех, кто сумел ей воспользоваться, невозможно выявить даже сейчас.

Но как оказалось, это было только начало. Опасность новой уязвимости, обнародованной в сентябре, оказалась еще более разрушительной, чем была у Heartbleed. Уязвимость получила название Shellshock (кодовое обозначение CVE-2014-6271), ей был присвоен наивысший, 10-й уровень опасности по открытой системе оценки уязвимостей CVSS.

Масштабность последствий, причиной которых может стать данная уязвимость, трудно недооценить, потому что речь идет о командном интерпретаторе Bash, который широко применяется в различных модификациях и дистрибутивах Linux, Unix, Apple OS X, включая новейшую версию OS X Mavericks, а также Android. Уязвимость Shellshock распространяется на все версии интерпретатора, включая новейшую версию 4.3.

Главная опасность Shellshock состоит в том, что она латентна до тех пор, пока кто-то ни решит, воспользовавшись ей, удаленно установить под уязвимой ОС вредоносный код. После того как такой код попадет на машину, он может быть активирован в любой момент.

Признаки проблемы не заставили себя ждать. Как отмечено в сообщении антивирусной компании ESET, «в течение нескольких дней после обнаружения Shellshock наши специалисты наблюдали несколько вариантов вредоносных программ, которые устанавливались на Linux-серверы с помощью эксплуатации данной уязвимости. Для этого используется специальный HTTP-запрос, который приводит к срабатыванию уязвимости в интерпретаторе Bash. Сам интерпретатор вызывается одним из CGI-скриптов, который получает поля этого HTTP-запроса, сформированного злоумышленником. В качестве текста полей запроса злоумышленники указывают определенную последовательность символов, а затем задают команды для копирования вредоносного файла с удаленного сервера и его исполнения».

Учитывая серьезной обнаруженной проблемы, здесь собраны сведения, которые позволят лучше понять масштаб проблемы.

Как долго данная уязвимость оставалась без внимания

Около 22 лет. Согласно имеющимся оценкам, соответствующая возможность в интерпретаторе Bash появилась в ходе его усовершенствований начиная с 1992 г. Уязвимость появилась в дистрибутивах с версии Bash 1.14, датированной 1994-м. Все последующие версии Bash, вплоть до последней версии 4.3, подвержены выявленной проблеме.

Какие машины оказались под ударом

Обнаруженная уязвимость распространяется на все компьютеры под управлением Linux, BSD и Unix, в том числе Mac OS X. Что касается ОС Apple, то компания выпустила специальное заявление, в котором сообщает о защищенности всех машин под OS X, где не проводилась перенастройка с версии «по умолчанию». Если же такая реконфигурация, связанная с подключением сервисов Unix, проводилась, то такие машины требуют более внимательного изучения с целью оценки их уязвимости. По заявлению представителей Apple, сейчас в компании ведутся работы над выпуском «заплатки» именно для таких машин.

В Windows такого инструмента, как Bash, нет. Однако для Windows есть другой инструмент — UNIX-подобная среда и интерфейс командной строки Cygwin. Этот аналог Bash для Windows подвержен новой уязвимости.

Проблема однако выходит за рамки уязвимости только одной машины. Shellshock представляет потенциальную опасность для любого компьютера или устройства, которое обращается к сайту, если он размещен на скомпрометированном сервере. В случае проведения успешной атаки против такого сервера и его заражения, он может легко передать вредоносное ПО всем посещающим его компьютерам.

Сколько компьютеров оказались подвержены уязвимости

Ответить на этот вопрос очень сложно. Известно, что приблизительно 10% всех персональных компьютеров в мире работают под управлением Linux и OS X. Однако учитывать только пользовательские машины неправильно: существуют также серверы и устройства, подключенные к Интернету, их также следует принимать во внимание.

Для оценки масштаба бедствия многие эксперты по безопасности пытаются сравнивать Shellshock с Heartbleed, для которой было ориентировочно подсчитано, что уязвимость присутствует приблизительно на 500 млн. компьютерах. Распространенность Shellshock имеет приблизительно такие же масштабы, если не вдаваться в подробности, что эти уязвимости проявляют себя по-разному.

Как проверить, подвержен ли компьютер уязвимости или нет

На сайте Shellshocker.net был размещен пример проверки на присутствие уязвимостей CVE-2014-6271 и CVE-2014-7169.

Так, работая под управлением Mac OS, потребуется открыть программу Terminal и набрать в строке ввода:

env x=’() { :;}; echo vulnerable’ bash -c «echo this is a test»

Если в ответ будет выдано «vulnerable», то используемая версия Bash подвержена уязвимости. После этого следует набрать:

env X=’() { (a)=>\’ bash -c «echo date»; cat echo

Если в ответ будет получена текущая дата (возможно, сопровождаемая сообщениями об ошибках), то эта версия Bash также в опасности.

Выпущены ли «заплатки»

В некотором роде да. Вендоры самых распространенных дистрибутивов Linux уже выпустили обновления; Apple пока продолжает работать над своей «заплаткой».

Как отмечают представители компьютерной команды экстренной защиты США US-CERT, «заплатки» для уязвимости CVE-2014-6271 не устраняют существующую опасность целиком. Поэтому они рекомендуют установить также заплатки для уязвимости CVE-2014-7169.

Ряд компаний, специализирующихся на выпуске пакетов безопасности, уже сообщили о готовности собственных утилит диагностики. Каждая такая компания рекомендует установить соответствующий пакет защиты.

Red Hat предложила собственный набор методов для снижения возможности заражения, но они рассчитаны на опытных ИТ-администраторов.

А стоит ли бить тревогу, ведь в ИТ постоянно обнаруживаются новые уязвимости

Уязвимости Shellshock уделяется особое внимание. Это делается прежде всего потому, что атакующая сторона может запустить на исполнение опасный код на уязвимых машинах без какой-либо предварительной авторизации. Даже если в текущий момент компьютер находится в абсолютно безопасном состоянии, уверенности, что все в порядке, все равно нет. Проблемы могут произойти после обращения к любому серверу, подверженному проблеме.

По мнению экспертов, процесс обновления дистрибутивов серверов, подверженных уязвимости Shellshock, может растянуться на годы. Они считают, что в ближайшие 10 лет подавляющая часть серверов будет защищена. Однако в мире все равно останется часть машин, которые будут продолжать работать под управлением необновленных дистрибутивов, неся тем самым потенциальную опасность остальному ИТ-миру.