Forum: Mikrocontroller und Digitale Elektronik Raspi, SD-Karte schreibgeschützt, wie machen?


von Wolfgang S. (Firma: Pensionär-Altes-Eisen) (stackpointer)


Lesenswert?

Hallo.
ein Raspi kann man ja auch als surf- und e-mail-Maschine einsetzen. Git 
es eine Möglichkeit das Program auf der SD-Karte hardwaremäßig 
schreibgeschützt zu betreiben? Im endeffekt so daß kein trojaner, kein 
virenprogram sich einnisten, allenfalls im RAM während der Siztung 
funktionieren könnte.

Gruß

von Harry L. (mysth)


Lesenswert?

Wolfgang S. schrieb:
> Git
> es eine Möglichkeit das Program auf der SD-Karte hardwaremäßig
> schreibgeschützt zu betreiben?

NEIN

von Markus F. (mfro)


Lesenswert?

Tatsächlich dürfte ein eMail-Programm, das auf schreibgeschütztem 
Massenspeicher läuft, das sicherste überhaupt sein. Keine Viren, kein 
Spam, aber leider auch keine e-Mails. Macht auf Dauer ein wenig einsam 
und wenig Spaß...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Markus F. schrieb:
> Keine Viren, kein Spam, aber leider auch keine e-Mails.

Warum sollte ein Email-Programm Emails lokal speichern? Wozu gibt es 
IMAP-Server?

von TestX (Gast)


Lesenswert?

einfach ein overlayfs einrichten mit ziel tmpfs. so sind die änderungen 
nur im ram aber nicht auf der sd karte.

von Dr. Sommer (Gast)


Lesenswert?

Harry L. schrieb:
> NEIN

SD-Karten bieten tatsächlich einen (Passwort geschützten) Schreibschutz 
an. Das S IN SD steht schließlich für secure. Allerdings kann kaum ein 
Treiber damit umgehen, nur ein paar uralte Handys können das. Windows 
ist bei einem Versuch von mir eine geschützte Karte zu lesen einfach 
abgestürzt, Linux weiß ich nicht mehr...

Wie willst du bei einem schreibgeschützten System eigentlich die 
Wichtigste aller Sicherheitsmaßnahmen umsetzen, nämlich das Installieren 
von Updates?

von blitzkarte (Gast)


Lesenswert?

SD Karten haben doch ein Schreibschtzriegel, als Alibi?
MicroSD Karten nicht.

von Alex G. (dragongamer)


Lesenswert?


von S. R. (svenska)


Lesenswert?

blitzkarte schrieb:
> SD Karten haben doch ein Schreibschtzriegel, als Alibi?
> MicroSD Karten nicht.

Der Schreibschutzriegel ist eine Mechanik, ähnlich dem Schreibschutzloch 
einer Audiokassette. Damit wird nur der Controller (Treiber) angewiesen, 
nicht zu schreiben - aber nicht jede Halterung wertet ihn auch aus.

Am nächsten dran käme man tatsächlich mit einer Ramdisk als Overlay über 
ein schreibgeschütztes Dateisystem. Wenn man als Basis z.B. ein squashfs 
nimmt, hat man in jedem Fall die Garantie, dass daran nichts verändert 
wird (und gewinnt vermutlich sogar noch Performance).

Rufus Τ. F. schrieb:
> Warum sollte ein Email-Programm Emails lokal speichern?
> Wozu gibt es IMAP-Server?

IMAP ohne lokalen Cache für Mails macht eher wenig Spaß.
Allerdings muss der Cache nicht unbedingt persistent sein, je nach 
Mailanbieter und verfügbarer Bandbreite/Latenz.

Dr. Sommer schrieb:
> Wie willst du bei einem schreibgeschützten System eigentlich die
> Wichtigste aller Sicherheitsmaßnahmen umsetzen, nämlich das Installieren
> von Updates?

Ein schreibgeschütztes System muss nicht auf Lebenszeit schreibgeschützt 
bleiben... man kann den Schiebeschalter für Updates auch mal 
verschieben, das Dateisystem read-write mounten oder ein aktualisiertes 
Image erzeugen.

Mir ist ein nur halbjährlich aktualisiertes, schreibgeschütztes System 
lieber als eins, wo alle paar Stunden ein Update drauf rumfuhrwerkt. 
Denn dabei geht gelegentlich auch mal was kaputt...

von Alex G. (dragongamer)


Lesenswert?

Yup. Das adafruit script ermöglicht es praktisch per jumper fest zu 
legen ausnahmsweise doch schreibbar zu booten.
Das könnte man auch zusätzlich mit einem eigenen script auswerten und in 
dem Fall die updateprozeduren launchen.

von Dr. Sommer (Gast)


Lesenswert?

S. R. schrieb:
> blitzkarte schrieb:
>> SD Karten haben doch ein Schreibschtzriegel, als Alibi?
>> MicroSD Karten nicht.
>
> Der Schreibschutzriegel ist eine Mechanik, ähnlich dem Schreibschutzloch
> einer Audiokassette. Damit wird nur der Controller (Treiber) angewiesen,
> nicht zu schreiben - aber nicht jede Halterung wertet ihn auch aus.

Neben dem Schalter gibt es aber tatsächlich auch einen elektronischen 
Schutz in der Karte - auch bei microSD, den der Treiber nicht umgehen 
kann. Der wird nur nie benutzt... SD-Karten waren ja mal als Ersatz für 
CD's gedacht, um darauf Musik und so zu verkaufen. Hat aber nicht so 
wirklich funktioniert...

von Jim M. (turboj)


Lesenswert?

Dr. Sommer schrieb:
> einen elektronischen Schutz in der Karte [...]
> Der wird nur nie benutzt...


Die entsprechenden Kommandos (CMD28..CMD30) sind schon bei SDHC 
rausgeflogen.

In der Kapitel Überschrift (und das ist in der simplified Spec alles was 
man sieht) steht ganz groß "Optional".

von René F. (Gast)


Lesenswert?

Dr. Sommer schrieb:
> S. R. schrieb:
>> blitzkarte schrieb:
>>> SD Karten haben doch ein Schreibschtzriegel, als Alibi?
>>> MicroSD Karten nicht.
>>
>> Der Schreibschutzriegel ist eine Mechanik, ähnlich dem Schreibschutzloch
>> einer Audiokassette. Damit wird nur der Controller (Treiber) angewiesen,
>> nicht zu schreiben - aber nicht jede Halterung wertet ihn auch aus.
>
> Neben dem Schalter gibt es aber tatsächlich auch einen elektronischen
> Schutz in der Karte - auch bei microSD, den der Treiber nicht umgehen
> kann. Der wird nur nie benutzt... SD-Karten waren ja mal als Ersatz für
> CD's gedacht, um darauf Musik und so zu verkaufen. Hat aber nicht so
> wirklich funktioniert...

Genau das sind die CID Register, es gibt einen temporären Schreibschutz 
dort und einen permanenten welcher nicht mehr gelöscht werden kann.

von Jim M. (turboj)


Lesenswert?

René F. schrieb:
> Genau das sind die CID Register, es gibt einen temporären Schreibschutz
> dort und einen permanenten welcher nicht mehr gelöscht werden kann.

Ist der öffentlich in der Spec, und funktioniert auch bei SDHC/SDXC 
Karten? SD <= 2GB sind nur noch im Gebrauchtmarkt erhältich.

von René F. (Gast)


Lesenswert?

Jim M. schrieb:
> René F. schrieb:
>> Genau das sind die CID Register, es gibt einen temporären Schreibschutz
>> dort und einen permanenten welcher nicht mehr gelöscht werden kann.
>
> Ist der öffentlich in der Spec, und funktioniert auch bei SDHC/SDXC
> Karten? SD <= 2GB sind nur noch im Gebrauchtmarkt erhältich.

klassische SD Karten (also nicht SDHC/XC) sind vielleicht auf dem 
Consumer Markt ausgestorben, im Industrie/Embedded Bereich aber noch 
lange nicht, auf Digikey habe ich zum Beispiel 43 klassische „große“ SD 
Karten mit <= 2GB gefunden deren Status „aktiv“ ist, zu erwähnen ist 
aber das man für den Preis solcher Karten sich auch 8GB Consumer SDHC 
Karten kaufen kann.


Die dafür notwendigen CID/CSD Register dürften sich nicht unterscheiden 
zwischen SD/SDHC und SDXC.

Ich weiß jetzt nicht welche Spezifikationen öffentlich sind, allerdings 
dürften die notwendigen Informationen über die Register öffentlich 
verfügbar sein

https://www.seanet.com/~karllunt/sdlocker.html

von Jim M. (turboj)


Lesenswert?

René F. schrieb:
> Die dafür notwendigen CID/CSD Register dürften sich nicht unterscheiden
> zwischen SD/SDHC und SDXC.

CSD hat sich in 2.0 geändert, aber die 
TMP_WRITE_PROTECT/PERM_WRITE_PROTECT Bits gibts immer noch. Hatte ich 
übersehen, und muss also auch für SDHC und SDHX tun.

von PittyJ (Gast)


Lesenswert?

Könnte man das root-Filesystem nicht read-only mounten?
Dann legt man noch ein temp Filesystem als ramfs an, für alles was 
temporär mal schreiben möchte. Und nach einen reboot ist alles wieder 
auf Ursprung.

Es gibt doch einige Linuxe, die von CD (gab es früher mal) oder 
USB-Stick booten, und sich ähnlich verhalten.

von Jim M. (turboj)


Lesenswert?

PittyJ schrieb:
> Könnte man das root-Filesystem nicht read-only mounten?

Ja, aber das nützt nur gegen ganz dumme Skript Kiddies was.

Einigermaßen fortgeschrittene Trojaner haben ein
1
mount -o remount,rw /

mit an Board.

Außerdem kann man unter Umgehung des FS direkt auf das Medium schreiben.
Was man auf der SD Karte nur mit o.g. Tools hardwaremäßig unterbinden 
kann.

von Norbert (Gast)


Lesenswert?

Dafür - bzw. dagegen - gibt es Mandatory Access Control!

Da braucht das System 100% Rechenleistung um sich über Angreifer halb 
tot zu lachen!

von S. R. (svenska)


Lesenswert?

PittyJ schrieb:
> Könnte man das root-Filesystem nicht read-only mounten?

Ja. Besser: Man nehme ein prinzipiell nicht schreibbares Dateisystem.
Mir fallen da cramfs und squashfs ein, es gibt aber sicher auch andere.

> Dann legt man noch ein temp Filesystem als ramfs an, für alles was
> temporär mal schreiben möchte.

Wenn das System nur aus handselektierten Binaries besteht (OpenWrt, 
Neutrino o.ä.), ist das kein Problem. Aber versuche das mal mit einem 
relativ normalen Debian oder Ubuntu. Da bastelst du ziemlich lange dran, 
wenn du es ordentlich machen willst. Deswegen nimmt man überhaupt 
Overlays (wurde schon genannt).

Außerdem willst du tmpfs benutzen, nicht ramfs.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.