|
Защита секция кода во FLASH в ATmega, Как защититься от несанкционированного выполнения кода |
|
|
|
Feb 11 2008, 17:42
|

Местный
  
Группа: Участник*
Сообщений: 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
--------------------
После устранения бага в программе она стала работать....хуже
|
|
|
|
|
 |
Ответов
|
Feb 12 2008, 05:05
|

Местный
  
Группа: Участник*
Сообщений: 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 достаточно для обеспечения надёжной работы программы
--------------------
После устранения бага в программе она стала работать....хуже
|
|
|
|
|
Feb 12 2008, 06:23
|
Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782

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

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

|
Цитата(VladimirYU @ Feb 12 2008, 09:23)  Как Вы думаете, что лучше вовремя принятое лекарство Дык в описанных коллегами случаях ПРАВИЛЬНОГО лекарства и не будет поскольку диагноз не будет установлен
--------------------
После устранения бага в программе она стала работать....хуже
|
|
|
|
Сообщений в этой теме
Дон Амброзио Защита секция кода во 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 страниц
1 2 3 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|