Реализация режимов шифрования на языке RUST
После долгого перерыва мы возвращаемся в мир криптографических алгоритмов. В этот раз мы рассмотрим некоторые широко известные режимы шифрования блочных шифров, такие как ECB, CBC, CFB, OFB, CTR и подготовим небольшую архитектурную задумку, о которой я расскажу под катом. Если вы еще не видели мои...
Анонимная сеть в 100 строк кода на Go
Прошло уже более года с тех пор как я написал статью - Анонимная сеть в 200 строк кода на Go. Пересмотрев её однажды осенним вечером я понял насколько всё в ней было ужасно - начиная с самого поведения логики кода и заканчивая его избыточностью. Сев за ноутбук и потратив от силы 20 минут у меня...
Портируем игры на практике
Дисклеймер: употребляемые слова вроде «портируем», «хакаем» и «реверсим» совсем не значат, что статья предназначена исключительно для гиков! Я стараюсь писать так, чтобы было понятно и интересно абсолютно всем! Наверняка многие мои читатели так или иначе слышали новости о том, что известные...
[Перевод] Портируем декодер AV1 с С на Rust для повышения быстродействия и безопасности
AV1 становится всё более значимым видеоформатом, которому требуется безопасный и производительный декодер. Исходя из этой идеи, мы в тандеме с командой из Immutant создали rav1d, портировав на Rust написанный на С декодер dav1d. Перед вами первая из двух статей, посвящённых решению этой задачи. —...
Ему не место на помойке: хакаем 15-летний электронный переводчик и пишем под него приложения
Дисклеймер: Статья очень подробная и во всех красках "простым языком" описывает процесс хакинга и программирования под такой необычный девайс. Так что даже если вас не интересуют электронные переводчики и минипк, статья может оказаться для вас занимательной! Я всегда любил находить новые применения...
Google CTF 2024 Quals — auxin2
Определенный организаторами в "миски" auxin2 оказался любопытным таском из разряда эзотерического программирования - в данном случае виртуальной системы varvara, работающей на машине uxn. Во время соревнования мне удалось решить ее первым (в составе MSLC), хотя это заняло большую часть первого дня...
DownUnderCTF 2024 — эксплуатация PKI.js
Рассмотрим два связанных между собой задания DownUnderCTF 2024, требующих обмана реальной криптографической библиотеки PKI.js - в них разобралось мало команд (у второго набралось всего одно решение), и, хотя я сам не успел закончить работу над ними во время соревнования, изящность и реалистичность...
[Перевод] Получение TOTP-токенов на умнейших из тупых часов
Недавно получил свой заказ с новой логической платой от Sensor Watch для вездесущих классических часов Casio F-91W. Модель F-91W не требует представления. Это наверняка самые популярные кварцевые часы в мире, которых в общей сложности было продано около 90 миллионов. В купленной мной плате Sensor...
Анонимный RAT при глобальном наблюдателе
Удалённый доступ может быть как очень опасной программной функцией, так и очень полезной - всё зависит от контекста, намерений, задач и целей с которыми подобные программы будут применяться. Такая же ситуация с анонимностью и анонимными коммуникациями в общем. Они могут как скрывать злонамеренную...
Опасность устарела: несколько важных нюансов в новых стандартах C++
Undefined behavior (UB) — боль, знакомая каждому разработчику со стажем; эдакий «код Шредингера», когда не знаешь, правильно тот работает или нет. К счастью, стандарты языка С++20/23/26 привнесли относительно неопределенного поведения кое-что новое. И довольно важное, если вы — архитектор ПО, а...
«Я стал тимлидом и боюсь». Что почитать и зачем
Стресс, связанный с переходом на менеджерскую роль, способен пошатнуть любые, даже самые крепкие нервы. А если ваше решение стать руководителем желанное и осознанное, то вы легко можете загнать себя в ловушку из двух стен: тревожности и перфекционизма. Меня зовут Александр Шиндин, я — технический...
Безопасное проектирование программного обеспечения. Конфиденциальность и Шифрование
Привет Хабр! В современном мире, где информационные технологии играют ключевую роль во всех аспектах жизни, безопасность программного обеспечения стала одной из самых важных задач для разработчиков. С каждым годом количество кибератак увеличивается, а их методы становятся всё более изощренными. В...
Реализация Streebog256 и Streebog512 на языке RUST
Как и планировалось, следом за реализацией семейства хэш-функций SHA, появляется Стрибог и тоже в двух версиях, для 256 и 512 бит на выходе. Надеюсь эта статья будет полезна другим студентам. Более опытные разработчики в комментариях приветствуются. Весь код сохранен в репозитории GitVerse. Читать...
Безопасность первична: сетевое взаимодействие и привилегии контейнеров в Docker
Привет, Хабр! Меня зовут Эллада, я специалист по информационной безопасности в Selectel. Продолжаю рассказывать о безопасности в Docker. В новой статье поговорим о сетевом взаимодействии контейнеров, правильном управлении привилегиями и ограничении потребления системных ресурсов. Поделюсь, почему...
Реализация SHA256 и SHA512 на языке RUST
Небольшая заметка студента о том, как самостоятельно реализовать алгоритмы SHA256 и SHA512 на Rust. Статья будет полезна всем, кто интересуется криптографией, хочет повысить уровень безопасности своих приложений или просто расширить свои знания в области программирования на Rust. Читать далее...
Вы все еще пишете многопоточку на C++ с ошибками синхронизации?
Привет, коллеги! В этой статье я покажу свой подход к написанию многопоточного кода, который помогает избежать типовых ошибок, связанных с использованием базовых примитивов синхронизации. Демонстрация идеи будет проходить на живых примерах кода на современном C++. Большинство описанных решений я...
Анонимная P2P-сеть внутри централизованного HTTPS-сервера: вшиваем паразитный трафик всеми правдами и неправдами
Государственная цензура есть многогранный монстр, закрывающий путь не только к зарубежной информации посредством блокировки ресурсов и их методов обхода, в лице Proxy, VPN, Tor, но также и постоянно пытающийся подавлять неподконтрольные безопасные и анонимные коммуникации внутри самого себя....
Трагические микрозаймы, украденные креды: какие Android-зловреды мы обнаружили в официальных маркетах
Один из основных принципов защиты мобильного устройства от киберугроз — загружать приложения только из официальных маркетов, таких как Google Play или Apple App Store. Однако несмотря на то, что софт проходит множество проверок перед публикаций, это не гарантирует, что пользователь не столкнется с...