Wie überprüfen Sie Ihre Open Source-Bibliotheken auf Keystroke-Logger?

8

Eine zufällige Person im Internet sagte mir, dass eine Technologie sicher (1), sicher zu verwenden und keine Keylogger enthielt, da es sich um Open Source handelt. Während ich den Key-Stroke-Logger in dieser Open-Source-Anwendung trivial erkennen kann , was können Entwickler (2) tun, um sich vor Rouge-Committern für Open-Source-Projekte zu schützen?

Wenn ich ein Schurkenentwickler wäre, würde ich einen Zweig auf Git aufteilen und für den Download werben, da er Twitter-Unterstützung (und einen geheimen Key-Stroke-Logger) hätte. Wenn es ein SVN-Repo wäre, würde ich einfach ein neues Projekt erstellen. Noch besser wäre es, den Schadcode in die automatischen Update-Routinen aufzunehmen.

(1) Ich werde nicht erwähnen, welche, weil ich immer nur mit einer Art von Eiferer gleichzeitig umgehen kann.

(2) Normale Benutzer sind ihrer Software zur Erkennung von Viren und Malware ausgeliefert. Es ist absurd zu erwarten, dass Oma die Codequelle des Quellcodes ihres Open-Source-Textverarbeitungsprogramms liest, um den Tastenanschlag-Logger zu finden.

MatthewMartin
quelle

Antworten:

7

Ich hatte kürzlich die Gelegenheit, eine Software-Sicherheitsanalyse für FileZilla, eMule und Shareaza durchzuführen. Ich habe den Code über cppcheck, RATS und ITS4 ausgeführt. Kein Tool kann erkennen, ob ein Code harmlos oder schädlich ist. Es erfordert eine Sichtprüfung - was ich auch getan habe. Ich habe zwei Wochen damit verbracht, jeden Quellcode Zeile für Zeile zu untersuchen. Ich habe wahrscheinlich etwas verpasst. Deshalb wurde meine Arbeit von einer anderen Person unterstützt, die das Gleiche oder mehr fand als ich. Beispielsweise verwendet FileZilla ein PHP-Skript, um Ihre externe IP-Adresse im PASV-Modus zu ermitteln. Was macht das PHP-Skript? Wer weiß das schon? Ich sehe Ihren Standpunkt und Ihren Standpunkt gut aufgenommen. Abhängig von Ihrer Strategie sollten Sie eine Risikominderungsstrategie verfolgen und die Quelle selbst untersuchen oder externe Berater einstellen. Auf diese Weise stellen Sie sicher, dass die Software sicher ist.

Brian
quelle
Was ist mit eMule? Wirklich gespannt, was für ungezogene Sachen das machen.
@ The Mouth of a Cow: Ruft einige externe PHP-Skripte auf, z. B. in Emule.h in Zeile 27: " porttest.emule-project.net/connectiontest.php ". Ruft ein Upgrade-Tool für eine externe Version in WebServer.cpp auf. Eine Reihe von Programmierfehlern, potenziellen Pufferüberläufen, LoadLibrary-Schwachstellen, ShellExecute-Schwachstellen usw.
Brian
Elektronenmikroskopieren Sie die Chips in Ihrer in China gefertigten Tastatur? Sollten Sie, wenn Sie ein Verteidigungsunternehmen sind?
Martin Beckett
@ Martin: Kommt darauf an, wie sicher du sein willst, nehme ich an.
Brian
@MartinBeckett Zugegeben, wenn der Fahrer nicht mitarbeitet, würde ein solcher Chip nicht viel bewirken. Ich nehme an, es könnte versuchen, eine Verbindung zu ungesichertem WLAN herzustellen, aber ich habe das Gefühl, dass dies irgendwann bemerkt werden muss.
Llamageddon
5

Dies fällt in die Kategorie "Vertrauen, Open Source". Wenn sich genügend Leute den Code eines Projekts ansehen, ist es unwahrscheinlich, dass irgendjemand etwas Schändliches übersehen kann. Schauen Sie sich auch den Ruf der Partei an, die das Projekt unterstützt. Ist es J. Random Coder oder Apache Software Foundation? Je kleiner die Codebasis ist, desto schwieriger ist es natürlich, etwas einzulegen. Und hängt das Open Source-Projekt von externen Bibliotheken ab, die nicht Open Source sind? Wenn ein Projekt ein benutzerdefinierter Zweig eines obskuren Projekts ist, das auf einer unbekannten Website gehostet wird ... na ja.

Außerdem würde ich mich nicht speziell um Keylogger kümmern, sondern um mehr Sicherheit im Allgemeinen. Dies schließt versehentliche Sicherheitsverletzungen ein, die bei kleinen Projekten weitaus häufiger auftreten. Hintertüren, schlecht implementierte Privatsphäre und der erforderliche Zugriff auf das System sind alles Risiken, die wahrscheinlicher sind als ein absichtlicher Keylogger.

Mike Miller
quelle
3

Entwickler können verhindern, dass betrügerische Committer ihre Open-Source-Projekte bearbeiten, indem sie nicht jedem und ihren Pinguinen Commit-Privilegien gewähren. Das Unterscheidungsprinzip von Freier Software / Open Source ist nicht, dass die Entwicklung Crowd-Sourcing-fähig ist (obwohl dies möglich ist), sondern dass es möglich ist, Projekte zu forken.

Leute, die Software herunterladen, müssen ein wenig Sorgfalt walten lassen, und das gilt für F / OSS genauso wie für proprietäre / Closed-Source-Software. Software, die Sie von einer seriösen Quelle erhalten, ist normalerweise gut (in beiden Fällen). Software von einem Fly-by-Night hat eher Malware.

David Thornley
quelle
0

Es ist nicht so, dass jemand Zugriff auf ein Open Source-Projekt hat. Und selbst wenn jemand bösartigen Code begeht, kann dieser entdeckt werden, da die Quelle öffentlich ist. Wenn Sie den Managern des Projekts nicht vertrauen, können Sie jederzeit jemanden wie 0A0D einstellen, der den Code für Sie überprüft. Es ist nicht perfekt, aber es ist besser als die Alternative;

Für ein Closed-Source-Projekt müssen Sie nur dem Lieferanten vertrauen. Woher wissen Sie, dass Closed-Source-Software keine Hintertüren enthält? Das tust du nicht. Schädlicher Code kann von einem verärgerten Mitarbeiter hinzugefügt worden sein, der nach einer Möglichkeit sucht, Geld zu verdienen, einem bösen Hausmeister, der zufällig Zugriff auf das Repository des Unternehmens hatte ... In Closed-Source-Software gibt es keine Möglichkeit, dies zu wissen.

Martin Vilcans
quelle
Ich dachte an Open Source wie an Source Forge und Github, nicht an Open Source wie veröffentlicht. Wenn es einen Anbieter gibt, haben Sie eine gewisse Sicherheit, dass der Code nicht böswillig ist, da Sie einen bekannten Lieferanten vor Gericht bringen und zivilrechtliche Schäden und strafrechtliche Sanktionen erhalten können. Ein Open-Source-Projekt besteht aus einer Reihe von mehr oder weniger anonymen Mitwirkenden, die Sie nicht vor Gericht bringen können. Andernfalls haben sie nicht viel zu verlieren. Wie auch immer, wenn überall verärgerte und böse Täter sind, ist die Verwendung von Closed- und Open-Source-Code von Drittanbietern ebenso gefährlich.
Matthew
Open Source ist eine Marke. Wenn ich also Open Source sage, meine ich das mit der Definition des OSI. Aber es gibt einen Anbieter, auch für Open Source-Software. Ich weiß nicht, ob ein Anbieter keine Verantwortung für Code übernehmen kann, der offensichtlich böswillig ist, aber die meisten Open Source-Projekte versuchen es, da die Lizenz häufig eine Klausel "Keine Garantie" enthält.
Martin Vilcans