Apakah mekanisme kunci pada perangkat keras kartu SD, firmware, atau perangkat lunak (driver, OS) diberlakukan?


17

Di mana kunci mode baca-saja diberlakukan dengan kartu SD? Apakah ini dilakukan di dalam kartu itu sendiri secara fisik, di firmware pembaca, atau di OS? (Tempat lain?)

Jawaban:


21

Jika Anda membaca Spesifikasi SD Bagian 1 Spesifikasi Fisik Lapisan Sederhana , bagian 4.3.6 "Manajemen Lindungi Tulis" kata

Tiga metode proteksi yang didukung dalam Kartu Memori SD sebagai berikut:
- Sakelar proteksi tulis mekanis (Hanya tanggung jawab host)
- Proteksi penulisan internal kartu (Tanggung jawab kartu)
- Operasi kunci kartu proteksi kata sandi.

Sakelar Pelindung Tulis Tulis Mekanis

Tablet geser mekanis di bagian samping kartu (lihat Bagian 1 Mechanical Addenda) akan digunakan oleh pengguna untuk menunjukkan bahwa kartu yang diberikan terlindungi atau tidak. Jika tablet geser diposisikan sedemikian rupa sehingga jendela terbuka itu berarti kartu tersebut terlindungi dari penulisan. Jika jendelanya tertutup, kartu tidak terlindungi dari penulisan. Saklar yang tepat, cocok, di sisi soket akan menunjukkan kepada tuan rumah bahwa kartu dilindungi dari penulisan atau tidak. Tuan rumah bertanggung jawab untuk melindungi kartu. Posisi sakelar proteksi tidak diketahui oleh sirkuit internal kartu.

(penekanan saya)

Sebuah TOSHIBA SD Card Keterangan mengatakan

CMD28 SET_WRITE_PROT - Perlindungan Penulisan Internal tidak diterapkan.
CMD29 CLR_WRITE_PROT - Perlindungan Penulisan Internal tidak diterapkan.
CMD30 SEND_WRITE_PROT - Perlindungan Penulisan Internal tidak diterapkan.

...

2) Fungsi yang Tidak Didukung:
Kartu Internal Write Protect (Opsional dalam SPESIFIKASI LAPISAN FISIK 4.3.5.)


Tapi saya heran
tsenapathy

14

Di tempat kerja saya, kami menggunakan kartu SD dalam sistem tertanam. Jika kami mencoba untuk boot dengan kartu yang terkunci, kami akan mendapatkan panik kernel. Ini bukan masalah besar sampai kami mendapat setumpuk kartu SD yang memiliki sakelar tulis yang sangat longgar: tindakan memasukkan kartu ke pembaca kadang-kadang cukup untuk memindahkan sakelar dan mengunci kartu. Banyak orang mulai mencoba membuat pilihan mekanis untuk mencegahnya, seperti menempelkan selotip pada setiap kartu SD, tetapi pada akhirnya kami memperbaikinya dengan mengubah satu baris kode sumber di kernel Linux. Sekarang ketika kartu SD terdeteksi dengan sakelar yang disetel menjadi hanya-baca, kami mengabaikan sakelar itu dan dengan senang hati menulis data ke kartu itu kapan pun kami mau.

Ini dari mismash backport gila kami jadi saya ragu patch ini akan berlaku dengan bersih di mana saja, tetapi jika Anda ingin bereksperimen dengan kernel Anda sendiri, ini adalah titik awal yang baik:

--- 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)

Jika Anda merasa tidak ingin menambal dan membangun kernel Linux tetapi Anda memiliki kamera Canon P&S, Anda dapat menggunakan CHDK untuk menulis file (gambar) ke kartu SD yang dilindungi penulisan (saat kamera menyala, OF akan memeriksa keadaan sakelar; ketika disetel ke RO, firmware akan dimuat secara otomatis dari kartu SD. Ini memungkinkan pengguna untuk mem-boot langsung ke CHDK; kemudian CHDK mengabaikan status sakelar sehingga masih dapat menulis gambar ke kartu; lihat misalnya http : //chdk.wikia.com/wiki/Bootable_SD_card ).

Anda juga dapat menulis ke kartu SD yang dilindungi tulis di Linux dengan mematikan tanda baca hanya dengan hdparmdan memasang kembali kartu:

$ 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
$ 

4

Tergantung pembaca. Pembaca dapat mengabaikan tab proteksi tulis. Pembaca dapat memiliki firmware yang menonaktifkan penulisan jika tab proteksi penulisan diaktifkan. Pembaca dapat memiliki driver perangkat lunak yang menonaktifkan penulisan jika tab proteksi tulis diaktifkan. Dalam praktiknya, sebagian besar pembaca melakukannya dalam firmware.


Saya pikir kamu salah. Silakan kirim sumber.
wizlog


@wizlog: Tanpa mengetahui apa yang Anda pikir saya salah, saya tidak tahu klaim untuk mengirim sumber apa.
David Schwartz

Pembaca dapat mengabaikan tab proteksi tulis
wizlog

3
"Karena takik hanya terdeteksi oleh pembaca, perlindungan dapat diganti jika diinginkan (dan jika didukung oleh pembaca)." - Wikipedia
David Schwartz

-3

Ini adalah saklar berbasis perangkat keras. Fiturnya hanya memblokir operasi penulisan apa pun.

Jika diaktifkan, Anda tidak dapat:

  • Pindahkan file dari atau ke Kartu SD

  • Hapus file dari Kartu SD

  • Salin file ke Kartu SD

  • Memformat Kartu SD

EDIT Baca selengkapnya di sini . Perhatikan lingkaran oranye redup ...


2
Sakelar di sisi kiri. Hanya supaya opnya tahu di mana
Luke Kanada

2
Apakah Anda yakin kunci benar-benar menegakkan ini? Saya pernah membaca ada kamera yang bisa (agak kebetulan) mengabaikan ini dan menulis ke kartu.
Jane Panda

Tautan yang Anda kutip mengatakan, "Beberapa kartu SD juga memiliki perlindungan penulisan ke dalam kartu". Beberapa - tidak semua. Jika Anda membandingkan jawaban lain, sepertinya ini pengecualian. Cukup mengejutkan, saya pikir - sepertinya mereka tidak memikirkan keamanan dan virus sama sekali. 8- {
Hans-Peter Störr

1
mengapa jawaban ini begitu banyak dipilih?
wizlog
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.