Page 1 of 2

Sicherheit von ReactOS

Posted: Mon May 28, 2007 10:48 pm
by FlowPX2
Hi Leute,
da ich selbst Programmierer in verschiedensten Sprachen, sind mir so ein paar Gedanken eingefallen, wo man schauen könnte ReactOS einfach besser zu machen gegenüber Windows.

Folgendes, es geht um Viren, Würmer usw. jeder der Windows nutz wird Sie eventuell eines Tages bekommen. Da ReactOS ein "XP Clon" sein wird, werden mit großer wahrscheinlichkeit wenn man ReactOS zu genau nur nach programmiert viele gleiche Fehlüberlegungen bei der Programmierung aufweißen.

1.
Windows XP hat Standart mäßig die Windows Dienste an.
Dies bedeutet, das sobald der PC im Internet ist, es die Möglichkeit gibt über so ein Windows Dienst, der einen Port im Internet zuverfügung stellt, einen Angriff auf den PC auszuführen. Ob der Port jetzt eine Sicherheitslücke hat oder nicht... ist gerade mal egal... besser ist es die Dienste nicht zu Aktivieren.

Also wenn ReactOS Standartmäßig keine Ports offen hat, fällt schonmal der gebrauch einer Software Firewall weg! D.h. Norten Internet Security oder so ist überflüssig für ReactOS.

2.
Sollte ReactOS im System integriert schon eine Funktion haben die eine Meldung bringt wenn ein Port auf den Rechner geöffnet wird der vom Internet her erreichbar ist... ähnlich wie eine Firewall... Nur das sich das nicht so leicht austricksen lässt wenn es im System richtig intern ist... Dann noch wie bei Linux eine Passwort abfrage rein und es ist der Punkt auch sicher, so greift keine Anwendung ohne erlaubnis aufs Internet zu.
Die Passwort abfrage dient dazu das man nicht per Programm bei der Warn meldung einfach auf OK klicken kann.

3.
Einige Viren starten sich schon alleine wenn Sie auf der Festplatte sind und man das Icon des Virus sieht... Man sollte sich diese Viren mal genauer anschauen. Um absolut mal zu verhindern das sich eine Anwendung startet, die man nicht gestartet hat.

4.
Was jetzt auch noch eine gute möglichkeit wäre, ist wie es bei MS so ähnlich im neuen Vista ist ein Kernelschutz. Was ich dafür vorschlagen würde... Im Kernel sollte festgelegt werden bei der schreib funktion und der umbennen funktion von Dateien... das eine bestimmte liste von Dateien nicht modifiziert werden darf oder umbenannt werden darf. In der Liste sollten dann die wichtigsten ReactOS Dateien stehen. Somit bietet ReactOS schonmal die funktion das nicht irgend ein Programm den Kernel oder so Modifiziert... (Die Methode wie ich sie jetzt erklärt habe ist nen ganz einfacher Schutz, die andere Methode die mir im Kopf herrum schwebt ist zu komplex um sie hier zu erklären. )

Prinzip von allem ins Gesammt ist einfach... Verbietet die Sachen die zuviel Schaden können alle gleich am Anfang... Und fragt den Benutzer bei zu wichtigen System eingriffen nach. Und dann bringt einen Windows User bei auch mal "NEIN!" zu klicken :wink:

Also kümmert euch um diese Sicherheitspunkte... und dann liegt ReactOS erstmal im Punkt "Sicherheit" vorne ^^

Ansonsten viel Glück... Würde gern mithelfen nur ich hab zur Zeit mit meinem Programm zu viel zu machen. Könnte aber auch mal Design Mäßig bei ReactOS helfen... damit das nen bisschen mehr nach "professionell" aussieht. Nicht jetzt so wie Vista ^^... halt anders gut.. ;)

mfg.
FlowPX2

Posted: Tue May 29, 2007 12:10 am
by Makaan
Da ReactOS ein "XP Clon" sein wird
Das ist schon grundlegend falsch. ReactOS ist bzw wird ein zu Windowsanwendungen kompatibles Betribsystem sein.
[...]nur nach programmiert[...]
Auch das ist grundsätzlich erstmal falsch. So wie ich das mitbekommen habe, untersuchen die ReactOS-Entwickler die Funktionsweise von bestimmten Windowskomponenten, um eine neue, zu der von Windows kompatible, Komponente für ReactOS zu schreiben.

Ein Port wird nur dann zur Sicherheitslücke, wenn dadurch von außen unbefugter Zugriff möglich ist. Das ist nur dann der Fall wenn dies eine Anwendung zulässt, die den entsprechenden Port benutzt.
Sollte ReactOS im System integriert schon eine Funktion haben die eine Meldung bringt wenn ein Port auf den Rechner geöffnet wird der vom Internet her erreichbar ist... ähnlich wie eine Firewall...
Das ist Prinzipiell keine schlechte Idee.
Einige Viren starten sich schon alleine wenn Sie auf der Festplatte sind und man das Icon des Virus sieht...
Sowas ist meines Wissens nach nicht möglich. Entweder startet man den Virus selbst (aus unwissenheit z. B.), oder der, der den Virus ins System eingespeist hat startet ihn, oder es wird - zusammen mit dem Virus - ein Eintrag in eine der drei autostartebenen angelegt, der den Virus beim Systemstart läd. Durch das simple ansehen des Icons des Viruses (welcher meist nicht vorhanden ist), kann sich ein Virus nicht starten.

Posted: Tue May 29, 2007 3:00 am
by FlowPX2
Hallo
Quote:
Da ReactOS ein "XP Clon" sein wird

Das ist schon grundlegend falsch. ReactOS ist bzw wird ein zu Windowsanwendungen kompatibles Betribsystem sein.
Wie man es nimmt, die frage stellt sich ab wann ist es ein Clon ab wann nicht bei ReactOS, da man ja schon versucht den Benutzer die gewöhnte "Windows umgebung" zu präsentieren. Zumindestens eine Umgebung die sehr nah dran ist. Daher für mich eine art Clon... Genau so wie es für Tetris, PacMan, Bomberman usw. tausende gibt.

Quote:
[...]nur nach programmiert[...]

Auch das ist grundsätzlich erstmal falsch. So wie ich das mitbekommen habe, untersuchen die ReactOS-Entwickler die Funktionsweise von bestimmten Windowskomponenten, um eine neue, zu der von Windows kompatible, Komponente für ReactOS zu schreiben.
Wenn es das gleiche macht, dann ist es eine Art von nach programmiert... OpenOffice.org ist auch "nach" programmiert... Das das Zeug neu entwickelt wird ist klar ;) Ich werfe ja hier auch nicht vor das Windows Quellcodes oder so genutzt werden. Was auch nicht nach programmieren bedeuten würde.

Ein Port wird nur dann zur Sicherheitslücke, wenn dadurch von außen unbefugter Zugriff möglich ist. Das ist nur dann der Fall wenn dies eine Anwendung zulässt, die den entsprechenden Port benutzt.
Ich schrieb folgendes vorher:
Ob der Port jetzt eine Sicherheitslücke hat oder nicht... ist gerade mal egal... besser ist es die Dienste nicht zu Aktivieren.
Und die Windows Dienste von MS die Standart Mäßig bei XP aktiviert waren, konnte man bei jeden Rechner im Internet ansprechen, daher ging die verbreitung des damals schlimmen Blaster Worms so schnell. Wären die Dienste bei XP Standartmäßig deaktiviert worden, wäre der Blasterworm damals über haupt keine Gefahr gewesen!

Schau dir mal das hier an http://www.dingens.org/
Von CCC gibt es auch eine ziemlich gute erklärung über Firewalls. Weil die sind auch nicht gerade der Hit... so eine Software Firewall kann eventuell noch mehr Probleme auf einen PC bringen, und verlangsamt den PC... Kein Mensch brauch eine Software Firewall so wie es Sie für Windows gibt!
Selbst durch so einen Mist sind letztens erst viele PC unfunktionstüchtig geworden.

Nachlesen bei:
http://www.winfuture.de/news,31861.html

Eine Firewall stellt sich zwischen den Offenen Ports und dem Internet... Aber warum eine Firewall davor stellen? Damit die Ports nicht funktionieren Genau... damit kein Angriff möglich ist... Aber warum nicht lieber die Ports ganz einfach abschalten!?

Und das ist der Punkt, Windows bietet keine feste Funktion in der WinSock an geöffnete Ports einfach zu ignorieren... Nein man muss die Anwendung abschalten oder eine Firewall davor setzen.

Nur Firewall bringt viele nachteile.

Mit einer Funktion das man in ReactOS einzelne Ports einfach gerade mal schnell deaktivieren kann ohne das die Anwendung gestoppt wird oder ähnliches. Damit wäre ReactOS weit vorne bei der Sicherheit im Internet... Und das zu realisieren ist nicht alls zu schwer.

Sowas ist meines Wissens nach nicht möglich. Entweder startet man den Virus selbst (aus unwissenheit z. B.), oder der, der den Virus ins System eingespeist hat startet ihn, oder es wird - zusammen mit dem Virus - ein Eintrag in eine der drei autostartebenen angelegt, der den Virus beim Systemstart läd. Durch das simple ansehen des Icons des Viruses (welcher meist nicht vorhanden ist), kann sich ein Virus nicht starten.
Glaub mir das geht ;) Ich hab ein RAR Archiv auf meinen Rechner liegen das ich bekommen habe, dort sind um die 500 Viren drin. Ich hab es mal auf einer Virtuellen Maschine gestestet... alle 500 Viren entpackt... nix gestartet... einfach nur in ein Ordner entpackt und dann den Ordner geöffnet... der PC fing an Tasks zu starten usw. hab dann eine antiviren Software drauf installiert... und die wollte den PC reparieren nur dann war das System zu weit kaputt.

Also es geht schon das sich dateien ausführen ohne das Sie gestartet wurden, ich glaube es liegt an dem Icon... das die dort vll. ein Bufferoverflow erzeugen,... Bei Windows gibt es ja Updates da man schon durch JPG oder PNG Bilder Viren bekommen konnte.

Nun gut, ich wollte einfach nur ein paar Tipps geben, da ich schon einige Jahre programmiere und sehr viele Ideen habe wie man entwas besser realisieren kann. Denke mal mit ein paar von mir genannten Ideen oder Fixes kann ReactOS es dann leicht mit der Sicherheit von anderen System aufnehmen.

mfg.
FlowPX2

Posted: Tue May 29, 2007 10:17 am
by Radhad
Soweit ich weriß ist eine Art "iptables" wie unter Linux geplant, aber mit grafischer Oberfläche. Das wäre ja schon der Punkt, wo man die Ports blocken kann :)

Posted: Sun Sep 16, 2007 10:05 pm
by raketenfred
Ich denke ihr habt auch noch nicht an rekursive Programme gedacht??
Je nach dem wie man diese Programmiert(meist nicht mehr als 25 Zeilen)
können diese den ganzen speicher zu"spammen" oder x tausende fenster öffnen ...
vll sollte man dieses auch als funktion eines "Taskmanagers" einbauen dass maximal 10 Programme von einem anderen gestartet werden können, bzw.- nur eine gewisse anzahl von fenstern zulässig ist.

Wie ich auf diese Idee komme??:
Hab ich alles schonmal gemacht, bei meiner mutter-->kein gutes ende!!

mfg
raketenfred

Posted: Mon Sep 17, 2007 12:12 pm
by frik85
raketenfred wrote:Ich denke ihr habt auch noch nicht an rekursive Programme gedacht??
Je nach dem wie man diese Programmiert(meist nicht mehr als 25 Zeilen)
können diese den ganzen speicher zu"spammen" oder x tausende fenster öffnen ...
vll sollte man dieses auch als funktion eines "Taskmanagers" einbauen dass maximal 10 Programme von einem anderen gestartet werden können, bzw.- nur eine gewisse anzahl von fenstern zulässig ist.
Unter Win 9x/Me war es möglich das ein Programm z.b. eine Menüleiste mit unendlich vielen Einträgen zu erzeugen versucht, es wurde dann solange fortgesetzt bis der ganze Speicher aufgebraucht war (von GDI handles, etc.).
In WinNT gibt es für alles Limits, dort kann eine Menü-Hierachie, etc. nur eine vom Betriebsystem vordefinierte maximale Anzahl haben.
Wenn jemand aber ein "böses" Programm selber mit Admin-Rechten oder noch "besser" mit System-Rechten starten, dann ist er selber Schuld.

Posted: Thu Sep 20, 2007 12:23 am
by Speedator
Adminrechte sind halt unter Windows so eine Sache. Vor Vista ging das ganze eigentlich nicht ohne, wenn nicht mit großen Einschränkungen.

Mit Vista wurde dann ein neues System eingeführt, dass extrem unter Kritik steht, wegen seiner beschränkten Praktikabilität. Ich weiß jetzt nicht inwieweit Reactos wirklich nachprogrammiert wird(ob es irgendwann einen "Win98/Win2000/WinXP/WinVista-Mode gibt). Ich hoffe aber das Reactos dafür einen gescheiteren Weg findet.

Posted: Thu Sep 20, 2007 8:33 am
by Radhad
Ich finde hier kann man sich ruhig an Linux orientieren.

Ich habe nen eingeschränkten Benutzer und kann mich per Konsole flux mit Adminrechten ausstatten und Einstellungen vornehmen. Man könnte z.B: ne Passwortabfrage bei den Systemtools machen.

Posted: Sun Feb 10, 2008 4:44 am
by slipstreamer
Radhad wrote:Ich finde hier kann man sich ruhig an Linux orientieren.

Ich habe nen eingeschränkten Benutzer und kann mich per Konsole flux mit Adminrechten ausstatten und Einstellungen vornehmen. Man könnte z.B: ne Passwortabfrage bei den Systemtools machen.
Hallo zusammen,

sehe ich auch so ja man sollte sich da unbedingt daran orientieren. Aber Sicherheit hängt auch sehr mit den Möglichkeiten des Dateisystems zusammen.
Fat Dateisysteme bieten per default jedem Vollzugriif ohne irgendwelche Auflagen.
Das ist bei NTFS schon was ganz anderes, auch unixoide Betriebsysteme sind als Mehrbenutzer Systeme konzipirert.
Allerdings ist deren Rechte Vergabe nicht so ausgereift wie das perse bei NTFS der Fall.
Aber dennoch die journal Systeme wie XFS oder Raiser sind NTFS um Welten voraus, auch BFS bekannt von BeOS ( Zeta > Haiku ) war ein faszinierendes Dateisystem.

Ändere mal just nur so zum Spass unter Linux-Unix
/root in
/ich fahre nie wieder hoch um

ja und genau das wird dann auch eintreten :evil: :o :evil:

BeOS ging sowas glatt hintenrum vorbei........ :D

gruss slipstreamer

Posted: Mon Feb 11, 2008 6:03 am
by Matthias
slipstreamer wrote:Aber dennoch die journal Systeme wie XFS oder Raiser sind NTFS um Welten voraus, auch BFS bekannt von BeOS ( Zeta > Haiku ) war ein faszinierendes Dateisystem.
Was genau soll daran besser sein als an NTFS? Journaling kann NTFS auch. Reiser4 dagegen kann übrigens bis heute keine Extended Attributes und damit keine ACLs, die NTFS schon immer konnte.
slipstreamer wrote: Ändere mal just nur so zum Spass unter Linux-Unix
/root in
/ich fahre nie wieder hoch um

ja und genau das wird dann auch eintreten :evil: :o :evil:
Schwachsinn, das Verzeichnis /root ist einfach das Homeverzeichnis des Benutzers root. Wenn das nicht da ist, hat root halt kein Homeverzeichnis mehr, aber das ist völlig unwichtig, darin liegt eh nichts wichtiges.

Posted: Mon Feb 11, 2008 7:00 pm
by be59
Nur ein Rechtesystem wie bei Linux bringt ja nix...

ein Standarduser sollte ja gleich kein Root-User sein;-)
Wird irgendwann MAC OS XI zum Verhängnis sein, falls Apfel die Preise sinken wird, weil der Standarduser Root-ähnliche Dinge machen kann...(GLAUB ICH)

Ausserdem sollte es ein Fenster geben, wo alle Programme gezeigt werden, die eine bestimmte WIN-API nutzen. Ich denk zum Beispiel GetAsyncKeyState oder SetWindowsHook und das PRogramm verbieten lassen, diese WindowsAPI zunutzen. oder gleich ein Programm zuverbieten, etwagige APIs zunutzen. Währe beim Suchen von Trojaner hilfreich

Posted: Tue Feb 12, 2008 11:19 am
by hefner
be59 wrote: ein Standarduser sollte ja gleich kein Root-User sein;-)
Wird irgendwann MAC OS XI zum Verhängnis sein, falls Apfel die Preise sinken wird, weil der Standarduser Root-ähnliche Dinge machen kann...(GLAUB ICH)
Quark ... der Standarduser hat auch nur normale Userrechte. Er kann keine Admin/Root "Dinge" machen.
Wenn der Standarduser was im System verändern will muss er (genauso wie bei Linux) ein Programm mit Rootrechten ausführen. (z.b. per Sudo)
D.h. Das Programm wird dann nicht direkt vom Standarduser ausgeführt sondern direkt als "root".

Ich persönlich finde einen Verzeichniss/Datei Schutz auf Besitzer+Gruppenebene, wie es die meisten Dateisysteme kennen für ausreichend. Es ist eine ms-typische Unart wichtige Verzeichnisse + Dateien ungeschützt zu lassen und gleichzeitig bei jedem Mist automatisiert zu meckern.

Posted: Tue Feb 12, 2008 3:00 pm
by TiKu
be59 wrote:Ausserdem sollte es ein Fenster geben, wo alle Programme gezeigt werden, die eine bestimmte WIN-API nutzen. Ich denk zum Beispiel GetAsyncKeyState oder SetWindowsHook und das PRogramm verbieten lassen, diese WindowsAPI zunutzen. oder gleich ein Programm zuverbieten, etwagige APIs zunutzen. Währe beim Suchen von Trojaner hilfreich
Dann wird das System zur Diashow.

Posted: Tue Feb 12, 2008 4:11 pm
by be59
Wie Diashow?
Zumindest bei GetHookEx und GetAsyncKeyState währe es nützlich

Posted: Tue Feb 12, 2008 7:29 pm
by raketenfred
kann man das dateisystem nicht erstmal aussen vor lassen??

Wichtiger ist es das basis system hin zubekommen womit man auch ins netzwerk kommt, das würde die sys ros nochmal interressanter machen bei nutzern weil fast jeder haushalt mit min 2 ans inet angeschlossen baut nen kleines heimnetzwerk auf den router gibt es meist bei dsl gratis dazu und viel arbeit ist das nicht 30 min insgesammt pro zusatzrechner vll nochmal 5 bis 10min

so wenn das alles läuft denke ich sollte man möglichst versuchen ntfs ein zu binden und alle linux systeme! dfas würde es erstm,al bringen wenn man die dateisysteme ähnlich wie treiber dazu patchen kann.

mfg

raketenfred