za-open-source
@za-open-source

Может ли вирус попасть в микроконтроллер?

Может ли вирус попасть в микроконтроллер ?
  • Вопрос задан
  • 282 просмотра
Пригласить эксперта
Ответы на вопрос 5
DMGarikk
@DMGarikk
Lead Software Developer
если прям совсем в лоб ответить - да, может (хотя надо уточнить какой микроконтроллер)

но по факту, это должен быть вирус который специально написан именно для такого микроконтроллера, крайне маловероятно что вы такой встретите в живой среде, если вас специально никто взломать не хочет
Ответ написан
Комментировать
Daemon23RUS
@Daemon23RUS
Может ли вирус попасть в микроконтроллер?

Да, но вирус будет для микроконтроллера, и ПО микроконтроллера должно уметь обновлять себя. Это в классическом понимании. Или внешнее окружение должно иметь возможность воздействовать на прошивку микроконтроллера.
Например вирус на PC может модифицировать прошивку контроллера флешки на зараженную.
Ответ написан
Комментировать
vabka
@vabka
Токсичный шарпист
Маловероятно:
1. Вирус должен быть написан под конкретный МК
2. Вирус этот должен как-то включать в себя оригинальную прошивку, чтобы не нарушить видимость корректной работы девайса.
3. Вирус должен как-то обойти защиту девайса. Очень многие производители шифруют прошивку и подписывают её для контроля целостности - просто взять и перепрошить не выйдет, тк левую прошивку загрузчик откажется загружать.
Для перепрошивки загрузчика нужен будет программатор, но есть ещё п4

4. Вирус должен уметь обходить аппаратную защиту девайса.
Опять же к п3 производитель может добавить какой-нибудь второй простой чип рядом с основным МК, который будет требовать подачи определенных сигналов на определённые выводы раз в N времени, иначе - выключение на уровне питания.

Так что лучше бы указать, откуда вообще вопрос родился:
1. Если это академический интерес, то ответ "да" так как МК - это по сути тоже компьютер.

2. Если вопрос относительно конкретного устройства, которое подозревается в заражении - на вопрос можно ответить, только если укажешь, что это за устройство и его модель.
Ответ написан
Комментировать
@Mercury13
Программист на «си с крестами» и не только
Может, но для этого нужны очень много предпосылок.
1. Микроконтроллер должен уметь обновлять своё ПО без вмешательства пользователя.
2. Очень желательно, чтобы он умел обновлять ПО кусками, чтобы вирус не включал целую действующую прошивку.
3. Микроконтроллер должен иметь связь с миром через цифровые каналы — да хоть через флэшку.
4. Эти цифровые каналы должны иметь такую уязвимость, чтобы этот микроконтроллер запустил функцию обновления прошивки.
5. Вирус должен быть написан под конкретный микроконтроллер.

Во многих СЛАБЫХ микроконтроллерах есть разделение памяти на программную и данных — даже если уязвимость есть, она не сможет внедрить свой программный код, придётся искать подходящую функцию в имеющейся прошивке.

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

Уязвимые роутеры есть, даже у D-Link’а попадался заражаемый. Но это не универсально, и надо смотреть под каждое устройство по отдельности.
Ответ написан
Комментировать
nava2002
@nava2002
Инженер
НЕТ не может.
Если предположить что компилятор не имеет никаких нежелательных дополнений то сама программа пишется на языке высокого уровня (С++, Ассемблер) в явном виде и никакие нежелательные дополнения туда попасть не могут в принципе.
НО копмиляторы не идеальны. Вполне возможно, что некоторые функции могут работать иначе чем ожидается. (например в Arduino оператор цикла for почему то не работает если вложить внутрь оператора if. Использую while и все работает)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы