WinXP SP2 LAND-verwundbar

Hallo,

ich beziehe mich auf http://www.heise.de/security/news/meldung/57199 und möchte gerne von den kollegen der softwareentwickelnden Zunft wissen, wie es sein kann, daß ein modernes Betriebssystem für so eine uralte und supersimple Attacke anfällig ist.

Ich kann mir irgendwie nicht vorstellen, wie so ein Fehler sich in halbwegs sauber entwickelten Code einschleichen kann. Wer weiß was?

Gruß,

Malte.

Moin

wie es sein kann, daß ein modernes Betriebssystem für so eine
uralte und supersimple Attacke anfällig ist.

Erstmal: wer hat behauptet winXP wär modern ?

Und als Hauptgrund würd ich mal Geldgier ansetzen.

cu

Ich weiß schon, warum SP2 nicht installiert habe :wink:
Gott bin ich froh, dass hier seit geraumer Zeit der fli4l seine Dienste wacker verrichtet.

Salü Malte

Softwareentwickler lieben Sicherheit nicht. D.h. es macht das entwicklen aufwendiger und komplizierter.

Noch dazu ist gerade für diese alte Problem kaum mehr relevant wie in diesem Artikel steht:
******
Allerdings sollten richtig administrierte Router per „Ingress Filter“ vor einem LAND-Paket aus dem Internet schützen, indem nur Pakete ins interne Netz gelangen dürfen, die keine interne IP als Source-IP im Header tragen.
******

Du siehst das z.B. auch an den modernen schusssicheren Westen.
Selbst 44 Magnum Geschosse werden aufgehalten. Aber eine alter Walter PPK vom Anfangs James Bond käme durch. Warum? Das Konzept der Patrone ist ganz anders. Die moderne Patrone „explodiert“ quasi auf dem Objekte. Die alte Patrone „durchschlägt“ das Objekt…

Grüsse
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi,

******
Allerdings sollten richtig administrierte Router per „Ingress
Filter“ vor einem LAND-Paket aus dem Internet schützen, indem
nur Pakete ins interne Netz gelangen dürfen, die keine interne
IP als Source-IP im Header tragen.
******

Das schützt aber all jene nicht, die ihr Windows XP direkt ins Internet hängen, und das dürften nicht wenige sein. Vor Angriffen aus dem eigenen Netz schützt das ebenso nicht - und das Problem ist, daß diese Art des Angriffs faktisch nicht zurückverfolgt werden kann.

Gruß,

Malte.

Hallo,

Noch dazu ist gerade für diese alte Problem kaum mehr relevant
wie in diesem Artikel steht:
******
Allerdings sollten richtig administrierte Router per „Ingress
Filter“ vor einem LAND-Paket aus dem Internet schützen, indem
nur Pakete ins interne Netz gelangen dürfen, die keine interne
IP als Source-IP im Header tragen.
******

Demzufolge wäre das Problem nie relevant gewesen. Es ist eine eigentümliche Taktik, Sicherheitsprobleme als „nicht relevant“ zu defnieren: Wieviele Leute hier wissen, was Ingress filtering ist, wieviele haben einen Router, bei dem sie das konfiguriert haben?

Ich denke, es wird eine verschwindend geringe Anzahl sein.

Hi ho Peter,

Softwareentwickler lieben Sicherheit nicht. D.h. es macht das
entwicklen aufwendiger und komplizierter.

das kann ich so nicht unterschreiben. Softwareentwicklung war schon immer ein nicht gerade einfacher Prozess. Die Sicherheit des erstellten Codes solle immer bedacht werden. In einem ordentlich geleiteten Projekt ist das auch kein Problem. Wenn allerdings die „Geiz ist geil“ Mentalität durchschlägt (was sie auch bei der Softwareentwicklung immer häufiger tut), dann fallen Code Reviews aus, die Entwicklung wird in ein Billiglohnland ausgelagert und der Entwickler selber macht übermässig Cut and Paste Entwicklung.

So schauts aus. Und solange die Anwender den Kram kaufen wird sich auch nichts ändern.

Grüsse,

Herb

Salü Herb

Ich fühle mich in keinster Weise qualifiziert für Entwickler im allgemeinen zu sprechen. Ich bin Generalist der u.a. mehrere Jahre entwicklet hat und im regen Kontakt mit anderen Entwicklern (.NET / Visual Basic / C++) hat.

Meine Aussagen beruhen auf Softwareentwicklungen im Wirtschaftsinformatikbereich mit MS Visual Basic 4 - 6 / VBA / relationalen Datenbanken und ein wenig Internet. Auch habe ich bereits
Projektleitungen von kleinen Projekten (Internet) verantwortet. Derzeit an C# / .NET und SQL Sever 2005 - soweit die knappe Zeit es zulässt :frowning:

Mit dieser Einschränkung meine Meinung dazu:

Hi ho Peter,

Softwareentwickler lieben Sicherheit nicht. D.h. es macht das
entwicklen aufwendiger und komplizierter.

das kann ich so nicht unterschreiben. Softwareentwicklung war
schon immer ein nicht gerade einfacher Prozess. Die Sicherheit
des erstellten Codes solle immer bedacht werden.

Dieser Satz ist eine Luftblase. Jede Zeile Code die Du schreibst, jede Klasse, jede Funktion basiert auf Annahmen und innerhalb der Kaste geltender Abmachungen.

Ein einfaches Bsp. ist der „Buffer Overflow“ der in vielen C++ codierten Codes auf JEDEM Betriebssytem für viele Applikationen ein Problem ist.
Für die Kaste der C++ Enwickler (IMO) war klar, dass unterdimensierte Speicherbereiche „nicht schlimm“ sind. Schlimmstenfalls schmierte eine
Applikation ab, basta. Ein akzeptiertes Risiko.
In der Welt des 21. Jahrhunderts wo jedes IT - System von 1000 von SW Hooligans auf Lücken und Fehlfunktionen abgeklopft wird, um destruktive Aktivitäten zu generieren, hat dieses nun „Folgen“.

Oder schau Dir das Jahr 2000 Problem an. Jeder (Mainframe-) Entwickler
der mehr Speicherplatz belegen wollte, um sauberen (sicheren) Code zu
schreiben und eben die Jahrszahlen 4stellig abgespeichern wolle, wäre
von der Kaste verhöhnt und von der Firma kurz oder lang als Theoretiker abgeschoben worden.

In einem
ordentlich geleiteten Projekt ist das auch kein Problem.

Du hast sicher Recht, dass das (professionelles) Projektmanagement einer der wichtigsten Faktoren für die Qualität der Software ist.

Software Entwicklung ist ein sehr komplexer Prozess wo Technik, Mensch en und Organisation verwoben sind. Die Risiken oder Probleme werden primär von Menschen verursacht - Anwenderseitig oder auf der Entwicklerseite.

Wenn

allerdings die „Geiz ist geil“ Mentalität durchschlägt (was
sie auch bei der Softwareentwicklung immer häufiger tut), dann
fallen Code Reviews aus, die Entwicklung wird in ein
Billiglohnland ausgelagert und der Entwickler selber macht
übermässig Cut and Paste Entwicklung.

„Cut and Paste“ ist gerade der Garant für stabilen Code.
Egal ob OO oder strukturiert. Klassen wie Funktion werden durch permanente Wiederverwendung immer besser. Ein bekanntes Bsp. dafür ist
das Produkt „Star Office“. Als das Programm auf dem Markt kam, war es sehr schnell auf anderen Plattformen verfügbar. Gemäss dem Entwicklungsleiter, weil man sich am Anfang Zeit nahm und erst mal ein sauberes Klasendiagramm entwarf und strikt alle Funktionen „zuammengesetzt“ hat.

So schauts aus. Und solange die Anwender den Kram kaufen wird
sich auch nichts ändern.

Grüsse,

Herb

Die meisten Anwender nehmen Software nicht als Produkt wahr. Menschen die kein Fahrrad oder Butter im Discount stehlen würden, kopieren hemmungslos Software. Auf der anderen Seite wird seblst kommerzielle Software noch nicht mit den qualitativen Standards wie es in der Industrie üblich ist, hergestellt und unterstützt.
Analog dem Urheberrecht ist es ein primär kultureller Prozess der seine Zeit braucht. Software sprengt nunmal viele der traditionellen Sichtweisen und d.h. wir müssen uns noch immer mit den veränderten Gegebenheiten auseinandersetzen…

viele Grüsse
Pete

Salü Sebastian

Möglicherweise ist eine Frage, auf welcher Ebene das man ein Problem am besten löst?

Das Protokoll TCP / IP wurde geschrieben und war ein Erfolg, weil es simpel ist. Sicherheit (Identifikation, etc.) war nicht vorgesehen.

Jetzt hat es sich als der Standard im Netzwerkbereich entwickelt. Und (technische) Netzwerke werden nebst der Elektrizität zum Fundament unseres zivilisierten Alltags.

Analog dem ersten Fort T, wo man sich der Konsequenezen der unbeschränkten Mobilität (Strassen, Abgase, Lärm, etc.) noch nicht bewusst sein konnte, stellt sich auch hier die Frage wo und wie wir die Aktivitäten diese Internet Hooligans bändigen.

Die Frage ob ein Router oder ein OS für ein Detailproblem zuständig ist, bleibt marginal und Ansichtssache. Hässlich ist in jedem Fall, dass eine alte Anfälligkeit des OS XP wieder da ist. Die Gründe werden trivial und menschlicher Natur sein. Vermutlich die falsche Version der Klasse beim codieren erwischt oder so :frowning:.

Viele Grüsse
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Salü Malte

Das ist sicher ein hässlicher Aspekt. Du weisst es sicher genauer, aber ist es nicht auch bei anderen „Angriffsvarianten“ schwer bis unmöglich, den Angreifer zu identifizieren? Diesbezüglich lese ich immer wieder gerne das Buch von Clifford Stoll („Kuckucksei“).

Ausserdem wenn ich diesen ix Artikel über DDoS-Angriffe lese, dann denke ich das alle Internetbenutzer auf allen Betriebssytemen mit sehr viel Risiko leben müssen…
http://www.heise.de/ix/artikel/2005/04/107/

viele Grüsse
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

von Luftblasen und Cut and Paste Fehlern
Hi Peter,

ich will Dir keineswegs auf den Schlips treten, aber mir scheint, dass Du einige Vorurteile gegenüber C Entwicklern hast. Genauso könnte ich über VB Entwickler ablästern. Ich tue es aber nicht, denn sowas ist nicht hilfreich. Ich kenne gute und schlechte C Entwickler genauso wie VB Leute.

Was Du zu Cut and Paste Entwicklung sagst ist absolut konträr zu meiner Erfahrung. Klassen oder Funktionen, die wieder verwendet werden sollen, werden in Bibliotheken ausgelagert und eben nicht per Cut and Paste eingefügt. Denn genau durch diese Text-Kopiererei entstehen oftmals Fehler, die nicht sofort auffallen. Und wenn ein Fehler in der Bibliothek gefunden wird, dann muss ich ihn nur einmal fixen, nicht an jeder Stelle, wo die Funktion hinkopiert wurde. Ich bleibe dabei: Cut and Paste ist tödlich.

Grüsse,

Herb

Salü Herb

Für meine missverständliche Ausdrucksweise entschuldige ich mich.

Ich verstand Copy & Paste im übertragenen Sinne. D.h. das fertige Klassen und Funktion immer wieder verwendet werden. Also keinesfalls das wortwörtlich copy und pasten von Code.

Weder die Wahl der Programmiersprache noch die Programmiersprache selbst, beinhalten für mich irgend eine Aussage über bestimmte Charakteristika oder bestimmte Arbeitsweisen.

Es war ein Problem willkürlich als Beispiel heraus gegriffen. Dieses Beispiel war einfach häufig in der Presse, was meines erachtens logisch ist, da die meisten kommerziellen oder weit verbreiteten Programme mit C oder C++ geschrieben sind.

viele Grüsse
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Die Frage ob ein Router oder ein OS für ein Detailproblem
zuständig ist, bleibt marginal und Ansichtssache.

Ich persönlich halte den Router nicht für zuständig. Programme, die sich durch ungeprüfte daten aus dem Tritt bringen lassen sind für öffentliche Netzes (heutzutage) schlicht unbrauchbar.

Seitenbemerkung: Als Internet nativ auf Windows ging (das war recht spät) war es schon lange zu einer mitunter feindlichen Umgebung gewandelt. Die freundliche Zeit des Internets ist schon recht lange vorbei.

Hässlich ist
in jedem Fall, dass eine alte Anfälligkeit des OS XP wieder da
ist.

ACK.

Die Gründe werden trivial und menschlicher Natur sein.

Schlechtes Code-Review.

Einfach mehr Entwickler und Hacker draufgucken und mitmachen lassen.

Gruß,

Sebastian