Hallo Christoph,
zuerst muß ich mich entschuldigen: Ich habe leider nicht die Zeit, auf alle Punkte einzugehen. Dein Posting finde ich sehr interessant und stimme allen Punkten zu, zumindest in der Theorie. Das ist vollkommen ehrlich gemeint. Am liebsten würde ich Dein Postung ausdrucken und an diverse Anwender verteilen um zu zeigen, wie es rein theoretisch sein sollte.
Leider sieht die Praxis aber etwas anders aus, zumindest so, wie wir es hier erleben.
Zu einigen der von Dir genannten Punkte:
Größe eines Programmes:
Komplexität und Länge eines Codes. Komplexität und Länge sind nicht zwingend proportional zueinander, die Umgebung spielt ebenfalls eine große Rolle. Der Code muß nicht unbedingt menschenlesbar sein.
Ja, eine Zeile Code reicht, um diverse Daten ins Nirvana zu schicken. Ob nun Kill, Shell, usw. oder eine Zeile mit z. B. "nul" in einem href in HTML-Code - man kann mit einfachen Mitteln Schaden anrichten.
Anlaß dieser Untersuchung war die Veröffentlichung eines kleine Sicherheitsprogrammes, das einige der Aktivitäten eines Computerbenutzers aufzeichnet und zum Teil diese Aktivitäten auch einzuschränken in der Lage ist.
Wer hat denn die Untersuchung in Auftrag gegeben? ;-)
Relevant für die Einteilung diese Programms als Sicherheitsprogramm ist alleine schon die Tatsache, das es dem Programm aus technischen Gründen nicht möglich ist zu unterscheiden, wer der Benutzer tatsächlich ist, dessen Aktivitäten aufgezeichnet werden. Das kann datenschutzrechtlich problematisch werden. Nun soll dies aber auch keine juristische Abhandlung werden, sondern nur aufzeigen, wie sich Risiken minimieren lassen.
Dort, wo das Programm angeboten wird, befindet sich von Anfang an ein klarer Hinweis darauf, daß es ggf. rechtliche Probleme geben kann.
Folgende einfache Alternativen stehen zur Auswahl:
- Untätigkeit
- Zurückziehen des Programmes
- Herausgabe der Quellen auf Anfrage
- Veröffentlichung der Quellen
[x] Untätigkeit
[ ] Zurückziehen des Programmes
[x] Herausgabe der Quellen auf Anfrage
[ ] Veröffentlichung der Quellen
Untätigkeit ändert nichts am Problem. Ein Zurückziehen des Programms von der öffentlichen Zugänglichkeit ist wegen der Struktur des Internets nicht mehr möglich, da bereits Kopien existieren und sie auch nicht mehr "eingesammelt" werden können.
An welchem Problem? Mir sind hinsichtlich des Programms keine Probleme bekannt. Diejenigen User, von denen eine Resonanz kam, sind zufrieden.
Die individuelle Herausgabe der Quellen auf Anfrage wurde angeboten, aber zum Zeitpunkt der Niederlegung dieses Aufsatzes nicht an der gleichen Stelle, wie das Angebot zum Download des zur Diskussion stehenden Programmes. Dadurch kann zwar eine allgemeine Bekanntheit angenommen werden, es wären dazu aber größere Aktivitäten nötig, die aufgrund der Tatsache, das Quellen stets am gleichem Platz wie Binaries zu bekommen sind - Ausnahmen bestätigen die Regel - höchstwahrscheinlich gar nicht erst vorgenommen werden. Das die Quellen erhältlich sind bleibt dem Nutzer also eher verborgen.
Wenn Quellen veröffentlicht werden sollen müssen sie also an prominenter und leicht auffindbarer Stelle plaziert werden.
Nun sei doch mal realistisch. Nehmen wir mal an, Du wärst ein ganz normaler User, der im Internet surft oder auch gezielt sucht. Du findest das Programm und es interessiert Dich. Als normaler Anwender interessiert Dich die Erstellung von Software überhaupt nicht, sondern ein eingesetztes Programm muß einfach nur laufen. Würde Dich da der Code interessieren? Mal ganz abgesehen davon, daß dann auch die Entwicklungsumgebung fehlen dürfte. Was nutzt z. B. der ganze Code, wenn die Objekte/Klassen fehlen?
Du darfst bei der ganzen Geschichte nicht von Dir ausgehen.
Wo kann da nun die Veröffentlichung der Quellen dem normalem Anwender helfen?
Gibt es gar keine Veröffentlichung:
"Es ist allgemein bekannt, das man nicht so einfach irgendwelche Programme aus dem Netz läd!" -> Hammer -> 100 Tagessätze.
Ja, aber da kannst Du noch so sehr predigen, es wird trotzdem gemacht, und zwar unabhängig davon, ob die Quellen verfügbar sind oder nicht. Und wenn dann ein Programm Sicherheitslücken bietet oder vorsätzlich Schäden verursacht, wird das sicher auch bekannt und geahndet werden. Egal, ob die Quellen verfügbar sind oder nicht.
Gibt es eine Veröffentlichung nur auf Nachfrage:
Der bessere Anwalt könnte bei dem richtigem Richter gewinnen. Die Chancen setze ich aber mal bei fifty-fifty.
Ob das einen Richter wirklich interessiert?
Gibt es eine Veröffentlichung der Quellen:
"Ich habe mich kundig gemacht, Herr Richter, und es war nichts Negatives zu finden. Da habe ich die Herkunft der Quellen sorgfältig geprüft und daraus das Programm gebaut. Ging ja einfach mit der Dokumentation. Was kann ich denn mehr machen, Herr Richter?" Ist auch der Anwalt keine Graupe stehen die Chancen gut, da unbehelligt rauszukommen.
Der Anwender steht sich also bei Veröffentlichung der Quellen auch dann noch besser, wenn er damit direkt nichts anfangen kann.
Wenn ein Programm vorsätzlich Schaden in irgendeiner Form anrichtet, dürfte es egal sein, ob die Quellen offen sind oder nicht.
Es gibt da z. B. eine Planungssoftware, die weit mehr in das System eingreift, als SysKontrolle. Bei der Planungssoftware würde der Anwender garantiert nicht davon ausgehen, daß es Schäden geben kann, sondern vielleicht eher bei SysKontrolle. Aber es ist halt genau das Gegenteil der Fall und deshalb wurde extra für die Planungssoftware eine Haftpflichtversicherung abgeschlossen. Ja, ich war nicht ganz unbeteiligt an der Planungssoftware. ;-)
Und ganz nebenbei: Bei der Planungssoftware werden die Eingaben in TEuro vorgenommen. Wenn da im Programm etwas nicht stimmt, können ganz schnell andere Schäden entstehen. Schäden, die einen lahmgelegten PC doch etwas übersteigen.
Sicherheitsprogramme ohne Quellen sind also nicht sicher und auch nicht zu sichern. Es ist also davon die Finger zu lassen. Genaueres ist in den allgemein anerkannten "Common Criteria" (http://www.commoncriteriaportal.org/) enthalten.
Das führt dann aber auch zu folgenden Konsequenzen:
Um ein System sicher machen zu können, müssen alle Quellen öffentlich sein. Dazu gehört rein theoretisch dann auch die Hardware. Alle Systeme, die keine Quellen veröffentlichen sind prinzipiell als unsicher anzusehen und entsprechend zu behandeln. Das schlägt sich auch auf den Kosten nieder, die bei gleichem Sicherheitsmaß für Systeme ohne respektive mit Quellen aufgewand werden müssen.
Und genau hier ist der Punkt, wo ich sage, daß Du einfach verkomplizierst.
Nehmen wir mal folgendes Szenario an (was natürlich erfunden ist ;-)):
Ich biete auf meinen Seiten irgendein Programm an, nehmen wir mal als Beispiel ein Spiel. Der Anwender lädt es herunter, findet es gut und spielt. Daß das Spiel im Hintergrund einen Mail-Server installiert und fleißig Daten an mich sendet, bekommt der Anwender natürlich nicht mit - es ist doch nur ein Spiel.
Der Anwender arbeitet auf Arbeit auch fleißig mit Excel und fragt sich, ob man Uhrzeiten nicht auch ohne einen Doppelpunkt eingeben kann. Er sucht im Internet und findet ein Add-In. Klasse! Damit gibt man die Uhrzeit mit dem *-Zeichen ein, das sich ja auch auf der numerischen Tastatur befindet. Dadurch spart man natürlich erheblich Zeit. Was aber VBA im Hintergrund macht ... (VBA kann ziemlich viel ;-))
Dann hat der Anwender irgendwelche Probleme mit dem PC und sucht Sicherheitstools. Er findet im Internet auch solche Programme. Da das aber die Sicherheit betrifft, wird er sich sicher erstmal schlau machen, ob die Tools auch etwas taugen.
In welchem der drei Fälle ist es wohl beser, wenn man sich mehr mit den Hintergründen beschäftigt? Im dritten Fall wird es der User eher von sich aus machen, als in den ersten beiden Fällen. Und wo gibt es bei Spiele-Downloads den Code dazu?
Oder ein anderes Beispel: Das Sammeln von Bildschirmschonern ist ja ein verbreitetes Hobby. Wo aber steht auf den Downloadseiten, daß es sich dabei um nichts anderes als exe-Dateien handelt? Und wo wird da der Code angeboten?
Und noch eine Sache: Daß Persönliche Firewalls, ob nun Zone Alarm oder Kerio oder ... oder wie sie alle heißen, im Normalfall den PC unsicherer machen, ist ja bekannt. Aber warum gibt es noch viele Anwender, die sie bedenkenlos einsetzen? Ja, ich habe diese Firewalls auch, aber zum Testen. Und ich habe auch ein primitives Tool geschrieben, das in vielen Fällen zeigt, wie so manche Sicherheitssoftware unterlaufen werden kann. Wenn Du möchtest, kannst Du es ja testen: http://www.excel-vba.de/dateien/pfwweg.exe. Traust Du Dich, diese Datei aufzurufen? ;-)
Ich schreibe keine Riesenprogramme (außer mal Warenwirtschaften, usw.), bin kaum bekannt, habe nur zwischen 500 und 1000 Sessions pro Tag. Ich habe auch nicht vor, eine große Softwarefirma auf die Beine zu stellen oder einen Browser zu schreiben.
Eigentlich wollte ich ja nicht direkt reagieren, aber hier muß ich, da vielleicht auch andere hier mitlesen, die Deine Aussagen resignieren lassen könnten.
Es sind meist die kleinen Progrämmchen, die einem das Leben erleichtern. Nur als Beipiele für wirklich nützliche kleine Helferlein:
- etwas, das den Text aus Worddateien zieht.
- etwas, das Excel-Dateien in HTML-Tabellen wandelt
- etwas, das PDF-Dateien zusammenfügen kann.
- eine deutsche Übersetzung
- ein Stück fehlender Dokumentation.
- etwas das tausende von GIF-Dateien in PNG umwandelt.
Alle solchen Kleinigkeiten erleichtern einem das Leben als Benutzer, dafür muß man teilweise noch nicht einmal programmieren können, da kann jeder mitmachen. Das einzige unabdingliche sind vielleicht noch ein Mindestmaß an sozialer Kompetenz und damit einhergehend ein relativ dickes Fell.
Ja, aber jedes dieser Tools kann im Hintergrund mehr anrichten, als ein offen deklariertes Sicherheitstool.
Ein paar kleine Stichpunkte:
- Trojaner
- Backdoors
- Hijacker
- ...
Wenn Du möchtest, schreibe ich Dir gern ein kleines Add-In für Excel. Schreibe ruhig dazu, was Du möchtest/brauchst. Ich garantiere Dir aber, daß das Add-In mehr Schaden anrichtet, als ein vermeintliches Sicherheitstool.
'-------- Trennung ---------------------
Wie geschrieben finde ich alles interessant, was Du schreibst. Ich selbst bin auch daran interessiert, daß eine größtmögliche Sicherheit bei der Datenverwaltung herrscht. Aber: Es gibt da noch eine Sache, die nicht unerwähnt bleiben darf.
Es trifft zwar nicht auf mich zu, ist aber trotzdem ein Aspekt, der nicht unbeachtet bleiben darf.
Womit verdienen Softwareschmieden ihr Geld? Mit Software, klar. Das heißt aber auch, mit Ideen, die vermeintlich einzigartig sind. Was wäre, wenn man dann den Code freigibt? Nur mal so zum Nachdenken.
Deshalb bewegen wir uns in ganz verschiedenen Regionen und werden hier wahrscheinlich keine Einigung erzielen.
Das wäre zwar erfreulich, ist aber keineswegs Ziel.
Nein, ist es (Achtung: Füllwort) eigentlich nicht. Aber es gibt halt einen großen Unterschied zwischen Theorie und Praxis.
An einem trübem Samstag nach all zu langer Arbeitswoche geschrieben. Bitte mir alle Ungereimtheiten, grammatikalischen Fehler und orthographischen Unzulänglichkeiten nachzusehen. Zumindest soweit möglich.
OK, dann bitte ich auch darum. Nach einer Woche, in der es mir (gesundheitlich) sehr dreckig ging ;-)
Und nebenbei: Hätte ich gewußt, daß mein Posting solch ein Aufsehen Deinerseits erregt ... ;-)
Dann wünsche ich mal eine schöne Woche und bis dann
Jörg
PS Kommende Woche bin ich kaum am PC - nur so für alle Fälle :-)