Пока все постят фоточки
из очереди за XBox или iPhone, у нас тут случился настоящий «крякер
интернета».
Возможно, краем уха вы
уже слышали про какой-то баг в командной оболочке Bash (он же Shellshock, хотя
мне больше по душе BashDoor). Если вкратце, то эта уязвимость позволяет
удаленно выполнять произвольные команды. В ваших Mac’ах, серверах, домашних
роутерах и даже Wi-Fi камерах с веб-интерфейсом. Не всегда, конечно, и с
некоторыми оговорками — но очень часто. И это не единственная плохая новость.
Вообще-то, их пять.
1. Работающего патча до
сих пор нет
Представь масштаб бедствия: Bash используется практически во
всех Linux, BSD и OS X — а нормального
патча не существует. История забавна тем, что заплатка уже выходила, но
проблему не вылечила. Похоже, единственный способ починить Bash прямо сейчас —
это вручную отключить функцию import в сорцах и все это хозяйство пересобрать, но это вариант для совсем смелых.
По ссылке лучше даже не ходить.
2. Даже когда будет патч, икаться
ShellShock нам будет еще очень долго
Роутеры, веб-камеры, NAS’ы и
новомодные Internet of Things — уязвимая версия Bash еще годы будет оставаться
в куче устройств. Нужно ли рассказывать, как часто они обновляются (без
механизма-то автообновления) и для скольких из них вообще не будет никаких
новых прошивок? Очередные истории про майнинг биткоинов на тысячах зараженных
NAS’ах — в ближайшем будущем.
3. Эксплуатировать эту
уязвимость настолько просто, что становится страшно (скрипты и тулзы в
изобилии представлены на GitHub)
Сложно представить,
сколько людей сейчас сканирует все IP подряд в поиске уязвимых сервисов, следуя
примеру Роберта Грахама. Этот-то лишь посчитал, на скольких
из проверенных серверов выполнится команда ping на его хост — повторять такую
безобидную штуку уже неинтересно. Уже сейчас есть подтвержденные примеры, что
ShellShock использует малварь и лавинообразно заражает серверы.
4. Используете
Git/Subversion? Прекрасно, они тоже уязвимы (по крайней мере, в том случае,
когда настроены с поддержкой SSH)
Фактически, любой пользователь системы
контроля версий и так имеет доступ к ОС, но без прав на выполнение команд. ShellShock же позволяет обойти это ограничение
и получить шелл (возможность выполнять команды). Единственная хорошая новость в
том, что многие ОС для пользователя git по умолчанию используют не bash, а
безопасный dash (например, Debian).
Напоследок мое любимое — чтобы не расслабились, думая что ShellShock
вас не касается.
5. Уязвимость может быть
проэкплуатирована через протокол DHCP — тот самый, что используется для
раздачи IP-адресов.
Только представь. Коннектишься себе к Wi-Fi сети — и вместе
с IP-шником бонусом получаешь еще боевую нагрузку — троян. Самый эпичный вектор
(а вот демонстрация), не иначе. Виндузятники будут
припоминать тебе это еще долго.
P. S. Самой главной наживой сейчас являются веб-приложения,
использующие CGI-скрипты (через mod_cgi и mod_cgid), их много — и их
очень хорошо сейчас находят. Проверить, не уязвим ли сервис, легко — вот здесь.
А как от этого защититься? Подключить WAF (Web Application Firewall), который
будет отбивать атаки, спрятать/изолировать уязвимый сервер, брутально отключить
часть приложения, реализованную через CGI. И молиться, что сегодня патч
все-таки выйдет.
@Михаил, патч вышел — а уязвимость осталась.
CVE-2014-7169 по-прежнему актуальна :(.
А можно подробностей побольше? Что за патч вышел? Я так понимаю, это временный костыль. Почему он не решает проблему? Почему уязвимость осталась?
Этот настоящий хакер неплохо умеет переводить тексты от настоящих профессионалов:
http://blog.wallarm.com/post/98420727113/5-very-bad-news-about-shellshock
Степан, зачем ты крыса?
Деточка, глаза открой: "Директор по продуктам компании Wallarm и экс-главный редактор журнала «Хакер» Степан Ильин попытался разобраться в ситуации".
Прочитал, ничего не понял:(
ZSH!
Интересно получается. Unix-way (для каждой задачки - своя утилитка) + контролируемые исходники неплохо справляются с ловлей мелких и явных уязвимостей. Но с другой стороны, если уязвимость все-таки просачивается сквозь фильтр и попадает в устоявшийся набор утилит - проблема становится малорешаемой. Так как код с уязвимостью оказывается растиражирован в таких количествах, что все пропатчить уже сложно, а если речь заходит об обновлении прошивок на старом железе - вообще нереально.