Как стать автором
Обновить
78
0
RaccoonSecurity @RaccoonSecurity

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

Отправить сообщение

Восстановить удаленную фотографию с флешки? Искусственный интеллект в помощь

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

Привет, Хабр! В статье хотел бы поделиться своим опытом восстановления данных (на самом деле, всего одной фотографии), который перерос в любопытный кейс применения методов машинного обучения для решения задачи реконструкции файлов изображений. Думаю, что проблема с восстановлением удаленной информации с носителей весьма актуальна для читателей Хабра (и обычных юзеров, и целых компаний), поэтому поделюсь некоторыми наработками. Все это - под катом.  

Читать далее
Всего голосов 41: ↑41 и ↓0+41
Комментарии5

В помощь разработчикам гаджетов. «USB-Разрыватель» — что это, зачем и для чего?

Время на прочтение11 мин
Количество просмотров6K

Привет, Хабр! В этой статье рассказываем о созданном нами устройстве, которое помогает тестировать электронные девайсы в процессе разработки.  Речь идет об устройстве для автоматизации и имитации процесса отключения/переподключения USB-гаджетов. Подробности разработки и самого устройства – под катом.

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии21

Решение нашего задания для YauzaCTF, или рассказ о том, что делать с орочьими нулями и единицами

Время на прочтение20 мин
Количество просмотров1.8K

С 27 по 29 августа 2021 года в онлайн-формате проходило соревнование YauzaCTF. Соревнование проводилось в формате Task-Based, принять участие могла любая команда, желающая попробовать свои силы. Участникам предстояло в течение 48 часов решить задания следующих категорий: web, reverse, PWN, forensics, crypto, OSINT, joy, hardware, pentest и emulation.

Команде Raccoon Security было предложено разработать собственное задание для соревнований. В результате мозгового штурма и нескольких дней кропотливой работы была придумана задача, условие и решение которой мы приведем в данной статье.

Предупреждение! Далее следует лонгрид про нули и единицы (в прямом смысле).

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии7

IoT Labs 2021: итоги практики для студентов

Время на прочтение11 мин
Количество просмотров2.5K

Лето – пора практик для студентов вузов. Команда Raccoon Security регулярно приглашает всех желающих на персональные и групповые стажировки. Этим летом к нам на стажировку пришли студенты с кафедры ИУ4 МГТУ им. Н.Э. Баумана. Целый месяц они принимали активное участие в производственных процессах и применяли на практике полученные в вузе теоретические знания. Мы решили рассказать об этой стажировке и поделиться отзывами студентов, которые в ней поучаствовали.

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии2

Упрощаем жизнь Embedded-разработчика: отладочный стенд своими руками

Время на прочтение6 мин
Количество просмотров7.4K

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

Чаще всего, когда речь заходит о стендах тестирования электронных устройств, мы представляем массовое производство. Там подобные стенды не просто правило хорошего тона, а острая необходимость. И это правильный подход! На эту тему есть пара интересных статей: «Как выглядит тестирование электроники Flipper Zero», «Серийное производство электроники в России. Автоматизация тестирования».

На многопоточных производствах обычно используют готовые решения для тестирования и отладки устройств, такие как PCBA Test, Semco Machine Corporation или INGUN. Для первичной отладки оборудования готовые решения могут не подойти: у них большие габариты (стенд может занимать треть стола Embedded-разработчика), компоненты таких стендов труднодоступны для модификации.

А что, если изделие не предполагает серийного производства? Как проводить отладку небольшого устройства, к которому неудобно подключать разъемы? Припаивание проводов к тест-пойнтам имеет свои нюансы: этот процесс может быть долгим и трудозатратным, из-за следов пайки портится внешний вид платы, да и вообще неаккуратная пайка может привести к отрыванию контактных площадок.

В этой статье мы поделимся опытом создания стендов для отладки.

Читать далее
Всего голосов 26: ↑26 и ↓0+26
Комментарии11

Еще одна стажировка, или сказ про реверс IP-камеры

Время на прочтение14 мин
Количество просмотров11K

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

Можно выбрать какое-нибудь устройство и самостоятельно ковырять его до победного конца (или полного разочарования в своих навыках). А можно делать подобное в рамках стажировки, где опытные наставники проведут по этому тернистому пути, поддерживая и направляя, если это необходимо.

Далее вас ждет история о том, что я делал на стажировке в НТЦ "Вулкан".

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии6

Хакатон RaccHack 2021

Время на прочтение2 мин
Количество просмотров1.7K

Команда RaccoonSecurity приглашает всех желающих принять участие в онлайн-стажировке-хакатоне RaccHack 2021 на тему Smart Office. Мероприятие будет проходить в течение двух месяцев с 2 августа по 2 октября.

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

Continuous Integration для Intel FPGA (Altera)

Время на прочтение5 мин
Количество просмотров3.5K

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

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

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии2

Защита секретов с помощью технологии SRAM PUF

Время на прочтение14 мин
Количество просмотров4K

Команда Racoon Security постоянно находится в поиске новых технологий для применения в исследованиях и контрактном производстве. В очередной раз просматривая список докладов прошедших выставок Embedded World 2019 и Embedded World 2020, мы наткнулись на документ от NXP Semiconductors - Extend MCU Security Capabilities Beyond Trusted Execution with Hardware Crypto Acceleration and Asset Protection. Так мы узнали про технологию SRAM PUF, в основе которой лежит так называемая Физически неклонируемая функция (Physically unclonable function) на основе состояния памяти. Мы решили разобраться, как работает эта технология, есть ли у нее недостатки и как ее можно применить в наших разработках.

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии8

Разработка своего устройства от А до Я. Часть 2: Создание устройства

Время на прочтение12 мин
Количество просмотров35K

Разработка своего устройства от А до Я. Часть 2: Создание устройства


image


В предыдущей статье мы рассказали о том, что такое электронное устройство и как начать разработку собственного девайса. Мы рассмотрели следующие этапы:


  • проработка концепции устройства;
  • разработка функциональной схемы;
  • разработка принципиальной схемы;
  • закупка компонентов;
  • макетирование и симуляция устройства.

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

Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии18

Разработка своего устройства от А до Я. Часть 1: От концепции до макета

Время на прочтение10 мин
Количество просмотров22K

Задумывались ли вы когда-нибудь о том, чтобы разработать собственное электронное устройство, но не знали, с чего начать? Тогда приглашаем вас к прочтению данной статьи, в которой мы постараемся осветить весь процесс создания своего электронного устройства – от концепции до реального девайса на примере хобби-проекта одного из наших сотрудников. Статья разделена на две части и имеет следующий план:


  • Часть 1: От концепции до макета
    • Что такое электронное устройство
    • Концепция устройства
    • Функциональная схема
    • Принципиальная схема
    • Закупка компонентов
    • Макетирование и симуляция устройства
  • Часть 2: Создание устройства
    • Разработка печатной платы
    • Разработка корпуса и оснасток
    • Верификация и исправление ошибок
    • Отправка платы на производство
    • Создание корпуса
    • Сборка и отладка устройства

Далее повествование будет вестись от лица сотрудника.

Читать дальше →
Всего голосов 46: ↑44 и ↓2+42
Комментарии13

USB4: все тот же USB?

Время на прочтение8 мин
Количество просмотров31K

В конце 2020 года ожидается выход устройств с поддержкой интерфейсов нового поколения USB4/Thunderbolt 4. Данные интерфейсы похожи, однако имеют ряд принципиальных отличий. Среди таких отличий можно выделить наиболее значимое: спецификации на USB4 общедоступные и любой желающий может изучить основные принципы работы данного интерфейса, в отличие от Thunderbolt 4.


В данной статье мы рассмотрим изменения, которые претерпел интерфейс USB4 по сравнению с предыдущей версией (USB 3.2), разберем архитектуру USB4 и перечислим его основные характеристики.


Более подробную информацию можно найти в спецификации на USB4.

Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии107

Реверс embedded: трассировка кода через SPI-flash

Время на прочтение6 мин
Количество просмотров5.6K

Зачем?!


Наверное, это первая эмоция большинства людей, прочитавших название статьи. Однако, давайте представим следующую ситуацию: в процессе исследования устройства вы доходите до точки, когда можете исполнить внутри устройства свой код, и хотите вывести через UART заветное "Hello, Habr!", помигать светодиодами на плате как на новогодней ёлке или включить JTAG, но всего этого в вашем распоряжении нет.


В этой статье мы покажем необычный способ трассировки прошивки устройств с помощью эмулятора SPI-флешек.

Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии16

Опасная периферия: разбираемся в Thunderspy

Время на прочтение8 мин
Количество просмотров6.2K

image


Год от года мы наблюдаем технический прогресс: мощность компьютеров растет, скорости передачи данных увеличиваются, появляются новые стандарты… Но, как говорилось в одном известном фильме, с великой силой приходит великая ответственность! Что мы получаем (помимо большой скорости) от новых стандартов и интерфейсов? Какие угрозы таят в себе Thunderbolt и USB4? Так ли опасен Thunderspy, как его описывают? Давайте разберемся!

Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии1

Как начать использовать USB Type-C в своих разработках

Время на прочтение13 мин
Количество просмотров44K

В современных embedded-устройствах используется огромное количество различных разъемов, таких как USB Type-B, miniUSB, microUSB и так далее. Все они отличаются форм-фактором, максимальной пропускной способностью и другими различными характеристиками. Самым верным решением в данной ситуации было бы минимизировать количество используемых разъемов и остановиться на каком-то одном, «едином» для большинства разработок. Наиболее перспективным выглядит использование разъема Type-C. В нем объединены невероятная пропускная способность с высокой мощностью питания. Такие производители, как Apple, Huawei, Sony уже внедряют разъем Type-C в свои разработки, постепенно отказываясь от использования «старых» разъемов. А чем embedded-разработчики хуже?


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

Читать дальше →
Всего голосов 52: ↑52 и ↓0+52
Комментарии57

Я иду искать: геопозиционирование хоста по IP-адресу в глобальной сети Интернет на примере криптобиржи Binance

Время на прочтение12 мин
Количество просмотров18K

В статье рассмотрены методы геопозиционирования сетевых интерфейсов по IP-адресу на примере API-сервиса криптобиржи Binance. Геопозиционирование основано на дистанционно-временных моделях пересчета времени кругового обхода (RTT) в дистанцию и определения примерного местоположения сетевого интерфейса.


Современным электронным сервисам очень важно знать о географическом местоположении клиентов для «тонких» настроек своих маркетинговых процессов. Повсеместно используются разные техники геопозиционирования пользователей, основанные на привязке к базовым станциям мобильной связи и точкам доступа Wi-Fi. Однако существует целый ряд других задач, для решения которых необходимо знать геопозицию не самого пользователя, а сервера и его сетевого интерфейса. Такие сервисы, как MaxMind (безусловный отраслевой лидер), широко известны публике (можно также почитать здесь), но в целом в сети мало материала в открытом доступе, посвященного технологическим вопросам глобального геопозиционирования хоста по его IP-адресу. В этой статье мы расскажем о некоторых решениях в этой предметной области и поделимся результатами наших исследований.


За подробностями следуйте под кат.

Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии4

TDD для микроконтроллеров. Часть 3: Запуск на железе

Время на прочтение10 мин
Количество просмотров4.6K
TDD для микроконтроллеров. Часть 1: Первый полет
TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей
TDD для микроконтроллеров. Часть 3: Запуск на железе


В первой части нашего цикла статей мы начали освещать тему эффективности применения методологии TDD для микроконтроллеров (далее – МК) на примере разработки прошивки для STM32. Мы выполнили следующее:


  1. Определили цель и инструменты разработки.
  2. Настроили IDE и фреймворк для написания тестов.
  3. Написали тест-лист для разрабатываемого функционала.
  4. Создали первый простой тест и запустили его.

Во второй статье мы описали процесс разработки платформонезависимой логики по методологии TDD.


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


Подробности – под катом.

Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии2

TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей

Время на прочтение17 мин
Количество просмотров6.5K
TDD для микроконтроллеров. Часть 1: Первый полет
TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей
TDD для микроконтроллеров. Часть 3: Запуск на железе


В предыдущей статье мы начали освещать тему эффективности применения методологии TDD для микроконтроллеров (далее – МК) на примере разработки прошивки для STM32. Мы выполнили следующее:


  1. Определили цель и инструменты разработки.
  2. Настроили IDE и фреймворк для написания тестов.
  3. Написали тест-лист для разрабатываемого функционала.
  4. Создали первый простой тест и запустили его.

В этой статье расскажем, как мы применили методологию TDD для реализации тестов из тест-листа и написания кода прошивки для их успешного выполнения. При написании тестов будем использовать специальные тестовые объекты для ликвидации зависимостей разрабатываемой логики от других программных модулей. В конце статьи мы представим бизнес-логику проекта и проанализируем особенности применения методологии TDD для реализации прошивки МК. Подробности – под катом.

Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии14

TDD для микроконтроллеров. Часть 1: Первый полет

Время на прочтение10 мин
Количество просмотров14K
TDD для микроконтроллеров. Часть 1: Первый полет
TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей
TDD для микроконтроллеров. Часть 3: Запуск на железе


Встраиваемые системы широко применяются в бытовой электронике, промышленной автоматике, транспортной инфраструктуре, телекоммуникациях, медицинском оборудовании, а также в военной, аэрокосмической технике и т. д. Хотя последствия любой ошибки проектирования обходятся дорого, ошибку в ПО для ПК или в большом корпоративном приложении обычно относительно легко исправить. А если дефект будет во встраиваемом ПО (далее – ВПО) электронного блока управления тормозной системой автомобиля, то это может вызвать массовый и дорогостоящий отзыв продукции.


Сфера применения встраиваемых систем постоянно расширяется, сложность выполняемых ими задач растет. Это в свою очередь повышает риск внесения ошибок в процессе разработки, что увеличивает вероятность весьма дорогостоящих дефектов в ПО.


Одной из наиболее популярных методологий улучшения качества разрабатываемых приложений является Test-driven development (TDD). Но эффективна ли методология TDD для разработки встраиваемых систем? Ответ на этот вопрос будем искать под катом.

Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии33

Реверс USB-SATA-адаптера (история одного стажера)

Время на прочтение16 мин
Количество просмотров28K

Предыстория


Стажировка – это процесс получения знаний и опыта. Наша команда Raccoon Security считает, что повышение уровня информационной безопасности окружающих нас устройств и ПО невозможно без передачи этих знаний и опыта будущим поколениям специалистов. Именно поэтому мы уже много лет организуем индивидуальные стажировки для талантливых студентов и выпускников.


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


Читать дальше →
Всего голосов 100: ↑100 и ↓0+100
Комментарии34
1

Информация

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