infosec
55.1K subscribers
1.35K photos
74 videos
84 files
1.55K links
Copyright: @SEAdm1n

Вакансии: @infosec_work

Информационная безопасность. Литература для ИТ специалистов. Пентест, DevOps, Администрирование.

Преобрести рекламное размещение: https://telega.in/c/it_secur

РКН: https://vk.cc/cN3VCI
Download Telegram
🔐 Mayhem - атака, искажающая биты в памяти для обхода аутентификации в sudo и OpenSSH.

• Исследователи из Вустерского политехнического института представили новый тип атаки Mayhem, использующий метод искажения битов в динамической оперативной памяти Rowhammer для изменения значений переменных в стеке, применяемых в программе в качестве флагов для принятия решения об успешности аутентификации и прохождения проверок безопасности. Практические примеры применения атаки показаны для обманного прохождения аутентификации в SUDO, OpenSSH и MySQL, а также для обхода в OpenSSL проверок, связанных с безопасностью.

• Атака может быть применена к приложениям в которых при проверках используется сравнение значений отличный от нуля, например:

int auth = 0;
... // код проверки, меняющий значение auth в случае успешной аутентификации
if(auth != 0)
return AUTH_SUCCESS;
else
return AUTH_FAILURE;


• В контексте данного примера атака Mayhem позволяет добиться искажения бита в памяти, приходящегося на переменную auth в стеке. При искажении любого бита в переменной значение уже не будет равно нулю и условный оператор определит успешное прохождение аутентификации. Подобные шаблоны проверки достаточно распространены в приложениях и встречаются, например, в SUDO, OpenSSH, MySQL и OpenSSL.

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

• Для искажения битов применяется одна из модификаций атаки класса RowHammer. Так как память DRAM представляет собой двухмерный массив ячеек, каждая из которых состоит из конденсатора и транзистора, выполнение непрерывного чтения одной и той же области памяти приводит к флуктуации напряжения и аномалиям, вызывающим небольшую потерю заряда соседних ячеек. Если интенсивность чтения большая, то соседняя ячейка может потерять достаточно большой объём заряда и очередной цикл регенерации не успеет восстановить её первоначальное состояние, что приведёт к изменению значения сохранённых в ячейке данных. Для защиты от RowHammer производители чипов добавили механизм TRR (Target Row Refresh), который блокирует искажение ячеек в частных случаях, но не защищает о всех возможных вариатов атаки.

• Для защиты от атаки рекомендуется использовать в сравнениях не оценку отличий от нуля, а проверку совпадений, используя случайное значение затравки c ненулевыми октетами. В этом случае для выставления нужного значения переменной необходимо точно исказить существенное число битов, что нереалистично, в отличие от приблизительного искажения одного бита. Например:

int auth = 0xbe406d1a;
... // код проверки, выставляющий значение auth в 0x23ab8701 в случае успешной аутентификации
if(auth == 0x23ab8701)
return AUTH_SUCCESS;
else
return AUTH_FAILURE;


• Указанный метод защиты уже применён разработчиками sudo и вошёл в состав выпуска 1.9.15 как исправление уязвимости CVE-2023-42465. Прототип кода для совершения атаки планируют опубликовать после внесения исправлений в основные уязвимые проекты.

➡️ Источник.

#mayhem #rowhammer #OpenSSH
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34🤔149🔥7
🔑 В OpenSSH добавлена встроенная защита от атак по подбору паролей.

• В кодовую базу OpenSSH добавлена встроенная защита от брутфорса. Для блокировки подобных атак в файл конфигурации sshd_config добавлен параметр PerSourcePenalties, позволяющий определить порог блокировки, срабатывающий при большом числе неудачных попыток соединений с одного IP-адреса. Новый механизм защиты войдёт в состав следующего выпуска OpenSSH и будет включён по умолчанию в OpenBSD 7.6.

➡️ Источник и более подробная информация.

#OpenSSH
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36👍17👎32🥱2
📶 Бэкдор в OpenSSH.

• Помните атаку на репозиторий liblzma/xz‑utils в начале этого года, конечной целью которой был бэкдор в OpenSSH? Мало кто знает, что бэкдор в xz‑utils на самом деле второй широко известной попыткой внедрения бэкдора в OpenSSH. Впервые это произошло более 22 года назад, в 2002 году:

• Атака 2002 года была довольно простой. Оригинальный анонс: OpenSSH Security Advisory: Trojaned Distribution Files. В те времена, исходный код OpenSSH размещался на ftp.openbsd.org, и каким‑то образом он был заменён на версию с бэкдором. Точно неизвестно, как это произошло, но злоумышленнику удалось подменить файлы .tar .gz для нескольких версий. В то время в хакерской среде активно распространялись эффективные эксплойты для серверов, так что в этом нет ничего особо удивительного. К счастью, благодаря разнице в контрольных суммах файлов, бэкдору не удалось долго просуществовать. Например, при попытке собрать версию OpenSSH с бэкдором на FreeBSD система «портов» автоматически проверяла контрольные суммы пакетов, и так как в ней уже была информация о контрольных суммах этих версий до внедрения бэкдора, она сообщала о расхождении. Если бы атакующие дождались выхода новой версии и сразу заменили бы файлы .tar .gz и файлы с контрольными суммами, они могли бы добиться гораздо большего успеха.

• Как не посмотри, это был простой бэкдор, возможно, самый простой, который можно себе представить. Шаг первый: в сборку пакета были внесены изменения, благодаря которым при запуске configure компилировались и выполнялись файлы добавленные злоумышленником. Шаг второй: вредоносный код подключался к захардкоженному IP‑адресу в Австралии каждый час и получал список команд для выполнения на скомпрометированном устройстве.

• До сих пор неизвестно, кто именно стоял за этим бэкдором, но распространённое мнение (по крайней мере среди разработчиков OpenBSD) заключается в том, что это были просто мелкие проделки, которые были вполне обычным делом для 2002 года. Это, конечно, был не первый подобный случай. Например, Wu‑FTPd, самый популярный ftpd 90-х годов, столкнулся с чем‑то подобным еще в 1993 году. Однако это было хорошим предзнаменованием того, что последует дальше. Случай 2002 года представляет собой интересное историческое событие, поскольку он демонстрирует как сходства, так и различия по сравнению с современной попыткой внедрения бэкдора xz‑utils в OpenSSH. Исследуя эти различия мы можем извлечь полезные уроки на будущее.

- Источник 1;
- Источник 2.

#OpenSSH #XZ #backdoor
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥9👨‍💻32