Solltest du jemals etwas veröffentlichen, das du selbst hacken könntest?

12

Als Entwickler eines Programms sind Sie wahrscheinlich in einer besseren Position als jeder andere, um Sicherheitslücken und potenzielle Hacks zu erkennen. Wenn Sie von einer Sicherheitslücke in einem von Ihnen geschriebenen System wissen, muss diese vor der Veröffentlichung hinzugefügt werden, oder sollte dies von Fall zu Fall bewertet werden, um den Schweregrad der Sicherheitslücke zu bestimmen?

Morgan Herlocker
quelle
7
Sicher, die NSA macht das die ganze Zeit :)
Jaap
3
@Jaap: Die NSA wird die ganze Zeit beschuldigt . In einem Fall ist mir bekannt, wo die Leute herausgefunden haben, was wirklich vor sich ging. Als DES-Verschlüsselungsstandard hat sich herausgestellt, dass die Änderungen des NSA die Verschlüsselung tatsächlich stärker und nicht schwächer gemacht haben, sodass es weniger wahrscheinlich ist, dass sie von einer Technik gehackt wird dass noch niemand außer der NSA es entdeckt hatte, weil sie wussten, dass irgendwann jemand anderes es herausfinden würde.
Mason Wheeler
6
@MasonWheeler Ich denke, die jüngsten Ereignisse haben Ihren Kommentar hier von 2012 veraltet gemacht.
Aceinthehole

Antworten:

6

Ich würde sagen, dass dies von Fall zu Fall erfolgen sollte. Sie sind der Autor, Sie kennen viele der Löcher. Einige Schwachstellen sind möglicherweise nur Ihnen bekannt. Das bedeutet natürlich, dass Sie möglicherweise einige schwierige Fragen zu beantworten haben, wenn eine davon ausgenutzt wird. Daher ist es möglicherweise eine gute Idee, diese Sicherheitsanfälligkeiten nach Möglichkeit zu verringern. Wichtiger ist, wenn jemand es leicht als Blackbox-System hacken kann.

FrustratedWithFormsDesigner
quelle
3
Ich wünschte nur, ich wüsste alle Lücken in der Software, die ich geschrieben habe. Dann könnte ich das nutzen, um alle Fehler zu finden, und es wäre viel einfacher, das Zeug richtig zu schreiben.
David Thornley
1
@ David: Ok, viele ...
FrustratedWithFormsDesigner
31

Ich hatte die unglückliche Erfahrung, zweimal in der Situation zu sein. In beiden Fällen wurden Produkte mit schwerwiegenden Sicherheitsproblemen mit sehr sensiblen Daten ausgeliefert.

In beiden Fällen schien es das Geschäft nicht zu kümmern, obwohl ich mich bemühte, sie auf die Risiken aufmerksam zu machen, die sie eingingen.

Das einzige, was Sie tun können, ist, so laut (und professionell) wie möglich zu protestieren, so klar wie möglich über die möglichen Konsequenzen zu sprechen und dabei alles zu dokumentieren . Drucken Sie Ihre relevanten E-Mails in PDF-Dateien aus, und bewahren Sie diese Dateien zu Hause auf, oder geben Sie Ihre persönliche E-Mail-Adresse an, oder wie auch immer Sie dies tun. Dies ist die einzige Lösung, wenn unvermeidlich etwas Schlimmes passiert.

Sie würden hoffen, dass das Management Sie für Ihre technischen Ratschläge respektiert und dies berücksichtigt, aber leider müssen Sie respektieren, wer am Ende des Tages der Entscheidungsträger ist. Täglich werden schlechte Geschäftsentscheidungen getroffen.

Edit: jasonk erwähnte "Bitte gib deine Heimatadresse sehr vorsichtig an" und ich stimme dir sehr zu. Bitte verstoßen Sie nicht gegen Unternehmensrichtlinien und riskieren Sie, die Sicherheitslücke offener zu machen, als dies bereits der Fall ist.

aceinthehole
quelle
21
+1 für DOKUMENT ALLES !!! Wenn eine Katastrophe größeren Ausmaßes eintritt und der Job des Managers auf dem Spiel steht, wird er / sie ALLES tun, um die Schuld auf JEDE Weise zu ändern, die er / sie kann. Wenn Sie Probleme, E-Mails, Benachrichtigungen, Notizen und andere Dokumente im Zusammenhang mit der Entscheidung dokumentieren, schützen Sie sich vor einer schlechten Situation.
maple_shaft
11
Af cking-Männer. Jeder, der so schäbig ist, ernsthaft fehlerhafte Produkte wissentlich zu versenden, kann und wird alles tun , um der möglichen Kugel auszuweichen.
Peter Rowell
Seien Sie bitte sehr vorsichtig, wenn Sie Ihre Heimatadresse angeben.
Jasonk
2
@Jasonk: Warum sagst du das? BCC bedeutet, dass andere Empfänger es nicht sehen können ...
Mason Wheeler
3
@Mason: Die Empfänger können das nicht, aber die IT-Abteilung kann das. Wenn Sie vertrauliche Informationen (welche Sicherheitslücken sind am definitivsten) an einen externen Standort senden, werden Sie wahrscheinlich in eine Welt voller Verletzungen geraten.
Eclipse
12

Ich würde das Gegenteil behaupten: Als Entwickler sind Sie häufig zu nah am Code, um Schwachstellen zu erkennen.

Wenn Sie Schwachstellen kennen oder über diese informiert werden, sind sie wie alle anderen Fehler - bewerten, priorisieren und dann beheben.

DaveE
quelle
+1: Du weißt, wie mein Programm funktionieren soll und denkst nur zu einem gewissen Grad darüber nach, es so zu verwenden. Es ist einer der besten Tests, jemanden zu haben, der die "richtige" Art und Weise, das Programm zu verwenden, nicht kennt.
Unholysampler
Als jemand, der relativ neu in der Qualitätssicherung ist, bin ich in die Arbeit gekommen und habe erwartet, dass "Sicherheitsmängel" -Fehler extrem gravierend sind. Ich habe jedoch festgestellt, dass die Bezeichnung "Sicherheit" nicht immer eine Null-Toleranz-Antwort erfordert. Einige Unternehmen gehen gerne Sicherheitsrisiken ein, wenn die Sicherheitsanfälligkeit den Ruf der Marke nicht zu gefährden scheint oder Hackern wenig Gewinn bringt und zukünftige Releases wahrscheinlich ohnehin einen Fix (oder eine Funktionsänderung) enthalten.
Greg Gauthier
4

Ich denke, die Antwort hängt vom Grad des Schadens ab, der entstehen würde, wenn das System von einem böswilligen Hacker kompromittiert würde. Offensichtlich konnte ein Bauingenieur den Entwurf einer unsicheren Brücke nicht mit gutem Gewissen genehmigen. Der Bau einer solchen Brücke kann zu Verletzungen oder zum Tod führen. Dies wissentlich zu tun, wäre für den Ingenieur ebenfalls illegal, aber die Tatsache, dass Softwareingenieure (zumindest in den USA) nicht in gleicher Weise gesetzlich gebunden sind, entbindet sie nicht von der beruflichen Verpflichtung, sich gegen fehlerhafte Systeme zu stellen. Leider benötigt Ihr Unternehmen möglicherweise keine Signatur, um die Software freizugeben.

Sie geben nicht die genaue Art des Systems an, an dem Sie arbeiten. Wenn es um Krankenakten, Bankgeschäfte, Flugsicherung oder eine andere wirklich kritische Infrastruktur geht, würde ich sagen, dass Sie zu Recht auf das höchstmögliche Sicherheitsniveau bestehen sollten, bevor Sie freigelassen werden.

PeterAllenWebb
quelle
+1 Für den Kontext möchte ich hinzufügen, dass alle Daten, die Sozialversicherungsnummern, Identifikationsnummern oder Kreditkartennummern enthalten, auch die Sicherheit berücksichtigen sollten. Systeme, die diese Informationen nicht speichern und keine kritischen Systeme sind, haben Daten mit geringem Risiko und Sie müssen sich nicht so viele Gedanken über die Sicherheit machen.
maple_shaft
3

Ja, Sie SOLLTEN es reparieren, bevor die Veröffentlichung erlischt. Unterschätze niemals den Einfallsreichtum eines Hackers. Würdest du eine Woche in den Urlaub fahren, wenn deine Hintertür weit offensteht? Wäre deine Entschuldigung,

"Oh, es ist hinten und es ist nicht direkt auf die Straße gerichtet. Niemand würde es weit offen hängen sehen."

Wahrscheinlich nicht.

Aber ich verstehe heutzutage mit dem ahnungslosen Premierminister, dass das heiligste Erscheinungsdatum wichtiger ist als ein potenziell großes Haftungsproblem mit der Sicherheit. Wenn dies Ihr Fall ist, dann schlage ich vor, Sie darauf aufmerksam zu machen, das Problem zu protokollieren, sicherzustellen, dass es gut dokumentiert und bekannt ist und die Risiken klar erklärt sind, und den PM entscheiden zu lassen, was zu tun ist.

Wenn der Premierminister eine schlechte Entscheidung trifft und beschließt, dies zu ignorieren und die Veröffentlichung termingerecht fortzusetzen, sind Sie von der Verantwortung befreit, da Sie die Pfeife geblasen haben.

Andernfalls, wenn Sie dies finden und es für sich behalten und etwas passiert, können Sie persönlich für die Folgen verantwortlich gemacht werden.

Es ist deine Entscheidung.

maple_shaft
quelle
4
Zumindest in den USA handelt es sich nicht um ein potenziell großes Haftungsproblem, da ungefähr keine Software mit irgendeiner Garantie geliefert wird. Software für medizinische Geräte ist eine Ausnahme, und es gibt wahrscheinlich auch andere, aber die meisten softwarebasierten und softwarebasierten Dienste sind im Wesentlichen "ohne Gewähr".
David Thornley
1
Keine Garantie? Warum erzählen Sie das nicht den Millionen von Sony-Kunden, deren Sozialversicherungsnummern und andere vertrauliche Daten wegen GENAU solcher Sicherheitslücken gestohlen wurden, die das OP vorschlägt?
maple_shaft
2
Während David Recht hat, kann das Fehlen einer durchsetzbaren zivilrechtlichen Haftung ein kalter Trost sein, wenn der Ruf Ihres Unternehmens ruiniert wird oder Ihre kleine Firma einfach von einer größeren Firma aus dem Leben gerissen wird.
PeterAllenWebb
@maple_shaft: Und welche Haftung hat Sony? Sie haben ein Jahr lang Kreditschutzdienste angeboten, aber ich glaube nicht, dass sie rechtlich haftbar sind. Es ist ein Hit für ihren Ruf, aber sie haben so etwas schon einmal überlebt.
David Thornley
1
@Rory: Lass es uns in zwei Jahren anschauen. Ich würde gerne glauben, dass das Rootkit-Fiasko, das willkürliche Entfernen von OtherOS und dieses Leck Sony auf lange Sicht weniger beliebt machen würden, aber ich bin überhaupt nicht zuversichtlich.
David Thornley