Forum: PC Hard- und Software Kann ein USB-Device das OS erkennen?


von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

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

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nein.

Wozu sollte das gut sein?

von Lukas K. (carrotindustries)


Lesenswert?

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.

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

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.

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

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.

von Horch und Guck (Gast)


Lesenswert?

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.

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

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.

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

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

von Hans (Gast)


Lesenswert?

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.

von Gerald B. (gerald_b)


Lesenswert?

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

von Dr. Sommer (Gast)


Lesenswert?

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

von michael_ (Gast)


Lesenswert?

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.

von georg (Gast)


Lesenswert?

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

von W.S. (Gast)


Lesenswert?

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.

von Thomas (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.