Найден способ противостоять атаке на 3D принтеры



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

    Понятно, что это была лишь демонстрация возможности атаки, которая могла быть гораздо масштабнее, если бы речь шла о реальном производстве. Только сейчас, спустя почти год, специалисты из другой команды нашли способ, который поможет противостоять теоретическому взломщику 3D-принтеров. Результаты этого проекта были представлены в Ванкувере, на мероприятии USENIX Security Symposium.

    В числе прочих методов отслеживания возможной порчи деталей, которые печатаются на 3D-принтере — анализ звуков работы устройства, слежение за движением манипулятора, плюс впрыскивание микрочастиц золота в исходный материал для того, чтобы убедиться, что все идет по плану.



    В документе описывается, как исследователи проверяли свои предположения на практике. Изначально были закуплены три принтера — Lulzbot Taz 6, Lulzbot Mini и Orion Delta. После этого «взломщики» изменили прошивку систем, заставив устройства печатать детали с дефектами. В некоторых случаях (да что там — в большинстве) по детали сложно было судить о ее качестве и соответствию изначальному чертежу. Но все эти детали были дефектными и испортились бы очень быстро в процессе эксплуатации.

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

    Этот способ состоит из трех этапов. На первом этапе принтер изготавливает деталь по корректному чертежу. Звуки работы устройства записываются и сохраняются в качестве эталона. Впоследствии будут записываться и звуки других принтеров этой же модели, которые работают над созданием той же детали. Если есть значительные расхождения в каком-либо случае, деталь и принтер тщательно проверяются.


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

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

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

    «Представьте, что над изготовлением определенного рода объектов работает целая фабрика 3D принтеров. У них нет никакого способа узнать, есть ли дефекты в деталях, дефекты, которые нельзя увидеть невооруженным глазом. Результат может быть плачевным, причем никто не поймет, откуда взялась проблема», — говорится в заявлении авторов проекта.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.