Was mich an Spielehersteller extrem ärgert: Spiele die Adminrechte verlangen
-
Sauer auf Spieleentwickle schrieb:
Mal was aus der Praxis:
http://www.pcgamer.com/hackers-hijacked-pcs-using-source-engine-kill-animation-exploit/Das sind jetzt Spiele, die auf genau der Plattform laufen, die du vorher gelobt hast und von der du behauptet hast, dass sie es richtig macht.
Wenn dich die UAC für deine gewissen Games so nervt, dann mach sie doch für eben diese aus. Sollte dich nicht mehr als 10 Minuten Recherche kosten.
-
sinnlos schrieb:
Sauer auf Spieleentwickle schrieb:
Mal was aus der Praxis:
http://www.pcgamer.com/hackers-hijacked-pcs-using-source-engine-kill-animation-exploit/Das sind jetzt Spiele, die auf genau der Plattform laufen, die du vorher gelobt hast und von der du behauptet hast, dass sie es richtig macht.
Wenn dich die UAC für deine gewissen Games so nervt, dann mach sie doch für eben diese aus. Sollte dich nicht mehr als 10 Minuten Recherche kosten.Hast du überhaupt verstanden was da steht?
Die Spiele hatten eine Sicherheitslücke, die sich ausnutzen lies.
Das ist eine ganz andere Geschichte als die UAC Geschichte.UAC bleibt bei mir an. Eher deinstalliere ich UPlay und kaufe da nichts mehr.
-
Vlt. hast du schon gemerkt, da gibts einen Zielkonflikt - selbst ab von dem Argument oben, das sowas auch was kostet. Einerseits willst du das nicht jede Funktion nachfragt beim User, aber du willst auch das nicht irgendeine Random Funktion durch eine kleinen Bug Admin Rechte hat. Das geht aber nicht beides zugleich. Ich wuerde allgemein erstmal vermuten, immer nachzufragen ist die sichere Variante. Das wuerde ich auf meinen PC bevorzugen, als immer im Hintergrund einen Dienst laufen zu haben, der volle Rechte hat und dann indirekt von jedem Prozess benutzt werden kann. Ob da jetzt zu oft gefragt wird, keine Ahnung, ich würde denken man kann das auch zumindest teilweise deaktivieren. Uplay hat z.B. einen offline Zustand.
-
Sauer auf Spieleentwickle schrieb:
Hast du überhaupt verstanden was da steht?
Die Spiele hatten eine Sicherheitslücke, die sich ausnutzen lies.
Das ist eine ganz andere Geschichte als die UAC Geschichte.UAC bleibt bei mir an. Eher deinstalliere ich UPlay und kaufe da nichts mehr.
Natürlich.
Du hast behauptet, dass du gut findest, wie Steam das macht - weil du da nicht von der UAC um Admin-Rechte gebeten wirst.
Dass andere spiele jedes mal danach fragen nervt dich, deswegen hast du diesen Thread erstellt.
Jetzt hast du einen Link gepostet, um deine Meinung zu untermalen - nur doof, dass es in diesem Artikel um Steam-Spiele geht. Das, was du vorher als positives Beispiel genannt hast.Wenn dein Punkt jetzt eigentlich lauten soll, dass Spiele alle keine Admin-Rechte haben sollten, dann ist das was anderes. Dann kannst du aber auch nicht Steam als positives Beispiel nennen.
Du hast außerdem nicht verstanden was ich gesagt habe. Es gibt die Möglichkeit, die UAC nur für bestimmte Programme auszuschalten. Eben für solche, die du dauernd ausführst und denen du "vertraust", dir also das UAC-Prompt sparen kannst.
-
TGGC schrieb:
Vlt. hast du schon gemerkt, da gibts einen Zielkonflikt - selbst ab von dem Argument oben, das sowas auch was kostet. Einerseits willst du das nicht jede Funktion nachfragt beim User, aber du willst auch das nicht irgendeine Random Funktion durch eine kleinen Bug Admin Rechte hat. Das geht aber nicht beides zugleich.
Doch, das geht beides zugleich.
Das kann man in einen Serverdienst auslagern und wenn der Serverdienst eine Eingabe vom Spiel erhält, weil das Spiel irgendwelche Informationen vom Serverdienst anfordert, dann muss der Serverdienst diese Eingabe ausgiebig überprüfen.
Wenn das Spiel dann Sicherheitslücken hat, dann kriegt der Angreifer erst einmal nur die Rechte mit denen das Spiel läuft. Also eingeschränkte Benutzerrechte, denn der Serverdienst kümmert sich ja um die Sachen die Adminrechte erfordern
und hier kommt der Angreifer nicht ran. Die Eingaben werden vom Serverdienst umfangreich geprüft und die Serversoftware ist auf Sicherheit optimiert.Ich wuerde allgemein erstmal vermuten, immer nachzufragen ist die sichere Variante. Das wuerde ich auf meinen PC bevorzugen, als immer im Hintergrund einen Dienst laufen zu haben, der volle Rechte hat und dann indirekt von jedem Prozess benutzt werden kann.
Die Prozesse können nicht mehr tun als die Schnittstelle des Serverdienstes erlaubt.
Und wenn der Serverdienst so programmiert ist, dass er resourcensparend arbeitet wenn mal kein Spiel läuft, dass dessen Dienste erfordert, dann ist der auch kein Problem.Wenn man verhindern will, dass jeder Prozess den Serverdienst ausfragen kann, dann kann man das auch so machen, dass die Prozesse sich authentifizieren müssen. Bzw. kann der Serverdienst ne Liste der Prozesse führen, die zugreifen dürfen, für die Prozesse kann man dann Signaturen hinterlegen.
Damit kann dann zwar Spiel A auf den Serverdienst zugreifen, nicht aber Trojaner X.Im Übrigen kann man auch durch ein gutes Design sicherstellen, dass der Serverdienst keine Informationen rausgibt, die sich für einen Angriff ausnutzen lassen könnten.
-
sinnlos schrieb:
Sauer auf Spieleentwickle schrieb:
Hast du überhaupt verstanden was da steht?
Die Spiele hatten eine Sicherheitslücke, die sich ausnutzen lies.
Das ist eine ganz andere Geschichte als die UAC Geschichte.UAC bleibt bei mir an. Eher deinstalliere ich UPlay und kaufe da nichts mehr.
Natürlich.
Du hast behauptet, dass du gut findest, wie Steam das macht - weil du da nicht von der UAC um Admin-Rechte gebeten wirst.Steam != Spiel
Im obigen Fall lief das Spiel wohl mit Adminrechten und hatte Sicherheitslücken.
Funktionen, die Adminrechte erfordernm wurden also nicht über den Serverdienst von Steam abgewickelt.
Hier liegt also das Problem im Design des Spieles.Wenn dein Punkt jetzt eigentlich lauten soll, dass Spiele alle keine Admin-Rechte haben sollten, dann ist das was anderes.
Es sind zwei Punkte.
1. Weniger UAC Abfragen
2. Keine Adminrechte für SpieleBeide Dinge kann man mit einem Serverdienst lösen.
Er verringert die UAC Abfragen und macht Adminrechte bei Spielen unnötig.Dann kannst du aber auch nicht Steam als positives Beispiel nennen.
Doch kann ich, denn die meisten Spiele laufen bei Steam ohne Adminrechte.
Du hast außerdem nicht verstanden was ich gesagt habe. Es gibt die Möglichkeit, die UAC nur für bestimmte Programme auszuschalten. Eben für solche, die du dauernd ausführst und denen du "vertraust", dir also das UAC-Prompt sparen kannst.
Ich habe das schon verstanden, nur werde ich meine generelle UAC Sicherheitseinstellung nicht verringern in dem ich einer bestimmten EXE einen Freifahrtschein erteile.
-
Sauer auf Spieleentwickle schrieb:
Doch, das geht beides zugleich.
Das kann man in einen Serverdienst auslagern und wenn der Serverdienst eine Eingabe vom Spiel erhält, weil das Spiel irgendwelche Informationen vom Serverdienst anfordert, dann muss der Serverdienst diese Eingabe ausgiebig überprüfen.
Wenn das Spiel dann Sicherheitslücken hat, dann kriegt der Angreifer erst einmal nur die Rechte mit denen das Spiel läuft.Man bist du naiv... Die Eingaben von tausenden Spielen testen (die teilweise ja noch nicht mal fertig sind)? Da kann ja überhaupt nichts schief gehen... In Steam schlummern garantiert schon 100+ Bugs und dein "Überprüfungscode" würde einfach noch zig davon hinzufügen. Und klar, alle Angreifer beschränken sich darauf nur die Spiele anzugreifen, wo doch viel mehr Leute den Dienst installiert haben...
Wenn man dieser Logik folgt, braucht man überhaupt keine Rechteverwaltung. Einfach überall den Überprüfungscode einbauen. Es ist doch letztendlich egal, ob die Funktion, die Adminrechte braucht direkt in dem Spiel ist, oder ob ich die auslagere (in z.B. einen Dienst). Genau genommen ist das zweite unsicherer, weil es mehr Angriffswege gibt. Die einzig sich als sicher erwiesene Massnahme ist nach dem Admin Passwort fragen, also sollte das auch gemacht werden.
Merkst du überhaupt, das du dir widersprichst? Du willst der einen exe keine Rechte geben, aber bei dem ewig laufenden Dienst, ist das ok...
-
TGGC schrieb:
Sauer auf Spieleentwickle schrieb:
Doch, das geht beides zugleich.
Das kann man in einen Serverdienst auslagern und wenn der Serverdienst eine Eingabe vom Spiel erhält, weil das Spiel irgendwelche Informationen vom Serverdienst anfordert, dann muss der Serverdienst diese Eingabe ausgiebig überprüfen.
Wenn das Spiel dann Sicherheitslücken hat, dann kriegt der Angreifer erst einmal nur die Rechte mit denen das Spiel läuft.Man bist du naiv... Die Eingaben von tausenden Spielen testen (die teilweise ja noch nicht mal fertig sind)?
Stichwort: Design by Contract.
Problem gelöst.Merkst du überhaupt, das du dir widersprichst? Du willst der einen exe keine Rechte geben, aber bei dem ewig laufenden Dienst, ist das ok...
Ja, denn:
Spieleegine = > 1 Mio Zeilen Code, 1000 Funktionen, wichtige und unwichtige
vs.
Dienst <= 10k Zeilen Code, 20 FunktionenWas meinst du denn, wo du mehr Sicherheitslücken findest und was davon besser gehärtet werden kann?
Die Unix Philosophie besagt deswegen übrigens nicht umsonst, folgendes:
1. Schreibe Computerprogramme so, dass sie nur eine Aufgabe erledigen und diese gut machen.
2. Schreibe Programme so, dass sie zusammenarbeiten.
3. Schreibe Programme so, dass sie Textströme verarbeiten, denn das ist eine universelle Schnittstelle.Das kann man auch auf einen Dienst anwenden, der nur prüfen soll, ob
1. Die Spieldateien manipuliert wurden (wurde das Spiel gecrackt, wurden Hocks zum Cheaten eingebaut?)
2. Läuft im Hintergrund ein Debugger oder Cheattool?Oder hast du jetzt mit Eingaben folgendes gemeint: Was der Spieler in sein Gamepad hämmert.
Tja, dann duddel di du, klopf klopf.
-
Ergänzung:
Tja und natürlich ist es absolut naiv, ein Programm mit > 1Mio Zeilen Code und > 1000 Funktionen mit Adminrechten laufen zu lassen.
Bei nem Dienst mit <= 10 k Zeilen Code und 20 Funktionen sieht das anders aus, da ist es kein Problem dem Adminrechte zu geben, wenn man den Dienst entsprechend gehärtet hat, was bei der geringen Füll an Code auch gut realisierbar ist.
Und das Spiel, das aus 1 Mio Zeilen Code besteht, kriegt dann nur einfache Nutzerrechte.Wenn's dann nen Exploit gibt, dann hat der Exploit nur einfache Benutzerrechte und kann schon einmal keinen so großen Schaden anrichten.
-
Was vergessen:
Sauer auf Spieleentwickle schrieb:
Wenn's dann nen Exploit im Spiel gibt, dann hat der Exploit nur einfache Benutzerrechte und kann schon einmal keinen so großen Schaden anrichten.
-
Du glaubst also so'n Steamdienst besteht nur aus 10000 Zeilen mit 20 Funktionen...
-
TGGC schrieb:
Du glaubst also so'n Steamdienst besteht nur aus 10000 Zeilen mit 20 Funktionen...
Nein, aber es ist naheligend, dass der Service kleiner sein kann als alle Spiele, oder?
MfG SideWinder
-
SideWinder schrieb:
TGGC schrieb:
Du glaubst also so'n Steamdienst besteht nur aus 10000 Zeilen mit 20 Funktionen...
Nein, aber es ist naheligend, dass der Service kleiner sein kann als alle Spiele, oder?
Klein ist relativ und deswegen sollte der IMHO nicht ständig alle Rechte haben. In meinem Steam Ordner sind 76 Mb exe und dll Dateien.
-
TGGC schrieb:
Du glaubst also so'n Steamdienst besteht nur aus 10000 Zeilen mit 20 Funktionen...
Ich meine mit diesem Dienst nicht den Steamclienten, wenn du das meinst.
Und ja, der Dienst wird logischerweise schlanker sein als die Spiele die ihn nutzen.
Die 20 Funktionen habe ich jetzt mal nur grob zur Veranschaulichung gewählt, es kommt ja darauf an, was der Dienst alles erfüllen muss und wie man es dann implementiert.
-
Mir ist es persönlich auch lieber, wenn ein Spiel explizit nach Admin-Rechten fragt. Halte ich für den besseren Ansatz, anstatt immer Admin-Rechte zu haben. Aber da ich eh meist auf der PS4 spiele..
-
GPC schrieb:
Mir ist es persönlich auch lieber, wenn ein Spiel explizit nach Admin-Rechten fragt. Halte ich für den besseren Ansatz,
Begründung?
Bitte begründe unter folgender Berücksichtigung:
1. > 1 Mio Codezeilen
2. dutzende unbekannte Schwachstellen die von Hackern entdeckt und ausgenutzt werden könnten.
3. dutzende Mods, die Spieler bereitwillig installieren und in denen man den Schadcode problemlos plaztieren könnte ohne das das jemand merkt. Dazu noch Gruppendruck durch Freunde und Co, dass man diesen oder jenen Mod installiert, damit man im MP mitspielen kann.Ich würde da schlussfolgern:
Dein Rechner gehört dann dem Hacker.
-
Sauer auf Spieleentwickle schrieb:
GPC schrieb:
Mir ist es persönlich auch lieber, wenn ein Spiel explizit nach Admin-Rechten fragt. Halte ich für den besseren Ansatz,
Begründung?
Ich sehe das wie TGGC, deshalb spare ich es mir, das alles zu wiederholen In einer perfekten Welt wäre es ein schönes Modell, einen sehr schlanken und sicheren Dienst zu haben, der die Admin-Rechte hat und die Spiele machen die entsprechenden Sachen dann darüber. Aber die Welt ist nicht perfekt und der Dienst ist bzw. bleibt sicher nicht klein - das lehrt die Erfahrung. Irgendwann bläht sich alles auf Und dann finde ich es potentiell gefährlich, wenn der Dienst immer Admin-Rechte hat.
Ubisoft-Spiele zocke ich eig. nur an der Konsole.. kp, wie aggressiv auf dem PC nach dem Admin-PW gefragt wird. Ich kann mir aber schon vorstellen, dass es irgendwie recht nervig ist.
-
Hier wird heiß diskutiert, aber eigentlich sind wir doch alle auf Seite von @"Sauer auf Spieleentwickle":
Bei Spielen, bzw. als Windows-Desktop-Benutzer, will man nicht Administrator sein.Ubisoft hat da scheinbar etwas falsch gemacht, denn jedes Ubisoft-Spiel auf meinem PC, macht beim Starten min. einmal Admin-Prompt.
"min. einmal" heißt: nachdem ich Assassins Creed Origins angeklickt habe, muss ich ca. vier mal ESCAPE drücken, um die Admin-Prompts abzuwehren.@"TGGC" hat leider auch recht: Heutzutage ist bei jedem Spiel der zweite Eintrag im Hauptmenü "Shop", und der will natürlich neue .exe nachladen.
(Was passiert eigentlich wenn ich am Anfang das Admin-PW verweigere und dann im Shop einkaufe?)Steam-Spiele haben dieses Problem offentsichtlich nicht. Die Frage ist: Haben die jetzt geschummelt?
Oder haben die nur besser geproggt?