[linux-l] Slightly off topic: Jagd auf Spam

Peter Ross Peter.Ross at alumni.tu-berlin.de
Mo Okt 27 03:56:09 CET 2003


On Sun, 26 Oct 2003, Jan Krueger wrote:

> Hi Peter :)
>
> On Saturday 25 October 2003 16:43, Peter Ross wrote:
> (sinngemäß und stark verändert und verkürzt wiedergegeben)
> Im einzelnen:
> > - StackProtector, ProPolice, Randomization
> Es wurde von Fachleuten gezeigt, daß diese Schutzmechanismen sich aushebeln
> lassen. (Ich verzichte mal auf Referenzen, da ich mich grad für etwas anderes
> interessiere habe ich sie Moment nicht zur Hand.)

Sicherheit ist endlich. Wetten, auch Deine Idee hat einen Haken?

> > - W^X
> Ist im Falle von OpenBSD "kooperativ" also vom Administrator und wie er die
> Anwendung zusammenbaut abhängig, läßt sich also nicht systemweit "enforcen"
> wie z.b. bei Linux.

?? Jedes System ist von einem Administrator abhaengig.

> W^X kann nicht schützen was z.b. innerhalb einer VM
> abläuft (Java, Erlang) und Auswirkungen auf das System haben kann.

Ja. Da sind dann die Sprachen gefragt.

> [BTW eine faktische, praktische Größe aus dem realen Erlang Leben: Ericsson
> AXD 301, an ATM switch with 99.9999999 percent reliability (9 nines, or 31
> ms. downtime a year), which has captured 11% of the world market. The AXD 301
> system includes 1.7 million lines of Erlang.]

Huebsch:-) Ich kenne Erlang nicht und auch das Produkt, aber es klingt
gut. Aber mal im Ernst: Wer hat das wie gemessen, um eine statistisch
relevante Menge an Daten zu haben, um das zu behaupten?

Also, ich glaube Dir, dass da ein hochverfuegbares Produkt existiert, die
exakte Zahl duerfte aber witzlos sein. Marketing halt.

> > - grsecurity, chflags, capabilities, acl, RSBAC, IDS, *-Scanner, *-Filter,
> > Firewalls ...
> ... fügen einem System ein hohes Maß an Komplexität hinzu.

Die Dinge, die _ich_ einsetze, kann ich ueberschauen (deshalb z.B. keine
Windows-Systeme, wenn's geht;-)

Ich habe Server gebaut, die ich fuer ausreichend sicher halte, und die
nicht kompliziert sind.

Auf Serversystemen braucht man in der Regel keine ACLs, da die Menge der
Dienste und Nutzer ueberschaubar sind und das einfache
User/Group/World-Konzept voellig ausreicht.

> über den Sinn und Unsinn von chflags kann man sich streiten. Es ist paktisch
> um sich als root vor Dummheiten zu schützen.

Mehr.

Es ist dazu da, dass ich, auch wenn ich auf einem System root-Rechte
erlangt habe, keine Files austauschen kann (verhindert die beliebten
Rootkits), und keine Logfile-Eintrage geloescht werden koennen, um Spuren
zu verwischen (wenn die Flags nur ein Anhaengen erlauben)

Darueber lass ich nicht mit mir streiten;-) Es _ist_ eine sinnvolle
Sicherheitsmassnahme.

> > - jails, chroot, UML, VM´s, Maschinen-Partitionierung,
> > - privilege separation ...
> Apache, php und ähnliche komplexe Konstellationen mit chroot absichern zu
> wollen bekommt schnell masochistischen Charakter. Dabei war chroot noch nie
> wirklich sicher (wirkt ja nur auf den Namespace), mit jails ist es etwas
> besser. UML, VM's, Partitionierung kann enorm helfen die Integrität einzelner
> Dienste zu sichern. Gleichzeitig klingt das auch irgendwie nach "Microkernel"
> mit entprechend aufgesetzten Servern (Server hier im Microkernel-Sinne
> gemeint) oder "Exo-Kernel"
>
> > - summasummarum ...
> ... sind das alles Technologien welche den ungeheuerlichen Aufwand
> verdeutlichen, welcher betrieben wird um die Symptome zu fixen an Stelle die
> Ursachen zu beseitigen.
>
> > Die Kombination solcher Mittel fuehrt schon sehr weit.
> Du hast recht. Mir jedoch geht das mit den Mitteln zu weit und ist, meiner
> Ansicht nach, eher geeignet den Admin in die Klappsmühle zu befördern als
> irgendwas abzusichern.
>

> > Um mit so einem Rechner etwas anzustellen, musst Du ein halbes Dutzend
> > Sicherheitsluecken haben, um soweit zu kommen, dass Du tun und lassen
> > kannst, was Du willst.
> Eben nicht, es reicht immer noch eine einzige Sicherheitslücke aus, wie
> vorher auch.

Nein, siehe chflags-Beispiel. Es sind die Huellen einer Zwiebel, durch die
Du durch musst.

Beispiel apache im Jail als Nutzer www laufen:

Bin drin, als Nutzer www. Ich kann innerhalb des Jails alles das aendern,
was der Nutzer www aendern kann. Du bist aber immer noch im jail und hast
auch hier keine Rootrechte.

Schaffst Du das jail, bist auf dem Hostsystem gelandet und root geworden,
kannst Du immer noch Dein Rootkit installieren, dazu ist Dir chflags im
Wege.

Du hast einen Server installieren koennen? Schoen, aber Du kannst ihn
nicht erreichen, weil der Paketfilter alle Pakete abfaengt..

etc.ppp.

> Und meiner Ansicht nach wird die Wahrscheinlichkeit für eine
> Sicherheitslücke durch die enorme zusätzlich eingebrachte Komplexität nicht
> verringert, eher die Wahrscheinlichkeit für einen administrativen Fehler und
> darauffolgende Sicherheitslücke erhöht.

Sicher, nur wer sich nicht bewegt, macht keine Fehler - alte Weissheit
eines erfahrenen Bueromikadospielers. ("Wer sich zu erst bewegt, ist
draussen.")

Aber Gott sei Dank mache ich selten Fehler, die alle sieben Huellen der
Zwiebel gleichzeitig durchbohren. Wenn ich von sieben Massnahmen eine
fehlerhaft implementiert habe, sind die anderen noch lange nicht
ausgeschaltet.

> Warum ist es nicht einfach sicher?

Nur der Tod ist sicher.

Ich habe eine Blume neben mir.. die ist vor Dir ziemlich sicher. Sie ist
ein paar Tausend Kilometer von Dir entfernt, Du hast meine Adresse nicht,
und auch keinen Haustuerschluessel.

Ja, Du kannst meine Adresse finden, ein Ticket kaufen und die Scheibe
einschlagen. Und?

Ich koennte die Blume auch in einen Hochsicherheitstrakt einschliessen.
Nur: Wozu? Wem nuetzt das?

Also moechte ich lieber, dass die Blume auf dem Tisch steht und ich sie
schoen finde, auch auf das Risiko, dass Du sie theoretisch klauen kannst.

Wie, der Aufwand ist Dir zu hoch? Ja, so ist es auch im Computerleben.
Alles, was Du benutzen willst, ist Gefahren ausgesetzt, und Du schuetzt
sie ausreichend, um sie noch benutzen zu koennen, und so, dass der
Aufwand, sie zu knacken, hoeher ist, als ein potentieller Einbrecher
aufwenden wuerde.

> > Die Frage hier ist, wieweit kannst Du das noch so gestalten, dass nicht
> > der Nutzer zwei Jahre braucht, bis der Rechner ans Netz geht..
> Genau. Nicht der Nutzer ist falsch, sondern die Technologie, wenn das System,
> wenn es sicher sein soll, 2 Jahre zum booten braucht.

Nein, nicht zum Booten. Das geht selbst bei gutgesicherten Systemen
schneller als den meisten Generic-Kerneln der gaengigen Linux-Distros;-)

> > Die Spammer im genannten Text waeren da schon dran gescheitert.
> Er hätte etwas anderes gefunden, zum beispiel auf Schicht 8.

Ja, und? Du hast dagegen die Superloesung mit dem Nachteil, dass Dir
64 Bit fuer die Adressierung zu klein geworden sind.. Klingt wie der
Vorschlag, mein 50$-Gebraucht-Fahrrad mit einrm 100$-Schloss zu sichern..

Und Du bist sicher, dass nicht ein Nebeneingang offengeblieben ist?

> Folgend möchte ich meine bisherigen Erkenntnisse zusammenfassend und ausholend
> darlegen. Wir, im Sinne von OpenSourceCommunity oder zumindest einige/viele
> davon, nutzen oder streben nach:
> ..

Lass mal gut sein, ich freue mich auch ueber so manche "Entwicklung".

Ich brauche einen Rechner zum Mailschreiben und Webbrowsen. Und ich finde
X11 nicht als den Gipfel aller Genuesse. Aber unter gaengeigen
"Unix"/Intel-PCs die einzige graphische Bibliothek, um damit sinnvoll das
WWW besuchen zu gehen.

Nicht schoen, aber es ist so.

> Was schließen läßt, das sämtliche Sicherheitsprobleme (im weitesten Sinne,
> Softwareverteilung mit eingeschlossen) mit denen MS konfrontiert ist und die
> sich auch oder gerade aus der enormen Verbreitung von Windows ergeben in der
> OSS-Community ungelöst sind weswegen es bei einem umgekehrten Verhältnis (95%
> OSS und 5% Windows/Apple) keineswegs besser aussehen würde.

Nicht ganz. Es gibt graduelle und konzeptionelle Unterschiede. Die von mir
genannten Sicherheitsmassnahmen sind auf Windows-Buechsen kaum anwendbar
und ich kenne keine gleichwertigen.

> Ich möchte sogar soweit gehen und behaupten, daß die Spammer-Geschichten
> welche wir dann lesen könnten wesentlich vielfältiger und unterhaltsamer
> wären.

Monokulturen sind uebrigens immer etwas anfaelliger. Deshalb verlasse ich
mich auch nie auf nur eine Sicherheitsmassnahme..

> Ganz zu schweigen von ungefixten Konqueror-Sicherheitslücken (Bugs,
> welche sich wegen der enormen Komplexität nur schwer fixen lassen sind
> sicherlich ein Grund für die langen Verzögerungen für Fixe bei MS und würden
> OSS genau so treffen, ähm treffen OSS genau so.

Nein. Auf MS-Desktops sind haufenweise Nutzer als "Administrator"
eingeloggt. Du kannst bei geknacktem IE das ganze System austauschen und
beliebige Server installieren.

Auf einem Desktop-Linux out of the box kann ein Konqueror-Bug noch keine
Rootkits installieren (hoffe ich mal, oder laeuft der als Root?) und auch
keine Server auf prviligierten Ports, gewoehnlich unter 1024, starten.

> Der Nachahmungstrieb wird ersichtlich, die Innovation bleibt unsichtbar.

Unix, BSD, Mach etc. sind innovative Projekte, die zunaechst der Forschung
dienten und dann in "nutzbare" Systeme umgesetzt wurden (auch in Windows
steckt so manches davon), den innovativen Teil des Linux-Projektes sehe
ich kaum.

Allerdings waere mir gelegentlich schon wohler, nicht immer mit Windows zu
tun zu haben, das ist wirklich ein System,. bei dem administrieren keinen
Spass macht und ausserdem ist es langweilig, alle Tage Mail vom
MS-Update-Center zu bekommen;-)

Insofern begruesse ich den Marsch von Linux-Systemen auf den Schreibtisch.
Irgendwer muss die muelligen Treiber fuer die kaputten USB-Scanner ja
schreiben, deren Beschraenktheit durch MS-Windows-Treiber vom Hersteller
notduerftig verdeckt werden..

Gruss
Peter




Mehr Informationen über die Mailingliste linux-l