Уязвимость Bash: почему это касается всех

Новости

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

Уязвимость Bash: почему это касается всех

Что такое Bash?

Bash — это популярная оболочка, командный процессор, работающий в том числе со скриптами и позволяющий пользователю взаимодействовать с системой посредством специальных команд. Несмотря на свой преклонный возраст (первая версия оболочки появилась еще в конце 80-х годов), Bash присутствует в подавляющем большинстве современных *nix-систем, в том числе в разновидностях Linux и, конечно же, Apple OS X. Кроме того, Bash можно обнаружить на очень и очень многих веб-серверах, а также на домашних сетевых устройствах вроде роутеров, модемов и прочей подобной технике. Таким образом, потенциальной уязвимости в той или иной степени подвержены практически все пользователи Интернета.

Собственно сама уязвимость была обнаружена системным администратором из компании Akamai Стефаном Чазеласом (Stephane Chazelas), и нам остается только надеяться на то, что он был первым, кто о ней узнал. Вероятность этого, впрочем, не слишком велика, так как, судя по всему, баг просуществовал в программном коде оболочки более 20 лет и мог до сих пор совершенно незаметно эксплуатироваться злоумышленниками.

Чем опасна эта уязвимость?

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

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

В этом смысле Shellshock может быть даже опаснее истории с Heartbleed. Ошибка, обнаруженная в протоколе шифрования OpenSSL, могла привести к краже данных из памяти, в данном же случае речь идет о более серьезной опасности. Вот что сказали по этому поводу наши коллеги из GReAT, команды исследователей и экспертов «Лаборатории Касперского»:

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

Исследователи «Лаборатории Касперского» также не исключили возникновения ситуации, в которой баг может привести к компрометации ценной банковской информации и, как следствие, к краже самих денег. Правда, для исполнения подобного сценария злоумышленнику придется найти способ доступа к самой оболочке Bash, что может оказаться не так просто. В действительности в погоне за чужими деньгами хакеры скорее будут атаковать не компьютеры конкретных пользователей, а банковские серверы, хранящие информацию о множестве клиентов банка.

На данный момент наиболее емко критичность бага описали специалисты из американской Компьютерной группы реагирования на чрезвычайные ситуации (CERT): «Эта уязвимость позволяет злоумышленникам передавать специально созданные переменные окружения, содержащие произвольные команды, которые могут выполняться на уязвимых системах. Это особенно опасно по причине того, что оболочка Bash очень распространена и может быть вызвана приложениями разными способами». Кроме того, в CERT назвали степень проникновения уязвимости высокой (10 баллов), а сложность низкой.

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

Как себя защитить?

Единственное, что вы можете сделать для защиты себя и своих устройств помимо полного отказа от пользования Интернетом, — это регулярно обновлять все имеющееся у вас программное обеспечение всех «железок», желательно сразу после того, как производитель выпускает соответствующие патчи.

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

К сожалению, как нам сказали коллеги из GReAT, оболочка Bash настолько широко распространена и столь разнообразна в применении, что патчи решат проблему лишь на время, так что процесс латания обнаруженной дыры — это длинный путь, основанный на пробах и ошибках, проходить который, возможно, придется очень долго. Кстати, как стало известно, первый эксплойт уже обнаружен, а вышедшие патчи не решают проблему целиком.

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

Как написал в своем блоге эксперт по безопасности компании Errarta Security Роберт Грэм (Robert Graham), уязвимых систем, которые так и не будут пропатчены, окажется гораздо больше, чем в случае с Heartbleed. Что это значит в цифрах? Ничего хорошего: даже месяцы спустя после выхода обновлений, закрывающих дыру в OpenSSL, по всему миру продолжают работать сотни тысяч Heartbleed-уязвимых устройств.