Pull to refresh
-1
0

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

Send message

Считывание защищенной прошивки из флеш-памяти STM32F1xx с использованием ChipWhisperer

Reading time9 min
Views50K

В предыдущей статье мы разбирались с Vcc-glitch-атаками при помощи ChipWhisperer. Нашей дальнейшей целью стало поэтапное изучение процесса считывания защищенной прошивки микроконтроллеров. С помощью подобных атак злоумышленник может получить доступ ко всем паролям устройства и программным алгоритмам. Яркий пример – взлом аппаратного криптокошелька Ledger Nano S с платой МК STM32F042 при помощи Vcc-glitch-атак.


Интересно? Давайте смотреть под кат.

Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments45

Ломаем простую «крякми» при помощи Ghidra — Часть 2

Reading time12 min
Views15K
В первой части статьи мы при помощи Ghidra провели автоматический анализ простой программы-крякми (которую мы скачали с сайта crackmes.one). Мы разобрались с тем, как переименовывать «непонятные» функции прямо в листинге декомпилятора, а также поняли алгоритм программы «верхнего уровня», т.е. что выполняется функцией main().

В этой части мы, как я и обещал, возьмемся за анализ функции _construct_key(), которая, как мы выяснили, как раз и отвечает за чтение переданного в программу двоичного файла и проверку прочитанных данных.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments2

Ломаем простую «крякми» при помощи Ghidra — Часть 1

Reading time9 min
Views86K
О том, что это за зверь такой — Ghidra («Гидра») — и с чем его едят она ест программки, многие уже, наверняка, знают не понаслышке, хотя в открытый доступ сей инструмент попал совсем недавно — в марте этого года. Не буду докучать читателям описанием Гидры, ее функциональности и т.д. Те, кто в теме, уже, уверен, всё это сами изучили, а кто еще не в теме — могут это сделать в любое время, благо на просторах веба сейчас найти подробную информацию не составит труда. Кстати, один из аспектов Гидры (разработку плагинов к ней) уже освещался на Хабре (отличная статья!) Я же дам только основные ссылки:


Итак, Гидра — это бесплатный кроссплатформенный интерактивный дизассемблер и декомпилятор с модульной структурой, с поддержкой почти всех основных архитектур ЦПУ и гибким графическим интерфейсом для работы с дизассемблированным кодом, памятью, восстановленным (декомпилированным) кодом, отладочными символами и многое-многое другое.

Давайте попробуем уже что-нибудь сломать этой Гидрой!
Читать дальше →
Total votes 58: ↑57 and ↓1+56
Comments32

Хакаем Transcend WiFi SDHC карту памяти

Reading time10 min
Views147K
Перевод немного вольный, но смысл не потерян. Я (переводчик) заинтересовался этой карточкой давно и почти сразу заказал её, сегодня забрал с почты и не могу нарадоваться, но хочется больше, чем дает Transcend, а карточка, между прочим, Linux сервер с WiFi! Очень много буковок.

С недавнего времени я стал счастливым обладателем карты памяти Transcend WiFi SD, которая позволяет мне передавать фотографии с моей «зеркалки» (которая вообще то Sony NEX, зато компактная) на любое устройство с WiFi за несколько секунд. А так как мне нравится делать фотографии и делиться с ними на лету, то SD карточка, умеющая без проводов передавать картинки на мой телефон, кажется прекрасным решением. И это было так! (хотя всё еще так). Мобильное приложение может… не, должно быть получше (зачем скачивать 7МБ картинку для просмотра, чтобы потом ЕЩЕ раз скачать её, нажав на «Скачать»?), но вообще оно делает своё дело!
Читать дальше →
Total votes 167: ↑158 and ↓9+149
Comments238

Аппаратные атаки на микроконтроллеры с использованием ChipWhisperer и методы защиты от них

Reading time11 min
Views25K

Аппаратные атаки представляют большую угрозу для всех устройств с микроконтроллерами (далее – МК), поскольку с их помощью можно обойти разные механизмы безопасности. От таких атак тяжело защититься программными или аппаратными средствами. Для примера можно прочитать статью от STMicroelectronics про различные виды аппаратных атак и методы защиты МК.
Мы – команда Raccoon Security – заинтересовались этой темой, поскольку одним из направлений деятельности нашей компании является разработка embedded-устройств, в том числе содержащих механизмы защиты информации. По большей части нас интересуют glitch-атаки, поскольку они позволяют проскользнуть мимо исполняемых инструкций МК. Это серьезная угроза для конфиденциальной информации, содержащейся в МК, и самое опасное последствие таких атак – считывание закрытой прошивки в обход механизмов безопасности, предусмотренных разработчиками МК.


На конференциях Hardwear.io 2018 в Гааге и EmbeddedWorld 2019 в Нюрнберге компания NewAE демонстрировала устройство ChipWhisperer, позволяющее реализовать ту часть неинвазивных аппаратных атак, которые не требуют глубинных знаний наноэлектроники и наличия специфического оборудования. При помощи этого устройства мы изучили безопасность embedded-устройств и поняли, как минимизировать результат подобных атак. Под катом – что у нас получилось.

Читать дальше →
Total votes 21: ↑20 and ↓1+27
Comments26

Управляем дюймовыми жалюзи дешево

Reading time8 min
Views29K

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



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

Total votes 22: ↑22 and ↓0+22
Comments19

Почему, а главное, куда люди уходят из IT?

Reading time8 min
Views64K
Здравствуйте, уважаемое хабросообщество. Вчера (будучи в нетрезвом состоянии), прочитав пост от @arslan4ik «Почему люди уходят из IT?», я задумался, ведь действительно хороший вопрос: «Почему..?»

Ввиду моего места жительства в солнечном городе Los Angeles, я решил узнать, есть ли в моем любимом городе люди, по тем или иным причинам ушедшие (на темную сторону силы) из IT. Нагуглив статистику безработных/потерявших работу/сменивших карьеру (выберите понравившееся) людей, любезно предоставляемой (обществом анонимных алкоголиков) Бюро статистики труда, понял, что к нам это мало относится, поэтому решил пойти по другому пути и связаться с людьми, которые варятся (в аду) в котле IT.

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

Итак знакомьтесь: RJ, человек, отдавший 13 лет IT и его история развода с любимым делом…
Читать дальше →
Total votes 63: ↑46 and ↓17+48
Comments118

Почему люди уходят из IT?

Reading time3 min
Views80K
Информационные технологии многим кажутся недавним изобретением. На самом деле это ошибочное мнение. Впервые об информационно-коммуникационных технологиях начали говорить в шестидесятые годы прошлого столетия. Именно в тот период появились первые информационные системы. В конце девяностых огромные деньги были вложены как в отрасль в целом, так и в интернет в частности. Быть IT-специалистом было престижно, модно. Ведь он создает что-то новое, разрабатывает программы, почти всё время сидит перед компьютером. К сожалению, делая выбор в пользу IT специальности, многие даже сейчас руководствуются стереотипами, которые сложились в 90-е годы XX века. В результате, человек приходит в IT фактически под впечатлением иллюзий, которые оказывают соответствующее влияние на не посвящённых людей. Но когда человек сталкивается с объективной реальностью, наступает глубокое разочарование. Оказывается, что тот же программист или системный администратор, это тяжёлый труд не только по работе, но и по самообразованию. Что помимо нажимания на кнопки нужно разбираться в очень многих зачастую очень скучных вещах. Если такой человек не сможет принять реальность такой, какая она есть на самом деле, он, скорее всего, уйдёт в другую профессию. Пока одни изо всех сил стараются войти в сферу it проходя курсы стажировки, собеседования, некоторые из тех, кому уже удалось это сделать, почему то стремятся бросить it.
Читать дальше →
Total votes 86: ↑43 and ↓43+17
Comments349

Страх и ненависть в IT

Reading time7 min
Views127K
Всем привет. Я — обычный программист, носящий лычку сеньора в одной обычной продуктовой компании. Я занимаюсь коммерческой разработкой около 10 лет, начинал с разработки прошивок для небольших железок, а сейчас изготавливаю бекенды различной степени сложности преимущественно на модных нынче Java/Kotlin. Эту профессию я выбрал по призванию — будучи ещё школьником все время что-то паял, программировал на бумажке (компьютера не было) и всё такое. Дальше шли профильное образование, работа в различных компаниях — именитых и обычных, зарубежных и отечественных. Поэтому я могу сказать, что являюсь идейным программистом. И никогда не понимал людей, которые ждут пятницу — всегда с удовольствием ходил на работу, какой бы ад там не творился. Так было по-крайней мере до недавнего времени. С какого-то момента я “сломался” и с трудом мог заставить пойти себя на некогда любимую работу. Меня и раньше что-то смущало, но теперь, когда мысли до конца оформились в голове — я могу сказать, что же не так с моим некогда уютным IT-мирком.
Читать дальше →
Total votes 303: ↑269 and ↓34+305
Comments791

Выявляем процессы с дисковой активностью в Linux

Reading time13 min
Views78K
TL;DR: статья рассказывает об удобном, быстром и надежном способе определения Linux-программ, записывающих данные на диск, что помогает в выявлении большой или аномально частой нагрузки на дисковую подсистему, а также позволяет оценить накладные расходы файловой системы. Это особенно актуально для SSD в ПК, EMMC и Flash-памяти в одноплатных компьютерах.
В ходе написания статьи обнаружилось, что запись нескольких килобайт данных на файловую систему BTRFS приводит к записи 3 мегабайт реальных данных на диск.

Введение

«Ой, ерунда, ячейки памяти на современных SSD выйдут из строя через десятки лет обычного использования, не стоит об этом беспокоиться, и уж тем более переносить swap, виртуальные машины и папку профиля браузера на HDD» — типичный ответ на вопрос о надежности твердотельных накопителей c гарантированными ≈150 TBW. Если прикинуть, сколько типичное ПО может писать данных, то кажется, что 10-20 ГБ в сутки — уже большая цифра, пусть будет максимум 40 ГБ, куда уж больше. При таких цифрах ответ вполне разумен — нужно 10 лет, чтобы достичь гарантированных значений по количеству перезаписи ячеек, при 40 ГБ записанных данных ежедневно.
Однако за 6 лет я пользуюсь уже третьим SSD: у первого вышел из строя контроллер, а второй начал перемещать данные между ячейками несколько раз в день, что оборачивалось 30-секундными задержками в обслуживании записи.

После 7 месяцев использования нового SSD я решил проверить количество записанных данных, как их сообщает сам диск через SMART.
19.7 ТБ.
Всего за 7 месяцев я использовал 13% от гарантированного количества записанных данных, притом, что он настроен в соответствии с рекомендациями по выравниваю разделов и настройке ФС, swap у меня почти не используется, диски виртуальных машин размещены на HDD!
Читать дальше →
Total votes 119: ↑117 and ↓2+115
Comments90

Офис компании Boomburum

Reading time19 min
Views410K
image

Осторожно, трафик! Но можно хотя бы посмотреть картинки )

   Идея создать дома свой «рабочий кабинет» у меня зрела давно – как-то сам дошел до осознания его необходимости, хотя немалый вклад в начинания сделал этот давний пост на Хабре. У меня было своё рабочее место – большой удобный стол, где помещалось практически всё и даже больше… но, по сути, он был проходным двором – все время кто-то ходил, был рядом, отвлекал… такое очень часто мешает сосредоточиться и начать работать. Иногда, бывает, сидишь весь вечер за компом и понимаешь, что абсолютно ничего не сделал, хотя родным заявил «так, мне надо поработать».
Читать дальше →
Total votes 738: ↑625 and ↓113+512
Comments438

Краеугольные камни уничтожения медленного кода в Wolfram Language: ускоряем код в десятки, сотни и тысячи раз

Reading time77 min
Views12K
Скачать файл с кодом и данные можно в оригинале поста в моем блоге

Картинка к вебинару и посту взята не просто так: в определенном смысле символьное ядро Wolfram Language можно сравнить с Таносом — если бы его мощь была бы направлена в правильное русло, он мог бы стать самым мощным и полезным «добряком». Так же и с символьным ядром Wolfram — его чудовищную мощь нужно правильно использовать, а если это делать не так, оно может стать настоящим «злом», замедляющим все очень сильно. Начинающие разработчики не знают многих важнейших парадигм, идей и принципов языка Wolfram Language, пишут код, который на самом деле дико неэффективен и после этого разочаровываются, хотя тут нет вины Wolfram Language. Эту ситуацию призвана исправить эта статья.

Мне довелось работать с Wolfram Language начиная с (уже довольно далекого) 2005 года (тогда еще была версия Mathematica 5.2, сейчас уже 12-я). За эти почти 15 лет произошло очень много: добавились тысячи новых встроенных функций и областей, в которых они работают (машинное обучение, точная геометрия, работа с аудио, работа в вебе, облачные возможности, глубокая поддержка единиц измерения, интеграция с базами данных Wolfram|Alpha, географические вычисления, поддержка работы с CUDA, Python, распараллеливание операций и многое многое другое), появились новые сервисы — облако Wolfram Cloud, широко известная система вычислительных значeний Wolfram|Alpha, репозиторий функций, репозиторий нейросетей и пр.
Total votes 22: ↑21 and ↓1+20
Comments20

Как работает криптография на основе эллиптических кривых в TLS 1.3

Reading time23 min
Views31K
image

Пара предупреждений читателю:

Для того, чтобы (насколько это возможно) упростить процесс объяснения и сжать объем публикации, стоит сразу же сделать ключевую оговорку — все, что мы пишем, касаемо практической стороны рассматриваемой проблематики, корректно для протокола TLS версии 1.3. Это значит, что хотя ваш ECDSA сертификат и будет, при желании, работать с TLS 1.2, описание процесса хендшейка, наборов шифров и бенчмарков сделано на основании последней версии протокола TLS — 1.3. Как вы понимаете, это не относится к математическому описанию алгоритмов, лежащих в фундаменте современных криптографических систем.

Данный материал был написан не математиком и даже не инженером — хотя они и помогали проложить дорожку сквозь математические дебри. Огромная благодарность сотрудникам Qrator Labs.

(Elliptic Curve) Diffie-Hellman (Ephemeral)


Наследие Диффи — Хеллмана в XXI веке

Естественным образом, данная тема начинается не с Уитфилда Диффи и не с Мартина Хеллмана. Алан Тьюринг и Клод Шеннон сделали огромный вклад в теорию алгоритмов и теорию информации, равно как и в область криптоанализа. Диффи и Хеллман, в свою очередь, официально признаются авторами идеи криптографии с публичным ключом (также называемой асимметричной) — хотя теперь известно, что в Великобритании были также достигнуты серьезные результаты в этой области. Однако они оставались засекреченными длительное время — что делает двух джентльменов, упомянутых в подзаголовке, первопроходцами.

В чем именно?
Читать дальше →
Total votes 54: ↑53 and ↓1+52
Comments7

Трактат о Pinе. Мысли о настройке и работе с пинами на С++ для микроконтроллеров (на примере CortexM)

Reading time15 min
Views8.4K

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


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


Продолжу развивать тему о встроенном софте для небольших микроконтроллеров в устройствах для safety critical систем.


На этот раз попробую предложить способ работы с конкретными ножками микроконтроллера, используя обертку над регистрами, которую я описал в прошлой статье Безопасный доступ к полям регистров на С++ без ущерба эффективности (на примере CortexM)


Чтобы было общее представление того о чем я хочу рассказать, приведу небольшой кусок кода:


using Led1Pin = Pin<Port<GPIOA>, 5U, PinWriteableConfigurable> ;
using Led2Pin = Pin<Port<GPIOC>, 5U, PinWriteableConfigurable> ;
using Led3Pin = Pin<Port<GPIOC>, 8U, PinWriteable> ;
using Led4Pin = Pin<Port<GPIOC>, 9U, PinWriteable> ;
using ButtonPin = Pin<Port<GPIOC>, 10U, PinReadable> ;

//Этот вызов развернется в  2 строчки
// GPIOA::BSRR::Set(32) ; // reinterpret_cast<volataile uint32_t *>(0x40020018) = 32U 
// GPIOС::BSRR::Set(800) ; // reinterpret_cast<volataile uint32_t *>(0x40020818) = 800U 
 PinsPack<Led1Pin, Led2Pin, Led3Pin, Led4Pin>::Set() ; 

//Ошибка компиляции, вывод к которому подключена кнопка настроен только на вход
ButtonPin::Set() 

auto res = ButtonPin::Get() ; 
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments181

Работа не волк, часть 1. Поиск работы: 9 кругов HR-a

Reading time16 min
Views71K
Поиск работы вызывает неприятные тревожно-азартные ощущения и у вчерашнего студента, и у профессионала с годами опыта за плечами. Это не признак неуверенности в себе, это проблема всей отрасли поиска персонала: мы идём на собеседование и понимаем, что не всё может зависеть от профессионализма, что кому-то не понравятся наши софт-скиллы или внешний вид, кто-то упрется в вопрос о причинах ухода с предыдущего места. На Хабре может выйти 200 статей-обращений к HR-службами IT-компаний, где сами соискатели будут с пеной у рта рассказывать, как с ними (нами!) нужно разговаривать, как оценивать, но на первой встрече с будущим работодателем вам всё равно подсунут психологический тест, зададут странные вопросы и посмотрят на вас, как будто вы уже что-то нарушили и идёте в компанию, чтобы порушить устои и корпоративную культуру. Поэтому мы не будем рассказывать компаниям, в чём они не правы — мы расскажем вам, как с этим жить. 


Это первая часть нашего нового цикла «Работа не волк», который будет состоять из пяти частей, каждая из которых раскрывает важнейшие аспекты, связанные с трудоустройством. Как и в случае с циклом про образование, статьи будут субъективными, честными и основанными на обширной экспертизе. Вот что вас ждёт:

Часть 1. Поиск работы: источники, резюме, собеседование с HR
Часть 2. Устройство и адаптация: собеседуем с боссом, проходим испытательный срок с ветерком
Часть 3. Работа в роли новичка: рост в компании
Часть 4. Работа в роли опытного сотрудника: как не перегореть
Часть 5. Увольнение: я ухожу красиво
Читать дальше →
Total votes 52: ↑45 and ↓7+38
Comments37

Python за месяц

Reading time6 min
Views116K
Руководство для абсолютных чайновичков.
(Прим. пер.: это советы от автора-индуса, но вроде дельные. Дополняйте в комментах.)

image


Месяц — это много времени. Если тратить на обучение по 6-7 часов каждый день, то можно сделать дофига.

Цель на месяц:

  • Ознакомиться с основными понятиями (переменная, условие, список, цикл, функция)
  • Освоить на практике более 30 проблем программирования
  • Собрать два проекта, чтобы применить на практике новые знания
  • Ознакомиться хотя бы с двумя фреймворками
  • Начать работу с IDE (средой разработки), Github, хостингом, сервисами и т. д.

Так вы станете младшим разработчиком (джуном) Python.

Теперь план по неделям.
Читать дальше →
Total votes 36: ↑26 and ↓10+16
Comments29

5 способов полезного использования Raspberry Pi

Reading time5 min
Views164K
Привет Хабр.

Raspberry Pi наверное есть дома почти у каждого, и рискну предположить, что у многих она валяется без дела. А ведь Raspberry это не только ценный мех, но и вполне мощный fanless-компьютер с Linux. Сегодня мы рассмотрим полезные возможности Raspberry Pi, для использования которых код писать не придется совсем.

Для тех кому интересно, подробности под катом. Статья рассчитана для начинающих.
Читать дальше →
Total votes 58: ↑53 and ↓5+48
Comments132

Простые эксперименты с микроконтроллером STM32F103 («Голубая таблетка»)

Reading time4 min
Views77K


Многие приобрели «голубую таблетку» на попробовать. Но из-за сложности программирования данная вещь оказалась где то на полке, до лучших времен.

Будем считать, что «лучшие времена» — наступили.
Читать дальше →
Total votes 56: ↑46 and ↓10+36
Comments97

Общие принципы работы QEMU-KVM

Reading time3 min
Views89K
image

Мое текущее понимание:

1) KVM


KVM (Kernel-based Virtual Machine) – гипервизор (VMM – Virtual Machine Manager), работающий в виде модуля на ОС Linux. Гипервизор нужен для того, чтобы запускать некий софт в несуществующей (виртуальной) среде и при этом, скрывать от этого софта реальное физическое железо, на котором этот софт работает. Гипервизор работает в роли «прокладки» между физическим железом (хостом) и виртуальной ОС (гостем).

Поскольку KVM является стандартным модулем ядра Linux, он получает от ядра все положенные ништяки (работа с памятью, планировщик и пр.). А соответственно, в конечном итоге, все эти преимущества достаются и гостям (т.к. гости работают на гипервизоре, которые работает на/в ядре ОС Linux).

KVM очень быстрый, но его самого по себе недостаточно для запуска виртуальной ОС, т.к. для этого нужна эмуляция I/O. Для I/O (процессор, диски, сеть, видео, PCI, USB, серийные порты и т.д.) KVM использует QEMU.
Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments8

Про установку и использование LineageOS 16, F-Droid

Reading time127 min
Views315K
Предлагаю вашему вниманию инструкцию как оптимально (по моему мнению) перейти на свободное программное обеспечение при использовании смартфона на примере операционной системы LineageOS (далее сокращённо LOS) и приложений из F-Droid.

Я думаю, что это статья будет вам интересна, даже если вы не можете установить себе LOS, так как в данной статье также рассмотрены стандартные настройки Android, настройки и методика использования полезных приложений, магазин приложений F-Droid, разрешения Android, которые нельзя ограничить и другие, возможно полезные для вас нюансы.
Читать дальше →
Total votes 74: ↑72 and ↓2+70
Comments192

Information

Rating
Does not participate
Registered
Activity