Rambler's Top100
Реклама
 
Все новости Новости отрасли

Ошибки в Java и Python позволяют взламывать фаерволлы

22 февраля 2017

В Java и Python обнаружены критические уязвимости, которые в теории позволяют злоумышленникам обходить фаерволлы.

Речь идет об уязвимостях типа «инъекция в протокол», допускающих вставку своих пакетов с данными в поток, передаваемый между клиентом и сервером, пишет CNews.

Как оказалось, в Java и в библиотеках Python urllib и urllib2 присутствуют уязвимости, которые позволяют осуществлять инъекцию пакетов в FTP-протокол, вследствие чего фаерволлы начинают пропускать внешние TCP-соединения к любому порту в диапазоне 1024-65535 на уязвимой системе.

Как утверждает в своей публикации ИБ-компания BlindSpot, эксплуатация уязвимости в Java позволяет атаковать даже тех пользователей десктопов, у которых не установлен браузерный плагин Java.

Баги были выявлены довольно давно, разработчиков уязвимого ПО уведомили заранее, однако бреши до сих пор не заделаны.

Как выяснил эксперт по безопасности Александр Клинк, Java в недостаточной степени проверяет синтаксис в пользовательских именах FTP-протокола; XML eXternal Entity не проверяет наличие комбинаций CR (команда «возврат каретки») и LF (команда «перевод строки»). Вследствие этого злоумышленники могут остановить выполнение команд USER и PASS, и внедрить новые команды в FTP-сессию; кроме этого возможна отправка произвольных SMTP-команд и удаленное соединение с серверами для отправки несанкционированных e-mail.

Если злоумышленнику удается убедить любое Java-приложение попытаться запросить вредоносную ссылку (URL), содержащую CR и/или LF (например, в форме ftp://foo:bar%0d%0aINJECTED@example.net/file.png), то он может внедрить в поток данных клиента новые FTP-команды. Вышеприведенный пример вредоносной ссылки формирует новые строки, которые будут интерпретированы как часть TCP-потока, так что сервер будет считывать слово INJECTED как отдельную команду, поступившую от клиента. Дальше, как указывает эксперт компании Blindspot Тимоти Морган (Timothy Morgan), если Java-приложение считывает такую ссылку, на сервер можно отправить целую последовательность команд, включая вредоносную.

В случае с Java код может быть внедрен через несколько полей в URL; поля пользовательского имени и название директории, указанные в ссылке, также позволяют произвести инъекцию.

«Эта атака представляется особенно интересной, если у вас появляется возможность внутренний почтовый сервер (лишенный ограничений на доступ, возможно, даже лишенный антивирусных средств и спам-фильтров) с машины, осуществляющей XML-парсинг», - написал Клинк. - «Появляется даже возможность отправки вложений, поскольку, похоже, ограничений на длину URL нет, кроме как объемов доступной оперативной памяти (парсинг 400-мегабайтной URL-строки, правда, по каким-то причинам потребовал более 32 ГБ)».

Данная уязвимость может быть также использована для парсинга вредоносных JNLP-файлов, проведения MiTM-атак («человек посередине») или кампаний межсайтовой подделки запроса.

Уязвимость в Python, как указывает Тимоти Морган, практически идентична проблеме в Java. Но есть разница: для успешной эксплуатации уязвимости в Python, по-видимому, требуется перечисление во вредоносной URL-строке названий директорий.

Информацию о наличии уязвимости в Java корпорации Oracle предоставили еще в ноябре 2016 г. Разработчиков Python с наличествующей брешью ознакомили почти на год раньше - в январе 2016 г.

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

Что касается мер защиты, то и корпоративным, и индивидуальным пользователям рекомендовано отключить «классический» режим FTP по умолчанию, а также провести аудит соответствующих приложений на предмет наличия описанных уязвимостей.

«Серьезные ошибки время от времени выявляются в любых программных продуктах, однако Java со всей ее популярностью находится среди лидеров по количеству брешей, - говорит Дмитрий Гвоздев, генеральный директор компании «Монитор безопасности». – С точки зрения киберугроз, написанные на Java приложения следует держать под особым контролем, вплоть до «презумпции виновности».

Источник: CNews

Заметили неточность или опечатку в тексте? Выделите её мышкой и нажмите: Ctrl + Enter. Спасибо!

Оставить свой комментарий:

Для комментирования необходимо авторизоваться!

Комментарии по материалу

Данный материал еще не комментировался.