Экономика безопасности кода или почему Rust не нужен

Прочитал статью Параллелизм с общим состоянием в Rust и обратил внимание, что её общий смысл можно выразить известной фразой: “делай как нужно, а как не нужно, делать не нужно”. Другими словами, это точно такой же совет, какой можно дать разработчику любого другого языка программирования, например...

Все блоги / Про интернет

librats: Выпуск версии 0.7.x (новая библиотека для распределённых P2P-приложений). Так же релиз rats-search 2.0

Всем привет! Я продолжаю развивать свою библиотеку для создания распределённых приложений, которая уже легла в основу новой версии rats-search (распределенного торрент-поисковика). Она позволяет развернуть собственную P2P-сеть и связать пользователей между собой. Главная особенность —...

Все блоги / Про интернет

CIMCO Edit для Windows 7

Windows 10 нинужон! Запускаем 3D симуляцию самого популярного в мире редактора УП для станков с ЧПУ CIMCO Edit 2025 (2025.01.25) в операционной системе Microsoft Windows 7. И ещё переводим на русский язык саму программу. Читать далее всё это безобразие......

Все блоги / Про интернет

Умершие языки программирования (Fortran, Ada, Cobol) И почему на западе они до сих пор живы

Существуют языки, которые все считают мертвыми, но есть ньюанс. В СНГ на Бейсике вакансий больше чем на Руби, а вакансий у Паскальщиков не сильно меньше чем у шарпистов. Все не так просто, поэтому давайте разбираться Читать далее...

Все блоги / Про интернет

Эксплуатация уязвимости race condition CVE-2025-29824 в Windows

Привет, Хабр! На связи Марат Гаянов, я занимаюсь исследованием безопасности. В сфере моих профессиональных интересов эксплуатация уязвимостей, реверс-инжиниринг и фаззинг. В этой статье я хочу рассказать об одном баге, точнее, о его эксплуатации. Эксплуатация уязвимости типа use after free в ядре...

Все блоги / Про интернет

Осваиваем ML WAF: от текстовых правил к машинному обучению

Всем привет, меня зовут Семён. Я пишу на С++ и работаю в группе Антиробота. Антиробот — это сервис, который на уровне L7 защищает нас от парсеров и DDoS-атак. Разрабатывать его начали более 10 лет назад — сначала он предназначался только для защиты Поиска, затем был внутренним инструментом, который...

Все блоги / Про интернет

Превратили PVS-Studio в город

Вы когда-нибудь хотели взглянуть на свой код под новым углом? Например, увидеть, как бы выглядела ваша кодовая база, будь она городом? Звучит как что-то невероятное. Давайте вместе заглянем в город PVS-Studio и просмотрим, какие тайны он в себе хранит :). Читать далее...

Все блоги / Про интернет

Taint-анализ в C и C++ анализаторе PVS-Studio

Ваш код принимает данные извне? Поздравляем, вы вступили на минное поле! Любой непроверенный ввод от пользователя может привести к уязвимости, и найти все "растяжки" вручную в большом проекте почти невозможно. Но есть "сапёр" — статический анализатор. Инструмент нашего "сапёра" — taint-анализ (aka...

Все блоги / Про интернет

librats: новая библиотека для распределённых P2P-приложений

Всем привет! Я являюсь создателем распределённого поисковика rats-search на базе DHT ( GitHub ). Его принцип работы довольно прост: поисковик собирает торренты у всех участников сети и формирует большую распределённую базу для поиска, включая метаданные (например, описания и прочую информацию). В...

Все блоги / Про интернет

Почему C стоит учить в 2025 году, особенно если вы изучаете пентест

Когда речь заходит о выборе языка для начинающего пентестера, чаще всего вспоминают Python: удобный синтаксис, тысячи библиотек, готовые скрипты на GitHub. Но чем глубже вы погружаетесь в безопасность, тем яснее становится: без языка C — никуда. C не устаревает — он продолжает быть фундаментом...

Все блоги / Про интернет

Что делать, если ваш слон думает, что он баг?

Мы окунулись в веб-разработку и нашли там необычное животное. Это был слон с повадками бага. Мы изучили код проекта PHP и поняли, в чём дело. Давайте вместе посмотрим на необычные случаи, которые могут привести к неожиданным результатам. Читать далее...

Все блоги / Про интернет

Повышаем привилегии в Windows через CVE-2024-30085

CVE-2024-30085 — это уязвимость в подсистеме Windows Cloud Files Mini Filter. Код подсистемы располагается в cldflt.sys — это драйвер минифильтра, и он относится к предустановленному клиенту облачного сервиса Microsoft OneDrive. Уязвимость фигурировала на прошедшем в Ванкувере Pwn2Own 2024, где...

Все блоги / Про интернет

PVS-Studio соответствует требованиям ГОСТ Р 71207—2024 (статический анализ программного обеспечения)

Инструментальное средство PVS-Studio разрабатывается с учётом требований, предъявляемых к статическим анализаторам в ГОСТ Р 71207–2024, выявляет критические ошибки и может использоваться при разработке безопасного программного обеспечения. Рассмотрим функциональные возможности, реализованные в...

Все блоги / Про интернет

Поиск ошибок в юнит-тестах

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

Все блоги / Про интернет

Как я учил войс чат дискорда работать через прокси с помощью перехвата системных вызовов и DLL Hijacking

Я, как и многие, пользуюсь дискордом и китайскими прокси клиентами, но, к сожалению, голосовой чат дискорда не поддерживает работу через прокси. Из-за этого постоянно приходится включать режим TUN/VPN, который заворачивает в туннель много лишнего. Можно ли с этим что-то сделать? Конечно! Добро...

Все блоги / Про интернет

«Всегда закрывай за собой двери!»: краткое пособие по работе с портами

Открытые порты — это распахнутые двери в вашу инфраструктуру. Сервис, который слушает по ним запросы, обрабатывает входящие данные и реагирует на них в зависимости от заложенной логики. Из-за ошибок на этом уровне возникают уязвимости, которые хактивист может эксплуатировать для нелегитимного...

Все блоги / Про интернет

Опасность устарела: несколько важных нюансов в новых стандартах C++

Undefined behavior (UB) — боль, знакомая каждому разработчику со стажем; эдакий «код Шредингера», когда не знаешь, правильно тот работает или нет. К счастью, стандарты языка С++20/23/26 привнесли относительно неопределенного поведения кое-что новое. И довольно важное, если вы — архитектор ПО, а...

Все блоги / Про интернет

Вы все еще пишете многопоточку на C++ с ошибками синхронизации?

Привет, коллеги! В этой статье я покажу свой подход к написанию многопоточного кода, который помогает избежать типовых ошибок, связанных с использованием базовых примитивов синхронизации. Демонстрация идеи будет проходить на живых примерах кода на современном C++. Большинство описанных решений я...

Все блоги / Про интернет

Назад