реклама на сайте
подробности

 
 
> Защита секция кода во FLASH в ATmega, Как защититься от несанкционированного выполнения кода
Дон Амброзио
сообщение Feb 11 2008, 17:42
Сообщение #1


Местный
***

Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947



А кто как защищает код в MCU от несанкционированного выполнения в результате случайного перехода из одной точки программы в другую от воздействия помехонесущего электромагнитного поля (искажения записанного в счётчике команд значения). А?

Приведу пример
--------------------
lab_1_input: ldi R16 , $00
mov R16 , $98
...
lab_1_output: mov R17 , R5
-----------------------
lab_2_1_input: mov R18, R17


Т.е. допустим программа предусматривает переход к выполнению кодового фрагмента, начинающегося с метки lab_2_1_input только после отработки до конца фрагмента [lab_1_input;lab_1_output]

А представим , что от помехи произошёл случайный переход из произвольной точки 1-го фрагмента кода в произвольную точку 2-го фрагмента кода....

Как вы ПРОГРАММНО отлавливаете такие ситуации?

Т.е. как Вы реализовываете в своих программах для микроконтроллеров ATmega механизм защиты FLASH-памяти от несанкционированного выполнения кода. Ну т.е. как контролировать, что в данный фрагмент кода вошли не где попало, а через строго определённые на этапе проектирования программы, точки

Цитата(Дон Амброзио @ Feb 11 2008, 20:36) *
А кто как защищает код в MCU от несанкционированного выполнения в результате случайного перехода из одной точки программы в другую от воздействия помехонесущего электромагнитного поля (искажения записанного в счётчике команд значения).

Кстати, причины такого случайного джампа могут быть не только в разрушении PC.
Может также случайным образом измениться содержимое ячейки FLASH или содержимое хранимой в ОЗУ таблицы переходов... В любом случае МОЖЕТ произойти переход в точку некоторого логического сегмента кода, которая не предусмотрена данным логическим сегментом FLASH


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
arttab
сообщение Feb 12 2008, 01:45
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



Средства должны оправдывать цели.
уровень защиты от сбоя накладывает расходы (время, более "крутой" мк и пр.) на проект. можно дойти и до дублирования мажоритарности и пр.
Абсолютную защиту не создать да и не всегда она нужна.
Если в случае сбоя мк будет остановлен с выводом кода ошибки, то будет видно что есть проблемы и можно попытаться выяснить какие, а автоперезапуск их скроет.
Или здесь обсуждаются чисто теоретические обоснования устойчивой работы изделия при сбои мк? Может тогда сформулировать необходимые меры для разной степени устойчивости изделия?


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
Дон Амброзио
сообщение Feb 12 2008, 05:05
Сообщение #3


Местный
***

Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947



Цитата(arttab @ Feb 12 2008, 04:45) *
Средства должны оправдывать цели.
уровень защиты от сбоя накладывает расходы (время, более "крутой" мк и пр.) на проект. можно дойти и до дублирования мажоритарности и пр.
Абсолютную защиту не создать да и не всегда она нужна.
Если в случае сбоя мк будет остановлен с выводом кода ошибки, то будет видно что есть проблемы и можно попытаться выяснить какие, а автоперезапуск их скроет.
Или здесь обсуждаются чисто теоретические обоснования устойчивой работы изделия при сбои мк? Может тогда сформулировать необходимые меры для разной степени устойчивости изделия?

Как Вы считаете, что более надёжно:

1) Вероятность сбоя устройства равна 10 в минус 9 степени; вероятность того, что этот сбой система не обнаружит (не зарегистрирует) и соотвтетственно не предпримит ни каких мер равна 50%
2) Вероятность сбоя устройства равна 10 в минус 3 степени; вероятность того, что этот сбой система не обнаружит (не зарегистрирует) и соотвтетственно не предпримит ни каких мер равна 0,0000001%

И что более надёжно? "Надёжная" система, сбои которой просто не обнаруживаются
или "ненадёжная" система, у которой 99,99999999% сбоев обнаруживаются и предпринимаются соответствующие меры по устранению их последствий


Как говорится: лучше перебдеть, чем недобдеть.

Ибо нафига мне "суперпупернадёжная" система, у которой происходит один сбой в год, но он НЕ ОБНАРУЖИВАЕТСЯ СИСТЕМОЙ. Я лучше возьму систему, у которой сбои происходят каждый день, ну у которой эти сбои НЕ ПРОХОДЯТ НЕЗАМЕЧЕННЫМИ СИСТЕМОЙ


Т.е. я предлагаю даже УХУДШАТЬ надёжность работы девайса за счёт увеличения вероятности обнаружения сбоя

Цитата(Дон Амброзио @ Feb 12 2008, 07:59) *
Т.е. я предлагаю даже УХУДШАТЬ надёжность работы девайса за счёт увеличения вероятности обнаружения сбоя
Но это я конечно погорячился, но если встанет такая дилема - я пойду на это


Цитата(arttab @ Feb 12 2008, 04:45) *
Если в случае сбоя мк будет остановлен с выводом кода ошибки, то будет видно что есть проблемы и можно попытаться выяснить какие, а автоперезапуск их скроет.
Вот вот.... Пусть и прочтут это сторонники идеи, что использование WDT достаточно для обеспечения надёжной работы программы


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post
VladimirYU
сообщение Feb 12 2008, 06:23
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782



Цитата(Дон Амброзио @ Feb 12 2008, 08:05) *
Ибо нафига мне "суперпупернадёжная" система, у которой происходит один сбой в год, но он НЕ ОБНАРУЖИВАЕТСЯ СИСТЕМОЙ. Я лучше возьму систему, у которой сбои происходят каждый день, ну у которой эти сбои НЕ ПРОХОДЯТ НЕЗАМЕЧЕННЫМИ СИСТЕМОЙ

Как Вы думаете, что лучше вовремя принятое лекарство и продолжение работы, или госпитализация с инфарктом и точный диагноз. Надежная система должна иметь возможности самовосстановления работоспособности в кратчайшее время, для этого WDT в комплексе с другими мерами, например, элементарное протоколирование работы программы в области __nо_init не требует значительных расходов. А о том, что программы надо писать правильно не вижу смысла обсуждать.
Go to the top of the page
 
+Quote Post
Дон Амброзио
сообщение Feb 12 2008, 06:35
Сообщение #5


Местный
***

Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947



Цитата(VladimirYU @ Feb 12 2008, 09:23) *
Как Вы думаете, что лучше вовремя принятое лекарство

Дык в описанных коллегами случаях ПРАВИЛЬНОГО лекарства и не будет поскольку диагноз не будет установлен


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Дон Амброзио   Защита секция кода во FLASH в ATmega   Feb 11 2008, 17:42
- - Liseev   А как вы будете защищать "механизм защиты от ...   Feb 11 2008, 18:05
|- - Дон Амброзио   Цитата(Liseev @ Feb 11 2008, 21:05) Испол...   Feb 11 2008, 18:40
|- - Liseev   Цитата(Дон Амброзио @ Feb 11 2008, 21:40)...   Feb 11 2008, 19:32
|- - SasaVitebsk   Цитата(Дон Амброзио @ Feb 11 2008, 22:40)...   Feb 11 2008, 21:34
|- - Дон Амброзио   Цитата(SasaVitebsk @ Feb 12 2008, 00:34) ...   Feb 11 2008, 21:52
||- - SasaVitebsk   Цитата(Дон Амброзио @ Feb 12 2008, 01:52)...   Feb 11 2008, 22:45
||- - Дон Амброзио   Цитата(SasaVitebsk @ Feb 12 2008, 01:45) ...   Feb 11 2008, 23:08
||- - SasaVitebsk   Цитата(Дон Амброзио @ Feb 12 2008, 03:02)...   Feb 11 2008, 23:11
|||- - Дон Амброзио   Цитата(SasaVitebsk @ Feb 12 2008, 02:11) ...   Feb 11 2008, 23:31
|||- - SasaVitebsk   Цитата(Дон Амброзио @ Feb 12 2008, 03:31)...   Feb 12 2008, 08:41
||||- - Дон Амброзио   Цитата(SasaVitebsk @ Feb 12 2008, 11:41) ...   Feb 12 2008, 12:01
|||- - defunct   Цитата(Дон Амброзио @ Feb 12 2008, 01:31)...   Feb 13 2008, 12:47
|||- - Дон Амброзио   Цитата(defunct @ Feb 13 2008, 15:47) это ...   Feb 13 2008, 16:08
|||- - defunct   ЦитатаА кто как организует код программы, чтобы пр...   Feb 13 2008, 23:51
|||- - Дон Амброзио   Цитата(defunct @ Feb 14 2008, 02:51) Дете...   Feb 14 2008, 00:30
|||- - defunct   Цитата(Дон Амброзио @ Feb 14 2008, 02:13)...   Feb 14 2008, 00:33
||||- - Дон Амброзио   Цитата(defunct @ Feb 14 2008, 03:33) Пото...   Feb 14 2008, 00:49
|||||- - defunct   Цитата(Дон Амброзио @ Feb 14 2008, 02:49)...   Feb 14 2008, 00:55
|||||- - Дон Амброзио   Цитата(defunct @ Feb 14 2008, 03:55) Вооб...   Feb 14 2008, 01:26
|||||- - defunct   Цитата(Дон Амброзио @ Feb 14 2008, 03:21)...   Feb 14 2008, 01:34
||||||- - Дон Амброзио   Цитата(defunct @ Feb 14 2008, 04:34) Поче...   Feb 14 2008, 01:40
||||||- - defunct   Цитата(Дон Амброзио @ Feb 14 2008, 03:40)...   Feb 14 2008, 01:43
|||||- - singlskv   Цитата(Дон Амброзио @ Feb 14 2008, 04:26)...   Feb 14 2008, 09:38
||||- - Дон Амброзио   Цитата(defunct @ Feb 14 2008, 03:33) А во...   Feb 14 2008, 01:05
|||||- - defunct   Цитата(Дон Амброзио @ Feb 14 2008, 02:56)...   Feb 14 2008, 01:06
||||- - galjoen   Цитата(defunct @ Feb 14 2008, 03:33) Ну и...   Feb 14 2008, 07:11
||||- - defunct   Цитата(galjoen @ Feb 14 2008, 09:11) Сове...   Feb 14 2008, 15:18
||||- - Дон Амброзио   Цитата(galjoen @ Feb 14 2008, 10:11) У AR...   Feb 14 2008, 15:35
||||- - singlskv   Цитата(Дон Амброзио @ Feb 14 2008, 18:35)...   Feb 14 2008, 18:10
||||- - Дон Амброзио   Цитата(singlskv @ Feb 14 2008, 21:10) Ой....   Feb 14 2008, 18:45
||||- - singlskv   Цитата(Дон Амброзио @ Feb 14 2008, 21:35)...   Feb 14 2008, 18:51
|||- - Дон Амброзио   Цитата(Дон Амброзио @ Feb 14 2008, 03:30)...   Feb 14 2008, 00:35
|||- - defunct   Цитата(Дон Амброзио @ Feb 14 2008, 02:30)...   Feb 14 2008, 00:45
||- - galjoen   Цитата(Дон Амброзио @ Feb 12 2008, 02:08)...   Feb 12 2008, 00:33
|- - galjoen   Цитата(Дон Амброзио @ Feb 11 2008, 20:42)...   Feb 11 2008, 22:05
- - Непомнящий Евгений   Ну как вариант - расставить assert-ы по всей проге...   Feb 11 2008, 19:26
|- - Дон Амброзио   Цитата(Непомнящий Евгений @ Feb 11 2008, 22...   Feb 11 2008, 20:15
|- - adc   Цитата(Дон Амброзио @ Feb 12 2008, 08:05)...   Feb 12 2008, 12:49
||- - Дон Амброзио   Цитата(adc @ Feb 12 2008, 15:49) Вот вот....   Feb 12 2008, 13:03
||- - SasaVitebsk   Цитата(Дон Амброзио @ Feb 12 2008, 17:03)...   Feb 12 2008, 13:36
|- - tyro   Цитата(Дон Амброзио @ Feb 12 2008, 08:05)...   Feb 13 2008, 07:56
|- - Дон Амброзио   Цитата(tyro @ Feb 13 2008, 10:56) Обсужда...   Feb 13 2008, 09:39
|- - zltigo   Цитата(Дон Амброзио @ Feb 13 2008, 12:36)...   Feb 13 2008, 09:42
|- - Dog Pawlowa   Цитата(zltigo @ Feb 13 2008, 13:42) За те...   Feb 13 2008, 09:49
|- - zltigo   Цитата(Dog Pawlowa @ Feb 13 2008, 12:49) ...   Feb 13 2008, 10:02
|- - Дон Амброзио   Цитата(zltigo @ Feb 13 2008, 13:02) Для н...   Feb 13 2008, 10:51
- - Непомнящий Евгений   ИМХО, стратегия поведения после обнаружения ошибки...   Feb 12 2008, 06:39
|- - VladimirYU   Цитата(Непомнящий Евгений @ Feb 12 2008, 09...   Feb 12 2008, 06:43
- - Kris2007   А че такое бывает чтобы из-за электромагнитных пом...   Feb 12 2008, 13:21
|- - Дон Амброзио   Цитата(Kris2007 @ Feb 12 2008, 16:21) А ч...   Feb 12 2008, 16:18
|- - SasaVitebsk   Цитата(Дон Амброзио @ Feb 12 2008, 20:18)...   Feb 12 2008, 17:00
||- - Дон Амброзио   Цитата(SasaVitebsk @ Feb 12 2008, 20:00) ...   Feb 12 2008, 17:14
||- - SasaVitebsk   Цитата(Дон Амброзио @ Feb 12 2008, 21:14)...   Feb 12 2008, 19:16
||- - Дон Амброзио   Цитата(SasaVitebsk @ Feb 12 2008, 22:16) ...   Feb 12 2008, 19:56
||- - SasaVitebsk   Цитата(Дон Амброзио @ Feb 12 2008, 23:56)...   Feb 12 2008, 21:34
||- - Дон Амброзио   Цитата(SasaVitebsk @ Feb 13 2008, 00:34) ...   Feb 12 2008, 21:44
|- - adc   Цитата(Дон Амброзио @ Feb 12 2008, 19:18)...   Feb 13 2008, 06:12
|- - Дон Амброзио   Цитата(adc @ Feb 13 2008, 09:12) Всегда п...   Feb 13 2008, 09:26
||- - adc   Цитата(Дон Амброзио @ Feb 13 2008, 12:26)...   Feb 13 2008, 09:39
||- - Дон Амброзио   Цитата(adc @ Feb 13 2008, 12:39) Как можн...   Feb 13 2008, 09:57
||- - galjoen   Цитата(Дон Амброзио @ Feb 13 2008, 12:57)...   Feb 13 2008, 10:19
||- - galjoen   Цитата(galjoen @ Feb 13 2008, 13:19) Я т...   Feb 13 2008, 10:53
||- - adc   Цитата(galjoen @ Feb 13 2008, 13:19) Цита...   Feb 13 2008, 11:25
||- - galjoen   Цитата(adc @ Feb 13 2008, 14:25) Но ведь ...   Feb 13 2008, 12:24
|- - galjoen   Цитата(adc @ Feb 13 2008, 09:12) Всегда п...   Feb 13 2008, 09:41
- - Rst7   ЦитатаНе я выбираю MCU: что мне дали, то я и юзаю ...   Feb 12 2008, 18:23
|- - Дон Амброзио   Цитата(Rst7 @ Feb 12 2008, 21:23) Если не...   Feb 12 2008, 18:50
- - arttab   хорошо что не подрались... может для начала оп...   Feb 13 2008, 02:02
- - Schtirlitz   Надо отделить мух от котлет. Ибо проблема надежнос...   Feb 13 2008, 09:31
|- - Дон Амброзио   Цитата(Schtirlitz @ Feb 13 2008, 12:31) И...   Feb 13 2008, 09:41
|- - Дон Амброзио   Цитата(Schtirlitz @ Feb 13 2008, 12:31) Н...   Feb 13 2008, 09:44
|- - Schtirlitz   Цитата(Дон Амброзио @ Feb 13 2008, 12:44)...   Feb 13 2008, 10:01
|- - Дон Амброзио   Цитата(Schtirlitz @ Feb 13 2008, 13:01) А...   Feb 13 2008, 11:14
- - mig2002   Возвращаясь к первоначальному вопросу могу посовет...   Feb 13 2008, 11:01
- - mig2002   В принципе, однозначного решения данного вопроса б...   Feb 13 2008, 11:43
|- - Дон Амброзио   Цитата(mig2002 @ Feb 13 2008, 14:43) В пр...   Feb 13 2008, 12:09
|- - mig2002   Цитата(Дон Амброзио @ Feb 13 2008, 14:09)...   Feb 13 2008, 13:20
- - Дон Амброзио   Вообще сейчас скажу крамольную мысль (только чур н...   Feb 13 2008, 12:16
- - Rst7   ЦитатаА у вас как с ЭМС? С наносекундными импульса...   Feb 13 2008, 12:50
|- - galjoen   Цитата(Rst7 @ Feb 13 2008, 15:50) У меня ...   Feb 13 2008, 14:34
|- - defunct   Цитата(galjoen @ Feb 13 2008, 16:34) Може...   Feb 13 2008, 15:12
|- - Дон Амброзио   Цитата(defunct @ Feb 13 2008, 18:12) угу,...   Feb 13 2008, 15:51
|- - defunct   Цитата(Дон Амброзио @ Feb 13 2008, 17:51)...   Feb 13 2008, 17:16
|- - Дон Амброзио   Цитата(defunct @ Feb 13 2008, 20:16) Я же...   Feb 13 2008, 18:35
|- - galjoen   Цитата(Дон Амброзио @ Feb 13 2008, 21:35)...   Feb 13 2008, 19:17
- - IgorKossak   Считаю своим долгом всем напомнить, что неплохо бы...   Feb 13 2008, 13:26
- - adnega   Недавно дорабатывал текстовое информационное табло...   Feb 13 2008, 13:50
- - defunct   ЦитатаПосле аппаратных доделок табло перестало лов...   Feb 13 2008, 14:09
- - Rst7   ЦитатаУ меня-то пластмассовый корпус 120*60*32 мм....   Feb 13 2008, 14:41
|- - galjoen   Цитата(Rst7 @ Feb 13 2008, 17:41) И в под...   Feb 13 2008, 15:53
|- - Rst7   Цитата(galjoen @ Feb 13 2008, 17:53) Объя...   Feb 14 2008, 06:25
- - Дон Амброзио   Не секрет, что стоимость простых MCU упала до стои...   Feb 14 2008, 15:56
|- - zltigo   Цитата(Дон Амброзио @ Feb 14 2008, 18:56)...   Feb 14 2008, 16:05
- - Rst7   ЦитатаСтранно.. Я читал совершенно другие "ме...   Feb 14 2008, 17:35
3 страниц V   1 2 3 >


Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 19:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01622 секунд с 7
ELECTRONIX ©2004-2016