Kommentare zu: Au Scheiße, ich hatte den Mund voll Kaffee, als … http://localhost/blah-dev/2010/03/31/au-scheisse-ich-hatte-den-mund-voll-kaffee-als/ Kurz und knapp und blah... Wed, 31 Jul 2013 20:21:22 +0000 hourly 1 http://wordpress.org/?v=3.6 Von: LindsayRowland33 http://localhost/blah-dev/2010/03/31/au-scheisse-ich-hatte-den-mund-voll-kaffee-als/comment-page-1/#comment-13087 LindsayRowland33 Mon, 08 Aug 2011 06:35:55 +0000 http://localhost/blah-dev/2010/03/31/au-scheisse-ich-hatte-den-mund-voll-kaffee-als/#comment-13087 Make your life easier take the loan and everything you need.

]]>
Von: LUCiD http://localhost/blah-dev/2010/03/31/au-scheisse-ich-hatte-den-mund-voll-kaffee-als/comment-page-1/#comment-9888 LUCiD Wed, 31 Mar 2010 19:37:33 +0000 http://localhost/blah-dev/2010/03/31/au-scheisse-ich-hatte-den-mund-voll-kaffee-als/#comment-9888 LOL

Den Nachtrag habe ich gerade gesehen…. :D

Das Bild ist klasse :D
gleich mal gesichert…. darf man das verwenden wenn man auf den artikel verlinkt?

]]>
Von: Bio http://localhost/blah-dev/2010/03/31/au-scheisse-ich-hatte-den-mund-voll-kaffee-als/comment-page-1/#comment-9885 Bio Wed, 31 Mar 2010 16:17:50 +0000 http://localhost/blah-dev/2010/03/31/au-scheisse-ich-hatte-den-mund-voll-kaffee-als/#comment-9885 OKi THX!

]]>
Von: Nachtwächter http://localhost/blah-dev/2010/03/31/au-scheisse-ich-hatte-den-mund-voll-kaffee-als/comment-page-1/#comment-9883 Nachtwächter Wed, 31 Mar 2010 16:07:34 +0000 http://localhost/blah-dev/2010/03/31/au-scheisse-ich-hatte-den-mund-voll-kaffee-als/#comment-9883 Ja, da muss richtiger Code eingeschleust werden. Der enthält unter anderem auch nicht darstellbare Zeichen und ist als Wort wirklich erkennbar sinnlos. Irgendeine Validierung scheint nicht stattgefunden zu haben…

]]>
Von: Bio http://localhost/blah-dev/2010/03/31/au-scheisse-ich-hatte-den-mund-voll-kaffee-als/comment-page-1/#comment-9881 Bio Wed, 31 Mar 2010 15:30:39 +0000 http://localhost/blah-dev/2010/03/31/au-scheisse-ich-hatte-den-mund-voll-kaffee-als/#comment-9881 ok sorry wenn das ein missverständnis war! aber hey, warum sollte das keine lücke sein?
ich will das jetzt nicht lange breittreten, der nachtwächter hat das ja schon getan. ebenso hat er erläutert dass bei einem pufferüberlauf daten (welche auch immer) in speicherbereiche entweichen, die im günstigen fall nur überschrieben werden und irgend ein programm (oder das OS) vielleicht abkaggt. mit den tollen zeigern bei c(++) (zb. verkettete listen) kann man das hervorragend demonstrieren. im weniger günstigen fall werden eben die entwichenen daten ausgeführt, sofern es sich dabei um code handelt der ausgeführt werden kann und diese in ein bereich geschrieben wird, der ausgeführt wird.

was mir pers. aber unklar ist, das muss ja dann schon bytecode sein, der da eingeschleust wird oder?

]]>
Von: Nachtwächter http://localhost/blah-dev/2010/03/31/au-scheisse-ich-hatte-den-mund-voll-kaffee-als/comment-page-1/#comment-9879 Nachtwächter Wed, 31 Mar 2010 14:50:18 +0000 http://localhost/blah-dev/2010/03/31/au-scheisse-ich-hatte-den-mund-voll-kaffee-als/#comment-9879 Oh, es fällt echt schwer, sich bei dem Thema zu beherrschen. :lol:

An sich sollte so eine Rechtschreibprüfung nur eine einfache API zur Verfügung stellen. Die kriegt ein Wort (oder ein serialisiertes Array) von Wörtern rein, und gibt für dieses Wort (oder für jedes Wort im Array) entweder zurück, dass es okay ist, oder eben, dass es Korrekturvorschläge gibt. Über diese API muss es auch möglich sein, ein eigenes Wörterbuch zu pflegen (ich brauche das ständig für meine Liebe zu des alten Genitives Endungen), also ein Wort einzutragen. Vielleicht sollte man es auch löschen können. Ob man so etwas im Hintergrund als Dienst laufen lässt, ob man daraus eine alleinstehende, irgendwie kommunizierende Anwendung macht oder ob es vom System als shared library zur Verfügung gestellt wird, ist eine Designentscheidung, über die man lange streiten kann, weil sie aus Nutzersicht gleichgültig ist. In jedem Fall bleibt es eine sehr einfache API, hinter der sich eine gar nicht so einfach zu realiserende Funktionalität versteckt.

Wie über diese API irgendwelcher Code ausgeführt werden könnte, ist erstmal gar nicht zu sehen.

Meine Vermutung: Die haben das in C gemacht (von mir aus auch mit »plusplus« dahinter oder mit »Objective« davor), und das Wort wird in einem statisch deklarierten Array von wchar_t mit fester Länge gebuffert, ohne dass irgendwo im Code darauf geachtet wird, dass dieser Buffer ja bei sehr langen Wörtern (die feindselig konstruiert sind) überlaufen kann. Dabei kann sehr wohl durch einen Bufferüberlauf ein Teil des »Wortes« in den Bereich kommen, der eben ausgeführt wird. Wenn die Rechtschreibprüfung als privilegierter Dienst läuft, denn wird dieser Code sogar mit root-Rechten ausgeführt. Und wenn eine solche Rechtschreibprüfung von allen möglichen Programmen benutzt wird, um alle Eingaben zu prüfen und gegebenenfalls rot zu unterkringeln, denn könnte man einem Apple-Benutzer etwa eine HTML-formatierte Mail schicken, die er beantwortet (dafür findet sich relativ leicht ein Vorwand, vor allem, wenn man sich auch persönlich kennt oder geschäftlich miteinander zu tun hat) ohne zu bemerken, dass da mit CSS ein unsichtbarer Text drin steht, der im Hintergrund ein komplettes Rootkit für seinen tollen, sicheren Rechner nachlädt und installiert. Was damit möglich ist, verraten einem drei Minuten mit Guhgell – eine SQL-Injection wäre damit verglichen Kinderkram, der ganze Rechner ist sauber geowned.

So viel nur dazu.

Und jetzt zum anderen: Jeder Mensch, der einmal ernsthaft programmiert hat, weiß, dass ein Programm jede externe Eingabe irgendwie zu prüfen hat. Ich ertappe mich selbst dabei, dass mein Code erstaunlich viel Fehlerbehandlung enthält. Und wer schon einmal ernsthaft C programmiert hat, also etwas mehr gemacht hat als einen hingerotzten, fröhlichen Hack, der weiß, dass Buffer für Eingabezeichen überlaufen können, wenn man nicht gerade eine voll aufgeplusterte Klasse wie std::string verwendet. (Das vermeidet man manchmal aus reinen Performance-Gründen, ein Array ist eben für jeden Prozessor ein elementares Konzept einer Datenstruktur, dass sich direkt in Code umsetzen lässt. Diese Maschinennähe ist gleichzeitig die Stärke und die Schwäche von C und seinen Derivaten.) Wenn unter den Diensten eines Betriebssystemes solche Scheunentore für ein feindseliges Internet geöffnet werden, denn ist das fahrlässig und ein Indiz für ein wirklich bescheidenes Qualitätsmanagement bei Äppel. Solche Lücken sind ja nicht gerade neu. Mir stellen sich da nur zwei Fragen. Erstens, woher Äppel diese programmierenden Loser geholt hat, und zweitens, ob es überhaupt ein Qualitätsmanagement bei Äpple-Software gibt. Wenn es eines gibt, wird ihm jedenfalls nicht das ausreichende Budget und kein hinreichend qualifiziertes Personal gegeben.

Ende der epischen Darlegung…

]]>
Von: Carsten Thumulla http://localhost/blah-dev/2010/03/31/au-scheisse-ich-hatte-den-mund-voll-kaffee-als/comment-page-1/#comment-9878 Carsten Thumulla Wed, 31 Mar 2010 14:46:00 +0000 http://localhost/blah-dev/2010/03/31/au-scheisse-ich-hatte-den-mund-voll-kaffee-als/#comment-9878 Kleines Mistverständnis. Könnte jemand solche Lücken, die keine Lücken sind, absichtlich einbauen? Der Sicherheitsbug im Debian war ja auch nicht ohne. Was haben in einer Rechtschreibprüfung Daten und ausführbarer Kot in einem Topf zu suchen?

Carsten

http://de.toonpool.com/cartoons/Ostern_786 65#img9

]]>
Von: Bio http://localhost/blah-dev/2010/03/31/au-scheisse-ich-hatte-den-mund-voll-kaffee-als/comment-page-1/#comment-9876 Bio Wed, 31 Mar 2010 09:27:13 +0000 http://localhost/blah-dev/2010/03/31/au-scheisse-ich-hatte-den-mund-voll-kaffee-als/#comment-9876 ja klar ist das absicht! das steht doch schon in jedem buch »[programmiersprache x] for dummies«, dass jede rechtschreibprüfung auch eine, durch buffer overflow ausgelöste, codeausführung haben muss!

wenn ich zb. hier auf ein rot unterstrichenes wort mit der rechten maustaste klicke, dann steht da im kontextmenü »pufferüberlauf erzwingen und code ausführen« *rotfl*

fragt sich nur warum das apple nun weggepatcht hat – war es wohl doch keine absicht?

naja….. denken ist ja nicht jedermanns stärke :twisted:

]]>
Von: Carsten Thumulla http://localhost/blah-dev/2010/03/31/au-scheisse-ich-hatte-den-mund-voll-kaffee-als/comment-page-1/#comment-9874 Carsten Thumulla Wed, 31 Mar 2010 08:55:45 +0000 http://localhost/blah-dev/2010/03/31/au-scheisse-ich-hatte-den-mund-voll-kaffee-als/#comment-9874 Ist das nun strunzdumm oder ist das Absicht? Welcher Code wird ausgeführt? SQL-Injection? BASIC? PHP?

Carsten

»Denken Sie selbst! – Sonst tun es andere für Sie.«
Vince Ebert

]]>