Sie tun es entweder selbst oder vertrauen jemand anderem
Wie bei den meisten Dingen im Leben müssen Sie es entweder selbst tun oder jemand anderem vertrauen. Hier umfasst Vertrauen sowohl das Fehlen einer böswilligen Absicht als auch die Kompetenz, die Aufgabe ordnungsgemäß auszuführen.
Sie können beispielsweise Ihre Steuern selbst oder vertraue einem Steuerberater (der nicht nur nicht versuchen sollte, dich zu betrügen, sondern auch weiß, wie man die Steuern einreicht!).
Wenn Sie ein Unternehmen sind, es selbst zu tun wird tatsächlich von einem oder mehreren Ihrer Mitarbeiter ausgeführt, denen wiederum vertraut werden muss.
Der Dritte, dem Sie vertrauen, muss kein einzelner sein Person auch. Dies kann das Microsoft Windows-Entwicklungsteam oder die Wordpress-Kernentwickler sein.
In Bezug auf die Quellcodesicherheit möchten Sie, dass der Experte nicht nur gut ist -bedeutend, aber auch sachkundig, um das Programm auf sichere Weise zu codieren / mögliche Sicherheitsprobleme zu finden.
(plus ein paar zusätzliche Grenzsysteme, wenn sie als Ganzes behandelt werden, z. B. wenn Sie das möchten Ihr Code wurde nicht kompromittiert, während sie ihn in das Repository hochgeladen haben, oder die E-Mail Ihres Mitarbeiters, in der angegeben wird, dass die Ergebnisse durch einen böswilligen Hacker in Ihrem Netzwerk ersetzt wurden, um zu bestätigen, dass die Anwendung in Ordnung war.
Sie benötigen Um Ihre Optionen zu bewerten, bewerten Sie das mit jedem einzelne Risiko verbundene Risiko und wählen Sie den Pfad, der Ihren Interessen (und Ihrem Budget!) am besten entspricht.
Wenn ich die Sicherheit des Quellcodes eines Blogs überprüfen würde, wäre dies Wenn ich Wordpress verwende, würde ich im Allgemeinen darauf vertrauen , dass der ursprüngliche Code in Ordnung ist1¹ und die Unterschiede zwischen der offiziellen und der verwendeten Version überprüfen. Wenn die Website kompromittiert würde, wäre dies viel einfacher herauszufinden.
¹ Überprüfen Sie offensichtlich das Änderungsprotokoll späterer Versionen, wenn es ein veraltetes verwendet.
Wenn es jedoch vom Neffen des Besitzers entwickelt wurde, würde ich erwarten, dort viele Schwachstellen zu finden, und würde eine gründliche Überprüfung von allem empfehlen.
In Ihrem Fall sollten Sie das bewerten Risiko und Kosten für die Entwicklung des Äquivalents dieser Bibliothek (berücksichtigen Sie, dass die Wahrscheinlichkeit von Problemen mit Ihrem Inhouse-Produkt ebenfalls nicht Null ist und unter anderem von der Qualität der beteiligten Personen abhängt) im Vergleich zum Risiko und Kosten für die Prüfung und Verwendung dieser Bibliothek.
Nun kann es abschwächende Faktoren geben, die die Prüfung vereinfachen. Wenn der nicht vertrauenswürdige Code beispielsweise in einer isolierten virtuellen Maschine ausgeführt werden kann, reicht dies möglicherweise aus, um keine weitere Überwachung zu erfordern (auch hier vertrauen Sie der VM-Implementierung). Oder es kann als ausreichend angesehen werden, die Teile dieses Programms zu prüfen, die als Root ausgeführt werden.
Zum Prüfen einer Bibliothek können Codeanalysatoren helfen, problematische Teile (wie bereits erwähnt) aufzuzeigen, aber um dies zu berücksichtigen Um sauber zu sein, hätte ich tatsächlich jemanden, der den Code liest und versteht, auch wenn er oberflächlich ist.
Zum Beispiel ist die Fähigkeit, beliebige Dateien zu entfernen, an sich nicht böswillig / em>. Sie müssen das Programm verstehen, um zu wissen, ob es sinnvoll ist.
Auch hier geht es um die Bedrohungen und Risiken für das, was Sie tun. Wenn Sie sich nur mit der Exfiltration von Daten durch die Bibliothek befassen, kann es ausreichend sein, Verbindungen an der Firewall zu filtern. Wenn Sie Bedenken haben, dass die Bibliothek wichtige Dateien löscht (und aus irgendeinem Grund können Sie eine solche Berechtigung nicht verweigern), können Sie einfach durch eine Reihe von Codes scrollen, die nur mathematische Berechnungen durchgeführt haben. Wenn diese Bibliothek die Parameter für den Start einer Rakete berechnet ... stellen Sie sicher, dass auch diese Berechnungen korrekt sind!