jg72 schrieb
Um den Virus weiter zu verteilen. Wenn der Virus auf dem System ist und dieses neu gestartet wird, ist er erstmal wieder inaktiv. Ich muss den Benutzer also dazu bringen, den Virus neu zu starten, also baue ich mir entsprechende Wrapper, welche die richtigen Programme aufrufen und zusätzlich den Virus starten. Dazu muss ich aber evtl. den PATH verbiegen, damit meine Programme auch auf jeden Fall als erstes gefunden werden.
Na ja: Um die PATH-Variable User-Abhängig zu manipulieren, muss man auch wissen, welche Shell der Nutzer nutzt. Da kann ich den Aufruf des Scriptes auch gleich in die Start-Datei der Shell schreiben.
Ich halte ehrlich gesagt, die Gefahr durch die PATH-Variable für geringer, als gandläufig angenommen.
jg72 schrieb
Ich versuche gerade herauszufinden, wie hoch der Aufwand ist. Clamav in meine Mailkette einzuhängen war z.B. sehr einfach (< 30 Minuten). Warum soll es nicht genau so einfach sein wie unter Windows (wie ich diesen Teilsatz hasse ;-)) einen Virenscanner zu starten, welcher ständig mitläuft und meinen Browser sowie evtl. Dateioperationen überwacht.
Schon, aber ich frage mich, ob man berechtigterweise davon ausgehen kann, das Virenscanner die Sicherheit erhöhen; Creshal hat dazu ja schon was gesagt. Beim Mail-Versand vielleicht, aber das lässt sich nicht so ohne weiteres auf ein Desktop-System übertragen.
Die Sache ist ja wie folgt: Es gibt zwei Arten, wie Viren sich auf das System festsetzen: Entweder sie werden vom Benutzer selbst dorthin gebracht oder sie nutzen Sicherheitslücken von Programmen aus.
Betrachten wir mal nur Fall zwei: Nutzen Virenscanner dort überhaupt etwas? Du öffnest zum Beispiel eine präparierte Webseite, die Javascript enthält, die eine Sicherheitslücke deines Browser ausnutzt. Ich kenne mich da nicht so aus, aber ich wage zu bezweifeln, dass ein Virenscanner in Echtzeit, laufende Anwendungsprogramme dahingehen überprüfen können, ob sie gerade mit einer gewissen Wahrscheinlichkeit Schadcode ausführen. Also (wenn der Virenscanner nicht gerade auch ein HTML-Proxy ist) nutzt dir der Virenscanner überhaupt nichts. Der Virenscanner wird vielleicht aktiv /nachdem/ der Virus auf die Platte gewandert ist. Aber dann ist es schon zu spät. Er wurde bereits ausgeführt.
Ein anderes Szenario wäre: Du lädst eine PDF herunter, die Code enthält, der eine Sicherheitslücke deines PDF-Viewers ausnutzen soll. Hilft da ein Virenscanner? Ein wenig, mit viel Glück. Denn es gibt zwei Fälle: Erstens, die Sicherheitslücke ist bereits bekannt und die Virenscanner achten darauf, ob die ausgenutzt wird. Wenn die Sicherheitslücke aber schon bekannt ist, würde ich darauf setzen, dass der Hersteller des PDF-Viewers diese beseitigt. Der Patch kommt — bei einem funkionierenden Entwicklungsmodell — ja ungefähr genauso schnell, wie das Update eines Virenscanners.
Oder die Sicherheitslücke ist unbekannt. Dann helfen Virenscanner nur, wenn /zufällig/ eine ihre Heuristiken dort greift. Wie signifikant das die Sicherheit erhöt kann ich nicht sagen, ordne es aber intuitiv in die Nähe eines Placebos ein.
Der erste Fall, also, dass der Nutzer selbst den Virus lanziert, ist eher das typische Anwendungszenario für Virenscanner: Dort soll ein Virenscanner eigentlich menschliche Aufmerksamkeit ersetzten. Zugegeben: Das ist durchaus legitim, das zu wollen. Aber das funktioniert nicht. Code den ich regelmäßig aus fremden Quellen ausführe, wäre zum Beispiel die build()-Funktion aus AUR-Scripten. Ich muss eigentlich jedesmal vorher überprüfen, ob der harmlos ist. Mehr noch: ich muss auch den Code überprüfen, den es nachlädt. Hilft mir dabei wirklich ein Viren-Scanner? Bedingt. Letztendlich weiß ich, dass es genügend Viren gibt, die auch dem Virenscanner nicht gefunden werden. Wie ein Virenscanner zum Beispiel entscheiden soll, dass ein 'echo PATH=... >> ~.bashrc' im PKGBUILD gefährlich sein soll, ist mir ein Rätsel. Imho können sie es nicht. Dass heißt, ich muss ob mit oder ohnen Virenscanner den Code durchgehen.
Oder ich sage mir, ich gehe die PKGBUILDS nicht durch und akzeptiere das Risiko, weil es sich nicht wirklich lohnt und lasse nur einen Virenscanner drüber laufen. Dann habe ich eine minimal höhere Sicherheit, ordne die aber auch eher in die Nähe eines Placebos ein.
Und letztendlich: Werden Viren im AUR gesichtet, würde ich nicht auf Virenscanner zurückgreifen, sondern dafür plädieren, dass man das AUR sicherer macht, zum Beispiel durch freiwillige Code-Reviews.
Virenscanner sind für Desktop-Systeme imho einfach der falsche Ansatz, weil sie nie die Ursache einer Unsicherheit bekämpfen, sondern mittels Heuristiken (= Glück) versuchen irgendwas zu retten.
Bei Mail-Servern und ähnliches sieht das etwas anders aus, weil ich da ja nicht versuche die Sicherheit des eigenen Systems zu erhöhen, sondern den Datenstrom den ich zwischen mehrere Computer leite zu bereinigen.