Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(In)security allgemein Sicherheit, Anonymität im Netz. Schutz und Maßnahmen. Prävention und Konzepte. Sicherheitsarchitekturen allgemein und auf der Netzwerkebene.

Buffer-Overflows deterministisch finden

Diskussion: Buffer-Overflows deterministisch finden im Forum (In)security allgemein, in der Kategorie Security Area; Anzeige Hi, täglich erscheinen neue Security-Lücken in Software. Milw0rm ist voller Sicherheitslücken der unterschiedlichsten Art und diese Sicherheitslücken treten zugegebenermaßen ...

Antwort
Alt 28.02.08, 20:24   #1 (permalink)
 
Benutzerbild von Hackse
 
Registriert seit: 31.07.06
Hackse Leistung: 8086
Likes: 32
Standard Buffer-Overflows deterministisch finden

Anzeige

Hi,
täglich erscheinen neue Security-Lücken in Software. Milw0rm ist voller Sicherheitslücken der unterschiedlichsten Art und diese Sicherheitslücken treten zugegebenermaßen teilweise sogar in Bibliotheken auf, bei denen ich nicht mal auf die Idee käme zu suchen.

Habe ich den Sourcecode, kann ich den BO entwickeln und er funktioniert.
In Opensource-Software ist es aufgrund des offenen Sourcecodes meist unproblematisch(er) Buffer-Overflow-Möglichkeiten zu finden (strcpy, allg. keine Stackprüfung et cetera ...), doch was ich suche ist eine deterministische Vorgehensweise um Bufferoverflows in Software zu finden, an deren Sourcecode ich nicht heran komme und quasi nur das Binary-File habe.

Kann mir nicht vorstellen, dass ein primitives Senden zufälliger Strings an einen Prozess alles sein kann um einen BO zu finden.

Programm disassemblieren, haufenweise Assembler-Code durchwühlen und hoffen, dass irgendwo die Stackprüfung vergessen wurde?

Wenn ich lese, dass in einem closed Programm in kurzer Zeit teilweise Bufferoverflowmöglichkeiten im zweistelligen Bereich gefunden wurden, dann muss es auch eine deterministische Art der Suche nach solchen Schwächen geben.

Was ist die klügste Lösung des deterministischen Vorgehens?

Greetz
HACKSE

Hackse ist offline   Mit Zitat antworten
Alt 28.02.08, 20:51   #2 (permalink)
sw33tlull4by
Guest
 
Likes:
Standard

Du hast die Moeglichkeiten schon genannt, um Buffer Overflows in closed-source Programmen zu finden.
Assemblercode durchwuehlen, und dabei musst du erstmal nur die eingaben beruecksichtigen ob sie soetwas zulassen und dann kannst du rangehen und nachschauen wo du in dem Programm hinspringen moechtest, was auch wieder schwer wird da die Programme meistens so gebaut sind das sich immer in einem Bestimmten Bereich verschieben.
Das blinde senden von Strings ist pure Zeitverschwendung, denn es muessen 2 Sachen auftreten damit ein Buffer-overflow erfolgreich ist.
1.
Du musst auf ,einer CISC-Maschiene, die Returnadresse ueberschreiben koennen.
2.
Du musst sie so ueberschreiben das kein Seg-default auftritt, also das das Programm dann nicht versucht auf irgendeinen Speicherbereich ausser dem seinen zuzugreifen.
So ein Verhalten wird meistens vom OS erkannt, zumindest wenn Stack-Protection aktiviert ist.
Mfg

sw33t
  Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 28.02.08, 21:12   #3 (permalink)
 
Benutzerbild von Eydeet
 
Registriert seit: 14.04.06
Eydeet Leistung: Facit NTK
Likes: 4
Standard

Naja, willkürlich Strings an Programme zu schicken ist eine bekannte und übliche Vorgehensweise. Sogenannte Fuzzer werden genau zu diesem Zweck entwickelt.

Es ist klar, dass die Chance, irgendeine sinnvolle Return-Adresse zu finden, relativ klein ist. Wenn es allerdings Speicherzugriffsfehler gibt, kann man eigentlich schon davon ausgehen, dass der Buffer übergelaufen ist.

Den Exploit zu schreiben ist dann wieder Handarbeit, aber wenigstens weiß man, wo man ansetzen kann. Auch klar ist, dass man mit dieser Methode zwar Sicherheits-Lücken finden kann, aber nicht nachweisen, dass es keine gibt.
Eydeet ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Security Area » (In)security allgemein » Buffer-Overflows deterministisch finden
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Buffer Overflows .Gast (In)security allgemein 4 14.05.08 22:23
Statistik Buffer Overflows Dawen (In)security allgemein 1 31.12.07 17:37
xmms buffer odigo Linux/UNIX 4 04.08.06 14:19
Ich kann alle im Netzwerk finden, mich kann man auch finden aber nicht zugreifen Strahl Network · LAN, WAN, Firewalls 11 21.07.05 16:52


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61