Sony wurde kürzlich mit einer SQL-Injection gehackt und die Passwörter der Benutzer wurden im Klartext gespeichert. Das sind Anfängerfehler. Wie wird in einem so großen Unternehmen die Qualitätssicherung bestanden? Wie können sie keine besseren Teams haben, als es besser zu wissen?
Die schiere Größe des Unternehmens, das gehackt wurde, macht dies anders. Es betrifft uns alle, weil wir uns eines Tages alle in einem Team befinden, das für so etwas verantwortlich ist, und dann bekommen wir die Axt. Also, was sind die Faktoren, die dazu führen, und wie verhindern wir sie?
Antworten:
Das erste, was mir einfällt, ist, dass sie groß genug sind, um ein paar Schichten Bürokratie aufzubauen. Dies bedeutet unter anderem, dass Sie keine wirklich intelligenten Programmierer mehr haben, die für den Einstellungsprozess zuständig sind, was bedeutet, dass sie nicht mehr in der Lage sind, potenzielle Programmierer und QS-Mitarbeiter auszusondern, die nicht kompetent sind. Was dazu führt, dass schlechter Code geschrieben und in die Produktion aufgenommen wird und wir alle wissen, was als nächstes passiert ...
quelle
Weil den Programmierern nicht befohlen wurde, dies zu testen, und ihnen die zermürbende Unternehmenskultur nicht genügend Spielraum gab, um ihren Sinn für Berufsethik einzubringen und ein paar Wochen Zeit zu beanspruchen, um nach Sicherheitslücken zu suchen. Oder darauf zu bestehen, dass sie von Anfang an sicher sind.
Weil der Chef aus irgendeinem Grund nicht ein paar zusätzliche Wochen damit verbringen wollte, nach Sicherheitsproblemen zu suchen. Ein zusätzlicher Bonus zum Jahresende. Es taucht Johnson aus der nächsten Abteilung auf. Prahlende Rechte. Pflicht gegenüber der Firma. Faulheit. Misstrauen gegenüber dem Rat des Untergebenen.
Weil der große Chef mehr Profit forderte und Johnson über Bob beförderte, weil seine Zahlen besser aussahen, als ein besseres Produkt zu fordern. Weil es schwierig ist, Qualität und Sicherheit in einer Tabelle anzuzeigen. Weil Unternehmen existieren, um Geld zu verdienen.
Solche Dinge sind ein systematisches Problem. Es läuft darauf hinaus, "weil sie Narren sind".
Edit Programmierer können es vermeiden, die Opferziege zu sein, indem sie, wenn sie einen Mangel bemerken, die Angelegenheit ihrem Chef vortragen. Er wird entweder das Richtige tun und einen Plan erstellen, um das Problem zu beheben, oder Sie auffordern, ihn zu ignorieren. Wenn er es nicht repariert, machen Sie es offiziell, fragen Sie per E-Mail danach. Verwenden Sie für das Problem relevante Schlüsselwörter wie "Sicherheitslücke", "Injektion" und "Sicherheitsverletzung". Sachen, die eine E-Mail-Suche aufgreifen würde.
Dies ist das A und O. Es ist jetzt die Verantwortung Ihres Chefs. Wenn es wichtig ist, dass Menschen sterben, wenn diese Sache fehlschlägt, gehen Sie über den Kopf und bringen Sie das Problem zu seinem Chef. Sie können gefeuert werden, weil Sie nur den Bock übergeben haben, und Sie können immer noch gefeuert werden, auch wenn Sie ihn weitergeben, aber es ist das Richtige. Nicht ganz so richtig wie das eigentliche Beheben des Problems, aber nah dran.
quelle
Je größer das Unternehmen ist, desto weiter sind die Entscheidungsträger von der eigentlichen Verantwortung entfernt.
Das Website-Design wusste, wie Unternehmen arbeiten, und wurde wahrscheinlich an ein Beratungsunternehmen vergeben, das auf der Grundlage des niedrigsten Preises pro Entwickler ausgewählt wurde. Dieses Unternehmen stellte wiederum eine Reihe von zufälligen Personen nach ähnlichen Kriterien ein, wobei die durchschnittliche Person nicht länger als drei Monate im Projekt blieb, bevor sie zu etwas anderem gewechselt wurde.
quelle
Wie macht jemand Fehler? Durch Faulheit, mangelndes Wissen, mangelnde Sachkenntnis, Zweckmäßigkeit, mangelnde Prozesse usw. Wie verhindern wir Fehler? Durch Fleiß, Erfahrung, Schutzmaßnahmen usw. Diese Situation unterscheidet sich nicht wesentlich von den Tausenden kleiner Fehler, die jeder Programmierer begangen hat. es ist nur in der Skala unterschiedlich.
Was können wir daraus lernen? Nicht viel.
quelle
Eine mögliche Erklärung ist eine verzerrte Prioritätsliste. Viele Unternehmen, mit denen ich zusammengearbeitet habe, haben mehr Wert darauf gelegt, ein Produkt auf den Markt zu bringen, als auf die Qualität des von ihnen produzierten Produkts / Codes. Dieser Effekt wird verdoppelt, da nicht nur die Programmierer zum Abschluss gebracht werden, sondern auch die QA-Abteilung (falls sie überhaupt eine haben). Mir ist auch aufgefallen, dass diese Einstellung mit dem Weiterschieben zum nächsten Produkt zusammenfällt, bevor der vorherige abgeschlossen wurde, was das Problem noch weiter verschärft.
Ein gemeinsamer Nenner in jedem dieser Unternehmen war das nichttechnische Management. Projektmanager, IT-Manager und Produktmanager, im Grunde genommen alle, die mitbestimmen, woran das Entwicklungsteam arbeitet, sind alle nicht technisch und verstehen nicht, wie wichtig es ist, qualitativ hochwertigen, sicheren Code zu erstellen. Dies ist etwas, wonach ich suche, wenn ich jetzt mit Unternehmen interviewe. Wer regiert das Asyl, die Insassen oder die Ärzte?
Es würde mich nicht wundern, wenn etwas Ähnliches, das von einer tiefen Bürokratie verstärkt wird, zu den Sicherheitsproblemen von Sony und anderen Unternehmen beiträgt.
quelle
Die Mitarbeiter arbeiten in großen Unternehmen, und die Mitarbeiter machen Fehler, weil sie nicht Bescheid wissen, faul sind, schlechte Verfahren anwenden, schlechte Unterlagen vorlegen usw. Die Größe des Unternehmens wirkt sich nur auf Fehler aus, da es weitere Fehlerquellen geben kann.
quelle