Как закалялась сталь современной симметричной криптографии. Глава 1. Классическая криптография
Современные симметричные шифры, которыми мы пользуемся неявно, но повсеместно, появились в ходе своей многовековой эволюции, в ходе продолжительных и постоянных этапов собственного совершенствования. Каждый новый шаг улучшения приводил одновременно к разрушению старых уязвимых шифров и к порождению...
Программная реализация шифровальной машины «Энигма» на языке Си
Пишем старую добрую шифровальную машину на старом добром языке программирования. Читать далее...
Тайные каналы связи или как централизованные сервисы способны разлагаться изнутри
Современный мир нельзя представить без сервисов связи, таких как социальные сети, мессенджеры, электронная почта, файловые хранилища и т.п. Мы пользуемся данными сервисами постоянно, ровно как и они планомерно пользуются нами. Конфиденциальная информация становится для сервисов связи святым граалем...
[Перевод] Часы, которые раскрашивают время
Время можно узнавать, используя песок, воду, положение солнца, перемещение стрелок на циферблате, электронными циферками… Казалось бы, человечество исчерпало все возможные способы измерения времени. Но нет. Представляем вам часы, которые показывают время... цветом! Хорошая новость: вы сами сможете...
Обезопасить, удержать, сохранить. Выгрузка трафика анонимной сети как свойство отложенной маршрутизации в HLT
Сохранение анонимного трафика HLS для последующего реиспользования. Читать далее...
А вы давно заглядывали внутрь ваших зависимостей?
Задумывались ли вы о том, что находится внутри зависимостей, которые так или иначе подтягиваются в ваш код? Взять чужую библиотеку сейчас — норма жизни, но чем это обернется с точки зрения безопасности? Последние истории с node‑ipc и CTX заставили задуматься о том, что лежит внутри этих...
[Перевод] Не создавайте отдельные пути для sign-in
В веб-приложении есть два варианта защиты экрана аутентификации: Если пользователь не аутентифицирован, перенаправить его по пути /sign-in: Если пользователь не аутентифицирован, показать ему форму входа по URL страницы, которую он пытался открыть, без перенаправления и отдельного пути: Первый...
[Перевод] TLS 1.3, только игрушечный
Привет! Недавно я думала о том, насколько интересно изучать компьютерные сети, создавая рабочие версии реальных сетевых протоколов. Мне пришло в голову, почему бы после создания своей версии протоколов traceroute, TCP и DNS не воплотить в жизнь TLS? Могу ли я сделать вариант TLS и больше узнать о...
Нюансы поддержки npm в Deno
Всем, привет! Меня зовут Данильян, я работаю в Самокате фронтенд-разработчиком и разрабатываю бэкофисное приложение с использованием React. Помимо работы, у меня есть несколько сайд-проектов, в которых я широко использую Deno. В последнее время этот проект радует новыми фичами чуть ли не каждую...
Пишем анонимный мессенджер с нуля
Приключение на 20 минут. Читать далее...
KasperskyOS: от абстрактной идеи к реальной системе
Добрый день, Хабр! Меня зовут Андрей Духвалов и я руковожу департаментом перспективных технологий aka Future Tech в «Лаборатории Касперского». Сегодня, 11 ноября 2022 года, исполняется ровно 20 лет идее, которая в итоге усилиями большой команды разработчиков превратилась в нашу операционную...
Что такое катастрофический возврат и как регулярное выражение может стать причиной ReDoS-уязвимости?
Регулярные выражения – очень полезный и удобный инструмент для поиска и замены текста. Однако в некоторых случаях они могут привести к зависанию системы или даже стать причиной уязвимости к ReDoS-атакам. Читать далее...
Где искать баги фаззингом и откуда вообще появился этот метод
Подход фаззинг-тестирования родился еще в 80-х годах прошлого века. В некоторых языках он используется давно и плодотворно — соответственно, уже успел занять свою нишу. Сторонние фаззеры для Go были доступны и ранее, но в Go 1.18 появился стандартный. Мы в «Лаборатории Касперского» уже успели его...
За гранью App Store, или Что нового открывает MDM и Supervised для B2B в iOS
Привет! Меня зовут Денис Кудинов, я iOS-Development team lead в «Лаборатории Касперского». В этой статье расскажу об Mobile Device Management, а также о supervised- и BYOD-режимах — как работает технология и что с ее помощью можно сделать такого, что недоступно обычным приложениям из App Store....
[Перевод] Как превратить пишущую машинку в терминал Linux
Сейчас можно получить доступ к текстовым редакторам практически на любом устройстве с экраном, поэтому пишущие машинки стали не так полезны. Но что если превратить их в компьютер? Читать далее...
Что общего у нуля, -1 и большого простого числа: Psychic Signatures в мире Java
Уязвимость CVE-2022-21449 или “Psychic Signatures”, которая была обнаружена в Java 15-18, позволяет обойти механизм проверки ECDSA-подписи и подделать исходное сообщение. Если приложение использует уязвимую версию Java для валидации JWT-токенов на базе алгоритма ES256, злоумышленник может...
Эй, пс, Gopher! Хочешь немного секретности? Стеганография для Маши и Вити
Прочитал я как то раз статью о том, как спрятать фото в другом фото, вот ее перевод. Статья довольно короткая и задумка описанная в ней никакой новизны не несет. И не своей простотой привлекла меня описанная идея, а довольно широким кругом возможных расширений. Коротко излагаю суть идеи: в одно...
Обрабатывать ли в PVS-Studio вывод других инструментов?
Анализатор PVS-Studio умеет "схлопывать" повторяющиеся предупреждения. Предоставляет возможность задать baseline, что позволяет легко внедрять статический анализ в legacy-проекты. Стоит ли предоставить эти возможности для сторонних отчётов? Читать дальше →...