Возьмём смартфоны под управлением iOS или Android. Система *nix-подобная. Пользователи работают с ПО, которое в свою очередь работает в песочнице. С софтом и системой мне понятно как реализована защита.
С аппаратной точки зрения — нет. Я сейчас занимаюсь разработкой на/под ARM9/linux и провожу аналогию защиты смартфонов и плат на базе ARM9.
Прошивка linux в NAND. При желании на «своей» ARM9 плате я могу считать содержимое файловой системы «подключив» NAND к системе и загрузившись из др источника. В смартфонах так же?
Или там специальный NAND? Или разделы шифрованные? Но загрузчик-то изначальный доступен? Он расшифровывает раздел, то тогда алгоритм б/м понятен должен быть. Понятно, что таким путём не идут при рутовании смартфонов, т.к. его не повторит обычный пользователь.
Или еще как-то сложнее построена защита прошивки от доступа к файловой системе?
В андроиде изначально неплохая защита с fastboot. Чтобы записать что-то на карту памяти, нужно воспользоваться функциями одного из изгрузчиков или функциями ОС. Насколько я знаю, по умолчанию ни один из элементов этой цепочки не даст записать что-то несанкционированное. Если очень хочется — можно разблокировать fastboot и писать что угодно, но при разблокировании стираются все данные. По-моему неплохая защита. Другой вопрос, что при рутовании пользователь сам себе делает дыру в системе в виде собственно рута, CWM или разлоченного fastboot.