Ich bin dabei, eine OSS-Software herunterzuladen, und möchte (mit hinreichender Sicherheit) sicherstellen, dass das Einfügen von Malware nicht manipuliert wurde. Insbesondere ist es ein Passwort-Manager ( KeePassX ), der als extrem saftiges Ziel für Hacking erscheint, daher fühle ich mich besonders paranoid.
Die zwei Vektoren für das Einfügen von Malware, die mir einfallen, sind:
- Malware findet Eingang in den offiziellen Quellcode.
- Eine böswillige Gabelung oder ein böswilliger Build ersetzt die offizielle Gabelung auf der Website.
Die Download-Seite enthält Prüfsummen. Dies scheint jedoch nicht vor den beiden oben genannten Hacks zu schützen.
Ich habe weder das Fachwissen noch die Zeit, um ein Quellcode-Audit durchzuführen.
Was sind Best Practices für die Überprüfung von Open Source-Software sensibler Art auf Malware?
Antworten:
Wenn Sie die Quelle fürchten, was Ihre Frage impliziert, können Sie der Software auf keinen Fall vertrauen.
Die Lösung besteht darin, die Quelle nicht mehr zu fürchten.
Zu diesem Zweck können Sie sich auf die Tatsache konzentrieren, dass von Tausenden, wahrscheinlich Millionen von OSS-Softwareprojekten die Anzahl der infizierten Projekte und des genehmigten und in die Hauptcodebasis eingeführten infizierten Codes gleich Null ist.
Sie können sich auch auf die Logik des Problems konzentrieren: Aufgrund der großen Anzahl von Augen, die über jeden Teil des Codes gehen, und der extrem geringen Wahrscheinlichkeit, dass eine ausreichende Anzahl dieser Augen von den Malware-Herstellern gekauft wird, um den schändlichen Code zu erzwingen Um einbezogen zu werden, ist die Wahrscheinlichkeit, dass fehlerhafter Code es in ein solches Tool geschafft hat, ebenfalls gleich Null.
Aus diesen Gründen versuche ich, mich an seriöse, gut empfohlene, gut unterstützte und aktiv entwickelte OSS-Tools für kritische Software zu halten. In all diesen Situationen spielen wir mit Gewinnchancen. Und während die Standardquoten extrem niedrig sind, sind die Chancen, dass ein aktives Softwareprojekt infiziert wird, sogar niedriger als die Standardquoten.
quelle
/* compromise security */
Kommentare mit ihrem Code abgeben. Angriffe werden nicht auffälliger aussehen.Wie paranoid willst du sein? Vertrauen Sie Ihrem Compiler? Es gibt eine interessante Geschichte (lesen Sie den Abschnitt Reflections on Trusting Trust ) von Ken Thompson, einem der ursprünglichen Schöpfer von Unix. Es beschreibt ein System, in dem das Anmeldeprogramm über eine Hintertür verfügt, über die er auf jeden Computer zugreifen kann. Der Compiler wird so geändert, dass der Compiler den Backdoor-Code bemerkt und einfügt, wenn jemand die saubere Quelle des Anmeldeprogramms kompiliert.
Der Compiler bemerkt auch, ob jemand die saubere Quelle des Compilers kompiliert, und fügt dort auch den richtigen Code ein. In jenen Tagen war alles als Quelle verfügbar, aber Sie würden eine binäre Version des Compilers als Startpunkt benötigen. Der bösartige Code wird also nie im Quellcode angezeigt, sondern verbreitet sich selbst, wenn Teile des Systems neu kompiliert werden. Dies wäre unglaublich schwer herauszufinden, da im Grunde genommen der laufende Code überprüft werden muss.
Zurück zur ursprünglichen Frage, müssen Sie jemandem vertrauen. Die Frage ist, wie weit die Kette hinauf muss? Bei einem bekannten Projekt wird wahrscheinlich jemand bemerken, wenn es ziemlich schnell ein Problem gibt.
quelle
Wenn Sie einen Spiegel der Pakete finden, können Sie diese mit ihren Prüfsummen vergleichen.
Dies würde vor dem zweiten Vektor schützen, vorausgesetzt, die Pakete wurden gespiegelt, bevor sie ersetzt wurden.
Zum Schutz vor dem ersten Vektor müssen Sie sich wahrscheinlich die Änderungen im Quellcode ansehen.
quelle
Wenn Sie sich nicht mit täglichen Builds beschäftigen, ist dies unwahrscheinlich.
Dies würde den Zugriff auf die Website erfordern, was unwahrscheinlich ist, ohne dass jemand es bemerkt. Sie sollten sich weitaus mehr Sorgen darüber machen, dass die Website von MySQL kompromittiert wird.
Sicher tut es das ... Jemand musste diese Werte posten, die nicht automatisch generiert wurden.
quelle