Frage:
Wird Open-Sourcing des Codes einer Webanwendung nicht empfohlen?
gaazkam
2019-06-02 16:43:59 UTC
view on stackexchange narkive permalink

Wie finde ich heraus, in welcher Programmiersprache eine Website eingebaut ist?

Wie viel von einer Django-Anwendung könnte rückentwickelt werden, wenn der Eigentümer vergisst, sich umzudrehen Debug-Modus aus?

Und andere Fragen wie diese ^.

Kurz: Es scheint, dass wir zumindest im Hinblick auf die Entwicklung von Web-Apps so wenig wie möglich offenlegen möchten Informationen an den Angreifer wie möglich.

  • Angreifer möchten die Plattform bestimmen, auf der unsere Web-App ausgeführt wird, aber wir möchten sie dazu verleiten, zu glauben, dass es sich um eine andere Plattform handelt als sie tatsächlich ist.
  • Es wird empfohlen, den Debug-Modus auszuschalten, da bei detaillierten Ausnahmeinformationen möglicherweise Teile des Quellcodes unserer App (nicht der Plattform) verloren gehen.

Wenn wir unser Web als Open Source-Version verwenden Mit dem Servercode der App geben wir bereitwillig jedem genau diese Informationen, die ich in den Fragen verlinkt habe, um zu besprechen, wie man versteckt ; und noch mehr Informationen als das.

Es scheint daher, dass Open-Sourcing der App eines der letzten Dinge ist, die man tun möchte.

Das ist für mich überraschend weil:

  • Einige denken, dass Open-Source-Apps sicherer sind, weil freundlichere Augen möglicherweise auf den Code schauen, nach ausnutzbaren Fehlern suchen und Patches einreichen;
  • Nicht Open-Sourcing App wegen der oben genannten Probleme ist Sicherheit durch Dunkelheit, was schlecht ist.

Laut @Mason Wheelers Kommentar auf dieser Site:

Ich denke, wenn selbst ein Sicherheitstester nicht herausfinden kann, in welcher Sprache die Site erstellt ist, ist sie sicherer, da dann niemand weiß, welche Exploits er versuchen soll. (Ja, es gibt gelegentlich gültige Anwendungsfälle für Sicherheit durch Unklarheit.)

Ist man sich daher einig, dass Open-Sourcing des serverseitigen Codes einer Web-App eine schreckliche Idee ist?

** "Wenn selbst ein Sicherheitstester nicht herausfinden kann, in welcher Sprache die Site erstellt wurde, ist sie sicherer, da dann niemand weiß, welche Exploits zu versuchen sind." ** Viele Sicherheitslücken sind in vielen Sprachen häufig.Von den OWASP Top 10 ist nur eine (Verwenden von Komponenten mit bekannten Sicherheitslücken) besonders sprachspezifisch.
@LieRyan 1 in 10 ist viel.Bei der Tiefenverteidigung geht es darum, so viele Löcher wie möglich auf so viele Arten wie möglich zu stopfen.
Es gibt auch einen Unterschied zwischen Open-Sourcing des Quellcodes der App und Open-Sourcing der Produktionskonfiguration der App.Unabhängig davon, wo Sie im Spektrum von Open- oder Closed-Source-Quellen landen, möchten Sie niemals, dass ein Außenstehender Ihre Datenbankanmeldeinformationen oder API-Token von Drittanbietern herausfindet.Das Belassen des Debug-Modus in der Produktion ist eine gute Möglichkeit, diese Geheimnisse zu entfiltern.
Fünf antworten:
reed
2019-06-02 19:48:08 UTC
view on stackexchange narkive permalink

Es ist eine komplexe Angelegenheit, da verschiedene Aspekte mit Vor- und Nachteilen zu berücksichtigen sind und es möglicherweise keine eindeutige Antwort gibt.

Der Sicherheitsvorteil von Open Source-Software soll von einem " Gesetz ", das Wikipedia" Linus 'Gesetz "nennt, das besagt, dass" bei genügend Augäpfeln alle Käfer flach sind ". Zunächst müssten Sie sich fragen, wie viele Augäpfel Sie haben werden. Wird Ihr Projekt beispielsweise geteilt, gespalten, von vielen Benutzern ausgiebig genutzt und von einer großen Community überprüft? Oder wird Ihre Software nur auf Ihrer Website verwendet und niemand anderes wird sich darum kümmern? Oder kann es sonst niemand wiederverwenden, weil es keine Lizenz für freie Software enthält? Am Ende wird es White-Hat-Augäpfel und Black-Hat-Augäpfel geben, also müssen Sie bereit sein zu akzeptieren, dass Sie einerseits eine gewisse Sicherheitsverbesserung durch ethische Hacker erhalten, andererseits aber auch angegriffen werden von schwarzen Hüten. Werden Angreifer besonders daran interessiert sein, auf Ihr Projekt abzuzielen, oder wird es nur nicht zielgerichteten Angriffen ausgesetzt sein? Dies sind alles Dinge, die Sie berücksichtigen sollten, und es ist möglicherweise nicht einfach, eine Schlussfolgerung zu ziehen. Es sei auch daran erinnert, dass es in mehreren Open-Source-Projekten Sicherheitslücken gab, die trotz aller Augäpfel der Community schon lange vorhanden waren (siehe Linus 'Gesetz auf Wikipedia).

Sicherheit durch Dunkelheit ist ein weiteres Konzept, das oft missverstanden wird, weil sein Name den Eindruck erweckt, dass es darum geht, etwas geheim zu halten. Es ist nicht so. Sicherheit durch Dunkelheit ist, wenn ein wesentlicher Teil Ihrer Sicherheit aus der Geheimhaltung der Methoden (der Implementierung) stammt. Hier ist ein Beispiel für Sicherheit durch Unbekanntheit:

  // Ohne Passwort anmelden, wenn die URL den Parameter dev = debug hat // Ich bin ein dummer Entwickler, daher glaube ich, dass dies sicher ist, weil niemand davon weiß !
// Aber dieser Quellcode kann nicht veröffentlicht werden oder ich werde sofort gehackt, wenn ($ login_password === $ password || $ _POST ['dev'] === 'debug') {login_ok ();}  

Selbst wenn Ihr Code korrekt ist und Sie sich auf Sicherheit verlassen, hindert Sie nichts daran, eine Verschleierungsebene darüber zu verwenden. Das heißt, wenn Sie den Quellcode privat halten, kann dies hilfreich sein, da dadurch ein potenzieller Angreifer verlangsamt wird. Das Wichtigste, an das Sie sich erinnern sollten, ist, dass Dunkelheit in Ordnung ist und nur dann als großer Vorteil angesehen werden kann, wenn es sich nur um eine Schicht über gutem Design handelt.

Abschließend würde ich sagen, dass Sie das besser nicht veröffentlichen sollten Quellcode, es sei denn, Sie haben einen Grund dazu (zum Beispiel, weil Ihre Software frei / frei sein soll und Sie eine Community rund um Ihr Projekt erstellen möchten). Wenn Ihr einziges Ziel darin besteht, die Sicherheit der Anwendung zu verbessern, erhalten Sie nichts, wenn Sie sie beispielsweise nur auf GitHub veröffentlichen. Wenn Sie wirklich befürchten, dass Ihre Software Fehler enthält, und Sie möchten, dass Ihnen jemand anderes hilft, indem er mehr "Augäpfel" bereitstellt, sollten Sie in Betracht ziehen, für ein professionelles Sicherheitsaudit zu zahlen.

Grund Ich möchte es veröffentlichen: 1) Es ist ein Hobbyprojekt, daher ist ein bisschen persönlicher Stolz involviert - ich möchte nur die Ergebnisse meiner Arbeit präsentieren;2) Ich möchte erfahrenere Entwickler bitten, sich den Quellcode anzusehen und eine rudimentäre Überprüfung durchzuführen - nicht unbedingt / nur in Bezug auf die Sicherheit, ich meine die allgemeine Codequalität;3) AFAIK Es sieht einfach gut aus, einen Github-Account mit etwas Größerem als Trivialem in einem Lebenslauf verknüpfen zu können.Hoppla, jetzt habe ich gelesen, dass das Veröffentlichen des Quellcodes einer Webanwendung eine schreckliche Idee sein könnte. Waren die Gründe 1-3 trügerisch?Ich bin besorgt.Ich habe diesen Kommentar geschrieben, um mein Denken zu erklären
Linus 'Gesetz ist im Allgemeinen ein Mythos.Siehe auch Peter Gutmanns [Engineering Security] (http://www.cs.auckland.ac.nz/~pgut001/pubs/book.pdf).
Die Veröffentlichung eines Projekts auf GitHub kann einige Sicherheitsvorteile mit sich bringen - da einige Sicherheitsanalysedienste wie LGTM.com (die zur vollständigen Offenlegung mein Gehalt zahlen) für öffentliche GitHub-Projekte kostenlos verwendet werden können.Ob der Nutzen davon das Risiko überwiegt, dass potenzielle Angreifer ein Problem bemerken, bevor Sie dies tun, ist ein anderes und heikleres Problem ...
@jww Es ist kein Mythos.Das hervorstechende Qualifikationsmerkmal ist _mit genügend Augäpfeln_.Viele Leute verstehen das so, dass Open Source automatisch etwas sicherer macht, was natürlich nicht stimmt.
@gaazkam, Wenn dies das Szenario ist und dies Ihre Ziele sind, veröffentlichen Sie den Code wie alle anderen in Ihrer Situation.Die Vor- und Nachteile sind in Ihrem Fall mehr als die Nachteile.Sicherheit wird wahrscheinlich überhaupt kein Problem sein, es sei denn, das Projekt wird populär genug oder Sie sind ein bestimmtes Ziel für einige Angreifer.
@forest, Ich denke, das Gesetz sollte eigentlich "genug Augäpfel, * genug * Fehler sind flach" oder "genug * hochwertige * Augäpfel seit * Beginn * eines Projekts, alle Fehler sind hoffentlich flach" sein.IMO ist das Problem, dass Open-Source-Software oft als einfache Projekte startet, die von ein paar Entwicklern verwaltet werden, und die guten Augäpfel möglicherweise erst (viel) später kommen.Dann hängt es auch davon ab, wie groß die Codebasis zu diesem Zeitpunkt geworden ist, ob sie auf Code von Drittanbietern usw. basiert.
Linus 'Gesetz ist kein Mythos, aber es ist auch nicht so nützlich, weil es eine Tautologie ist.Bei genügend Augäpfeln, um alle Käfer flach zu machen, sind alle Käfer flach.
Wenn Sie nicht etwas besonders Interessantes getan haben, ist es unwahrscheinlich, dass Sie Entwickler dazu bringen, Ihren Code zu überprüfen, indem Sie ihn einfach auf Github setzen.Es gibt dort eine TONNE Projekte, und die Veröffentlichung als OSS ist ein bisschen wie im Wind mitten im Atlantik zu schreien.Ich weiß nicht, ob es eine Community von Leuten gibt, die Codeüberprüfungen nur zum Spaß durchführen, aber Open Sourcing und Codeüberprüfung sind zwei verschiedene Dinge.Realistisch gesehen sind die Sicherheitsrisiken bei der Veröffentlichung eines Hobbyprojekts unglaublich gering.Niemand wird sich die Mühe machen, Ihr Hobbyprojekt zu leiten.
@barbecue Manchmal sind Tautologien immer noch nützlich, wenn sie dazu dienen, die Aufmerksamkeit auf etwas zu lenken, das zwar tautologisch ist, aber nicht intuitiv offensichtlich ist oder häufig überlegt oder diskutiert wird.Das Gesetz von Linus ist wertvoll für die Art und Weise, wie es darauf hinweist, dass es einen echten, pragmatischen Vorteil hat, gegen die Geheimhaltung vorzugehen.
@SteveSether - Dafür gibt es den [CodeReview.SE] -Stack, obwohl sie nicht ganze Codebasen verwenden.
"Wird Ihr Projekt beispielsweise geteilt, gegabelt, von vielen Benutzern ausgiebig genutzt und von einer großen Community überprüft?"- Wie OpenSSL?Mein Herz blutet für jeden, der glaubt, dass "alle Open-Source-Bugs flach sind" danach viel Glaubwürdigkeit hat.Sofern der Code nicht explizit von diesen Personen auf Sicherheit geprüft wird, spielt es keine Rolle, wie viele Codierer Ihre Github-Seite oder die Stackoverflow-Antwort besuchen und Ihren Codeblock mit Strg-C auswählen und mit Strg-V in den Editor ihrer Wahl einfügen.
@RobMoir OpenSSL ist die Ausnahme, die die Regel bestätigt.Es könnte ein Lehrbuchbeispiel dafür sein, wie man ein Open-Source-Projekt nicht ausführt.Heartbleed geschah größtenteils, weil niemand auf die Qualität des Codes achtete, bis Heartbleed passierte.Aber später, als die Community merkte, wie schlimm es geworden war, begannen sie, echte Anstrengungen zu unternehmen, um OpenSSL zu prüfen.Mehrere Fehler wurden sehr schnell gefunden und behoben, und die Codequalität verbesserte sich dramatisch.Mit anderen Worten, ja, dies ist ein Beweis dafür, dass das Linussche Gesetz funktioniert * wenn es anwendbar ist. *
"Gesetze", die nur funktionieren, wenn sie anwendbar sind (das ist übrigens eine Tautologie!), Sind keine Gesetze!Die implizite Phrase ist universelles Gesetz! Ausnahmen beweisen keine Regeln!Sie widerlegen sie!Es ist eine dumme Phrase, die zweifelhafte Ursprünge hat.Linus '"Gesetz" ist eher eine ungefähre Richtlinie, eine Maxime.Diese besondere Ausnahme hat bewiesen, dass es sich nicht um ein Gesetz handelt, auf das man sich verlassen kann. Sie müssen sich also selbst entscheiden.
@Greenaum Die meisten Gesetze haben Anforderungen.Wenn Sie nicht auf der Erde sind - nahe genug an einer Schwerkraftquelle -, wird das Gesetz der Schwerkraft Ihrem Apfel scheißen.Ja, ja, das allgemeine Gesetz / die Schwerkraft gilt immer noch, es hat nur keine sichtbare Wirkung, aber das alltägliche Gesetz, dass der Apfel herunterfällt, kommt nicht vor.Macht das Gesetz, dass Äpfel herunterfallen, wenn es hochgeworfen wird, nicht ungültig, es erfordert "hoch" und "runter", um zu existieren ^^ Die Augäpfel müssen schauen - dh das Gesetz ist sehr abgekürzt.Außerdem heißt es nicht, dass die Käfer verschwinden, nur dass sie gesehen werden können, wenn tatsächlich genug Augen schauen.
@Greenaum Wenn überhaupt, wäre Heartbleed ein Hinweis darauf, dass das Gesetz gilt, denn sobald die Leute anfingen zu suchen, fanden sie den Fehler.^^ (Nun, da dies gesagt ist, ja, es beschreibt einen allgemeinen Effekt in einer abgekürzten und vielleicht überbewerteten Weise, eine präzisere und weniger nervöse Art zu sagen, es könnte sein: "Je mehr Leute den Code überprüfen, desto wahrscheinlicher werden Probleme gefunden."- alles andere ist gleich ", aber das klingt viel weniger eingängig ^^
Mason Wheeler
2019-06-04 00:54:57 UTC
view on stackexchange narkive permalink

Es ist wichtig zu lesen, was ich im Kontext geschrieben habe.

Ja, es gibt gelegentlich gültige Anwendungsfälle für Sicherheit durch Dunkelheit.

Dies wurde geschrieben als Antwort auf eine Frage zum Penetrationstest eines Black-Box-Systems, bei dem die Idee, dass die Quelle verfügbar ist, nicht einmal auf dem Tisch lag. In einem solchen Fall kann Sicherheit durch Dunkelheit einen gewissen Nutzen haben. In der Regel ist es jedoch nicht besonders nützlich, und wenn dies der Fall ist, ist nur als einzelner Teil einer umfassenderen Strategie zur Tiefenverteidigung nützlich. Sie können ein Ziel nicht angreifen, wenn Sie dies tun Ich weiß nicht, wo es ist, aber sobald der Böse weiß, was er anstrebt, sollten Sie auch andere Abwehrkräfte einsetzen, oder Sie werden den sprichwörtlichen Bach hinaufsteigen.

Auch --und zutreffender für diese Frage, bei der die Möglichkeit des Öffnens des Quellcodes in Betracht zieht - alle Vorteile, die Sie durch das Ausblenden der Quellen erzielen können, werden durch das Kerckhoff-Prinzip stark aufgewogen : "[Sie sollten immer davon ausgehen, dass] der Gegner das System kennt." Mit anderen Worten, wenn Sie Ihr System nicht als sicher betrachten können, wenn der Gegner über den vollständigen Quellcode verfügt, können Sie es nicht als sicher betrachten. (Was ist nur gesunder Menschenverstand; wie viel Vertrauen würden Sie in ein physisches Schloss setzen, in dem der Baumarkt Ihnen mitgeteilt hat, dass es wichtig ist, es zu verbergen, damit die Leute nicht sehen, um welche Art von Schloss es sich handelt?)

Wenn Sie beginnen mit der Annahme, dass der Gegner das System kennt - was in der realen Welt bedeutet, dass er dieses Wissen durch anderes Hacken, durch irgendeine Form von Spionage oder verschiedene andere Kompromisse erlangt hat -, dann folgt logischerweise das Veröffentlichen des Systems Code bringt ihm nichts Neues bei. Was es tut, ist, den Guten die Gelegenheit zu geben, aufzuholen: Ehrliche Leute, die niemals versuchen würden, Sie zu hacken oder Ihre Sicherheit zu gefährden, sind jetzt eingeladen, einen Blick darauf zu werfen und Orte aufzuzeigen, an denen es besser sein könnte.

Aus rein Cybersicherheitssicht ist die Veröffentlichung der Quelle ein klarer Gewinner gegenüber der Dunkelheit. Es kann andere Gründe geben, dies nicht zu tun (Schutz von Geschäftsmethoden oder anderen vertraulichen Informationen), aber es ist nicht einer von ihnen, Hacker besser fernzuhalten.

Ich denke, dies ist ein Fall, in dem vernünftige Ratschläge wiederholt wurden, bis sie sich in ein bedeutungsloses Mantra verwandelten.Sicherheit durch Dunkelheit bedeutet Sicherheit, die ausschließlich durch die Verwendung von Dunkelheit erreicht wird und die ziemlich schwach ist.Aber es wurde zu einem Schlagwort, "Sicherheit durch Dunkelheit", und im Laufe der Jahre wurde es allmählich zu einer ruckartigen Reaktion, zu sagen: "Sicherheit durch Dunkelheit ist schlecht, mmmkay?"anstatt das Thema tatsächlich zu diskutieren.So ähnlich wie RAID5 jetzt der Teufel ist, und jeder, der erwähnt, dass er es benutzt, wird als Idiot bezeichnet.
@barbecue Ich würde zustimmen, aber ich würde es mehr mit Dijkstras "Goto als schädlich" vergleichen.Als dijkstra es 1968 sagte, waren gotos ein massives Problem.Es dauerte mindestens 20-25 Jahre, um Gotos in (fast) allen Sprachen fast vollständig zu eliminieren und durch bessere Strukturen zu ersetzen.Es gibt fast, aber nicht ganz null Fälle, in denen ein goto verwendet werden sollte.Sicherheit durch Dunkelheit ist ähnlich.Es wurde lange Zeit überbeansprucht und missbraucht, und es gibt wahrscheinlich einige Stellen, an denen es noch angemessen sein könnte, aber wie bei einem Goto sollten Sie es sorgfältig verwenden, da es möglicherweise bessere Alternativen gibt.
Sicher, ein System sollte auch dann aufstehen, wenn der Feind Ihren Quellcode hat.Aber du musst es ihm nicht geben!Und "auch wenn" ist so unrealistisch wie "sicher". Es ist wie ein Wettrüsten oder eine Schlacht.Sie tun alles, um Ihr System zu sichern, während ein Cracker jedes Tool verwendet, das er benötigt, um sich darauf einzulassen.Der Versuch, die Informationen Ihres Feindes zu reduzieren, ist nur eine weitere Sache. Dinge wie Verschlüsselungsstandards werden von Mathematikern untersucht und getestet, weil dies ihre Aufgabe (und ihr Interesse) ist.Es ist niemandes Aufgabe, das System dieses Typen zu untersuchen, oder zumindest niemand, der hilfreich ist.
@Greenaum Nein, Sie verpassen völlig den Punkt, den ich geschrieben habe.Bitte lesen Sie den vorletzten Absatz meiner Antwort noch einmal durch.Du sprichst nur davon, es den Bösen zu geben, aber die Quelle zu öffnen bedeutet, dass du es * auch den Guten gibst. Und es gibt noch viel mehr von ihnen.Es bedeutet, dass Sie den Menschen, die Ihnen helfen möchten, die Möglichkeit dazu geben und sich dabei einen massiven Vorteil verschaffen.
Mason, bitte lesen Sie noch einmal: "Dinge wie Verschlüsselungsstandards werden von Mathematikern untersucht und getestet, weil dies ihre Aufgabe (und ihr Interesse) ist. Es ist niemandes Aufgabe, das System dieses Typen zu untersuchen, oder zumindest niemand, der hilfreich ist."von meiner Antwort. Es gibt nicht unbedingt irgendwelche Guten, wie andere erwähnt haben.Es sind nicht viele Leute, die Zeit damit verbringen würden, den weltlichen und langweiligen Code eines anderen zu überprüfen. Wenn ein guter Kerl keine Verwendung oder kein Interesse an einem der Gigabyte Code hat, wird er keine harte Arbeit und Zeit in eine Sicherheitsanalyse investieren.Arbeit ist anstrengend genug, wenn Sie bezahlt werden!
Greenaum
2019-06-03 20:56:39 UTC
view on stackexchange narkive permalink

Sicherheit durch Dunkelheit ist keine schlechte Sache, sie ist einfach keine zuverlässige. Es sollte niemals Ihre Haupt- oder einzige Methode sein, etwas zu schützen. Es kann irreführend und illusorisch sein. Aber es hat immer noch einen gewissen Wert, zusätzlich zu anderen Methoden. Wenn Sie Ihre Plattform nicht kennen, kann dies einen Angreifer verlangsamen oder dazu führen, dass er mögliche Angriffswege verpasst. Insbesondere da das Gegenteil zutrifft, gibt es vorab geschriebene Stiftprüfwerkzeuge, die nacheinander bekannte Vulns anwenden. Warum riskieren, sie auszusetzen?

Der Ansatz "freundliche Augen" funktioniert unter Linux, da viele Leute Linux tatsächlich verwenden und ein Interesse daran haben, dass es weiterhin funktioniert. Gleiches gilt für Apache und was auch immer. Dies ist bei Ihrer Web-App wahrscheinlich nicht der Fall. Vermutlich entwickeln Sie Ihre Web-App für die spezifische Verwendung Ihres Unternehmens und nicht für ein allgemeineres Framework, das jeder in seine Website integrieren könnte. Es ist also unwahrscheinlich, dass Sie von Mitwirkenden profitieren.

Obscure 'em up! Und auch all die anderen, richtigen Sachen.

Dunkelheit schützt nicht vor einem entschlossenen Angreifer, aber sie hilft vor faulen, gelegentlichen Angreifern, und es gibt viele davon.
* Sicherheit * durch Dunkelheit kann oft eine schlechte Sache sein.Dunkelheit allein kann es nicht sein
@Dev Was ist der Vorteil von Dunkelheit, wenn es nicht Sicherheit ist?
@Alex Ich bin nicht sicher.
Achtung, „Sexurity by Obscurity“ bedeutet nicht „es ist sicherer, weil wir Informationen über das System unter Verschluss halten“, es steht im Allgemeinen für „es ist nur sicher, weil niemand das Innenleben kennt“ und als solches ist es ein sehrgefährliche Sicherheitsstrategie.
@Alex Sicherheitstheater?
@eckes, Ich weiß!Deshalb habe ich klar gesagt, dass er auch andere Sicherheitsmethoden anwenden sollte.Alles richtige Zeug.Er sollte sein Bestes geben, um Code ohne Löcher zu schreiben.Hierfür gibt es Tools und Methoden. Aber wenn er seinen Code nach bewährten Methoden geschrieben und die Luken heruntergefahren hat, wie man sollte, stellt sich immer noch die Frage, ob er seinen Code veröffentlichen soll. Dunkelheit kann helfen, weil ein Angreifer, der den Code hat, einen Vorteil gegenüber dem Nicht-Haben hat.Der Code sollte idealerweise uneinnehmbar sein.Aber es für sich zu behalten bedeutet, Ihrem Feind einen nützlichen Vorsprung zu verschaffen.
James_pic
2019-06-03 20:55:34 UTC
view on stackexchange narkive permalink

Es gibt einen wichtigen Unterschied zwischen der Veröffentlichung Ihres Codes und dem Versagen, Ihren Code vor dem Zugriff durch einen Exploit zu schützen.

Wenn Sie Ihren Code veröffentlichen, gibt es Blackhats, Greyhats und Whitehats mit Zugriff zu Ihrem Code. Die Whitehats enthüllen alle Schwachstellen, die sie entdecken, und Greyhats können sie offenlegen, wenn die Bug Bounty groß genug ist. Blackhats wird versuchen, Sie zu hacken, egal was passiert, und der veröffentlichte Code wird ihnen helfen. Daher besteht ein Kompromiss zwischen dem Nutzen, den Sie aus der Offenlegung von Sicherheitslücken ziehen können, und der Gefahr, dass Sicherheitslücken von Angreifern entdeckt werden. Dieser Kompromiss begünstigt jedoch häufig die Veröffentlichung.

Wenn Ihr Code durch einen Exploit aufgedeckt wird, haben meistens Blackhats Zugriff darauf. Wenn Schwachstellen auf diese Weise entdeckt werden, besteht eine viel geringere Wahrscheinlichkeit, dass sie verantwortungsbewusst offengelegt werden. Daher ist es sehr unwahrscheinlich, dass dieser Kompromiss zu Ihren Gunsten funktioniert.

ForrestLyman
2019-06-04 05:07:17 UTC
view on stackexchange narkive permalink

Ich habe mehrere Open Source-Projekte entwickelt, darunter Digitalus CMS 2007-2012. Jetzt, da wir Tools wie NPM erstellt haben, bevorzuge ich einen Ansatz, bei dem ich bestimmte, allgemeinere Module teile, für die es so gut wie unmöglich wäre, geistiges Eigentum zu beanspruchen, und dann die endgültige Implementierung privat halte.

Dieser Ansatz ist für eine größere Bandbreite von Projekten einfacher anzuwenden und bietet Ihnen die Vorteile, Tausende von Augen auf Ihre Kernbibliotheken zu haben und gleichzeitig Ihre Kernanwendung zu schützen.

Das Schreiben von wiederverwendbaren generischen Modulen, auf denen Sie spezifischere Implementierungen aufbauen, scheint sowieso eine der Kernideen von Open Source-Software zu sein.Schön, dass du dich entschieden hast zu teilen!


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 4.0-Lizenz, unter der er vertrieben wird.
Loading...