О чем материал
Рассказываем об R&D-подразделении Positive Technologies — команде Positive Labs. Группа лабораторий фокусируется на исследовании и разработке аппаратных и программных ИБ-решений
С какими классами решений вы обычно работаете и по какому принципу выбираете объекты для исследований?
Принципа два: либо сами захотели, либо нам предложили :) Если устройство или технология кажутся перспективными и интересными, мы начинаем копать: проводим ресерч, ищем уязвимости, формируем репорты для производителей и по возможности делимся информацией с сообществом. Также к нам может обратиться внешний или внутренний заказчик с просьбой проверить конкретное устройство. Обычно мы исследуем уже готовые продукты, но иногда тестируем оборудование еще на этапе разработки.
Объектом интереса Positive Labs может стать любое электронное устройство — от телевизионного пульта до сервера. Ведь все они построены по одному принципу и содержат один или несколько вычислительных элементов (микроконтроллеров либо микропроцессоров) и встроенное ПО (прошивку). Отмечу, что мы ищем уязвимости не только в железе, но и в софте, который на нем исполняется. Изначально мы взяли название Hardware Lab, но со временем поняли, что не железом единым. Например, у нас есть специалисты, которые занимаются фаззингом продуктов PT, также нам интересны низкоуровневые исследования ОС, автомобили и т.д. Фактически, мы трансформируемся в группу лабораторий, каждая из которых обретает собственную специализацию.
Какие навыки нужны для работы в вашем подразделении и где их можно получить?
Совершенно разные, ведь мы занимаемся не только ресерчем, но и разработкой. В основном создаем инструменты для исследований и оснастку. Некоторые девайсы делаем, что называется, по фану, а потом это перерастает во что-то большее. Яркий пример — электронные бейджи для PHDays, которые в этом году получили масштабное обновление.

В целом набор необходимых скиллов зависит от конкретной специализации, но вузовских программ или курсов, где учат быть непосредственно ресерчером, пока не существует. Наверное, самое близкое к нам направление — классическая разработка встраиваемых систем, потому что для исследования железа в первую очередь важно понимать принцип его работы. Из каких аппаратных блоков состоит микроконтроллер, как они взаимодействуют, как разрабатываются прошивки и т.д. Например, у нас в команде работают ребята, окончившие Бауманку по специальности «Проектирование и технологии производства электронных вычислительных средств». Так что если ты embedded-разработчик и обладаешь нужными навыками и стилем мышления, в теории ты можешь переквалифицироваться в ресерчера, потому что уже знаешь большую часть базы.
С помощью каких инструментов вы проводите исследования?
Для изучения прошивки и софта нужен классический реверс-набор для исследований ПО — дизассемблеры, декомпиляторы и др. Для исследования «железной» части устройств требуется оборудование, которое позволяет анализировать цифровые и аналоговые сигналы: осциллографы, логические анализаторы и т.п. Чтобы посмотреть на плату, нужен качественный микроскоп, заглянуть внутрь поможет рентгеновский аппарат, а подключиться непосредственно к кристаллу микросхемы — ультразвуковая разварочная станция. Про паяльные станции и другие инструменты для монтажа/демонтажа компонентов даже не говорю — это жизненно необходимая база для исследования любого устройства.
Также мы используем разные аппаратные отладчики (чтобы подключаться к диагностическим интерфейсам микроконтроллеров) и программаторы, позволяющие работать с микросхемами памяти разных типов. На самом деле, список инструментов можно продолжать бесконечно: это и универсальные платы разработчика FPGA, и SDR, и снифферы беспроводных протоколов, и многое другое. А еще мы создаем собственные инструменты, которые позволяют выполнять разные виды атак непосредственно на микросхемы.
Расскажи подробнее о ваших разработках и задачах, которые вы решаете с их помощью.
Сейчас мы активно работаем над Chip’olino — устройством для проведения атак индуцированным сбоем по питанию (voltage glitch attack). Подробности ищите в статье главного идеолога проекта Юры Васина. Кратко расскажу, в чем суть: любой «мозг» устройства, т.е. микросхема с вычислительным ядром, исполняет прошивку, отвечающую за логику работы конкретного девайса. Прошивка состоит из элементарных операций: прочитать/записать регистр, выполнить сравнение и т.д. При этом каждая операция требует определенного количества энергии для выполнения. Энергия в данном случае — это ток, умноженный на напряжение питания. Мы можем воздействовать на него, причем не просто отключить, а на очень короткое время (порядка миллисекунд) «просадить» на определенную величину, т.е. создать управляемый сбой (glitch). Если правильно подобрать параметры и время атаки, можно изменить логику работы исполняемой прошивки или даже алгоритмы, реализованные непосредственно в «железных» блоках микроконтроллера.
С помощью подобных атак можно обходить механизмы защиты от считывания содержимого памяти микроконтроллеров, т.е. получать бинарный образ прошивки для дальнейшего исследования и поиска уязвимостей. Более того, они позволяют обходить даже криптографические алгоритмы, например проверки цифровой подписи образа при запуске прошивки (Secure Boot) или при обновлении (Verified Update).
Подобными исследованиями занимаются команды по всему миру, однако большинство из них обычно остаются на уровне статей, а-ля «мы что-то сделали, работает, но на практике использовать сложно». Для реализации описанных методов придется потратить уйму времени, а работают они на нескольких микроконтроллерах и зачастую нестабильно. Мы решили пойти дальше и преобразовали исследования по теме glitch-атак в удобный и понятный инструмент.
Если пытаться повторить ресерчи из интернета с нуля, на разработку рабочей методики и инструментария могут уйти месяцы. Chip’ollino же позволяет решить эту задачу в течение нескольких секунд (при условии, что контроллер уже протестирован и добавлен в базу). Это хорошо затюненный инструмент, который поднимает success rate чуть ли не до единицы. При этом для его использования даже не нужно глубоко разбираться во внутреннем устройстве микроконтроллеров.
Также мы активно развиваем направление Side Channel Attack (SCA). Начали, как и в случае с glitch-атаками, c атак по питанию. Я уже упоминал, что микроконтроллер потребляет определенное количество энергии при выполнении каждой операции. Во многих современных устройствах есть аппаратный блок ускорения криптографических вычислений, например симметричного шифрования AES. Для его работы тоже нужна энергия, но самое интересное, что ее величина зависит от обрабатываемых данных и ключа. Если правильным образом собирать энергопотребление микроконтроллера в момент работы криптографического блока, можно с помощью математических алгоритмов восстановить ключ шифрования, который не покидает устройство. Само собой, я существенно упростил описание атаки — под капотом много физики, математики и огромная вариативность действий. Однако для определенных моделей микроконтроллеров можно весьма успешно извлекать ключи шифрования, например Encrypted Boot. Т.е. для ресерча устройств на базе подобных микроконтроллеров недостаточно получить содержимое памяти контроллера — оно будет зашифровано с помощью криптоалгоритма AES. Таким образом, без SCA невозможно получить ключ, расшифровать прошивку и проанализировать ее на наличие уязвимостей.
Современные устройства неплохо защищены, поэтому без разработки собственных инструментов для реализации различных видов атак на железо делать многие ресерчи попросту невозможно.
Любое электронное устройство потенциально может стать объектом нашего интереса
О (не)закрытых уязвимостях
Какие бытовые устройства обычно атакуют злоумышленники? Чем, к примеру, может грозить уязвимость в начинке умной кормушки для животного?
В журнале «Хакер» была история про солонку — опишу в общих чертах. Приходит хакер в столовую и обнаруживает, что солонки там не защищены. Их можно забрать себе, подсыпать в них яд и далее по списку. Он начинает заваливать директора столовой письмами, тот в итоге сходит с ума, а солонки начинают выдавать из сейфа. Мораль проста: сломал, но зачем? :) С бытовым железом примерно та же история.
С одной стороны, взлом умной кормушки не несет серьезных рисков для владельца животного. С другой, в некоторых устройствах есть камеры, микрофоны и даже динамики… Вспомните скандал с роботами-пылесосами: если взломать девайс и выбрать подходящий ракурс, можно получить интимные снимки владельца устройства. Сценариев много, но проблема в том, что их практически невозможно реализовать удаленно, ведь большинство умных устройств подключены к домашним сетям Wi-Fi и находятся за NAT’ом. Получается совсем не массовая история: ломать кормушку в доме конкретного человека интересно далеко не всем.
Тем не менее опасность от компрометации бытовых устройств все же есть. Многие умные девайсы являются «подключенными», т.е. обмениваются данными с инфраструктурой производителя. Предположим, в устройстве есть модем, через который оно отправляет данные в cloud-сервис вендора, а взамен получает определенные команды. Такие облака могут быть недоступны извне — из интернета к ним не подключиться. Но если злоумышленник получит физический доступ к устройству и сможет его взломать, у него появится возможность развить атаку и добраться до инфраструктуры. Проще говоря, умные девайсы редко становятся конечной целью злоумышленников, но хакеры могут использовать их как точку входа, чтобы атаковать инфраструктуру вендора или пользователя.
Схема работает и в обратную сторону: скомпрометировав инфраструктуру производителя, можно удаленно установить на множество устройств прошивку с бэкдором, организовать ботнет и т.п. Наши устройства знают о нас все, поэтому к их безопасности нельзя относиться поверхностно.
А что насчет устройств посерьезнее, например, автомобилей?
Любая современная машина — это вычислительный кластер на колесах, который собирает и обрабатывает огромное количество данных. Список ваших контактов, сообщения, журнал звонков, маршруты передвижения, телеметрия и т.д. Автопроизводители собирают информацию о пользовательском опыте в обезличенном виде и передают агрегаторам для формирования статистики и таргетированной рекламы (зайдите на сайт BMW и убедитесь сами). Само собой, злоумышленники тоже не могут пройти мимо этих данных, ведь их можно использовать для проведения атак. Конечно, в реальной жизни удаленно перехватить управление машиной будет крайне сложно, но есть ряд ресерчей, подтверждающих, что это в принципе возможно. Например, хакеры уже 10 лет назад получили доступ к автомобилю путем взлома инфраструктуры производителя и отправили машину в кювет.
Другой пример — атаки на компьютерное зрение беспилотных автомобилей. Был кейс, когда исследователи наклеили на дорожные знаки ограничения скорости стикеры, при распознавании которых Tesla начинала ускоряться. Аналогичным образом можно взламывать и другие машины, оснащенные камерами для распознавания дорожной обстановки.
Кроме того, все хотят иметь возможность удаленно прогревать или разблокировать машину с помощью смартфона, но классический взлом электронных систем с целью кражи никуда не делся... С каждым днем векторов атак становится больше, поэтому мы создали отдельную лабораторию для анализа защищенности автомобилей.

Приведи примеры интересных уязвимостей, с которыми сталкивалась ваша команда.
Когда мы инициативно что-то ломаем и репортим вендорам, мы часто слышим «Спасибо, никому не рассказывайте». Заказные ресерчи всегда идут под NDA, поэтому подробно рассказать о многих интересных находках, к сожалению, не могу, но перечислю несколько публичных кейсов:
- в конце прошлого года мы выпустили ресерч о «DaMAge Card» — DMA-атаке с использованием нового компьютерного интерфейса SD Express.
- в 2023 г. мы нашли аппаратные уязвимости в линейке микроконтроллеров GigaDevice. Это популярный китайский вендор с миллиардными тиражами, чипы которого используется везде — от умных устройств до автомобилей и серверов.
Еще один свежий кейс связан с поиском уязвимостей в промышленном оборудовании, точнее в дистанционных системах радиоуправления. Однажды я гулял с ребенком и увидел машину-манипулятор, разгружающую паллеты с бордюрами из кузова, а рядом — рабочего с беспроводным пультом. Мне сразу стало интересно, как именно работают системы дистанционного управления и можно ли их взломать. Это к вопросу о том, как мы выбираем объекты для исследования :)
Мы начали копать и обнаружили ресерч Trend Micro. Несколько лет назад компания провела исследование распространенных на западном рынке продуктов: оказалось, что все они так или иначе уязвимы. Мы тоже составили список решений, которые популярны на российском рынке, закупили оборудование, собрали несколько стендов, сделали фейковые передатчики для приема/отправки сигналов и проанализировали поведение разных систем. По итогу могу сказать, что безопасностью там и не пахнет... Подробнее об этом кейсе расскажем на PHDays.
Как быстро производители исправляют найденные вами уязвимости? Бывает ли такое, что дыры остаются незакрытыми?
В качестве примера приведу уже упомянутый кейс GigaDevice. Мы зарепортили, долго пытались достучаться до вендора, кое-как смогли (через китайские органы сертификации) и даже встретились с техническим директором компании. Но по факту так и не добились от них конкретных сроков устранения уязвимости и даже официального признания ошибок с присвоением CVE. Дело в том, что мы обнаружили архитектурную аппаратную уязвимость, которую нельзя устранить программным патчем. Единственный вариант — выпустить новую версию микроконтроллеров, а это долго и дорого. При этом уже выпущенные микроконтроллеры и устройства на их основе так и останутся уязвимыми: на безопасность вообще мало кто хочет тратиться, поэтому они спокойно продаются дальше. GigaDevice даже security advisory выпускать не стала и фактически не уведомила своих клиентов о проблемах с безопасностью.
Но не все так плохо — многие вендоры ответственно относятся к обнаруженным уязвимостям и закрывают их максимально быстро. А потом приходят с запросом на проверку уже новых устройств, в том числе еще не вышедших на рынок.
State-of-the-art атаки
Будет ли расти чисто атак, связанных с уязвимостями в железе?
Да, потому что число подключенных к сети устройств продолжит увеличиваться, и они будут обрабатывать все больше важных данных (в том числе персональных), которые станут целью хакеров. При этом железо будет становиться все сложнее, поэтому и взломать его будет непросто — но только при условии, что производители будут использовать все доступные механизмы защиты. К примеру, технологии доверенной загрузки и исполнения кода появились уже лет десять назад, а в современных микроконтроллерах они зачастую (в том или ином виде) есть по умолчанию. Т.е. вендоры легко могут выделять и безопасно хранить критически важную часть прошивки или другие секреты, но до недавнего времени этим мало кто пользовался. По сути, технологии защиты становятся доступнее, вопрос только в том, будут ли производители их использовать. Если да, стоимость взлома железа будет расти, а порог входа для атакующих повысится.
Поделитесь планами на будущее.
В планах — активно наращивать инструментарий и компетенции, чтобы выполнять state-of-the-art исследования. Да, атаки типа glitch’а по питанию — это хорошо, но многие современные чипы уже оснащены защитой от подобных воздействий. Поэтому сейчас мы разрабатываем инструменты и методики для проведения LFI-атак (Laser Fault Injection). Суть примерно та же: если правильно подобрать параметры лазерного излучения, с его помощью можно изменить заряд в ячейках внутренних структур микроконтроллера (например, поменять содержимое памяти). Защиту от подобных атак пока нельзя назвать массовой историей.
Кроме того, мы исследуем новые методы сбора информации в области SCA, в том числе с помощью электромагнитного излучения (EM-атаки). Вообще микроэлектроника — это огромная и очень интересная область для исследований. Мы уже достигли отличных технологических результатов, но многое еще предстоит освоить и сделать. Остальные лаборатории (фаззинга, авто и т.д.) тоже не забыты и придерживаются своих планов. Идей и возможностей много — мы только разгоняемся ;)