SD kart donanımı, bellenim veya yazılım (sürücü, işletim sistemi) üzerindeki kilit mekanizması zorunlu mu?


16

SD kartlarla salt okunur moda kilitleme nerede uygulanır ? Bu, kartın içinde fiziksel olarak mı, okuyucuların yazılımında mı yoksa işletim sisteminde mi yapılıyor? (Başka bir yer?)

Yanıtlar:


20

SD Spesifikasyonları Bölüm 1 Fiziksel Katman Basitleştirilmiş Spesifikasyonu okuduysanız , bölüm 4.3.6 "Yazma Koruma Yönetimi" diyor

SD Bellek Kartında aşağıdaki gibi üç yazma koruma yöntemi desteklenir:
- Mekanik yazma koruma anahtarı (yalnızca Ana makine sorumluluğu)
- Kart dahili yazma koruması (Kartın sorumluluğu)
- Parola koruma kartı kilitleme işlemi.

Mekanik Yazma Koruma Anahtarı

Belirli bir kartın yazmaya karşı korumalı olup olmadığını belirtmek için kullanıcı tarafından kartın yan tarafındaki bir mekanik kayar tablet (Bölüm 1 Mekanik Addenda'ya bakın) kullanılacaktır. Kayar tablet, pencere açık olacak şekilde yerleştirilirse, kart yazma korumalı demektir. Pencere kapalıysa, kart yazmaya karşı korumalı değildir. Soket tarafındaki uygun, eşleşen bir anahtar, ana bilgisayara kartın yazmaya karşı korumalı olup olmadığını gösterir. Kartı korumak ev sahibinin sorumluluğundadır. Yazmaya karşı koruma anahtarının konumu, kartın dahili devresi tarafından bilinmemektedir.

(benim vurgum)

Bir TOSHIBA SD Kart Spesifikasyonu diyor

CMD28 SET_WRITE_PROT - Dahili Yazma Koruması uygulanmadı.
CMD29 CLR_WRITE_PROT - Dahili Yazma Koruması uygulanmadı.
CMD30 SEND_WRITE_PROT - Dahili Yazma Koruması uygulanmadı.

...

2) Desteklenmeyen Fonksiyonlar:
Kartın Dahili Yazma Koruması (FİZİKSEL KATMAN ÖZELLİKLERİNDE Opsiyonel 4.3.5.)


Ama merak ediyorum
tsenapathy

14

İşimde SD kartları gömülü bir sistemde kullanıyoruz. Kilitli bir kartla önyükleme yaparsak, bir çekirdek paniği alırız. Çok gevşek yazma anahtarları olan bir grup SD kart elde edene kadar bu büyük bir anlaşma değildi: kartı okuyucuya takma işlemi bazen anahtarı hareket ettirmek ve kartı kilitlemek için yeterliydi. Birçok kişi bunu önlemek için her SD karta bir parça bant yapıştırmak gibi mekanik seçenekler bulmaya başladı, ancak sonunda Linux çekirdeğindeki bir kaynak kod satırını değiştirerek bunu düzelttik. Şimdi, anahtar salt okunur olarak ayarlanmış bir SD kart algılandığında, anahtarı görmezden gelir ve istediğimiz zaman karta veriyi mutlu bir şekilde yazarız.

Bu, backport'ların çılgınca yanlış masamasından geliyor, bu yüzden bu yamanın her yerde temiz bir şekilde uygulanacağından şüpheliyim, ancak kendi çekirdeğinizi denemek istiyorsanız, bu iyi bir başlangıç ​​noktasıdır:

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

Bir Linux çekirdeğini yamalamak ve oluşturmak istemiyorsanız, ancak bir Canon P&S kameranız varsa, yazma korumalı bir SD karta dosya (resim) yazmak için CHDK kullanabilirsiniz (kamera açıldığında, OF anahtarının durumu; RO ayarlandığında ne zaman olacak SD karttan otomatik yüklenen firmware Bu doğrudan CHDK içine çizme yapmasını sağlar;. o karta hala yazma resimler böylece daha sonra CHDK anahtarının durumunu göz ardı; bkz mesela http : //chdk.wikia.com/wiki/Bootable_SD_card ).

Ayrıca, salt okunur bayrağı kapatarak hdparmve yeniden takarak Linux'ta yazmaya karşı korumalı bir SD karta yazabilirsiniz :

$ 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

Okuyucuya bağlıdır. Okuyucu yazma koruma sekmesini yoksayabilir. Okuyucu, yazmaya karşı koruma sekmesi etkinleştirilirse yazmayı devre dışı bırakan bellenim içerebilir. Okuyucunun yazmaya karşı koruma sekmesi etkinleştirilmişse yazmayı devre dışı bırakan bir yazılım sürücüsü olabilir. Uygulamada, okuyucuların büyük çoğunluğu bunu bellenimde yapıyor.


Bence hatalısın. Lütfen bir kaynak gönderin.
wizlog


@wizlog: Ne hakkında yanlış olduğumu düşündüğünüzü bilmeden, hangi kaynağa kaynak gönderileceğini bilmiyorum.
David Schwartz

Okuyucu yazma koruma sekmesini yoksayabilir
wizlog

3
"Çentik sadece okuyucu tarafından algılandığından, istenirse (ve okuyucu tarafından destekleniyorsa) koruma geçersiz kılınabilir." - Vikipedi
David Schwartz

-3

Donanım tabanlı bir anahtar. Bu özellik sadece yazma işlemlerini engeller.

Değiştirilirse şunları yapamazsınız:

  • Dosyaları SD Karttan / SD Karta taşıma

  • SD Karttan dosya kaldırma

  • SD Karta dosya kopyalama

  • SD Kartı Biçimlendir

DÜZENLEME daha Okuma burada . Soluk turuncu daireye dikkat edin ...


2
Sol tarafta bir anahtar. Op böylece nerede olduğunu biliyor
Kanadalı Luke

2
Kilidin bunu gerçekten zorladığından emin misin? (Biraz tesadüfen) bunu görmezden gelip yine de karta yazabilen kameralar okudum.
Jane Panda

Alıntı yaptığınız bağlantıda "Bazı SD kartlarda ayrıca kartta yazma koruması var" yazıyor. Bazıları - hepsi değil. Diğer cevapları karşılaştırırsanız, bu bir istisna gibi görünüyor. Oldukça şok edici, sanırım - güvenlik ve virüsleri hiç düşünmedikleri anlaşılıyor. 8- {
Hans-Peter Störr

1
bu cevap neden bu kadar aşağı oy aldı?
wizlog
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.