Wenn die Spezifikation fehlerhaft ist, sollte sie trotzdem befolgt werden?

28

Ich wurde beauftragt, eine Integration in eine der Anwendungen meines Arbeitgebers in ein externes System zu entwickeln, das von unserem Kunden entwickelt wurde. Die Spezifikation unseres Kunden für die Integration, die einige offensichtliche Sicherheitsmängel aufweist. Die Fehler würden einem nicht autorisierten Benutzer den Zugriff auf das System ermöglichen, um eingeschränkte Daten anzuzeigen.

Ich habe auf die Mängel und ihre potenziellen Sicherheitsrisiken hingewiesen, wenn sie wie geplant implementiert werden und eine Alternative ohne den Mangel darstellen, aber (kurz gesagt) vom Kunden die Anweisung erhalten, "es so zu tun, wie wir es angegeben haben".

Hat ein Programmierer die ethische Verantwortung, KEINEN Code mit bekannten Sicherheitsrisiken zu implementieren? Ab wann überwiegen die Anforderungen eines Kunden die ethische Verantwortung, die wir als Softwareentwickler für die Erstellung sicherer Anwendungen haben?

Nick Orlando
quelle
9
Sie haben auf die Risiken hingewiesen, aber haben Sie auch auf die Wahrscheinlichkeit und (möglicherweise noch wichtiger) die Auswirkung dieser Risiken auf einen bestimmten Aspekt ihrer Geschäftstätigkeit hingewiesen? Sind Sie sicher, dass der Kunde die Risiken vollständig versteht und über entsprechende Unterlagen verfügt?
Thomas Owens
7
Ich habe dies in letzter Zeit in einigen meiner Arbeiten in meinen Kopf geworfen. Wenn wir den gleichen Vergleich in Bezug auf einen Brückenbauer anstellen, bei dem er gebeten wird, eine Brücke zu bauen, unter der sich keine störenden, störenden Stützen befinden oder die nur das Gewicht von zwei Autos tragen kann, dann ist er es um seines Rufes willen werde mich wahrscheinlich nur weigern. Ich denke, es muss wirklich ein Punkt kommen, an dem es die Pflicht eines Ingenieurs / einer Person ist, dies abzulehnen. Zugegeben, die allermeisten Designprobleme sind nicht annähernd mit einem Verletzungs- / Todesrisiko verbunden.
Katana314
2
@ Katana314 Bei meinem aktuellen Szenario besteht definitiv keine Gefahr von Körperverletzung oder Tod. Das ist definitiv einfacher zu beantworten ... Aber du hast den Nagel auf den Kopf getroffen, denke ich. Zusätzliche Recherchen führten mich zum Verhaltenskodex von ACM , der unsere Verantwortung zu stärken scheint, vorhersehbare Probleme zu identifizieren und bekannt zu machen.
Nick Orlando
3
@TheSoftwareDev Fair genug, aber ich möchte nur hinzufügen, dass menschliche Risiken manchmal tiefer sein können, als wir uns vorstellen. Ein Sicherheitsrisiko, das es einem Hacker ermöglicht, die Daten von Personen einfach zu übernehmen und ihre Identität zu stehlen, wodurch sie obdachlos werden und später Selbstmord begehen können. Ein sozialer Netzwerkfehler, der es einem Stalker ermöglicht, die privaten Mitteilungen einer Frau über ein Treffen in einem Restaurant abzufangen, ihr dann zu folgen und sie zu fangen. Es ist ein bisschen krankhaft, DIESES kreativ zu denken, aber wir vergessen manchmal, wie weitreichend unsere Projekte genutzt werden könnten.
Katana314
1
@gnat Nicht wirklich ein Duplikat. Die damit verbundene Frage bezieht sich auf die allgemeine Herangehensweise an die Software-Ethik. Diese fragt, wie viel Kampf die OP aufnehmen sollte, bevor sie sagt: "Nicht mehr mein Problem".
Rath

Antworten:

40

Ich denke, Sie haben Ihren Beitrag geleistet, indem Sie auf das Problem hingewiesen und eine Alternative vorgeschlagen haben. Wenn sie darauf bestehen, dass Sie Dinge tun, die sie einem bestimmten Risiko aussetzen, sollten Sie sicherstellen, dass Sie einen Papierpfad (und entsprechende Nachweise) haben, aus dem hervorgeht, dass sie dies ausdrücklich angefordert haben, und die damit verbundenen Risiken kennen. Wenn du wirklich bistEnglisch: emagazine.credit-suisse.com/app/art...1007 & lang = en Sie könnten ihnen sagen, dass Sie gerne tun würden, was sie wollen, wenn sie zuerst ein juristisches Dokument / einen Haftungsausschluss unterzeichnen, in dem sie die mit dem, was sie von Ihnen verlangen, verbundenen Risiken anerkennen (und natürlich einen Anwalt beauftragen) ein solches Dokument zu verfassen). Ich persönlich kenne keinen Präzedenzfall für ein solches Dokument für diese Situation, aber ich bin sicher, Sie könnten einen Anwalt finden, der Ihnen dabei hilft. Wenn Ihr Unternehmen über eine Rechtsabteilung verfügt, sollten Sie sich möglicherweise darauf einlassen, wenn die Möglichkeit einer Haftung von Unternehmen besteht. Und wenn es so ernst ist, sollten Sie dies natürlich auch mit Ihrem Vorgesetzten besprechen.

Ich denke, die einzige Situation, in der es in Ordnung sein könnte, die Arbeit einfach abzulehnen, wäre, wenn dies eine Software für ein System ist, bei dem der von Ihnen befürchtete Fehler dazu führen könnte, dass das System so kompromittiert wird, dass es dazu führen könnte bei sehr wahrscheinlichem Tod / schwerer Körperverletzung oder einem katastrophalen Sachschaden.

FrustratedWithFormsDesigner
quelle
4
Oder persönliche Haftung ... dh, ob es Sie feuern oder schlimmer machen wird
Dan Pichelman
5
Es gibt kein Dokument, das der Kunde oder Arbeitgeber unterzeichnen könnte, um die Immunität des OP gegen Zivilklagen zu gewährleisten. Er kann, abhängig von der Art seiner Anstellung, unter die Definition und den Schutz einer Agenturbeziehung mit seinem Unternehmen fallen und ein Haftungskennzeichen vorsehen, aber in Ermangelung eines solchen Kennzeichens ist "Ich habe nur Befehle befolgt" keine Verteidigungsnummer egal wie gut dokumentiert. Der Kläger / die Staatsanwaltschaft kann einfach sagen: "Sie hätten einfach aufhören können; selbst wenn jemand anderes das getan hätte, wäre es jetzt auf dem Kopf und nicht deins."
KeithS
2
Das beste, was das Unternehmen tun kann, ist die Deckung der finanziellen Haftung des OP, einschließlich der Gerichts- und Prozesskosten. Die Firma kann nicht für ihn ins Gefängnis gehen, wenn sich herausstellt, dass er ein Gesetz gebrochen hat.
KeithS
1
@BazzPsychoNut: Es hört sich so an, als hätte das OP bereits versucht , auf die Risiken hinzuweisen und sie zu erklären, und wird ignoriert. Wenn sie nicht in der Lage / nicht bereit sind, die Arbeit einfach abzulehnen, müssen sie sich meines Erachtens so weit wie möglich den Arsch zudecken und sollten auch einen Anwalt konsultieren (von dem ich vermute, dass er ihnen spezifischere Ratschläge für die Situation gibt und auch erzählt) sie bedecken ihren Arsch).
FrustratedWithFormsDesigner
1
+1 für die Papierspur, und seien Sie auch vorsichtig, wenn Sie an der Bereitstellung beteiligt sind. Es ist zwar unwahrscheinlich, dass dies der Fall ist, es gibt jedoch zahlreiche Gesetze (z. B. das Datenschutzgesetz in Großbritannien), nach denen der nachlässige Umgang mit personenbezogenen Daten zu einer schwerwiegenden Straftat werden kann.
Matt