Wer überprüft in Open Source Programmen den Code auf Schadsoftware?



  • Warum sollte man das nicht merken, wenn plötzlich bei all deinen Kunden von deinem Programm die Platte formatiert wird? Und wenn sowas passiert, kann man sehen wer es eingecheckt hat und kennt seinen richtigen Namen und nicht nur so nen Nick von nem Scriptkiddie.



  • Es gibt auch Closed Source Programme die nicht von Firmen entwickelt werden und die nichts kosten. Was hindert da den Author daran Schadsoftware einzubauen? Für Spy- und Adware bekommt er vielleicht sogar auch noch Geld.

    Und auch wenn bei Open Source jeder mitarbeiten kann, heißt es nich das jeder einfach Code einchecken kann. Patches werden normalerweise an einen Entwickler geschickt, der den Code dann durchsieht und einscheckt. Dieser ist dann auch dafür verantwortlich und namentlich bekannt.



  • Code Audit schrieb:

    Mal angenommen ihr schreibt ein kleines unbedeutendes Open Source Programm, das aber noch gut genug ist, daß es von einer Nische benutzt wird und in die großen Distributionen (z.B. Ubuntu -> universe) in die Paketrepositories aufgenommen wird.

    Wer überprüft dann den Code?
    Wer schaut nach, ob ihr nicht ein Programmierer mit böswiliger Absicht seit?
    Ist es nicht so, daß der Paketmaintainer zwar Ahnung vom Packen, aber nicht unbedingt Ahnung vom Programmieren hat?

    Man muss sowohl beim opensource als auch bei closedsource erstmal Vertrauen haben, wenn man etwas benutzt, was man nicht selber geschrieben hat. Wenn ein opensource Projekt klein ist und nur eine Nische benutzt, wird wahrscheinlich keiner sich deinen Code angucken, wenn das Programm das tut, was es tun soll ohne dass es auffällige Nebenwirkungen gibt. Wenn ich ein Programm starte, das an sich kein Netzwerk braucht, und trotzdem die I-net Verbindung langsam wird, dann wird es mir (und andere auffallen) und dann versucht man herauszufinden, woran es liegen kann. Da schaut man sich schon den Code an.

    Wenn dein Programm bisschen mehr verwendet wird, dann kann es Leute außerhalb des Projekt geben, die dir helfen, z.b. mit dem Einreichen von Patches, usw. Diese werden zwangsäufig sich mit dem Code auskennen, vielleicht nicht alles aber denen würde es irgendwann "böse Sachen" auffallen und sicher publik machen.

    Wenn dein Programm Einzug in große Distris schafft, dann gibt es i.d.R. einen Maintainer (bzw. eine ganze Gruppe), die den Code pflegt bevor es zu den Repositories kommt. Die kennen sich auch mit dem Code aus, vielleicht auch nicht zu 100% aber denen würde es auch etwas auffallen.

    Je beliebter umso mehr Leute (von aussen) schauen sich deinen Code an. Das ist schon ein Vorteil von opensource ggü. closedsource, aber ich sehe dennoch die Gefahr gleich groß bei beiden. Eigentlich muss nur Vertrauen haben, 100% Sicherheit gibt es nicht.



  • Zur eigentlichen Frage: Ich gehe schon davon aus, dass ein Maintainer sich auch mit der Software befasst, die er da verwaltet. Außerdem haben viele Opensource-Projekte ja mehrere Entwickler oder Contributors. Gerade größere Software - wo man Schadcode verstecken könnte - hat ja selten nur ein oder zwei Entwickler.

    Ich selbst schaue regelmäßig in den Code von irgend welchen Projekten. Sei es aus Interesse oder weil ich etwas verbessern/verändern möchte. Aber es gehört imho auch dazu, wenn man ein "echter Programmierer" sein will, dass man sich fremden Code anschaut.

    @NÖh
    Deine Voraussetzungen sind einfach falsch:

    1. Opensource ist nicht anonym. Ich kenne kein opensource Projekt, dass anonym entwickelt wird und ich bezweifle, dass so etwas aufgenommen werden würde. Gerade die OS-Entwicklung basiert ja oft darauf, dass man seinen Namen bekannt macht bzw. zumindest etwas für eine Bewerbung hat :). Hinter vielen OS-Projekten stehen ja sogar Firmen. Es mag vielleicht sein, dass irgend wann mal ein 15 jähriger mit einem 1337name ein Patch beisteuert. Aber der wird dann ja vorher von den eigentlichen Entwicklern begutachtet. Bei absichtlichem Schadcode hat ein Opensourceentwickler in der Regel also mehr zu verlieren, als ein Entwickler in einem Closedsourceprojekt. Der verliert im Zweifelsfall den Job und fängt dann woanders an. Ein Opensourceentwickler ist dann für alle Zeit öffentlich gebrandmarkt.

    Dagegen sind doch gerade so kleine Sharewareprogramme nicht selten von irgend welchen 15 jährigen mit 1337name geschrieben.

    2. Opensource heißt nicht kostenlos. Viel OS-Software wird von Leuten entwickelt, die dafür bezahlt werden. Bei größeren Distributionen leben auch die Maintainer von ihrer Arbeit. Sie haben also auch kein Interesse daran, dass ihnen etwas peinliches passiert und auch hier wäre der Name viel präsenter.

    3. Opensource heißt nicht, dass jeder in den Code schreiben kann. 15 jährige Scriptkiddies können nicht einfach einen Patch in den Linuxkernel packen. Das geht vorher durch die eigentlichen Entwickler/Maintainer/Verantwortlichen und für kleinere OS-Projekte ist es ohnehin äußerst selten einen großen Patch zu erhalten. Oft handelt es sich ja um Kleinigkeiten, die man innerhalb weniger Minuten überschauen kann.

    4. Closedsource heißt nicht, dass man verfolgen kann, wer was gemacht hat. Viele Software basiert auf zugekauften Bibliotheken etc. Ich will nur an das NSA- oder Scientology-Modul in Microsoft Windows erinnern. Auch haben viele Firmen sehr kuriose Entwicklungsmodelle. Und was ist, wenn der Schadcode seine Spuren gut verwischt? Dann findet man ggf. nicht einmal die Software, die dafür Verwantworlich ist.

    Opensource hat hier keinen Nachteil, sondern ist im schlimmsten Fall auf der gleichen Stufe wie ein Closedsourceprojekt. Im besseren Fall schauen aber sogar mehr Leute über den Code und die Gefahr reduziert sich.



  • Und wie kommt an sowas rein, wenn doch alle so gut aufpassen?

    Headhunter schrieb:

    Im KDE Projekt gabs es mal einen Entwickler der genau das versucht hat. Er hat einen Kommentar irgendwo tief im KDE Tree vergraben in der Art "ich bin ein Virus - wenn ich böse wäre, wäre deine Platte jetzt leer" oder so.

    Wurde nach ein paar Tagen oder Wochen (also schon längerer Zeit) wieder entfernt.



  • NÖh schrieb:

    Und wie kommt an sowas rein, wenn doch alle so gut aufpassen?...

    Das hätte genauso gut in einem closed source Projekt passieren können. Auch wenn der Code unter vier Augen reviewed und eingecheckt wäre.
    Hast Du viel Geld in "closed source" Software inverstiert und suchst jetzt nach allen möglichen Argumenten, um es irgendwie verzweifelt zu begründen ? 😉



  • Code Audit schrieb:

    Wer überprüft dann den Code?
    Wer schaut nach, ob ihr nicht ein Programmierer mit böswiliger Absicht seit?

    keiner, irgendwem wird es auffallen. spätestens wenn die schadsoftware aktiv wird und dann wissen's alle. dann lieber von zeit zu zeit eine .exe in irgendwelche spielecoder-kiddies-foren posten: 'mein neues geiles game, probiert's mal alle aus!' *fg* zum finden von schadsoftware ist übrigens das hier ganz brauchbar: http://www.neuber.com/taskmanager/
    ach ja, und dass man niemals seine kreditkartennummer u.ä. persönliche daten in ein programm eingibt, versteht sich von selbst.
    🙂



  • Headhunter schrieb:

    Im KDE Projekt gabs es mal einen Entwickler der genau das versucht hat. Er hat einen Kommentar irgendwo tief im KDE Tree vergraben in der Art "ich bin ein Virus - wenn ich böse wäre, wäre deine Platte jetzt leer" oder so.

    Wurde nach ein paar Tagen oder Wochen (also schon längerer Zeit) wieder entfernt.

    Ok, aber das Kommentar lag ja im Klartext vor und man benötigte keinen Programmierer um die Schadfunktion zu erkennen, denn selbst ein Nichtprogrammierer kann ein normales Kommentarlesen und nach Wörtern wie Virus usw. kann man ja auch den Code durchsuchen lassen.

    Was ist denn mit besser versteckten Funktionen, z.B. Schleifen die
    nen Textausgeben, aber diesen als Hexcode gespeichert haben und den erstmal berbeirechnen, so daß es nicht so einfach zu erkennen ist?



  • borg schrieb:

    Das einzige echte Beispiel was mir dazu einfällt ist JAP (java anonymous proxy), sowas ähnlices wie TOR. Die wurden gerichtlich dazu gezwungen eine Hintertür in ihren Code einzubauen und ein automatisches Update dazu zu verteilen. Hat keine Woche gedauert bis das jemand zufällig gefunden hat 👍 .

    Quelle?

    Welches Gericht in welchem Land kann so etwas erzwingen?
    War es ein Land mit Diktatur, so meine Vermutung?

    Wenn dem so ist, dann muß ich auch davon ausgehen, daß Progrmame wie Truecrypt usw. eine Hintertür haben.



  • abc.w schrieb:

    garbageman schrieb:

    Wenn man bedenkt, was man schon an einem Tag für Schaden anrichten kann, ist OpenSource eigentlich bei sowas ganz schön gefährlich.

    Aber die Gefahr ist ja auch bei "CloseSource" vorhanden.

    Ja, aber überwiegend doch nur, wenn man kleine Wald und Wiesen Software installiert.

    Wenn ich mir aber nur von den großen Firmen Software kaufe.
    Wie z.B. Windows & MS Office von Microsoft, sowie vielleicht noch Adobe Photoshop CS, dann habe ich als normaler Benutzer doch schon alles wichtige (wie OS, Textverarbeitung, Browser, Bildbearbeitungsprogramm etc.) was man so braucht und da diese Firmen einen Ruf und teure Prozesskosten zu verlieren haben, werde ich da sicher keine Schadsoftware finden, die dazu führt, mir mein Online Banking Bankkonto leerzuräumen.

    Bei diesen Firmen besteht also lediglich die Gefahr der staatlichen Unterwanderung.
    Nicht aber der Unterwandung durch kriminelle Organisatioen, wie die Mafia usw. oder etwa doch?



  • maximAL schrieb:

    garbageman schrieb:

    Wenn man bedenkt, was man schon an einem Tag für Schaden anrichten kann, ist OpenSource eigentlich bei sowas ganz schön gefährlich.

    Deswegen setzt man auch keine Bleeding Edge Software auf Produktivsystemen ein, schon gar nicht wenn die auch noch sicherheitskritisch sind 😉

    Mein Desktoprechner mit dem ich Online Banking mache betrachte ich als sicherheitskritisch.

    Und was soll man da nehmen?
    OpenBSD ist vielleicht sicher, aber als Desktop OS eher ungeeignet.
    Und Debian hat uraltsoftware deren funktionalität gerade beim Desktop unzureichend ist.



  • NÖh schrieb:

    Und wie kommt an sowas rein, wenn doch alle so gut aufpassen?

    Headhunter schrieb:

    Im KDE Projekt gabs es mal einen Entwickler der genau das versucht hat. Er hat einen Kommentar irgendwo tief im KDE Tree vergraben in der Art "ich bin ein Virus - wenn ich böse wäre, wäre deine Platte jetzt leer" oder so.

    Wurde nach ein paar Tagen oder Wochen (also schon längerer Zeit) wieder entfernt.

    Irgendwer muss ja Änderungen einchecken können. Und einer von denen hat wohl ein derartiges Experiment gemacht. Wobei das Quatsch ist. Schadroutinen wird man wohl kaum so kenntlich machen, wenn man diese einschleust. In einem realistischen Szenario hätte es wohl Monate gedauert, bis jemand den schadhaften Code entdeckt hätte, wenn überhaupt.



  • Code Audit schrieb:

    Quelle?

    google einfach nach java anonymous proxy, das Internet ist voll von Diskussionen dadrüber

    Code Audit schrieb:

    Welches Gericht in welchem Land kann so etwas erzwingen?

    Das Amtsgericht Frankfurt in Deutschland.

    http://en.wikipedia.org/wiki/Java_Anon_Proxy#Privacy schrieb:

    In 2003, the German BKA[4][5] obtained a warrant to force the Dresden Mix operators to log access to a specific web address and to introduce a crime detection function in the server software making this possible



  • könnt ihr mal quellen zu diesen vorfällen vorlegen?!!?!?

    @Headhunter & borg

    -.-"



  • rüdiger schrieb:

    2. Opensource heißt nicht kostenlos. Viel OS-Software wird von Leuten entwickelt, die dafür bezahlt werden. Bei größeren Distributionen leben auch die Maintainer von ihrer Arbeit. Sie haben also auch kein Interesse daran, dass ihnen etwas peinliches passiert und auch hier wäre der Name viel präsenter.

    Wer überprüft denn den Code von Paketen im Ubuntu Universe Zweig?

    Alle Arbeit die nicht in main liegt, wird von Canonical AFAIK nicht bezahlt.
    Wer überprüft die Pakete in universe?

    Und noch schlimmer, wer überprüft überhaupt, ob medibuntu.org sichere Pakete liefert?
    Gerade hier könnte man doch extrem böses Zeug einbauen, denn die Pakete liegen ja eh schon als Binary vor und ob dazu auch der gleiche Quellcode benutzt wurde, wie das ebenso verfügbare Quellcodepaket, das ist doch höchst fraglich.

    [QUOTE
    3. Opensource heißt nicht, dass jeder in den Code schreiben kann. 15 jährige Scriptkiddies können nicht einfach einen Patch in den Linuxkernel packen. Das geht vorher durch die eigentlichen Entwickler/Maintainer/Verantwortlichen und für kleinere OS-Projekte ist es ohnehin äußerst selten einen großen Patch zu erhalten.
    [/QUOTE]
    Siehe oben.

    Der Linux Kernel steht in dieser Frage ja eh außen vor.
    Entscheident sind die kleinen Helferlein.
    Wer von euch hat z.B. mal den Code von zerofree durchgescheckt.
    Und wer von euch hat sich den Code von Geany angeschaut?



  • wer überprüft das in closed source programmen? dsa is ne viel interessantere frage imo.



  • ;fricky schrieb:

    ach ja, und dass man niemals seine kreditkartennummer u.ä. persönliche daten in ein programm eingibt, versteht sich von selbst.
    🙂

    Nö, denn den Firefox benutzt ja sicher der ein oder andere wohl.

    Firefox mag jetzt vielleicht nicht der kritische Punkt sein, aber was ist mit Plugins für Firefox oder Programme die Hintergrundprozesse starten und die Tastatureingaben mitaufzeichnen?



  • findet man sofort raus. bei nem schrott closed source plugin für internet expl0der hingegen findet man das nie raus. deshalb ist closed source software generell unsicher. 👎

    so zu tun als ob dies ein problem von open source wär, ist mal wieder typisch für die mentalität dieses forums 🙄



  • Code Audit schrieb:

    Wenn ich mir aber nur von den großen Firmen Software kaufe.
    Wie z.B. Windows & MS Office von Microsoft, sowie vielleicht noch Adobe Photoshop CS, dann habe ich als normaler Benutzer doch schon alles wichtige (wie OS, Textverarbeitung, Browser, Bildbearbeitungsprogramm etc.) was man so braucht und da diese Firmen einen Ruf und teure Prozesskosten zu verlieren haben, werde ich da sicher keine Schadsoftware finden, die dazu führt, mir mein Online Banking Bankkonto leerzuräumen.

    Aber dann hast Du immer noch die Wahrscheinlichkeit, dass die frommen MS Programmierer ein Hintertürchen für die andere Schadsoftware eingebaut haben könnten...



  • abc.w schrieb:

    Aber dann hast Du immer noch die Wahrscheinlichkeit, dass die frommen MS Programmierer ein Hintertürchen für die andere Schadsoftware eingebaut haben könnten...

    Das sind dann aber Sicherheitslücken und keine beabsichtigt eingebauten Schadroutinen.


Anmelden zum Antworten