Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet von: gh0stc0der am 21. June 2010, 18:21
-
Hallo erstmal alle,
Wie die Überschrift mehr oder weniger schon sagt bin ich z.z. an einem Projekt, wobei es darum geht vor dem Bootvorgang ein Passwort abzufragen. Das BIOS stellt ja bereits eine passende Abfrage bereit, die einzige "Schwachstelle ist dass durch einfaches entfernen der CMOS Batterie dieser Schutz nichtig ist. Lange Rede kurzer Sinn, ich will diesen Schutz "kopieren" und in Form eines Bootloaders programmieren. Da ich in diesem Bereich noch nicht so versiert bin wollt ich mal fragen, welche Schritte muss ich alle programmieren, bzw. gibt es evtl eine bessere Lösung?
gruß
gc
-
Hallo gh0stc0der,
da jeder Deinen Boot-Loader disassemblieren (und dann ersetzen) kann ist das keine besonders sichere Lösung. Klar kann man das auch deutlich besser hin bekommen aber dafür braucht es sehr sehr viel Erfahrung mit Kryptographie.
Grüße
Erik
-
das ganze ist als kindersicherung gedacht und da ist es ehr unwahrscheinlich dass der/die betreffende(n) person(en) den code disassambeln und das passwort extrahieren ;)
-
Dann glaube ich auch nicht, dass die betreffenden Personen das BIOS austricksen können :-D
-
Wie man das BIOS PW umgeht lässt sich im Internet finden, wie man einen selbst geschriebenen Bootloader umgeht nicht ;)
Von daher kann es durchaus sinnvoll sein. Zumindest als Kindersicherung.
Man kann GRUB dazu bringen nach einem Passwort zu fragen bevor man einen Eintrag booten kann. Falls du Linux verwendest ist dies mit wenigen handgriffen getan: grub-eintrag-mit-passwort-schutzen @ linuxnetz.wordpress.com[url]
Wenn du Windows verwendest kannst du es per chainload versuchen.
Es ist mit Sicherheit einfacher und sicherer als selber etwas zu proggen.
menu.lst darf für diese Person natürlich nicht zugänglich sein. Keine Ahnung ob sowas inzwischen unter Windows möglich ist - Da war man ja zumindest früher generell als Admin unterwegs :roll:.
--edit--
Natürlich musst du in dem Fall auch verhindern dass jemand live-CDs starten kann. Damit hätte man dann wieder die Möglichkeit menu.lst abzuändern.
Und um das zu verhindern musst du es im BIOS verbieten. Und das widerum muss dann per PW geschützt werden.
maw: du gerätst in einen Teufels-kreis und wirst feststellen müssen, dass man einen PC zu dessen Hardware man Zugang hat nicht ohne weiteres schützen kann.
Am einfachsten währe wohl, das Gehäuse zu zu schweißen :D (http://linuxnetz.wordpress.com/2010/02/05/grub-eintrag-mit-passwort-schutzen/)
-
Warum die "Kindersicherung" nicht einfach über das Benutzerpasswort vom Betriebssystem regeln?
Ansonsten, wenn der sportliche Aspekt im Vordergrund steht: Der erste Schritt ist sicher in der Assemblerprogrammierung zu werden. Damit solltest du abhängig von der Motivation ein paar Monate beschäftigt sein. Dann kannst du mal testen, ob du in einem Emulator in einem Bootsektor Eingabe von der Tastatur (http://www.ctyme.com/intr/rb-1754.htm), Ausgabe auf dem Bildschirm (http://www.ctyme.com/intr/rb-0106.htm), sowie zuverlässig Festplattenzugriff (http://www.ctyme.com/intr/int-13.htm) hinbekommst. (Die verlinkten Funktionen (http://www.ctyme.com/rbrown.htm) sind vermutlich nicht alles was du brauchst.)
Als nächstes gehts mit der Planung/Informationssammlung los: Deine Passwortabfrage muss dazu ja den alten Bootloader ersetzen, damit er überhaupt aufgerufen wird. Aber der alte Bootloader muss weiterhin erhalten bleiben, weil er ja bei der richtigen Passworteingabe wieder aufgerufen werden soll. Das heißt, du musst ihn irgendwo anders auf die Festplatte speichern.
Der nächste Schritt wäre also festzustellen, wohin du ihn verschieben kannst. Dazu müsstest du dich mit der Partitionierung deiner Festplatte auseinandersetzen. (Ich persönlich würde da schon aufhören, weil man sich da ganz schnell seine Daten zerschießen kann.)
-
Hallo,
Am einfachsten währe wohl, das Gehäuse zu zu schweißen :D
Full ACK!
Ich halte mich für einen recht guten Programmierer und trotzdem bin ich der Meinung das ein gelernter Schweißer einen deutlich sicheren Zugangsschutz bauen kann als ich das nur allein per SW könnte, selbst wenn ich das ein ganzes Jahr lang in Vollzeit machen müsste. ;)
SCNR
Erik
-
ok danke erstmal an alle für die antworten. das problem ist das ganze über ein pwd in windows zu regeln ist zwar generell gut, allerdings existiert eine pwd zurücksetzen diskette (oder cd oder usb stick) sodass sachen in der richtung relativ wenig nützen. das grub ein pwd abfragen kann hört sich schon mal ganz interessant an. ich werd mir mal eure vorschläge und links ansehn, vill krieg ich ja was vernünftiges zusammen (der sportliche aspekt spielt auf jeden fall auch mit ;) ).
weitere gute ideen sind natürlich willkommen. :)
-
Reicht das BIOS-Passwort nicht? Das kann man ohne Aufschrauben nicht zurücksetzen, auf Notebooks meist garnicht. Wenn du davor Angst hast, dann nimm irgendwelche Lochtorx-Schrauben zum Verschließen oder bau das Gerät in einen abschließbaren Schrank ein. Ein physisch erreichbarer Rechner kann nicht sicher sein.
LILO, Grub und SYSLINUX können definitiv Passwörter verwalten, beim Windows-Bootloader weiß ich es nicht.
Die Grundfrage ist, vor welcher Art Angriffe du dich schützen möchtest. "Alles" gibt es nicht oder nur mit einem Aufwand, der die Nutzung fast verhindert.
Die Passwort-Rücksetz-Diskette erlaubt zwar das Einloggen, aber Daten, die vorher im Dateisystem verschlüsselt wurden, sind dann nicht mehr zugreifbar.
Gruß
-
Ich denke das ist allgemein ein Hierarchie-Problem.
Selbst die beste Software bringt nichts, wenn man Zugriff auf die Hardware hat, denn davon ist die Software abhängig.
Bei einem meiner PCs sind am Gehäuse hinten 2 Ösen angebracht durch die man ein kleines Vorhängeschloss schieben kann. Vieleiche ist das bei dir auch der Fall.
Gegen den Zugriff per Live-CD könnte vielleicht das Verschlüsseln der Platte/Systempartition helfen. Kenne mich in den Bereichen aber (leider) nicht so gut aus.
Aber auch da gibt es bestimmt Mittel und wegen. Zumal man eine Live-CD ja nicht unbedingt zum cracken des Schutzes nutzen muss. Man kann ja auch direkt von dort aus arbeiten / im Netz surfen. Und dann bringt auch eine unter win eingerichtete Kindersicherung nichts :)