Как стать автором
Обновить
36
Карма
64.5
Рейтинг

Пользователь

  • Подписчики 15
  • Подписки 1
  • Публикации
  • Комментарии

Взлом ГПСЧ с помощью машинного обучения

Блог компании Дата-центр «Миран» Информационная безопасность *Криптография *Алгоритмы *Машинное обучение *

Выдача XORShift кажется случайной

Исследователь Мостафа Хассан (Mostafa Hassan) сумел взломать два генератора псведослучайных чисел (ГПСЧ) с помощью машинного обучения. Обученная двуслойная нейросеть предсказала выдачу генератора xorshift128 с точностью 100%.

Во второй части своей работы Мостафа описал ещё одну нейросеть, которая взломала популярный генератор Mersenne Twister (вихрь Мерсенна, MT, MT19937) тоже с точностью 100%.
Читать дальше →
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 4K
Комментарии 7

RAD для софт-процессоров и немного «сферических коней в вакууме»

Python *FPGA *

Разработка или выбор управляющего контроллера для встраиваемой системы на ПЛИС –актуальная и не всегда тривиальная задача. Часто выбор падает в пользу широкораспространенных IP-ядер, обладающих развитой программно-аппаратной структурой – поддержка высокопроизводительных шин, периферийный устройств, прикладное программное обеспечение и, в ряде случаев, операционных систем (в основном Linux, Free-RTOS).  Одними из причин данного выбора являются желание обеспечить достаточную производительность и иметь под рукой готовый инструментарий для разработки программного обеспечения.

В том случае, если применяемая в проекте ПЛИС не содержит аппаратных процессорных ядер, реализация полноценного процессорного ядра может быть избыточной, или вести к усложнению программного его обеспечения, а следовательно приведет к увеличению затрат на его разработку. Кроме того, универсальное софт-ядро будет, так или иначе, занимать дефицитные ресурсы программируемой логики. Специализированный софт-процессор будет более оптимальным решением в свете экономии ресурсов логики – за счет адаптированной системы команд, небольшого количества регистров, разрядности данных (вплоть до некратной 8битам). Согласование с периферийными устройствами – проблема в основном согласования шин и протоколов. Заменой сложной системы обработки прерываний может служить многопоточная архитектура процессора.

Стековые софт-процессоры и контекст потока

Обычно многопоточные процессоры имеют одно АЛУ и несколько наборов регистров (иногда называемых «теневыми» регистрами) для хранения контекста потока, следовательно, чем больше требуется потоков, тем будут больше накладные расходы логики и памяти. Среди разнообразия архитектур софт-процессорных ядер следует выделить стековую архитектуру. Такие процессоры часто называют еще Форт-процессорами, так как чаще всего их ассемблер естественным образом поддерживает подмножество команд языка Форт.

Читать далее
Всего голосов 17: ↑16 и ↓1 +15
Просмотры 1.8K
Комментарии 0

USB CDC Bootloader для STM32F103C8

Программирование *Qt *Программирование микроконтроллеров *
Из песочницы

При проектировании устройства на микроконтроллере бывает встает вопрос об обновлении прошивки прибора. Причем сам процесс обновления прошивки должен быть простым и доступным для обыкновенного пользователя. И конкретно для микроконтроллера STM32F103C8 возможна загрузка прошивки по UART. То есть к схеме необходимо добавлять микросхему конвертера USB-UART. Либо воспользоваться аппаратными возможностями USB микроконтроллера, что я и сделал. Меня заинтересовал вопрос о возможности обновления прошивки по USB. На некоторых МК даже есть аппаратный USB-загрузчик, но только не на STM32F103C8, поэтому пришлось все программно реализовывать. По программной части для STM32 существует USB Library от STMicroelectronics с реализованными классами USB и примерами. В частности заинтересовал класс DFU т.е. загрузка прошивки по USB. В данном классе уже реализован свой набор команд для взаимодействия МК и приложения на ПК "STM32CubeProgrammer". Но мне хотелось что-то своё, кастомное и неограниченное данным набором команд. И пришла мысль "А почему бы не реализовать всё это в классе CDC?". Тут и размер загрузчика примерно таким же оказался, но главное можно реализовать свой набор команд, работать на ПК с последовательным портом и соответственно понятнее, как написать приложение для ПК. У меня есть небольшой опыт написания приложений с использованием библиотеки QT на С++, поэтому с ее помощью была создана программа для USB загрузчика.

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 3.7K
Комментарии 29

Переписка со спамерами: избранное

Спам и антиспам

Конец XIV века, неизвестный автор: Комиссия ФАС изучает отмазки спамера.

Я радуюсь, получая спам – ведь у меня появляется новая возможность пополнить бюджет любимой страны (откуда берутся деньги на пенсии старикам, больницы, школы, домики для уточек и вот это вот все). Каждое полученное от спамеров сообщение я аккуратно пересылаю в ФАС, давая ей возможность пополнить бюджет на лишние 100-500 тысяч рублей, а потом наслаждаюсь материалами «расследований», проливающих свет на грязную подноготную «солидного бизнеса» и его подельников. Вранье, подтасовка документов и далее со всеми остановками – наслаждайтесь!
Читать дальше →
Всего голосов 443: ↑442 и ↓1 +441
Просмотры 52K
Комментарии 180

Изучаем своё железо: сброс паролей BIOS на ноутбуках

Блог компании Cloud4Y Компьютерное железо Ноутбуки

Добрый день, меня зовут Денис Генералов, я являюсь младшим системным администратором Cloud4Y. Надеюсь, что данный пост поможет коллегам, которые оказались в такой же ситуации, что и я: в купленном для компании ноутбуке система стоит в MBR (Legacy BIOS) и на нём имеется пароль, а поставить необходимо в GPT (UEFI).

Читать далее
Всего голосов 58: ↑57 и ↓1 +56
Просмотры 19K
Комментарии 33

Источник опорного напряжения — один из принципов и одна из реализаций

Схемотехника *Производство и разработка электроники *DIY или Сделай сам Электроника для начинающих
Tutorial
Как не счесть «алмазов в каменных пещерах» — так не счесть случаев, когда необходимо втиснуть какую-нибудь характеристику «непрерывного» внешнего мира в «дискретное» нутро цифровых алгоритмов или извлечь обратно. Как помнят многие — это делается с помощью аналого-цифровых (АЦП, ADC) и цифро-аналоговых (ЦАП, DAC) преобразователей. Но только более посвящённые — обратят при этом внимание на источник опорного напряжения для преобразований (ИОН, Reference), который во многом определяет стабильность и абсолютную точность полученного результата. Конечно, есть некоторое число случаев, когда можно произвести измерение или генерацию отношения двух токов или напряжений. Тогда достаточно подать большее из них на опорный вход преобразователя. Но это — именно «некоторое число».

Желающих ознакомиться с одним из принципов и одной из реализаций температурно-стабильного ИОН — приглашаю под кат. Помощь в этом — предоставит симулятор LTSPICE (несмотря на то, что человек с КДПВ сказал: «My favorite CAD is solder»). Желательно — знание закона Ома, правил Кирхгофа, принципов работы биполярного транзистора (на уровне модели Эберса-Молла) и идеального операционного усилителя.

КДПВ1: Robert Allan Pease — the czar of bandgap. «Орденские цепи» — из ИМС стабилизаторов в корпусе TO-3.


Читать дальше →
Всего голосов 68: ↑66 и ↓2 +64
Просмотры 11K
Комментарии 15

Q-Q Plots. От чайника до профессионала за один гайд

Визуализация данных Статистика в IT
Tutorial

Как понять, что выборка данных принадлежит определенному распределению? Есть 2 метода: аналитический тест Колмогорова-Смирнова (тест Шапиро-Уилка для нормального) и графический метод при помощи графика квантиль-квантиль плот.

Чем так замечателен второй вариант? Он позволяет делать выводы, не основываясь на таких спорных показателях какp.value.

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 3.1K
Комментарии 2

Разработка контроллера резервного питания. Технология отладки и тюнинг

Open source *Программирование микроконтроллеров *Производство и разработка электроники *DIY или Сделай сам Электроника для начинающих
Tutorial

Здесь рассматривается технология отладки платы контроллера резервного питания и его программного обеспечения . Используются: адаптер SWD, осциллограф, VT100 терминал через UART, движок FreeMaster, экспорт и анализ в MATLAB. Дан пример реализации регулируемого источника напряжения. Заключительный тюнинг платы.

Читать далее
Всего голосов 16: ↑15 и ↓1 +14
Просмотры 4.4K
Комментарии 8

Многоканальный имитатор сигнала GPS на RFSoC

Информационная безопасность *Глобальные системы позиционирования *Производство и разработка электроники *Робототехника DIY или Сделай сам

Многоканальный имитатор GPS - зачем он нужен? Все знают, как используются одноканальные: для тестирования навигационных приемников при разработке и производстве, для обмана систем навигации в мирное и военное время. А зачем нужны многоканальные?

Читать далее
Всего голосов 34: ↑34 и ↓0 +34
Просмотры 8.1K
Комментарии 32

Как посчитать синус быстро

Алгоритмы *C *Математика *Программирование микроконтроллеров *
Из песочницы

... и точно. Точнее, с заданной точностью, простите за каламбур.

Под катом я расскажу, как сделать это с использованием школьного курса алгебры и целочисленной арифметики, при чём здесь полиномы Чебышёва I-го рода, и дам ссылки на примеры реализаций для ПК и Cortex-M3.

Читать далее
Всего голосов 54: ↑52 и ↓2 +50
Просмотры 11K
Комментарии 52

Симметричные НЧ-ВЧ фильтры: новое слово в цифровой обработке сигналов

Блог компании RUVDS.com Алгоритмы *Математика *Звук
Tutorial
В задачах обработки сигналов часто возникает необходимость фильтрации сигналов, когда сигнал разбивается на узкополосные диапазоны. В бытовом плане мы с этим сталкиваемся при воспроизведении музыки через акустические системы, в которых каждый громкоговоритель (динамик) воспроизводит свою полосу частот, которых обычно три — низкие (НЧ), средние (СЧ) и высокие (ВЧ); для воспроизведения сверхнизких частот иногда выделяют отдельную акустическую систему под названием «сабвуфер». Конкретные границы частот зависят от реализации и ориентировочно находятся на границах 100 Гц, 1 кГц и 5 кГц. Для того, чтобы не было резких скачков громкости между динамиками, используют частичное перекрытие — когда амплитуда воспроизводимой полосы частот плавно спадает на одном, одновременно нарастая на другом.

Наиболее популярными фильтрами для такого разбиения являются фильтры Линквитца-Рейли 4-го порядка, представляющих из себя два последовательно соединённых фильтра Баттерворта, изображение АЧХ которых многим хорошо знакомо:

Читать дальше →
Всего голосов 74: ↑74 и ↓0 +74
Просмотры 9.8K
Комментарии 19

Гейтвей на колесах

Реверс-инжиниринг *Автомобильные гаджеты Транспорт

Исходник КДПВ: Lena London, CC BY-SA 4.0

Количество блоков управления в современных автомобилях растет с каждым годом. Обычно каждый из них отвечает за отдельный набор датчиков и исполнительных механизмов. Но есть блок, появление которого частично связано... с растущим количеством блоков. Метаблок, если хотите.

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 4.5K
Комментарии 3

MKINITCPIO V31 и заглушки UEFI

Блог компании RUVDS.com Ненормальное программирование *Системное администрирование *UEFI *
Перевод

Изображение взято из статьи «Linux Kernel EFI Boot Stub или «Сам себе загрузчик»»

Несколько месяцев назад я написал для скрипта mkinitcpio код, который позволяет ему создавать файлы UEFI с использованием заглушки systemd.

Само внесенное мной изменение можно найти на GitHub.

Далее я коротко продемонстрирую, чем эта возможность хороша, как она упрощает запуск системы, и как с ее помощью можно повысить безопасность, используя, например, Secure Boot.
Читать дальше →
Всего голосов 30: ↑28 и ↓2 +26
Просмотры 2.3K
Комментарии 2

О судьбе отечественного оборудования для сетей 5G. Часть III Основные действующие лица

Сетевые технологии *Беспроводные технологии *Стандарты связи Сетевое оборудование Сотовая связь

И снова здравствуйте!

Первая часть. Обзор Рынка

Вторая часть. Внешние и внутренние противоречия

В прошлый раз мы рассмотрели внешние и внутренние противоречия, которые, как мне кажется, и породили саму тематику создания отечественного оборудования для сетей 5G.

На этот раз предлагаю присмотреться к тому какие основные экономические субъекты в нашей отрасли связи имеют прямое или косвенное отношение к теме и постараемся выявить характерные сущностные черты и интересы, способные повлиять на дальнейшее развитие событий.

Как обычно - буду рад конструктивной критике, обратной связи и дискуссии для дальнейшего углубления и улучшения материала.

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 5.1K
Комментарии 11

Трояны и бэкдоры в кнопочных мобильных телефонах российской розницы

Информационная безопасность *Реверс-инжиниринг *Сотовая связь

Немалое количество простых кнопочных телефонов, присутствующих в российских магазинах, содержат нежелательные недокументированные функции. Они могут совершать автоматическую отправку СМС-сообщений или выходить в интернет для передачи факта покупки и использования телефона (передавая IMEI телефона и IMSI SIM-карт). Встречаются модели со встроенным трояном, отправляющим платные СМС-сообщения на короткие номера, текст которого загружается с сервера, также бывают устройства с настоящим бэкдором, пересылающим входящие СМС-сообщения на сервер злоумышленников.
Статья описывает детали вредоносных функций и способы их обнаружения.

Читать далее
Всего голосов 581: ↑580 и ↓1 +579
Просмотры 176K
Комментарии 361

И ещё раз о безопасности сайта Умного голосования и слив персональных данных Яндексу

Блог компании ITSOFT Информационная безопасность *Яндекс API *

Уже было описание уязвимости на сайте Умного голосования. Владислав Здольников на своём канале в Телеграм рассказывает очевидные вещи про прозрачность банковских платежей. И вот вчера Дмитрий Зворыкин заспорил с Леонидом Волковым, а Волков начал хамить в ответ будто Дима троль какой-то, а не ИТ-профессионал. Диму знаю 20+ лет ещё со студенческих времён в МИЭМ, потом мы вместе работали в избирательной кампании Навального 2013 года, и мне лично очень неприятно подобное отношение политиков к гражданам. Даже если бы Дима был не прав, то Волков как публичное лицо не имеет права так неуважительно общаться и позорить в том числе и Навального. И в результате, возможно увидев, что народ лайкает Диму, а не его, Волков просто забанил Диму. Типа проблемы нет. Но она есть.

Дима прав по сути.

Этот вопрос уже был рассмотрен на хабре. Дима лишь убедился что проблема осталась на том же самом месте.

На сайте Умного голосования инициализируется Яндекс.Метрика.

Читать далее
Всего голосов 114: ↑92 и ↓22 +70
Просмотры 43K
Комментарии 458

Плесени, гнили, токсины μ-скопических грибов

Биотехнологии Здоровье Химия Экология Биология
Tutorial
Когда-то, давным давно в комментариях к моей статье, посвященной картофельному солонину, как из рога изобилия посыпались фотографии гнилого/плесневелого картофеля который люди покупают на рынках, в супермаркетах и т.п. А вместе с фотографиями и вопросы «это можно есть? как очистить ?». Уже тогда я понимал, что одними ответами на комментарии здесь не обойтись, тема гораздо более глобальна, чем может показаться. И вот недавно, в продолжение темы токсинов грибов, появился повод обсудить вездесущие микроскопические грибки, и то, с помощью чего они сражаются пытаются поработить мир — микотоксины. Статья по мотивам серии заметок в канале LAB-66 (оригинальная статья — Привет, ЕвроОпт! Оружие МИКРОгрибов). Как разрушить захватнические планы плесени — читаем под катом!

ПРЕДУПРЕЖДЕНИЕ! Статья не соответствует «тематике Хабра»!


Боишся микотоксина плесени? Заходи почитать!
Всего голосов 55: ↑47 и ↓8 +39
Просмотры 19K
Комментарии 107

Использование подсказок, включаемых в исходный код, помогающих GCC выявлять случаи переполнения буфера

Блог компании RUVDS.com Программирование *C++ *Компиляторы *C *
Перевод
Ошибки, связанные с доступом к областям памяти, которые находятся за пределами допустимого адресного пространства (out-of-bounds memory access), в 2021 году всё ещё пребывают в списке самых опасных уязвимостей ПО CWE Top 25. Известно, что ошибочные операции записи данных (out-of-bounds write, CWE-787) с двенадцатого места, которое они занимали в 2019 году, перешли в 2020 году на второе. А неправильные операции чтения данных (out-of-bounds read, CWE-125) в тех же временных пределах сменили пятое место на четвёртое.



Понимание важности раннего выявления ошибок, приводящих к вышеозначенным проблемам, привело к тому, что в свежих релизах компиляторов GNU Compiler Collection (GCC) была значительно улучшена возможность детектирования подобных ошибок. Речь идёт об использовании ключей для проведения проверок и вывода предупреждений наподобие -Warray-bounds, -Wformat-overflow, -Wstringop-overflow и (самая свежая возможность, появившаяся в GCC 11) -Wstringop-overread. Но всем этим проверкам свойственно одно и то же ограничение, связанное с тем, что система может обнаруживать проблемные ситуации лишь в пределах отдельных функций. Получается, что, за исключением анализа небольшого набора встроенных в компилятор функций, вроде memcpy(), проверка прекращается на границе вызова функции. То есть, например, если буфер, объявленный в функции A, переполняется в функции B, вызванной из функции A, компилятор, если функция B не встроена в функцию A, на эту проблему не реагирует.

В этом материале речь пойдёт о трёх видах простых подсказок, применяемых на уровне исходного кода, которые программист может использовать для того чтобы помочь GCC выявлять операции, связанные с доступом к областям памяти, находящимся за пределами допустимого адресного пространства. Причём, эти подсказки помогают компилятору находить проблемы и при пересечении границ вызова функций, и даже тогда, когда функции определены в разных файлах с исходным кодом.
Читать дальше →
Всего голосов 25: ↑25 и ↓0 +25
Просмотры 3.1K
Комментарии 8

Zynq 7000. Собираем Linux для платы QMtech

FPGA *Процессоры DIY или Сделай сам Электроника для начинающих

В этой статье я решил сделать небольшое отступление от общей линии повествования и зарулю на дорогу Linux. За то непродолжительное время, что я работаю с Zynq 7000, в тематических чатах я видел много вопросов насчет того, как запустить Linux на отладке. Я в общем-то, недолго думая, сел проштудировал документацию, примеры и завёл его своими руками под ту плату, что у меня есть в распоряжении. После этого я решил обобщить свои знания по этому вопросу и описать процедуру сборки, подготовки загрузочного образа Linux, который включает в себя U-boot, Device Tree Source, RootFS, и само ядро Linux. В дополнение к этому, я решил немного усложнить задачу и выяснил, как можно поморгать светодиодом подключенным к PL-части устройства из пространства пользователя Linux.

Обо всём этом я написал в этой статье. Всем интересующимся - добро пожаловать под кат.

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 5.6K
Комментарии 15

Необычный дуалбут: ноутбук с «двойным дном»

Блог компании RUVDS.com Информационная безопасность *Реверс-инжиниринг *Компьютерное железо UEFI *
Tutorial

Не так давно на Habr Q&A я наткнулся на интересный вопрос — как сделать, чтобы два жестких диска не видели друг друга? Чтобы вирус, попав на одну систему, никоим образом не мог заразить другую. В ответах предлагали достаточно стандартные способы — использовать полнодисковое шифрование, отключить диск в диспетчере устройств и даже поставить переключатель на питание. Но что если взглянуть на задачу совершенно с другого угла и сделать всё средствами самого HDD? Да-да, сегодня мы снова погружаемся в пучины модификации прошивок и реверс-инжиниринга!
Узнать подробности
Всего голосов 361: ↑357 и ↓4 +353
Просмотры 56K
Комментарии 119

Информация

В рейтинге
79-й
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность