Чи застосовано механізм блокування апаратури, мікропрограмного забезпечення або програмного забезпечення (драйвер, ОС) SD-карти?


16

Де замок в режимі тільки для читання в виконання з SD картами? Це робиться всередині самої картки фізично, в прошивці читачів чи в ОС? (Ще якесь місце?)

Відповіді:


20

Якщо ви прочитали специфікації SD, частина 1, спрощена специфікація фізичного рівня , в розділі 4.3.6 "Управління захистом від запису" йдеться

На картці пам'яті SD підтримуються три способи захисту від запису:
- Механічний перемикач захисту від запису (лише відповідальність за хост)
- Внутрішній захист від запису картки (відповідальність картки)
- Функція блокування картки захисту паролем.

Механічний вимикач захисту від запису

Користувач буде використовувати механічний розсувний планшет збоку картки (див. Частину 1 Механічні додатки), щоб вказати, що дана карта захищена від запису чи ні. Якщо розсувний планшет розміщений таким чином, що вікно відкрите, це означає, що картка захищена від запису. Якщо вікно закрите, карта не захищена від запису. Належний, відповідний перемикач на стороні сокета вказує хосту, що карта захищена від запису чи ні. Захист картки є обов'язком господаря. Положення перемикача захисту від запису невідоме внутрішній схемі карти.

(мій акцент)

Специфікація TOSHIBA SD карта говорить

CMD28 SET_WRITE_PROT - Внутрішній захист запису не реалізований.
CMD29 CLR_WRITE_PROT - Внутрішній захист запису не реалізований.
CMD30 SEND_WRITE_PROT - Внутрішній захист запису не реалізований.

2) Непідтримувані функції:
внутрішній захист від запису картки (необов'язково в ТЕХНІЧНІЙ СПЕЦИФІКАЦІЇ ФІЗИЧНОГО ШЛЯХУ 4.3.5.)


Але мені цікаво як
ценапатія

14

У своїй роботі ми використовуємо SD-карти у вбудованій системі. Якщо ми спробуємо завантажитися із заблокованою картою, ми отримаємо паніку з ядром. Це не було великою справою, поки ми не отримали партію SD-карт, які мали дуже вільні комутатори запису: акт вставлення карти в зчитувач іноді був достатньою для переміщення комутатора та блокування карти. Багато людей почали намагатися придумати механічні варіанти, щоб запобігти цьому, як, наприклад, наклеїти шматок стрічки на кожну SD-карту, але врешті-решт ми це виправили, змінивши один рядок вихідного коду в ядрі Linux. Тепер, коли SD-карта виявлена ​​за допомогою перемикача, встановленого лише для читання, ми просто ігноруємо вимикач і радісно записуємо дані на карту, коли хочемо.

Це пов’язано з нашим шаленим пошкодженням портфоліо, тому я сумніваюся, що цей патч буде застосовуватися чисто деінде, але якщо ви хочете експериментувати зі своїм власним ядром, це хороша відправна точка:

--- include/linux/mmc/card.h    (revision 1423)
+++ include/linux/mmc/card.h    (revision 1424)
@@ -125,7 +125,7 @@
 #define mmc_card_blockaddr(c)  ((c)->state & MMC_STATE_BLOCKADDR)

 #define mmc_card_set_present(c)    ((c)->state |= MMC_STATE_PRESENT)
-#define mmc_card_set_readonly(c) ((c)->state |= MMC_STATE_READONLY)
+#define mmc_card_set_readonly(c) {printk("Ignoring MMC read-only switch\n");}
 #define mmc_card_set_highspeed(c) ((c)->state |= MMC_STATE_HIGHSPEED)
 #define mmc_card_set_blockaddr(c) ((c)->state |= MMC_STATE_BLOCKADDR)

Якщо ви не любите виправлення та створення ядра Linux, але у вас є камера Canon P&S, ви можете використовувати CHDK для запису файлів (фотографій) на захищену від запису SD-карту (коли камера включається, OF перевіряє стан перемикача; при встановленні на RO він автоматично завантажує прошивку з SD-карти. Це дозволяє користувачам завантажуватися безпосередньо в CHDK; тоді CHDK ігнорує стан перемикача, щоб він міг записувати зображення на карту; див., наприклад, http : //chdk.wikia.com/wiki/Bootable_SD_card ).

Ви також можете записати на захищену від запису SD-карту в Linux, вимкнувши прапорець, hdparmпрочитаний лише за допомогою, і перезавантаживши картку:

$ mount | grep mmc
/dev/mmcblk0p1 on /media/hello type ext3 (ro,nosuid,nodev,relatime,errors=continue,user_xattr,acl,barrier=1,data=ordered,uhelper=udisks)
$ touch /media/hello/test
touch: cannot touch `/media/hello/test': Read-only file system
$ sudo hdparm -r /dev/mmcblk0p1

/dev/mmcblk0p1:
 readonly      =  1 (on)
$ sudo hdparm -r0 /dev/mmcblk0p1

/dev/mmcblk0p1:
 setting readonly to 0 (off)
 readonly      =  0 (off)
$ touch /media/hello/test
touch: cannot touch `/media/hello/test': Read-only file system
$ sudo mount -t ext3 -o rw,remount /dev/mmcblk0p1 /media/hello
$ touch /media/hello/test
$ echo goodbye > /media/hello/test
$ cat /media/hello/test
goodbye
$ sudo umount /dev/mmcblk0p1
$ sudo mount /dev/mmcblk0p1 /mnt
mount: block device /dev/mmcblk0p1 is write-protected, mounting read-only
$ cat /mnt/test
goodbye
$ touch /mnt/test
touch: cannot touch `/mnt/test': Read-only file system
$ 

3

Це залежить від читача. Читач може ігнорувати вкладку захисту від запису. Зчитувач може мати вбудоване програмне забезпечення, яке вимикає запис, якщо використовується вкладка захисту від запису. Зчитувач може мати драйвер програмного забезпечення, який забороняє писати, якщо вкладена вкладка захисту від запису. На практиці переважна більшість читачів роблять це за допомогою прошивки.


Я думаю, ти помилявся. Будь ласка, опублікуйте джерело.
wizlog


@wizlog: Не знаючи, що ти вважаєш, що я помиляюся, я не знаю, на яку претензію надсилаю джерело.
Девід Шварц

Читач може ігнорувати вкладку захисту від запису
wizlog

3
"Оскільки виріз виявляється тільки зчитувачем, захист може бути відмінено за бажанням (і якщо читач підтримується)." - Вікіпедія
Девід Шварц

-3

Його апаратний комутатор. Його функція просто блокує будь-які операції запису.

Якщо перемкнено, ви не можете:

  • Переміщення файлів з SD-карти або на неї

  • Видаліть файли з SD-карти

  • Скопіюйте файли на SD-карту

  • Відформатуйте SD-карту

EDIT Детальніше тут . Зверніть увагу на слабке помаранчеве коло ...


2
Вимикач з лівого боку. Просто так оп знає, де
канадський Люк

2
Ви впевнені, що замок насправді виконує це? Я читав, що є камери, які можуть (дещо випадково) проігнорувати це і все одно записати на карту.
Джейн Панда

Посилання, яке ви цитуєте, говорить: "Деякі карти SD також мають вбудований захист від запису". Деякі - не всі. Якщо порівнювати інші відповіді, здається, це виняток. Дуже шокуюче, я думаю - здається, вони взагалі не думали про безпеку та віруси. 8- {
Ханс-Пітер Штерр

1
Чому ця відповідь настільки низька?
wizlog
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.