Рубрикатор |
Все новости | Новости отрасли |
Ошибки в 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. Спасибо!
Читайте также:
В России создадут стандартизованную платформу Java-разработки
VK открывает набор на бесплатные курсы по ручному тестированию и углубленному Python
Крупнейшая товарная биржа в России завершила переход на Axiom JDK Pro
МТС научит магистрантов ИТМО разрабатывать рекомендательные системы на Python
Navicon поможет бизнесу перейти на российские Java-технологии Axiom JDK Pro и Libercat
Оставить свой комментарий:
Комментарии по материалу
Данный материал еще не комментировался.