Статьи

Bash-естве: серйозний баг в популярній командній оболонці

Минулий тиждень ознаменувався черговим глобальним «сигналом тривоги» для нашої області: у всіх * Nix-подібних системах, включаючи Mac OS X, виявилася критична уразливість, за масштабами і серйозності близька, а, можливо, і перевершує горезвісний Heartbleed, виявлений в квітні. Деякі експерти схильні применшувати серйозність цього бага, інші, навпаки, вважають, що це Heartbleed 2.0, а то й гірше. Зустрітися з BASH-вразливістю, також відомої під найменуванням ShellShock.

В чому справа?

Уразливість виявлена ​​в командній оболонці Bourne again shell (скор. BASH), написаної для Unix в 1989 році. Ця оболонка за замовчуванням використовується в Linux і Mac OS X, що означає вразливість і цих систем.

Пролом, яку виявив Стефан Чазелас з Akamai, дозволяє атакуючому віддалено «приєднати» шкідливий виконуваний код до змінної, яка виповнюється при виклику Bash .

У Національній базі вразливостей США цей пролом фігурує під індексом CVE-2014-6271 . Фахівці з американської Комп'ютерної групи реагування на надзвичайні ситуації (CERT) описали її так : «Ця вразливість дозволяє зловмисникам передавати спеціально створені змінні оточення, що містять довільні команди, які можуть виконуватися на вразливих системах. Це особливо небезпечно у зв'язку з тим, що оболонка Bash дуже поширена і може бути викликана додатками різними способами ».

Більш технічний опис є на сайті Національної бази уразливості . Там згадується, що атакуючі можуть використовувати в якості вектора атаки функцію ForceCommand в OpensSH sshd, модулі mod_cgi і mod_cgid в HTTP-сервері Apache, скрипти, виконувані DHCP-клієнтами та ін.

Проблемі майже чверть століття. І оскільки Bash використовується повсюдно, пролом також виявляється всюдисущої.

Подробиці також можна знайти на Securelist .

Що говорять?

Крайню серйозність уразливості не заперечує ніхто. Той факт, що її дуже просто експлуатувати, а також її висока потенційна шкідливість і присутність майже в будь-який * Nix-системі, робить її особливо страхітливою. CERT присвоїв їй 10 з 10 балів за шкалою загроз.

В повідомленні від Red Hat говориться: «Ця вразливість CVE-2014-6271 допускає до виконання довільного коду. Певні служби і додатки дозволяють атакуючим, віддалено і в обхід будь-якої аутентифікації задавати змінні середовищ і тим самим експлуатувати проблему ... Ця проблема зачіпає всі продукти, які використовують Bash і здійснюють парсинг значень змінних середовищ. Загроза особливо велика, оскільки існує безліч способів виклику Bash з боку різних додатків. Досить приватно якщо додаток виконує інший двійковий код, для цього також викликається Bash. »

Згідно Ars Technica , «Якщо Bash є системною командною оболонкою за замовчуванням, зловмисники можуть використовувати його для віддалених атак на сервери та інші пристрої, що використовують Unix і Linux, через Інтернет-дзвінки, захищену командну оболонку, сесії telnet і інші програми, які використовують Bash для запуску скриптів» .

Роберт Грем з Errata Security упевнений, що #BashBug нітрохи не менш небезпечний, ніж Heartbleed , A то й представляє ще більшу загрозу.

«Величезна кількість ПО взаємодіє з цією оболонкою тим чи іншим способом», - написав він. - «Таким чином, ми ніколи не зможемо скласти повний список ПО, уразливого через проломи Bash. Тим самим виявляється схожість з проломом в OpensSSL: OpenSSL присутній в незліченній кількості ПО, так що в повній мірі оцінити, яка частина ПО вразлива, не представляється можливим ».

Грем також вказує, що баг особливо небезпечний для пристроїв, що належать до т.зв. «Інтернету-речей» - відеокамер, наприклад, оскільки «значна частина їх прошивок складається з скриптів Bash з прямим підключенням до Мережі. Таким чином, їх не тільки складно пропатчити, через них цю уразливість ще й найпростіше експлуатувати ».

Ну, а якщо згадати, що значна частина пристроїв такого роду взагалі неможливо перепрошити, ситуація виглядає, м'яко кажучи, неважливо.

Ну, а з іншого боку, експерти Rapid7 кажуть , Що вони б не поспішали вбудовуватися в загальний тривожний хор з приводу того, що нова уразливість - це Heartbleed 2.0, оскільки, мовляв, необхідні умови для віддаленої експлуатації не є загальнопоширеними.

«Для кожного порушеного додатки вектор експлуатації буде дещо іншим або умови доступу до уразливому коду будуть виглядати інакше, ніж в іншому додатку. Це може значно обмежити поширеність атак. Щодо Heartbleed простіше було зробити будь-які остаточні висновки, і наслідки були куди більш широкими ».

Проте, Роберт Грем вказує в своєму пості , Що Shellshock можна експлуатувати за допомогою хробака. Він справив первинне сканування і негайно виявив «близько 3000 систем, уразливих через один тільки порт 80, через корінь URL (« / »), без поля Host». На думку Грема, вразливостей насправді куди обольше. І - увага! - хтось вже виробляє масове сканування і намагається поширювати шкідливе ПЗ. «Швидше за все, вони вже встигнуть скомпрометувати більшу частину систем, які я виявив, до ранку. Якщо вони будуть використовувати інші URL і поправлять поле Host, «успіхи» їх будуть набагато більші ».

Як вам звук цокаючий годин?

Як вам звук цокаючий годин

віддалені атаки

Ключове питання: як просто буде експлуатувати цю уразливість для виробництва віддалених атак? Умови для експлуатації «не є загальнопоширеними» (до речі, Red Hat їх перераховує ). Однак атаки все одно цілком вірогідні. Вольфганг Кандек, технічний директор компанії Qualys, пропонує такий сценарій:

«Bash дуже часто використовується при установці ПО через Мережу для виконання команд, що відкриває досить цікавий вектор атаки. Уявіть собі вебсервер, який дозволяє опитувати командою ping IP-адреса (така функція є у мого домашнього роутера, наприклад); швидше за все, він просто викличе виконуваний файл, який зробить процедуру ping, використовуючи задані вами параметри, найімовірніше, перевіряючи, наскільки задана величина коректно отформатірованна - тобто, чи є це IP-адресою. З вразливістю CVE-2014-6271, якщо ви можете контролювати значення змінної середовища, заданої командній оболонці, то ви можете запускати довільні команди. Контролювати змінну сердитися не так складно, оскільки у атакуючого вже є великий їх діапазон - наприклад, установки для реферера або UserAgent. Відповідно, нескладно уявити сценарій, в рамках якого установка CGI-BIN використовується для виконання команд на сервері, - атаку провести виявляється цілком просто ».

патчі

А ось тут все складно. Виправлення для CVE-2014-6271 Red Hat випустив вельми оперативно, проте швидко з'ясувалося, що латочка неповна і що вразливість як і раніше можна експлуатувати.

До Національного реєстру вразливостей внесли новий рядок - CVE-2014-7169, і для неї теж були написані патчі. Однак і ті, які були вже написані, виявилися з різних причин практично марними. В результаті зареєстровані ще два індекси - CVE-2014-7186 і CVE-2014-7187.

На щастя, виправлення все-таки надходять. Про них в наступному пості.

Чи не час нам трохи попаніковать?

Це непрактично.

І що тепер?

Для початку, перевірте, чи є у вас де-небудь вразливі версії Bash. можна скористатися ось цим інструментом .

Якщо у вашій мережі є embedded-пристрої з прошивками, які не піддаються зміні, їх треба ховати - за великий, жирний фаерволл.

Користувачі Apple Mac OS X можуть видихнути: за замовчуванням Mac OS X не схильна до цієї вразливості. Якщо, звичайно, на ній не сконфігуровані будь-які «Специфічні служби UNIX» . Для тих, у кого ці служби є, готується патч.

Про патчах для решти постраждалих читайте в наступному пості.

В чому справа?
Що говорять?
Як вам звук цокаючий годин?
Чи не час нам трохи попаніковать?
І що тепер?

Новости