Как я нашел криптографический бэкдор в крупнейшем даркнет-рынке: разбираем кражу $12 миллионов через уязвимость ECDSA

Криптографическая уязвимость Evolution Marketplace: Анализ кражи Исследование безопасности ECDSA подписей крупнейшего даркнет-рынка

Криптографическая уязвимость Evolution Marketplace: Анализ кражи Исследование безопасности ECDSA подписей крупнейшего даркнет-рынка

Manuscript OCR — открытая нейросеть для чтения рукописей XIX века
Мы обучили свою OCR-модель распознавать дореформенную кириллицу, нестандартные почерки и сложные сканы. Всё — на собственных данных, с нуля. В статье — как мы это сделали и ссылки на репозиторий с кодом.

Продолжая тему, затронутую в статье об искусственном интеллекте и здравом смысле, хочу затронуть два принципиальных, но зачастую упускаемых из виду отличия мозга от искусственной нейронной сети. Во-первых, нейронная сеть состоит исключительно из «нейронов», а мозг – из нейронов и глиальных клеток. Оставлю здесь ссылку на интересную обзорную статью о глии, которую написала на Хабре уважаемая Василиса Белокопытова @vasilisa_b. До недавнего времени считалось, что глиальные клетки играют в мозге сугубо вспомогательную роль и функционально подобны оболочке проводов, передающих сигнал. Однако свежие исследования, в том числе, с применением искусственных нейронных сетей, привлекают всё более серьёзное внимание к астроцитам. Это небольшие звёздчатые клетки в составе глии. Они взаимодействуют как с нейронами, так и с синапсами, и вопрос о том, могут ли они передавать нейронные импульсы, рассматривался на сайте N+1 ещё около двух лет назад. Подробнее об этом — под катом.

Привет Хабр! Меня зовут Алексей и я занимаюсь беспроводными технологиями. На написание этой статьи меня сподвиг комментарий уважаемого @NightFlight который обратил внимание, что многие пользователи ориентируют антенны у роутеров по типу ориентации «заячьи уши» \/ так, как это делали для комнатных телевизионных антенн. В этой статье вспомню немного теории, расскажу о разных типах антенн, поляризации, и о том как лучше ориентировать антенны у бытовых роутеров в зависимости от их количества и как ориентация может повлиять на beamforming.
Правильная ориентация антенн Wi-Fi роутера может существенно улучшить качество беспроводного соединения, увеличить скорость передачи данных и расширить зону покрытия сети. Согласно моим тестам, оптимизация расположения антенн способна повысить скорость соединения на 50-300%, а в некоторых случаях улучшить уровень сигнала на 2-4 дБ, что критически важно для устройств, находящихся на границе зоны покрытия. При неправильной ориентации, особенно при несовпадении поляризации передающей и приемной антенн, потери сигнала могут достигать 20 дБ, что фактически делает соединение невозможным.

С выходом интерфейса SD Express всё больше производителей начинают использовать его в своих устройствах. Nintendo Switch 2 — не исключение. Этот интерфейс позволяет запускать игры прямо с карты памяти за счёт значительно возросшей пропускной способности — спасибо PCIe. Но интересен он не только геймерам.
В этой статье я расскажу, как мы разработали новый адаптер для атаки DaMAgeCard, благодаря которому можно подключить NVMe-диск к новой приставке от Nintendo.

Оконный менеджер — одна из тех вещей в Linux, о которой не задумываешься, пока не попробуешь сменить. Кажется, окна просто открываются и закрываются, а потом ставишь тайлинговый WM и понимаешь, что можно работать быстрее и почти не трогать мышь, или выбираешь плавающий — и ноутбук сразу оживает. Расскажем о 15 самых интересных и востребованных решениях на 2025 год.

Платёжная система — один из самых важных элементов любого приложения. От неё зависит не только удобство пользователей, но и стабильность выручки. Когда мы запускали RuStore, быстро поняли: платежи должны работать безупречно, иначе страдают и пользователи, и разработчики.
На старте мы использовали внешнее решение, чтобы быстро запустить процесс монетизации. Но со временем, когда стор вырос и количество интеграций увеличилось, стало очевидно: для гибкости, скорости и контроля нам нужно собственное решение. Так в RuStore появилась идея создать Pay SDK — платёжного решения, которое мы спроектировали с нуля под реальные задачи российских разработчиков и наших пользователей.
Меня зовут Алексей Мольков, я менеджер продукта в RuStore. В этом посте расскажу, как мы пришли к решению написать свой SDK, какие вызовы прошли по пути и какие преимущества уже видят команды, которые его используют.

Привет, Хабр.
Красивый и интуитивно понятный интерфейс — это моя личная страсть. Я тратил дни, чтобы докрутить свои проекты до нужного мне уровня. В итоге я начал систематически собирать приёмы HTML и CSS, которые мгновенно улучшают восприятие пользователя.
Сегодня я решил показать вам несколько проверенных трюков. Выбрал самые лёгкие в освоении, чтобы вы смогли внедрить их уже сегодня, не отвлекаясь на сложности.
Давайте посмотрим, что я вам подготовил.

Среди заядлых игроков все чаще встречается такое страшное явление как «игровая импотенция». Вероятно, вам знакомо это чувство — в библиотеке Steam 800 игр, а играть не во что... Кажется, будто все игры сделаны по одному шаблону.
Если вы все чаще задаетесь вопросом «Почему все новые игры похожи на предыдущие?», вы не одиноки. А если это ощущение вам незнакомо, наверняка вы слышали нечто подобное от других геймеров. Причин возникновения игровой импотенции много, и одной из них мы сегодня коснемся. Разберемся, почему игры стали однообразными и что же такое стильная игра. А если доживете до конца, то узнаете и том, как сделать стилевую игру, и, возможно, поможете тому самому другу, которому не во что играть при библиотеке Steam в 800 игр.
Это — первая часть цикла из трех статей о стилизации в играх. В ней я расскажу о том, что такое стилизация в общем, как она пришла в игровую индустрию и как она влияет на наше восприятие игр. Мы поговорим о том, что первым бросается в глаза при знакомстве с новой игрой — о визуале. А также о том, каковы физиологические причины нашего влечения к играм. Спойлер — стилизация играет в этом далеко не последнюю роль.
В следующих частях мы разберем, какие бывают виды стилизации и как они влияют на ваше восприятие игр. И, может быть, данный цикл немного облегчит путь будущего геймдизайнера по работе с визуалом. А если вы не планируете пока становиться геймдизайнером, то прояснит некоторые вопросы, которые могли возникнуть в процессе знакомства с играми или даже поможет справиться с «игровой импотенцией».

На днях вышла OpenBSD 7.8, продолжая традицию регулярных обновлений каждые полгода. С 1995 команда держит фокус на безопасности, переносимости и простоте кода. Размер базового ISO-образа — около 597 МБ. Скачать его можно с зеркал — например, ftp.openbsd.org. В отличие от более громоздких дистрибутивов, OpenBSD предпочитает минимализм: система собирается из исходников, а пакеты портов обновляются параллельно.
За тридцать лет в стандартной установке нашлось всего лишь две уязвимости, что делает OpenBSD эталоном для других ОС. Если предыдущая версия 7.7 вышла в апреле, то этот релиз накопил изменения, ориентированные на современное железо и сетевые нагрузки. Разработчики подчеркивают, что улучшения касаются почти всех компонентов, от ядра до утилит, без лишней мишуры. В целом, обновление подойдет администраторам, работающим с виртуализацией или embedded-устройствами, где стабильность важнее новизны. Что ж, давайте посмотрим, что нам тут приготовили.

Хочу перенестись в нулевые, чтобы рассказать и показать, как работал ILOVEYOU. Для этого запускаю машину времени и рассказываю:
• Что бы случилось с моим компом в нулевые.
• Как вирус взломал 45 миллионов компьютеров?
• Почему Windows 2000 оказалась особенно уязвимой?
• Как автор избежал наказания?

Можно ли смоделировать хаос пуассоновских потоков бронирований и конечный автомат состояний рейса (от «по расписанию» до «приземлился») целиком внутри PostgreSQL? Мы решили, что для создания идеальной учебной базы данных — можно. Вместо старых статичных таблиц мы построили генератор, имитирующий жизнь глобальной авиакомпании. Рассказываем, зачем это было нужно и почему старая база на 2,5 ГБ перестала справляться с задачами.

Недавно я летел из Гонконга в Хитроу рейсом British Airways. Тот же самый маршрут я проделал в 2023 году, и помню, как в 14-часовом путешествии понадеялся на развлечения в самолёте. Однако на этот раз по дороге в Лондон у компании появилось интересное предложение: бесплатный WiFi для «мессенджеров» участникам «The British Airways Club».
Я был практически уверен, что не состою ни в каком подобном клубе (да и летел я эконом-классом), но оказалось, то это всего лишь название программы для часто пользующихся услугами компании. Довольно удобно было то, что можно зарегистрироваться в программе через портал авторизации, находясь прямо в воздухе; и хотя он требует адрес электронной почты, его не нужно верифицировать (то есть можно завершить регистрацию без доступа к Интернету).
После входа портал предложил мне «Начать сессию», и это действительно позволило мне общаться текстом. Я попробовал Whatsapp, Signal, Wechat и Discord. Первые три работали (но без поддержки изображений); Discord, как и ожидалось, не заработал. Совсем неплохо для бесплатного WiFi!
Откуда он знает?
Это первый вопрос, который возник у меня после проверки работы мессенджеров. На дворе 2025 год, всё должно шифроваться при передаче. Почему же система знает, что я использую Whatsapp или Discord? Поначалу я решил, что соединение как-то ограничивает ширину канала/передачу данных отдельных TCP-соединений, поэтому при отправке одного-двух сообщений они проходят, но что-то большее отклоняется.
Чтобы проверить эту гипотезу, я попробовал открыть на телефоне классический example.com. К сожалению, он не загрузился; значит, всё это устроено немного сложнее…

Блуждая по Хабру, я всё чаще слышу один и тот же рефрен: «Хабр уже не тот». Статьи не набирают, интерес аудитории угас, а в кулуарах DevRel'ы жалуются, что «продвигаться стало невозможно». Но так ли это на самом деле? Или это классическая «раньше трава была зеленее»?

Всем привет! Меня зовут Анастасия Рысьмятова, я руковожу юнитом LLM в Авито.
В этой статье я расскажу, как мы с командой создали и адаптировали нашу большую языковую модель A-vibe: зачем решили развивать собственную LLM, как построили токенизатор, собрали датасеты, провели SFT и RL и что получили в итоге. Поделюсь основными экспериментами и покажу наши результаты.

Многие люди смутно представляют, что у финансовых институтов есть обязанность соблюдать Know Your Customer (KYC) и иметь программы AML (anti-moneylaundering), но что это означает на самом деле? Рад, что вы спросили.
С ними всё… сложно и запутанно, из-за чего у многих (внутри и вне этой отрасли) сложилось ошибочное впечатление об их уровнях широты и строгости. Кроме того, они достигают своих целей не самым очевидным образом, во многих отношениях нарушая наши ожидания о том, как работают законы в целом.
Обсуждать выбор политик без комментариев невозможно, поэтому для начала я должен дать некоторые объяснения. Когда-то я работал в Stripe, и, разумеется, проходил обязательное обучение комплаенсу. В статье я буду говорить только от своего лица и откровенно расскажу, какой не может быть культура отделов комплаенса и по каким причинам.

Когда я создавал первые электрические цепи в 3D-симуляторе, то часто думал: как же происходит переход из «живого мира» бесконечных вариантов значений в «компьютерный мир» нулей, единиц и вообще всего, для чего набор значений и их изменчивость строго ограничены? В этой статье я продолжу осваивать курс по схемотехнике, и, судя по темам лекций, ответ мне откроется. Вперед, к комбинационной логике!

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

28 июня 2009 года легендарный астрофизик Стивен Хокинг провёл вечеринку для путешественников во времени с шампанским и шариками. Он никому не сообщил заранее, а только постфактум, с указанием точного времени и места встречи.
Идея была в том, что приглашение переживет столетия/тысячелетия, необходимые для разработки технологии — а затем попадёт на глаза какому-то путешественнику во времени, который любит вечеринки.
К сожалению, это не помогло: на вечеринку всё равно никто не пришёл. Стивен Хокинг сидел там в одиночестве.
Всем привет! Меня зовут Олег Смоляков, в Яндексе я больше 15 лет занимался разработкой, а теперь отвечаю за улучшение процесса найма разработчиков.
Наверняка многие из вас слышали мнения, что у нас много собеседований, их содержание непрозрачно, сам процесс очень долгий, а сверху всё сдобрено задачами на алгоритмы, которые у многих вызывают аллергию. Не буду лукавить: это восприятие не появилось из ниоткуда, и здесь действительно зарыто некоторое количество реальных проблем, о которых я в деталях расскажу дальше.
TLDR: мы решили обновить процесс найма, вместо порой хаотичных собеседований в каждом отдельном сервисе внедряем единую систему оценки по профессии и уровню (например, «Senior C++ Developer»), кандидат, успешно прошедший оценку навыков, теперь сможет претендовать на аналогичные вакансии в любом из 90+ сервисов компании, а всё это вместе делает процесс найма прозрачным, понятным, без дублирования технических интервью и в целом эффективным для всех участников.
А теперь подробнее о том, почему мы на это пошли и как всё устроено.