Software von schlechten Eltern: TOPSIM General Management II
Posted in DHBW, Sicherheit, Software from hell on September 13th, 2010 by admin – 8 Comments
Im Rahmen meines bisherigen Studiums wurde ich schon zwei mal mit Planspielen von TOPSIM konfrontiert. Während ich das Prinzip an sich sehr interessant finde, musst ich doch schnell feststellen, dass die (manchmal) den Studenten ausgeteilte Planspiel-Software ein krasses Beispiel schlechter Software ist. Nicht nur, dass es gefühlte 100 Jahre alt ist, es macht auch das Planspiel an sich kaputt. Warum? Darum:
Erstens. Der Client hat einen Simulationsmodus (“Planungsmodell”>”Planungsmodell 1″). Damit kann man bis auf einige Nachkommastellen und mit ein wenig Überlegung den unternehmensinternen Teil des Ergebnisses vorherberechnen. Besser als jede Lösung via Excel, man braucht sich keine Gedanken über irgendwelche Formeln zu machen, das Programm errechnet alles alleine. Es ist so möglich, sich über beliebig vielen trial-and-error-Versuche dem idealen Ergebnis anzunähern – ohne Gefahr zu laufen, dass irgendwas in der internen Planung nicht richtig bedacht wurde.

Normalerweise kostet so einen Simulation virtuelles Geld, aber wen interessiert das schon, wenn man die Software einfach zurücksetzten und die Ausgangsdaten neu einladen kann? (Jeder, der das Handbuch lesen kann wird dort lesen können, dass das “Passwort” welches bei “Datei”>”4 Reset (Programm wird beendet)” abgefragt wird stupiderweise “reset” lautet)
Diese Lücke ist zu einem gewissen Teil prinzipbedingt – wenn man einen Simulationsmodus in die Teilnehmersoftware einbaut kann man nie verhindern, dass dieser unbemerkt eingesetzt wird (spätestens in einer VM geht sowieso Alles). Was aber auffällig ist, dass es so einfach ist hier zu tricksen, dass es einem als Programmierer schon fast weh tut beim darüber Nachdenken.
Ich dachte erst, dass nach so einem dicken Problem das Programm eigentlich keine größeren Lücken mehr enthalten kann. Die Damen und Herren von TOPSIM haben mich aber eines Besseren belehrt:
Zweitens. Neben den nun nicht mehr interessanten innerbetrieblichen Themen hat das Planspiel auch eine strategische Komponente; Es ist wichtig, sich der Konkurrenz und dem Markt anzupassen. Dementsprechend sollte es daher unmöglich sein an die Periodendaten der “Zukunft” zu gelangen oder die internen Daten der Mitbewerber auszulesen. Richtig?
Blöd nur, dass die Software das anders sieht: Am Anfang und nach jeder Runde gibt es vom Spielleiter neue Spieldaten. Dies wurden bei uns auf einem USB-Stick verteilt und bestanden aus 3 Dateien: Einer TOP.UNT (1 Byte), einer TOPconfg.cfg(einige hundert Byte) und einer TOPData.zip (~85Kb).
Es mag an mir liegen, aber ich persönlich würde als Programmierer sensible Daten nicht so benennen, dass man sofort Art und Type des Inhalts erraten kann. Hier scheint es aber jemand darauf angelegt zu haben jedem mitteilen zu wollen, dass sich hinter den Dateien die Spielgruppe, die Configs und die Daten verstecken. Ein Hexeditor verrät jedem sehr schnell, dass es wohl kein Zufall sein kann, dass das einzige Byte der TOP.UNT der Unternehmensnummer entspricht. Ändern man es nämlich auf ein anderes Byte (nicht Char!), z.B. “1″ und läd die Daten neu ein, so sieht man alle internen Berichte der Gruppe 1.

Treibt einen die Neugier dann zu der TOPData.zip (Hey, man hätte wenigstens die Dateiendung wechseln können, dann wäre ich wohl nicht auf die Idee gekommen, wie sie zu öffnen wäre…) so findet man in den Dateien TOP0SZN.001 bis *.008 die Informationen zu allen Perioden im Klartext – inklusive aller Marktzahlen.
Man mag sich jetzt natürlich fragen, warum die Daten aller Gruppen alle Informationen enthalten, sowohl über die Konkurrenz als auch über die zukünftige Ereignisse, wenn dies eigentlich gar nicht nötig ist. Warum werden nicht bei Erzeugung der Spielerdaten nur die relevanten Werte abgelegt? Ich tippe mal darauf, dass hier unerfahrene Programmier am Werk waren, anders lassen sich diese offensichtlichen Lücken nicht erklären.
Warum schreibe ich das jetzt hier so detailiert hin? Weil einige dieser Spiele (so wie bei uns) bewertet werden. Warum sollte also jemand einen schlechtere Note bekommen, nur weil er sich nicht auf die technische, sondern nur auf die wirtschaftliche Seite des Spiels konzentriert? Da das Planspiel dank unbegrenzter Simulationen und Perioden- und Konkurrenzdaten sowieso reizlos geworden ist, braucht man mit “Unfair!” auch gar nicht mehr anzufangen; Irgendeine Gruppe findet sowas immer heraus – und spätestens dann wird das theoretisch interessante Planspiel nur noch zur Zeitverschwendung.
PS.: Einige Studenten scheinen immer noch mitbekommen zu haben, wie Google funktioniert. Anders kann ich mir wirklich nicht erklären, wie man noch ernsthaft über die Periodenszenarien überrascht sein kann.