Защита программ для многих является темой актуальной и производители охотно идут на встречу разработчикам. Они же (производители) пытаясь облегчить нам жизнь придумывают всякие ISP, Bootloader-ы и прочее. Но это все программы, а следовательно они потенциально опасны. Конечно Bootloder не Windows - много не наворочаешь, но и в паре килобайт кода могут поджидать неприятные сюрпризы: 1. Недокументированные вызовы 2. Функции без контроля входных параметров 3. Просто ляпы (ну это уже совсем маловероятно)
По работе больше приходится сталкиваться в основном с 51 кристаллами, однако проблема на мой взгляд присуща всем семействам. К сожалению за примерами далеко ходить не пришлось.
1. Phillips P89LPC922 (Просто предупреждение) Bootloader содержит недокументированный вызов, позволяющий прочитать содержимое незащищенного кристалла. Фишка в том, что это нельзя сделать с помощью программатора (верификация не поддерживается). К чести Philips надо сказать, что хорошо документированный исходник выложен у них на сайте, а сам Bootloader можно легко заменить.
2. Atmel AT89C51ED2 (Жалко тех, кто его использует) Bootloader зашит в ПЗУ и имеет дыру, позволяющую его же средствами обойти защиту любого уровня. Причем, учитывая специфику кода, можно утвеждать что данную дыру имеют все кристаллы семейства AT89C51XX2.
К чему это я все. Хотелось бы знать насколько серьезно по Вашему мнению следует относиться к теме защиты вообще, и следует ли тратить дополнительные время и средства на изучение устойчивости системы к взлому?
|