Was mich an Spielehersteller extrem ärgert: Spiele die Adminrechte verlangen



  • Autopatching sollte imho nicht verlangen, dass während der gesamten Ausführungszeit eines Spiel Adminrechte vorhanden sind...

    MfG SideWinder



  • Find ich komplett egal und ich würde mal behaupten, dass auch genau aus diesem Grund niemand dort Geld darin investiert, das zu ändern.
    Dann zieht wieder jeder Hersteller seine eigene Plattform hoch, die dann auch so toll als Dienst läuft wie Steam und dann weint auch wieder jeder, weil das ja total blöd ist. (Ist es auch)



  • SideWinder schrieb:

    Autopatching sollte imho nicht verlangen, dass während der gesamten Ausführungszeit eines Spiel Adminrechte vorhanden sind...

    Das war ja auch nur ein Beispiel von vielen und daher macht so eine absolute Aussage IMHO keinen Sinn.



  • TGGC schrieb:

    Sauer auf Spieleentwickle schrieb:

    TGGC schrieb:

    Ist ja wohl sauberer nach Admin Rechten zu fragen, als diese Funktionen irgendwie reinzuhacken. Oder wie hättest du das gern?

    Dass das Spiel ohne Adminrechte spielbar ist natürlich.

    Um diesen Punkt sinnvoll zu diskutieren, müsstest du jetzt schon konkret sagen um welches Spiel und welche Funktion darin es sich handelt. z.B. Ausführen von runtergeladenem Code ist IMHO etwas das nach Admin Rechten fragen sollte, ist aber noetig für Features wie Autopatcher oder UGC.

    Ich habe momentan kein Spiel vom UPlay Store auf meinem Rechner installiert (ich musste auf der SSD Platz für ein anderes Spiel schaffen), deswegen kann ich jetzt kein konkretes Beispiel nennen.

    Aber wenn ich ein Uplay Spiel spiele (und ich neige dazu, am Spiel dran zu bleiben, zwischen den Unterbrechungen liegen also keine Monate), dann poppt ungefähr bis zum Starten eines Spieles gefühlt 2-4 mal das UAC Fenster auf, bei dem ich dann nach dem Adminpasswort gefragt werde, ehe das Spiel dann endlich läuft.
    Und all dies während der regulären Verwendung des Spiels, also nicht beim aller ersten Starten des Spieles, wo noch eventuell irgendwelche Runtimelibs nachinstalliert oder Registrieeinstellungen vorgenommen werden könnten.

    Das fängt übrigens schon beim Starten von Uplay an, welches dann für den Uplay Service ein UAC Fenster mit der Fragen nach dem Adminpasswort aufpoppen lässt und das auch dann, wenn UPlay aktuell ist und selbst kein Update erfordert.

    Zum Vergleich, bei Steam bei einem Nicht-Ubisoftspiel habe ich dieses Gefühl nicht, dass da dann ein oder mehrere UAC Fenster nahezu ständig aufpoppen, nur weil ich gerade ein Spiel gestartet habe.
    Und Steam selbst verlangt beim Starten auch kein Adminpasswort, wenn es gerade kein Update erfordert.

    Bei UPlay vergeht da praktisch kein Tag an dem ich Spiele, wo es mal kein aufpoppendes UAC Fenster gibt.

    So etwas ist total nervend und liegt meiner Einschätzung nach daran, weil Uplay keinen eigenen Serverdienst laufen hat, der das delegieren könnte und wenn doch, dann übernimmt er diese Aufgaben nicht, die er vielleicht übernehmen könnte.
    Bei Steam wird ein Dienst installiert, der wickelt die Fälle, wo höhere Benutzerrechte erforderlich sind, dann automatisch ab. Installationen sind natürlich eine andere Sache.

    Es gibt Spieler, die deswegen die UAC Abfragen weitgehend abschalten, ich gehöre aber nicht dazu.

    sinnlos schrieb:

    Find ich komplett egal ....

    Das ist überhaupt nicht egal.
    Vor allem wenn ein Spiel dann mal tatsächlich nur mit Adminrechten läuft, ist das ein absolutes Nogo.
    Da reicht ein oder mehrere fehlerhafte Stellen in der Engine des Spieles, die sich mit einem Exploit ausnutzen lassen und schon kann man den Adminzugang und somit Rechner übernehmen.

    Wenn die Spieler nen Haufen Mods installieren und das tun sehr viele Spieler, dann geht das sogar ganz ohne Remotezugriff.
    Man muss sie bpsw., wenn der Exploit sich durch das Laden eines Spielobjekts (Textur, 3d Daten, Sound whatever) ausnutzen lässt, nur dazu verleiten, dass sie diesen oder jenen präparierten Mod installieren und schon hat man einen weiteren Rechner übernommen, den man zu seinem Botnetz dazuzählen kann.
    Dazu kommt noch, keine Sau macht Codeaudits bei Mods und prüft da bspw., ob nicht irgendwelche Texturen oder DLL Dateien so manipuliert sind, dass sie sich für Exploits ausnutzen lassen bzw. diesen darstellen.

    Vor allem ist hier schlimm, weil gerade der Code von Spielen ziemlich mies gewartet wird und die Spielehersteller, insbesondere von Singleplayerspielen, in der Regel kein Bewusstsein für sicheres Programmieren haben, es also damit zu rechnen ist, dass extrem viele Codestellen exploitable sind.
    Den Schadcode schleust man dann über Social Engineering, wie bspw. ein Eintrag in irgendeinem Spieleforum ein.
    "Guck mal, ich habe hier ne richtig geile Rüstung, installiere dir Mod X und Mod Y, dann hast du sie auch.".

    Aus diesem Grund sollte gar kein Spiel Adminrechte haben dürfen.
    Jede Funktionalität, die Adminrechte erfordert, also z.B. Anticheatschutz oder Antikopierschutzmaßnahmen gehören daher in ihren eigenen externen Prozess ausgelagert.
    Und damit der Spieler nicht ständig nach dem Adminpasswort gefragt wird, sollten diese externen Prozesse über einen Dienst gestartet werden.
    Es versteht sich von selbst, dass der Code für die Software dieser externen Prozesse einem hohen Qualitätsstandard mit dem Schwerpunkt auf sicheres Programmieren unterliegen sollte.



  • sinnlos schrieb:

    Dann zieht wieder jeder Hersteller seine eigene Plattform hoch, die dann auch so toll als Dienst läuft wie Steam und dann weint auch wieder jeder, weil das ja total blöd ist. (Ist es auch)

    Steam macht es in Form eines Dienstes richtig.

    Bei Ubisoft dürfte der Spieler bei so vielen aufpoppenden UAC Fenstern gar nicht merken, ob gerade ein eingeschleuster Trojaner, der irgendwie an das Startskript gehängt wurde, nach dem Adminpasswort fragt.
    Denn der Spieler ist es ja gewohnt, dass ständig UAC Fenster aufpoppen, dass passiert so oft, dass sie einfach abgenickt werden, ohne sie genau zu lesen. Denn man will ja endlich spielen.

    Und das jeder größere Publisher seine eigene Plattform aufziehen wird, damit war schon seit dem ersten Tag, an dem Steam eingeführt und von den Spielern angenommen wurde, zu rechnen.
    Das war schon damals schon so sicher wie in der Kirche.



  • Wort vergessen:

    Das war schon damals schon so sicher wie das Amen in der Kirche.



  • sinnlos schrieb:

    Find ich komplett egal und ich würde mal behaupten, dass auch genau aus diesem Grund niemand dort Geld darin investiert, das zu ändern.
    Dann zieht wieder jeder Hersteller seine eigene Plattform hoch, die dann auch so toll als Dienst läuft wie Steam und dann weint auch wieder jeder, weil das ja total blöd ist. (Ist es auch)

    Mal was aus der Praxis:
    http://www.pcgamer.com/hackers-hijacked-pcs-using-source-engine-kill-animation-exploit/



  • 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 Spiele

    Beide 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 Funktionen

    Was 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.


Anmelden zum Antworten