Спецпроекты

Безопасность Техническая защита Маркет

В Linux и Unix найдена масштабная многолетняя «дыра»

Специалист по безопасности обнаружил уязвимость в командной оболочке Bash, масштаб которой превышает масштаб обнаруженной в апреле уязвимости Heartbleed в протоколе шифрования OpenSSL.

Новая уязвимость в командной оболочке Bash существует много лет и может привести к более серьезным последствиям по сравнению с уязвимостью Heartbleed, считает эксперт Роберт Грэм (Robert Graham) из консалтинговой компании Errata Security.

Командный интерпретатор Bash используется многими серверными компонентами и программами в операционных системах, основанных на ядре Linux, и в других Unix-подобных ОС. Уязвимость была обнаружена специалистом по информационной безопасности Стефаном Чазеласом (Stephane Chazelas).

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

Например, в выражении env x='() { :;}; echo vulnerable' bash -c "echo this is a test" видно, что переменной x присваивается значение () { :;}; echo vulnerable, в котором содержится другая команда — вывода на экран текста «vulnerable».

Таким образом, пользователи могут легко проверить, есть ли в их системе уязвимость, просто запустив терминал и введя выражение env x='() { :;}; echo vulnerable' bash -c "echo this is a test". Это также могут сделать пользователи Unix-совместимой операционной системы Apple OS X, которая также содержит интерпретатор Bash.

При действующей в системе уязвимости терминал возвращает сообщения «vulnerable» и «this is a test»; а если баг устранен, то «bash: warning: x: ignoring function definition attempt», «bash: error importing function definition for 'x'» и «this is a test» (ошибка в синтаксисе).


Уязвимость в Bash оказалась серьезнее скандальной Heartbleed

Тест в последней актуальной версии OS X 10.9.5 Mavericks показал, что уязвимость присутствует.

«Серьезность этой уязвимости заключается в том, что командную оболочку Bash использует огромное количество различных программ. По этой причине ситуация аналогична уязвимости Heartbleed в популярном протоколе OpenSSL», — пояснил Роберт Грэм. «При этом, в отличие от Heartbleed, касающейся определенной версии OpenSSL, уязвимость в Bash существует очень долгое время. Это означает, что она присутствует в просто огромном количестве устройств, подключенных к сети. Количество систем, которым необходим патч и для которых этот патч никогда не появится, намного превышает количество систем в случае с Heartbleed», — добавил эксперт.

По аналогии с Heartbleed уязвимости в Bash также было дано кодовое имя — ShellShock.

Уязвимость в протоколе шифрования OpenSSL, получившая название Heartbleed, была обнаружена в апреле 2014 г. специалистами компаний Codenomicon и Google. Она позволяла хакерам получать доступ к содержимому оперативной памяти серверов, в которой могли находиться персональные данные пользователей. Уязвимость стала самой масштабной в истории, так как затрагивала около 500 тыс. веб-сайтов по всему миру.

Как пишет Ars Technica, некоторые компании, включая саму Red Hat, уже выпустили патчи, устраняющие ошибку Shellshock. Обновления также доступны для некоторых версий CentOS, Ubuntu и Debian.

Сергей Попсулин

Короткая ссылка