Mac World

Из-за критической уязвимости в оболочке Bash миллионы компьютеров на OS X и Linux оказались под угрозой взлома

Специалист по безопасности Роберт Грэм из Errata Security обнаружил уязвимость в командной оболочке Bash, масштаб которой превышает масштаб обнаруженной в апреле «дыры» Heartbleed в протоколе шифрования OpenSSL. Ошибка, фактически открывающая хакерам доступ ко всем ресурсам компьютера-жертвы, присутствует в системах Linux, которые устанавливаются как на домашние компьютеры, так и на интернет-серверы, а также в Mac OS X. Уязвимость назвали ShellShock.

shellshock-bash-3

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

Например, в выражении 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-совместимой операционной системы OS X, которая также содержит интерпретатор Bash.

shellshock-bash-2

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

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

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

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

13 комментариев

Написать комментарий