• Hallo Gast!
    Noch bis zum 20.07. kannst Du an unserer Umfrage zum Hersteller des Jahres teilnehmen! Als Gewinn verlosen wir unter allen Teilnehmern dieses Mal eine Grafikkarte Eurer Wahl für bis zu 1.000 EUR - über eine Teilnahme würden wir uns sehr freuen!

Frage zu JRE / Java-VM

Cord

Neuling
Thread Starter
Mitglied seit
11.02.2008
Beiträge
515
Hallo,

folgendes:
Gleich vorweg: Ich bin ein DAU, also bitte nicht die Augen rollen über die Frage. :-P
Java ist ja eine recht mächtige Programmiersprache. Wenn ich nun die JRE installiert habe, wird für die Browser ein Plugin eingerichtet, sodass Javaprogramme mit Hilfe der in der JRE enthaltenen Java VM ausgeführt werden können.
Jetzt sehe ich als User jedoch keinerlei Abfrage alá "möchten sie das ausführen von Javablabla auf dieser Seite erlauben". Für mich sieht das so aus, als ob jeder Webseitenbetreiber einem dann irgendeinen "beliebigen Code" in Java unterschieben kann.. und weil Java viel kann, kann der Webseitenbetreiber dann einfach die Kontrolle über das System erlangen.
Mir ist natürlich klar, dass das so nicht sein kann .. das wäre ja Irrsinn. Daher meine Frage: Wie wird das verhindert ? Und was ist eigentlich eine "Virtual Machine" ?
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Gleich vorweg ich kenne mich mit Java aus aber nicht mit dem Plugin im Browser. Wenn ich mich nicht irre, greift das Plugin erst, wenn du eine Seite mit Java betrittst. Javascript ist was anderes. Das interressiert die JVM nicht. Dann solltest du eigentlich ein Fenster im Browser haben. Ich besuche aber zu selten entsprechende Seiten. Keine Ahnung ob da noch ne Sicherheitsfrage kommt.

Nun zu Java. Java ist zwar eine mächtige Programmiersprache aber die Möglichkeiten in Richtung Sicherheitsverletzung sind geringer als bei exe Datein. Java wird in einer JVM ausgeführt. Die ist zwingend erforderlich. Da es für fast jedes BS eine JVM gibt ist Java plattformunabhängig. Das ganze läuft so ab. Ich Programmiere Java in einer Entwicklungsumgebung. Diese compiliert den Quellcode in Bytecode. Der Bytecode wird dann von der JVM ausgeführt. Dabei wacht die JVM und überprüft zum Beispiel Speicherverletzungen. Außerdem ist Java eigentlich nicht in der Lage eine BS zu manipulieren, da es dann ja nciht mehr Platformunabhängig ist. Wenn du also ein Javaprogramm schreiben würdest, das die Registry verändert, dann würd das nicht unter Linux funktionieren. Deshalb bietet die JVM nicht mal die Möglichkeit dazu. Ich habe allerdings noch nie versucht einen Virus in Java zu programmieren. Ich lasse mich da also gerne vom Gegenteil überzeugen.
 
Okay, das war schonmal recht aufschlussreich.
Wie sieht es denn mit der Möglichkeit aus, etwa beim Besuch einer Seite ein JavaProgg auszuführen, dass ungefragt eine .exe nachläd und ausführt ? Also praktisch die Realisierung einer Drive-by-Download-Infektion.
Und: Wird das Programm in der VM mit eingeschränken Rechten oder mit den Rechten des Users ausgeführt ?
Du schreibst von "Sicherheitsverletzungen". Wenn das Programm sich mit den höchsten Rechten ausführen könnte, bräuchte man ja garkeine Lücke, sondern das Programm könnte eben einfach so schon machen, was es machen will - oder hab ich da einen Denkfehler ?
 
Zuletzt bearbeitet:
"Im Browser"/"Auf Internetseiten" laufen nur Applets. Diese werden in einer sog. Sandbox ausgeführt und haben prinzipiell keinen Zugriff auf lokale Systemresourcen (es sei denn die Plugins/Laufzeitumgebung/... ist löchrig, hats auch schon gegeben).

Große Ausnahme: Applets können digital signiert werden, und haben dann auch Zugriff aufs System. In diesem Fall bekommt der Benutzer aber vorher einen Hinweis bzgl. der Gültigkeit der Signatur und kann die Ausführung zulassen/ablehnen.

Normale Java-Anwendungen laufen ohne Kontrolle durch eine Sandbox, aber dafür nicht im Browser. "Java Webstart" erlaubt allerdings das Herunterladen und Ausführen von normalen Java-Anwendungen mit einem (oder wenigen) Klicks, damit sollte man also entsprechend vorsichtig sein.

.
 
Zuletzt bearbeitet:
Mit anderen Worten: Ohne die explizite Zustimmung (Signatur) oder eine andere Userinteraktion (etwa das bejahen des Webstart-Dialogs) ist es - abgesehen vom Ausnutzen einer Sicherheitslücke - nicht möglich mit Hilfe von Java den Rechner des Betrachters zu komprommitieren ?
 
Vielen Dank für eure Hilfe! :)
 
Noch ein kleiner Nachtrag. Java hat nicht die gleichen Möglichkeiten wie eine exe Datei. Stell dir vor die Programmiersprache würde keine Speicherbefehl haben. Dann kann das Programm selbst mit den höchsten Benutzerrechten keine Datein speichern.

Keine Angst Java kann Datein speichern aber eben gewissen andere Sachen, die mit einer normalen Exe Datei möglich sind, kann Java nicht und darf es auch nicht können weil wir ja sonst keine Platformunabhängigkeit hätten.

Normale Javaprogramme werden zwar nicht durch die Sandbox überwacht aber durch die JVM. Die ist nicht ganz so streng aber sie überwacht das Programm und nimmt einem Virus damit auch wieder ein paar Möglichkeiten. Ich habe bisher noch kein Javavirus gesehen aber ich suche auch nicht danach ;)
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh