Sicherheit von ReactOS

Hier können Sie auf Deutsch diskutieren. Bedenken Sie, dass Sie in den englischen Foren mehr Nutzer ansprechen.

Moderators: frik85, EmuandCo, Dr. Fred

FlowPX2
Posts: 18
Joined: Fri Jan 06, 2006 5:29 am

Sicherheit von ReactOS

Post 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
Makaan
Posts: 16
Joined: Wed May 09, 2007 10:42 pm

Post 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.
FlowPX2
Posts: 18
Joined: Fri Jan 06, 2006 5:29 am

Post 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
Radhad
Posts: 605
Joined: Wed Apr 12, 2006 5:09 pm
Contact:

Post 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 :)
raketenfred
Posts: 95
Joined: Sun Sep 16, 2007 9:12 pm

Post 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
frik85
Developer
Posts: 829
Joined: Fri Nov 26, 2004 7:48 pm
Location: Austria, Europe
Contact:

Post 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.
Speedator
Posts: 136
Joined: Sat Jun 17, 2006 4:42 pm

Post 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.
Radhad
Posts: 605
Joined: Wed Apr 12, 2006 5:09 pm
Contact:

Post 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.
slipstreamer
Posts: 6
Joined: Sun Feb 10, 2008 4:26 am

Post 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
Matthias
Posts: 496
Joined: Tue Dec 27, 2005 12:43 am

Post 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.
be59
Posts: 143
Joined: Sun Dec 09, 2007 9:05 pm
Location: Braunschweig / Brunswiek

Post 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
hefner
Posts: 240
Joined: Fri Dec 16, 2005 11:49 am

Post 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.
TiKu
Posts: 157
Joined: Wed Jan 05, 2005 9:09 pm
Location: Unterföhring, Germany
Contact:

Post 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.
be59
Posts: 143
Joined: Sun Dec 09, 2007 9:05 pm
Location: Braunschweig / Brunswiek

Post by be59 »

Wie Diashow?
Zumindest bei GetHookEx und GetAsyncKeyState währe es nützlich
raketenfred
Posts: 95
Joined: Sun Sep 16, 2007 9:12 pm

Post 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
Post Reply

Who is online

Users browsing this forum: No registered users and 16 guests