Как стать автором
Обновить

Комментарии 22

Вспоминается Portal 2 и фабрика неадекватных турелей.
А обычные гибкие автоматизированные производства, станки с ЧПУ, фабрики по производству лекарств и прочее этой проблеме не подвержены?
Подозреваю, большая часть спасается по принципу «неуловимого джо» или благодаря слабой привязке к сети. И как только найдется заинтересованное лицо целенаправленно устраивающее (оплачивающее) диверсию, большая часть систем не сможет противостоять никак.
Отдел технического контроля обычно для таких вещей есть. Это же по сути обычный брак, хоть и полученный необычным способом.
ОТК способный выявить подобные дефекты как правило разрушающий и применим только к целым партиям изделий. Тут же речь идёт фактически об индивидуальном заказе, штучные изделия которые проверить на соответствие всех заявленных характеристик, особенно по прочности, без разрушения изделия не представляется возможным.
Не увлекаюсь 3D принтерами, поэтому могу что-то не понимать. Почему нельзя использовать цифровую подпись на 3D модель и потом ее проверять?
Ломают не модель, а принтер.
Не совсем понимаю, как ломают принтер? В моем понимании там стоит встраиваемая система, возможно даже без RTOS, с простым стеком для сети, что там можно сломать?
Может быть сейчас уже что-то и поменялось, но раньше многие дешевые принтеры управлялись по сути ардуиной и, соответственно, без проблем перешивались при наличии у злоумышленника доступа к управляющему ПК.
Судя по оригинальной статье все что сделали взломщики это взломали управляющий ПК и подменили файл модели.

Исследование получило название “dr0wned – Cyber-Physical Attack with Additive Manufacturing”. В этой работе описан процесс взлома ПК с подключенным к нему 3D принтером. В ходе атаки специалисты получили доступ к файлам моделей деталей пропеллера дрона, которые затем печатались на 3D-принтере. И всего через две минуты полета квадрокоптер падал на землю с большой высоты в результате запланированного разрушения лопастей пропеллера.

Для получения доступа к компьютеру с подключенным 3D-принтером авторы работы использовали уязвимость в WinRAR, которая позволяет скрывать имя и расширение сжатого файла. Разработчики создали вредоносный исполняемый файл, воспользовавшись фреймворком Metassploit. Вредоносный файл был замаскирован под обычный документ в формате PDF. Жертва получила сообщение электронной почты, открыла архив и запустила «документ». После запуска файла израильские специалисты получили полный доступ к компьютеру «жертвы».

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

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

А считыватель кто защитит от подмены результата проверки? Тут и хеш считать не надо — просто программатором проверить прошивку на соответствие эталонной, но эта ручная операция не применима на полностью автоматизированном производстве. Да и когда проверять? перед печатью каждой детали?
А почему нельзя использовать цифровую подпись и контрольную сумму для проверки прошивки?
Потому что повреждение происходит ПОСЛЕ проверки, в базовом коде печати и управления шаговыми двигателями, подаче материала… Скажем так, при целостной модели если принтер не будет выплёвывать каждую 16-ю порцию материала в детали появится едва заметный на первый взгляд дефект, который при расчетной нагрузке приведёт к поломке. Отследить тот факт что принтер «сбоит» на низком уровне затратно и не даёт гарантий, для чего используют методы контроля в корне отличающиеся от работы самого принтера — вероятность уязвимости обоих систем одновременно сильно уменьшается.
НЛО прилетело и опубликовало эту надпись здесь
С винтами какой-то странный пример… Для простых коптеров проще приобрести готовые наборы из прочного литьевого пластика.
А для важных изделий, по любому, нужно испытания проводить. На соответствие требованиям КД. Ломать, гнуть на морозе, крутить сильно и т.д…
Ну так с моделью винта все испытания проведены, она готова к серийной печати на принтерах — но вот незадача, сам принтер будучи уязвимым печатает не то что подают на вход а бракованную деталь по идеальной модели. Почему для этого применяют принтеры? Потому что разворачивать производство для небольших серий НЕВЫГОДНО, да и печатать можно по запросу — например, для возможности выбора необходимого профиля с заданными параметрами — парусность, тяга и т.д. для конкретного применения.

А отключить принтеры от интернета к учёных ума не хватило?

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

Одно дело испортить модель и сознательно внести малозаметный на конечной детали изъян, и совсем другое вмешаться незамеченно в процесс на уровне прошивки.

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

Ну вы просто положите модель в Git или любую другую систему контроля версий или введите подписи к финальным/производственным моделям. Да и к компам управляющим лучше блондинок открывающих все подряд — не подпускать, а лучше такой комп вообще к интернету не подключать.
Ага, то есть вместо давно работающих и проверенных методов типа цифровой подписи gcode/прошивки или проверки чексумм авторы предлагают сравнивать звук работы? И на фермах принтеры, видимо, придется звукоизолировать друг от друга? А где гарантия, что референсный принтер, на котором пишут звук, не взломан?

Нет, я понимаю, что это PoC, теоретические выкладки и все такое — но ценность исследования лично мне кажется очень сомнительной.
Звук — да, странная идея. Вроде как принтер работает по жесткой программе, которая описывает его действия. Соответственно достаточно контролировать соответствие его действий подписанной программе. Или я чего-то не понимаю?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации