Обновить
1024K+

Информационная безопасность *

Защита данных

2 357,69
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Как я написал E2EE-мессенджер на Spring Boot и WebCrypto — и почему сервер не видит сообщения

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели3.8K

Привет, Хабр.

Я Java-разработчик и в основном работаю с backend: Spring Boot, базы данных, интеграции, авторизация, WebSocket — всё то, что обычно находится за интерфейсом.

В какой-то момент я поймал себя на мысли: я каждый день пользуюсь мессенджерами, но плохо понимаю, как они устроены внутри. Окей, JWT, WebSocket, PostgreSQL, Redis — это понятно. Но что технически означает фраза “end-to-end encryption”? Как сервер доставляет сообщения, если он не должен их читать? Где живут ключи? Что хранится в базе? Что происходит, если у пользователя два устройства?

Решил разобраться через практику. Написал мессенджер с нуля. Назвал Chaos Messenger.

Сразу честно: криптографическую часть я изучал вместе с Claude и ChatGPT — читал спецификации X3DH и Double Ratchet, разбирал примеры, задавал вопросы, пока не сложилась цельная картина. Frontend тоже делался с активной помощью ChatGPT: я backend-разработчик, React для меня не основная среда. Но архитектура, backend, интеграция WebCrypto, модель конвертов, хранение сообщений и принципиальные решения — мои.

Для меня AI здесь был не заменой понимания, а инструментом — примерно как документация, Stack Overflow и ревью коллег. Без понимания threat model и архитектуры такой проект всё равно не собрать.

В статье расскажу, как работает E2EE изнутри: как устанавливается сессия через X3DH, как каждое сообщение получает отдельный ключ через Symmetric Ratchet, почему сервер хранит только зашифрованные конверты, и какие ошибки я допустил по дороге.

Стек: Spring Boot 3, React 18, WebCrypto API, PostgreSQL, Redis, WebSocket/STOMP, Prometheus, Grafana.

Читать далее

Новости

Почему Big Data стек небезопасен по своей природе

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели4.5K

Год назад на рандом-кофе мы с коллегой обсуждали так называемую (мной) цифровую экологию и проблемы работы с большими данными, и он мне посоветовал доклад "The Unbelievable Insecurity of the Big Data Stack" с конференции Black Hat USA 2021 - в целом название полностью описывает содержание доклада. И вот только сейчас, спустя год, у меня дошли руки его разобрать и поделиться с вами своими мыслями на этот счёт. За пять лет доклад совершенно не утратил актуальности и, кажется, стал только более насущным.

Доклад делала Sheila A. Berta - специалист по offensive security из Аргентины, которая много лет занимается поиском уязвимостей и исследованием инфраструктур. В последние годы она сфокусировалась на безопасности Big Data и cloud-native систем. Это не теоретическая работа, а результат практического ресёрча.

Читать далее

Immunefi: разочарование в Web3-хантинге и почему проект вам не заплатит (а платформа ничего с этим не сделает)

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели5.4K

50 дней назад я отправил critical-репорт через Immunefi. Проект ни разу не ответил. Письменные ответы mediation team о том, как на самом деле устроены vault, SLA и медиация на крупнейшей Web3 bug bounty платформе.

Читать далее

Когда pull request выглядит нормальным, но ревью на нём всё равно зависает

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели5.4K

В AI-first разработке в продукт прилетает всё больше pull request от людей с разной глубиной контекста. Формально такие PR могут выглядеть нормально, но ревью всё чаще упирается не в синтаксис, а в попытку понять, что именно этот набор изменений делает с системой.

В статье - почему обычного ревью уже не всегда хватает и как из этой проблемы вырос PRShield: рабочий MVP слоя, который помогает принимать решение перед мержем.

Читать далее

Thoughtworks Technology Radar Vol. 34: что в тренде и каким становится software engineering после агентного поворота

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели7.2K

AI уже меняет не только то, как пишется код, но и то, как вообще надо проектировать инженерную среду вокруг разработки. Разбираем Thoughtworks Technology Radar Vol. 34 не как список модных трендов, а как сигнал сдвига: почему context engineering, zero trust, harness engineering и quality gates для coding agents становятся частью обычной практики engineering manager’ов, архитекторов и техлидов.

Читать далее

Кто на чём шлёт и принимает почту: измеряем email-инфраструктуру 660 тысяч доменов из Tranco top-1M

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели7.9K

Анализ DNS-снэпшота OpenINTEL за 2026-01-01

TL;DR. Используя ежедневные DNS-снэпшоты OpenINTEL поверх списка Tranco top-1M, мы собрали ландшафт email-инфраструктуры публичного веба на 1 января 2026 года. MX-записи опубликовали 660 114 доменов, SPF — 616 352, DMARC — 431 133. Дуополия Google Workspace (21.7%) + Microsoft 365 (16.3%) занимает суммарно ~38% receiving-стороны — заметно меньше, чем принято считать в популярных обзорах. На outbound-стороне Amazon SES вышел вперёд по числу авторизованных доменов (5.86%), обогнав SendGrid (4.66%). DMARC опубликован у двух третей SPF-доменов, но 19% всех DMARC-записей — это пустая v=DMARC1; p=none; без отчётов: формальная галочка, а не защита.

Читать далее

Простой способ сделать мессенджер Макс безопаснее без Docker и прокси

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели27K

Когда начал разбираться с веб-версией Max, первая мысль была — как бы его изолировать, чтобы он не ходил куда попало. Обычно в таких случаях советуют поднимать прокси, городить контейнеры или хотя бы использовать PAC-файлы.

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

Читать далее

РКН объявил войну зарубежным разработчикам игр

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели43K

С конца 2025 года РКН подал не менее 8 исков против крупных разработчиков игр. Но эта статья — не про игры. Точнее, не только про них.

Я разобрался, какие именно нормы применяются, к чему это ведёт на практике и почему последствия выходят далеко за пределы развлекательной индустрии. В конце — конкретное мнение о том, что с этим делать, и опрос, над которым стоит подумать всем нам.

Читать далее

Краткая история биометрии: как появилось распознавание по голосу

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели8.7K

Мы продолжаем рассказывать про краткую историю биометрии. И нам осталось рассказать о распознавании голоса человека. 

Историю биометрии голоса обычно начинают с мейнфрейма AUDREY (Automatic Digit Recognizer), созданного в 1952 году в Bell Labs). Голоса разных людей он еще не распознавал, но уже их слышал, что по тем временам казалось чудом. Это устройство для «слышания» номеров, как писали в СМИ и рассказывали о ТВ, может избавить от необходимости набирать номер, но оно работает только при четком произношении цифр номера одну за другой. 

Читать далее

Copy.Fail (CVE-2026-31431) — больше чем LPE

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели11K

Свежая CVE-2026-31431 только набирает обороты, и тут я хочу показать, почему это не совсем обычная LPE.

Copy Fail как примитив Process Injection через Page Cache

Оригинальный PoC модифицирует setuid binary перед execve и получает root.
Второй публичный PoC подменяет id у текущего юзера на 0000.

Хорошие, рабочие LPE, дающие рута.

Но исследуя дополнительные свойства этого примитива я обнаружил несколько эффектов, не описанных в оригинальном disclosure.

Читать далее

Вайбкод и безопасность: как не задеплоить уязвимости вместе с фичами

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели11K

Вайбкод это круто, пока не открываешь первый отчёт сканера безопасности и не видишь 234 проблемы. В статье разберём, как выстроить пайплайн вокруг LLM-проекта: подключить SAST-инструменты, настроить Quality Gate как блокировщик деплоя и использовать модель для исправлений — не вместо инструментов, а поверх них. Покажу на реальном проекте с реальными цифрами. Будет полезно тем, кто активно использует LLM для написания кода, и специалистам в области appsec/devsecops.

Часть 1 — контекст, данные из отчёта DryRun Security и немного теории про DevSecOps.

Часть 2 — подключаем SonarCloud, настраиваем Quality Gate, интегрируем в CI/CD.

Часть 3 — первый скан реального проекта: 234 проблемы, как их разбирать и исправлять через Claude 4.6.

Часть 4 — добавляем Semgrep, смотрим, где инструменты расходятся и где ломается подход.

Читать далее

Мне прислали фишинг под MAX. Я разобрал ссылку и нашёл уязвимость в их API

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели26K

«Мне прислали фишинг под MAX. Внутри оказался MITM в их API» «Не ты ли на фото?» — пришло поздно вечером, в обычной переписке, от знакомого, который пишет редко. К сообщению приложена короткая ссылка. Я понял, что у него увели аккаунт, и захотел разобраться, что внутри. Через пять дней я смотрел на инфраструктуру из 179 фишинговых доменов, четырёх хостингов, через которые оператор переезжал каждые сутки, и обнаружение, что фишинг-кит работает не как сборщик паролей, а как MITM-прокси к настоящему API мессенджера MAX. Жертва получает реальный SMS от реального MAX и не может распознать атаку. CVSS 8.8. VK молчит уже неделю.

Читать далее

Per-user OAuth для MCP-серверов: Keycloak, n8n и Telegram-бот через один Auth Proxy

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели9.9K

MCP-серверы не умеют в авторизацию, n8n не умеет в per-user токены, а OAuth-клиенты говорят на разных диалектах. Рассказываем, как один Auth Proxy перед FastMCP Gateway закрыл все три проблемы — и почему в итоге бот переехал на LangGraph

Архитектура, грабли и код

Ближайшие события

Summ3r 0f h4ck 2026: стажировка в DSEC by Solar

Время на прочтение2 мин
Охват и читатели7.4K

Выявить уязвимость до того, как ею воспользуются злоумышленники, разобраться в тонкостях безопасности информационных систем, освоить инструменты пентестеров под руководством опытных наставников — всё это можно попробовать на практике на стажировке в DSEC by Solar. Ждем ваши заявки до 10 мая!

Читать далее

MAX и метка Spyware в Cloudflare: что это значит и к чему может привести

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели19K

30 апреля в сети появилась информация, что глобальная IT-компания и оператор крупной интернет-инфраструктуры Cloudflare присвоила домену национального мессенджера Max классификацию Spyware (шпионское ПО). Прежде чем мысленно ухмыльнуться и подумать «а я же говорил», давайте объективно разберемся, что это за шум.

В этой статье мы расскажем: кто такая компания Cloudflare, почему она ставит подобные метки, что значит «spyware», на основании каких признаков Cloudflare принимает такие решения, а также какие последствия такая метка может иметь.

Читать далее

Анализ защищенности 15 лет спустя. Акт первый

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели8.7K

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

Читать далее

Стратегия резервного копирования 3-2-1: технический разбор

Время на прочтение5 мин
Охват и читатели6.6K

У ransomware-операторов теперь есть план: сначала они охотятся за бэкапами, потом — за продакшеном. Перевод технического разбора правила 3-2-1 — что в нём всё ещё работает, что нет и зачем над ним надстроили «1-0».

Читать далее

Фишинг в 2026: как ИИ и дипфейки изменили методы атак, но не изменили способы защиты

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели7.3K

Привет, Хабр! Находясь на мероприятии BI.ZONE Day, я слушал доклады и ходил между стендами, думая, чтобы такого спросить, не связанного с продуктами и технологиями компании, чьё было мероприятие. И тут меня привлекла презентация про фишинг, я не мог отказать себе в удовольствии задать несколько вопросов специалистам по фишингу. Тем более тема всегда актуальная и интересная. Поэтому я поговорил с руководителем BI.ZONE AntiFraud Алексеем Лужновым и руководителем BI.ZONE Digital Risk Protection Дмитрием Кирюшкиным. Встречайте интервью Алексея и Дмитрия о том, как ИИ изменил методы фишинга, какие приёмы социальной инженерии до сих пор работают в 2026 году, насколько велик рынок понятия «фишинга как услуги» (Phishing as a Service, PHaaS) и не только. Приятного чтения!

Читать далее

Кастомные вордлисты для самых маленьких

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели6.8K

Ни для кого не секрет, что качественные вордлисты - это ключ к эффективному фаззингу и, как следствие, большему покрытию скоупа и хорошим файндингам во время пентеста и баг-баунти. Однако вордлисты в общем доступе далеко не всегда дадут достаточное покрытие, какими бы большими они ни были. У веб-приложения может быть свой специфический нейминг путей и параметров. Некоторые ручки могут находиться на внескоуповых доменах и дублироваться на скоуповых, иногда даже с измененной функциональностью. Часть параметров и вовсе не удастся найти без ручного анализа JavaScript-кода приложения.

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

Эта статья - первая из цикла про кастомные словари, рассказывающая про сбор базового вордлиста без особых усилий. В следующей статье я расскажу про создание более комплексного кастомного вордлиста, требующего больших затрат по времени.

Читать далее

Думаем графами с IPAHound

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели7.9K

Всем привет, меня зовут Михаил Сухов, я участник команды PT SWARM. Нам в команде все чаще встречается инфраструктура, построенная на базе альтернативных реализаций службы каталога Microsoft Active Directory. Одной из таких реализаций, заслуженно получившей большое распространение является FreeIPA.

В ходе работы с FreeIPA стало очевидно, что можно изучать еще и архитектурные особенности, которые сильно отличаются от AD.

Так появился IPAHound — наш аналог BloodHound для FreeIPA. За основу был взят проект BloodHound Legacy с поддержкой PKI.

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

Читать далее