Es wäre aufgefallen, dass ... Marc Ruef | 25.01.2010 Schweizer haben traditionell eine besondere Art, wie sie mit ihren Mitmenschen umgehen. In der Regel sind sie darum bemüht, sich rücksichtsvoll einem Konsens hinzugeben. Dabei wird sich normalerweise davor gescheut, auf Gedeih und Verderb seine eigenen Büdürfnisse auf Kosten anderer durchzusetzen. Der Grund hierfür ist einfach: Unser Land ist sehr klein und man begegnet sich mindestens zwei Mal im Leben - Eine grundlegende Verträglichkeit macht das Leben somit einiges einfacher. Über die Jahre habe ich jedoch gelernt, dass man es nicht allen Menschen recht machen kann. Es gibt früher oder später immer diametral entgegengesetzte Bedürfnisse, die sich so nicht unter einen Hut bringen lassen. In der neuen Zeit werden manipulative und irreführende Mittel eingesetzt, um seinen eigenen Willen durchzusetzen. Und es ist deshalb nicht immer leicht, an seinen ritterlichen Grundsätzen festzuhalten. Doch auch wenn man es tut, man macht sich - hat man denn ein Rückgrat - nicht immer beliebt. Im Rahmen einer Source Code Analyse (http://www.scip.ch/?dienstleistungen.sourcecodeanalysis) wurde der externe Partner eingespannt und schon bei der Kickoff-Sitzung merkte ich in offensichtlicher Weise, dass man unsere Tätigkeit nicht begrüssen würde. Als Schmach und Schande wurde es verstanden, dass sich hier eine externe Firma erdreistet, das wichtige Produkt der Firma in Frage zu stellen. Dass wir lediglich einen Auftrag im Rahmen der Geschäftsprozesse der nicht näher genannten Bank erhalten haben, schien unsere Gegenüber nicht zu interessieren. So verlief das Projekt dann auch mit einer Vielzahl an Sticheleien, die ich mit stoischer Ruhe über mich ergehen liess. Ich musste mir immer wieder einreden, dass ich die Unfähigkeit und Einfältigkeit der Entwickler bezüglich angewandter Computersicherheit im Rahmen des Projekts nicht auch noch nebenher umbiegen könnte. Also liess ich sie gewähren und machte meinen Job. Zwar mit eher geminderter Freude, doch ich machte ihn. Die erste Fassung unseres Reports wurde abgegeben und durch den Kunden sowie seinen Partner besprochen. Wir warteten auf Feedback, um die finale Version erstellen und damit das Projekt abschliessen zu können. Ich wusste, dass hier je nachdem politische Mittel eingesetzt werden würden, um die Qualität unserer Arbeit herunterzuspielen, um über die eigenen Unpässlichkeiten hinwegtäuschen zu können. Und so war es dann auch, obschon das Ausmass der hinterhältigen Manipulation erstaunlich gering blieb. Jedoch wurde uns ein Statement zugespielt, in dem auf "fachliche Fehler" im Report hingewiesen wurden. Wir bemängelten, dass an verschiedenen Stellen im Code Zahlenwerte in String-Konstanten abgelegt wurden. Längerfristig könnten sich diese nutzen lassen, um Injection-Angriffe ansetzen zu lassen. Die Gegendarstellung begann sodann mit den Worten: "Wäre die Datenbankstruktur der Applikation betrachtet worden, dann wäre aufgefallen, dass die meisten betroffenen Datenfelder lediglich in Spalten mit dem Datentyp Integer abgespeichert werden." Obwohl diese Aussage technisch korrekt ist, widerspricht sie mir in zweierlei Hinsicht. Zum einen haben wir eine klar abgegrenzte Source Code Analyse vorgenommen. In einer solchen wird die Datenbankstruktur nicht betrachtet. Sie wäre Teil einer Configuration Review, die explizit offeriert, jedoch durch den Kunden nicht bestellt wurde. Und zum zweiten wird mit dem Datentyp in der Datenbank höchstens persistente Type-2 Cross Site Scripting-Schwachstellen eliminiert. Reflektive Type-1 Cross Site Scripting-Schwachstellen sowie alle anderen Arten von Injection-Angriffen (z.B. vorzugsweise SQL-Injection) bleiben bestehen. Und zwar zu grossen Teilen deshalb, weil wie bemängelt keine starke Typisierung im Programmcode erzwungen wird. Die Konsequenz des nicht zu Ende gedachten Gegenstatements hat nun zur Folge, dass wir wiederum eine Gegendarstellung aushändigen müssen. In dieser werden die Details des "Missverständnisses" aufgezeigt, was dem Partner sicher nicht gefallen wird. Schliesslich illustriert dieser Schriftwechsel sein Unverständnis für das gegebene Problem. Ich komme also nicht darum herum, mir hier einmal mehr Leute zu "Feinden" zu machen. Schade, denn ich werde ihnen vielleicht wieder einmal begegnen. Aus diesem Grund bleibt mir nichts anderes übrig, als ständig gute und damit unangreifbare Arbeit zu leisten.