Positive Development Community
3.19K subscribers
1.62K photos
290 videos
4 files
512 links
Download Telegram
И наконец, НЕ экспериментальная рубрика 😍 Всех с пятницей 👋
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥13😁11🔥42👍1
📌 Наиболее интересные публикации по аппсеку за прошедшую неделю

📰 Описание эффективной техники обфускации in-memory сборок .NET от R-Tec.

📰 И снова RSA, и снова Блейхенбахер, и снова оракулы... Оригинал статьи о старой-новой атаке MARVIN, краткое саммари на русском.

📰 Опыт от VK по аппсеку внутренних ресурсов.

📰 Краткая история функций парольного хэширования.

📰 Очередная атака по побочным каналам, на этот раз на GPU, поэтому "GPU.zip".

📰 Весьма годный FAQ по проблемам безопасности многопоточных вычислений. Здесь же, нельзя не упомянуть о более ранних, но не менее годных статьях от PortSwigger на эту же тему (раз, два).

📰 Детальный разбор CVE-2023-35813 — атаки на древний, мамонтовый, но иногда всё ещё актуальный TemplateParser в ASP.Net WebForms.

📰 Поучительная история о том, как DLL hijacking в WinDbg был исправлен в рамках багбаунти, но так и не получил подтверждённого CVE.

📰 Разбор ещё одной CVE-2023-38831, винрарной в самом прямом смысле этого слова 🦄

📰 Статья от Veracode об управлении секретами в условиях облачной разработки.

⁉️Это — тоже #экспериментальная_рубрика. Что нужно делать, чтобы она стала постоянной, вы, впрочем, уже знаете👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥113
🔍Наиболее интересные уязвимости прошедшей недели

🐛 CVE-2023-40044 в платформе для обмена данными Progress Software WS_FTP Server до версий 8.7.4 и 8.8.2 позволяет неаутентифицированному атакующему выполнять произвольные команды с помощью эксплуатации небезопасной .NET десериализации. Уязвимость заключается в использовании небезопасной реализации BinaryFormatter.Deserialize для десериализации пользовательских данных, полученных из POST multipart запроса к эндпойнтам модуля "Ad Hoc Transfer" ( /AHT ) и последующего формирования экземпляра класса SettingsStorageObject, в котором содержатся только три публичных поля типа массива символов. В таких случаях разработчикам было бы достаточно реализовать свой SerializationBinder, в котором ограничить использование типов или использовать иные методы заполнения полей при формирования экземпляров класса, но в патче только была вырезана уязвимая функциональность. Для эксплуатации достаточно стандартных стандартных цепочек гаджетов из набора ysoserial.net (например, DataSet).

🐛 CVE-2023-4863 в библиотеке libwebp для обработки изображений формата WebP, исправленная в коммите 902bc91, позволяет злоумышленнику выполнить запись за пределы кучи с помощью специально сформированного webp файла. Уязвимость заключается в выделении буфера huffman_tables некорректного размера внутри функции ReadHuffmanCode и последующей записи в него данных, размер которых превышает это значение. Размер huffman_tables вычисляется на основе предварительно сформированного массива kTableSize, который учитывает только размеры для поиска в 8-битной таблице первого уровня. Поскольку libwebp поддерживает коды длиной до 15 бит, проблема может возникнуть, когда функция BuildHuffmanTable попытается заполнить таблицы второго уровня. В патче была добавлена проверка корректности входных данных с помощью вызова функции VP8LBuildHuffmanTable при первом проходе (в котором еще не идет запись в таблицу Хаффмана) для расчета необходимого размера, если данные некорректны - выполнение завершается. Более подробный разбор уязвимости можно посмотреть в этой статье.

🐛 CVE-2023-43256 в платформе домашнего ассистента Gladys Assistant позволяет привилегированному удаленному пользователю читать произвольные файлы на сервере. Уязвимость заключается в отсутствии проверки значений входящих параметров запроса folder и file в обработчике запроса getStreamingFile (/api/v1/service/rtsp-camera/camera/streaming/:folder/:file). Значения данных параметров участвуют в формировании пути (path.join(gladys.config.tempFolder, req.params.folder, req.params.file)) для возвращаемого в ответе файла. В патче была добавлена проверка входящих значений по строгому паттерну (/index[0-9]+.ts/) или наличие в массиве допустимых значений ['index.m3u8', 'index.m3u8.key', 'key_info_file.txt'] для file и /^camera-[a-zA-Z0-9-_]+$/ для folder).

🐛 CVE-2023-2315 в OpenCart с версии 4.0.0.0 до 4.0.2.2 позволяет аутентифицированному пользователю с правами на доступ/модификацию в компоненте Log удалять содержимое произвольных файлов на сервере. Уязвимость заключается в отсутствии санитизации параметра запроса filename у эндпойнта tool/log.clear, который впоследствии попадает в функцию fopen с модификатором доступа w+ для очистки файла. Патч добавляет использование функции basename при извлечении из параметра запроса последнего компонента пути (имени файла).
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥4👍2
Forwarded from Positive Technologies
📨 Сегодня несколько наших сотрудников получили сообщения в Telegram — якобы от нашего коллеги, эксперта по кибербезопасности.

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

Наши сотрудники хорошо осведомлены о базовых принципах кибербезопасности и сразу поняли, что по ту сторону экрана — мошенник. И решили воспользоваться моментом, чтобы немного пошутить над ним.

Как пишут коллеги из ISACA, наш случай не единственный. Злоумышленники массово распространяют такие фишинговые сообщения и выдают себя за известных экспертов в области ИБ.

💬 На что стоит обратить внимание, если вы получили такое сообщение?

‎ Главное: если человек уже есть в ваших контактах, то вверху диалога не должно быть кнопок «Добавить в контакты» и «Заблокировать».

Проверяйте написание ника и номера телефона. Если номера у аккаунта нет, но вы точно уверены, что пользователь есть в ваших контактах, — это еще один повод насторожиться.

Позвоните реальному человеку по номеру телефона, который вам известен, и предупредите его.

Заблокируйте аккаунт мошенника.

@Positive_Technologies
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣12👍3🔥3
А вот и мемчики 🤗 Всем хорошего настроения и правильного завершения пятницы ;)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥144😁4
На ближайшем Heisenbug про тестирование безопасности будет один доклад. Но для тех, кому близка тема безопасности, у нас есть еще подкаст SafeCode Live, и его новый выпуск — уже на YouTube. Разбираемся в ролях, связанных с безопасностью, и кого и как искать, если регулятор поставил условие, что «должна быть безопасность».

Будет полезно нанимающим менеджерам и всем, кому интересно развиваться в AppSec.

Гости выпуска обсуждают:

— чем занимаются специалисты по безопасности;

— кто такой security champion и как им стать, если ты — разработчик;

— кто такой AppSec Business Partner;

— какие возможности у найма с рынка: основные проблемы и подводные камни;

— как проводить собеседование;

— что спрашивать у работодателя, если ты ищешь работу;

— как удержать сотрудников после того, как нашли;

— как взращивать компетенции внутри компании.

Гости:

— Светлана Газизова, Head of Audit в Swordfish Security. Знает, как делать хороший AppSec.

— Алексей Антонов, коммерческий директор Вебмониторэкс.

Ведущий: Сергей Деев, эксперт по кибербезопасности в МТС RED.

Подписывайтесь на YouTube-канал и Telegram-канал SafeCode, чтобы не пропустить новые выпуски!
🔥6
Всем привет! 👋
(@vkochetkov здесь)

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

Дело в том, что сей Pedram, предлагая решать проблему обработки входных данных «зря в корень», похоже, даже близко себе не представляет, где этот корень находится. Рассмотрим на примере первой части статьи. В ней автор рассматривает примеры решений одного из челленджей SecDim, основанного на CVE-2021-43798, и отбраковывает одно за другим, апеллируя к тому, что они не устраняют корень проблемы. Корень же Path Traversal, по убеждению автора, заключается в (я цитирую):

> is the lack of path canonicalization

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

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

Btw, предложенное автором решение никак не защищает от, например, обращения к альтернативным потокам NTFS, если приложение окажется (не дай бог, конечно) развёрнутым под виндой. Как и от внедрения нуль-байта, управляющих символов и прочих DoS через жестко-заданные в ОС файловые имена. Зависит от окружения, конечно, но кто ж так в корень-то смотрит? 🤦‍♂️

И потом, если уж мы протащили файловые пути на уровень бизнес-логики, то реализуя тем самым требование «отдать пользователю существующий файл по запрошенному, жестко-заданному пути». И вот что мешало вспомнить о принципе KISS и сделать как-то так — ума не приложу:

if not str.isidentifier(filename) or filename not in os.listdir("/resources"):
return HttpResponseBadRequest()

(почему не с помощью os.path.exists() — пусть будет домашним заданием)

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

А не вот это вот всё... 🫠

❗️И да, это тоже #экспериментальная_рубрика. А вы как думали?👇
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍12🍌21