Hallo Forum, gibt es eine Moeglichkeit, dass ein USB-Device (HID, Mass Storage, etc. ist egal) erkennt, welches OS auf dem Rechner laeuft, an den es angesteckt wurde? Also ohne das man irgenden einen dreckigen Hack in eine dll/so einbauen oder einen eigenen Treiber schreiben muss. Gruesse
Kaj G. schrieb: > welches OS auf dem Rechner laeuft, an den es > angesteckt wurde? Eigentlich nein, praktisch aber doch über Implementierungsdetails von Betriebssystemen, wie z.B. in welcher Reihenfolge welche Deskriptoren/Sektoren gelesen werden: https://media.ccc.de/v/29c3-5327-en-writing_a_thumbdrive_from_scratch_h264 Ernsthaft will man das aber nicht einsetzen, da sich das Verhalten von Betriebssystemen nach belieben ändern kann.
Rufus Τ. F. schrieb: > Wozu sollte das gut sein? Die Frage hat keinen tieferen Sinn. Es ist einfach eine Fragestellung die mir in den Sinn gekommen ist, mehr nicht. Danke fuer eure Antworten.
Kaj G. schrieb: > Die Frage hat keinen tieferen Sinn. Doch, sie hat einen auffällig tieferen Sinn. Das ist eine Information, an der ein USB-Device mit manipulierter Firmware dann interessiert ist, wenn es den Host mit Malware infizieren möchte.
Hannes J. schrieb: > Kaj G. schrieb: >> Die Frage hat keinen tieferen Sinn. > > Doch, sie hat einen auffällig tieferen Sinn. Das ist eine Information, > an der ein USB-Device mit manipulierter Firmware dann interessiert ist, > wenn es den Host mit Malware infizieren möchte. Irrelevant, ein gefaktes mass storag device, hält für diesen Fall mehrere binaries oder URL's vor, ja nach Betriebssystem, einem USB Human Interface Device aka USB-Tastatur/Maus ist es wurscht weil es ebenfalls für die jeweiligen Systeme commandos bereithalten muss.
Hannes J. schrieb: > Doch, sie hat einen auffällig tieferen Sinn. Das ist eine Information, > an der ein USB-Device mit manipulierter Firmware dann interessiert ist, > wenn es den Host mit Malware infizieren möchte. Entspann dich. Ja, ich studiere IT-Sicherheit, und ja, da stellt man sich schon mal solche fragen. Finde ich jetzt nicht weiter verwerflich. Aber nein, die frage hatte wirklich keinen tieferen Sinn. BadUSB gibt es ja schon.
Ich kann mir sogar noch ein paar andere Anwendungen einer solcher Funktionalität vorstellen darunter durchaus legitime. z.B. Legitimierungsfragen on Chip klären. Nmamaste
Zumindestens Windows und Linux kann das Device einfach unterscheiden. Bei Linux/Unix wird es dann interessanter, hier unterscheiden sich ggf. Implementierungen und dadurch mitunter Timings. Gab da irgendeinen Vortrag beim CCC Kongress oder sonst was in der Richtung.
Wäre auch nicht nur für die bösen Jungs interessant. Ich habe mal ein D2 USB Modem gesehen, das wie ein U3 Stick noch ein USB-CD ROM emuliert hat und so eine eigenen Treiber mitbrachte. Das Ding wird mit an Sicherheit grenzender Wahrscheinlichkeit nur Windows im Gepäck gehabt haben, aber so ließe sich das Ding halt etwas universeller und intelligenter machen ;-)
Gerald B. schrieb: > Das Ding wird mit an Sicherheit grenzender Wahrscheinlichkeit nur > Windows im Gepäck gehabt haben, aber so ließe sich das Ding halt etwas > universeller und intelligenter machen ;-) Und wenn die nächste Windows-Version sich dann zufällig mehr wie Linux verhält und das Teil einem dann nur den Linux-Treiber anbietet? Da doch lieber einfach zwei Unterordner anlegen. Die CD-ROM-Geschichte ist eh hinfällig geworden weil Windows das nicht mehr automatisch ausführt (zum Glück!).
Gerald B. schrieb: > Wäre auch nicht nur für die bösen Jungs interessant. Ich habe mal ein D2 > USB Modem gesehen, das wie ein U3 Stick noch ein USB-CD ROM emuliert hat > und so eine eigenen Treiber mitbrachte. Das ist sicher kein Hexenwerk. Mindestens mein alter Internetstick (N24, Vodafone) konnte das. Der hat auch ein CD mitgebracht, darauf eine Autostart. Und die hat den Treiber und ein Menueprogramm installiert. Da ist dann alles möglich.
michael_ schrieb: > Und die hat den Treiber und ein Menueprogramm installiert. > Da ist dann alles möglich. Natürlich kann sich ein USB-Device parallel als Speicher anmelden, mit jeder Menge Software drauf, z.B. Treiber für verschiedene BS. Nur muss die Installation nicht beim Einstecken automatisch starten, meiner Meinung nach ist das auch garnicht wünschenswert. Wenn der User die Installation starten soll, ist auch eine Erkennung des BS nicht nötig. Wer Hard- und Software installiert sollte eigentlich wissen was für ein BS er hat. Eigentlich. Georg
Leute, habt ihr denn ein so kurzes Gedächtnis? Auf einer der vor..vor..letzten Embedded's gab's als Werbegag von ST und von NXP jeweils so eine Art Billigst-USB-Stick, der eine Tastatur emuliert hat und dem PC das Starten des Browsers und das Maneuvrieren desselben zu einer jeweiligen Internet-Adresse beinhaltet hatte. Bemühungen dieser Art sind ganz offensichtlich immer ein Thema. Nun ist es nicht schlimm, wenn vor einem eine Werbeseite von ST oder NXP aufpoppt, aber man kann sich durchaus weitaus ärgerlichere Szenarien vorstellen. W.S.
Der Thread ist zwar schon älter ich will hier trotzdem noch antworten : Ja man kann relativ gut erkennen ob ein USB Device unter win oder OSX/Linux angesprochen wird. Das funktioniert seit W98 zuverlässig auch noch unter W10. Bei Windows Systemen ist der allererste setup request mit einem seltsamen wlenght Feld. Unix macht das korrekt mit wlenght=8. Es hat anfangs zu USB1 Zeiten Devices gegeben die bei dem Win Request Probleme bekamen. Das war auch ein Grund warum nach dem ersten requests generell ein USB Reset gesendet wurde. Unter Unix und OSX habe ich nie mehr als einen USB Reset bei der Enumeration gesehen. Dieses Verhalten von win ist leider auch der Grund dafür das normkonforme USB Dfu Devices unnötig kompliziert werden . Deshalb hat es auch keine OS Imp. für DFU gegeben Ab W7 hat MS spezielle Stringrequests eingebaut die man auswerten kann. Näheres kann man gut versteckt bei MS nachlesen. Ich kenne keinen Weg OSX und Unix zu unterscheiden. Thomas
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.