AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Schutz vor BufferOverflows

Ein Thema von Luckie · begonnen am 13. Mai 2004 · letzter Beitrag vom 13. Mai 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Schutz vor BufferOverflows

  Alt 13. Mai 2004, 10:35
Ich habe mich jetzt mal etwas schlau gemacht über BufferOverflows und wie sie funktionieren. Jetzt wollte ich mal fragen, wie es in Zukunft mit einem Schutz dagegen aussieht. Und zwar Software mäßig vom OS als auch hardwaremäßig. Ich habe mal gehört, dass die Prozessorhersteller da was amchen wollen. Was ist das und wie soll es funktionieren. Desweiteren, sind BufferOverflows auch in .NET möglich?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Schutz vor BufferOverflows

  Alt 13. Mai 2004, 10:43
Zitat von Luckie:
Jetzt wollte ich mal fragen, wie es in Zukunft mit einem Schutz dagegen aussieht. Und zwar Software mäßig vom OS als auch hardwaremäßig.
In .NET geht es Softwaremäßig recht gut. Buffer-Overflows kommen ja i.A. durch das unkontrollierte Einlesen von Daten aus einer Quelle, so daß nach dem Buffer für die Daten automatisch der Programmcode überschrieben wird.

.NET schützt den Programmierer dadurch, daß Datenbuffen und Executable Codes strikt in verschiedenen Bereichen mit verschiedenen Rechten liegen. So kann, wenn zu viele Daten eingelesen werden keine Programmcode überschrieben werden, da dieser eh woanders liegt (gilt nur für Managed Code).

Ähnliches will auch Intel machen, wie genau, daß habe ich noch nicht gelesen - keine Zeit

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Schutz vor BufferOverflows

  Alt 13. Mai 2004, 13:53
Ich meine ja auch gehört zu haben, dass Intel da was in die CPU integrieren will, bin mir aber nicht mehr sich. Auch wüßte ich gerne, wie dass dann aussehen soll.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Schutz vor BufferOverflows

  Alt 13. Mai 2004, 13:57
So wie ich das verstanden hatte, geht es um ein Tag für Speicherseiten "NX" (No eXecute). Das soll dann bewirken, dass die Ausfürhung von Code in so getaggten Seiten verweigert wird. Somit lassen sich Code- und Datensegment schon auf niedriger Ebene unterscheiden und behandeln. Stack bekommt nen NX-Tag, und egal wie weit der überläuft, Code kann von dort nicht ausgeführt werden.

Berichtigt mich bitte, wenn ich hier Quatsch erzähle

gruss,
dizzy
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#5

Re: Schutz vor BufferOverflows

  Alt 13. Mai 2004, 14:08
ich häng meine frage einfach hier dran: ich hab zwar gechecked, wie buffer overflows entstehen, aber nicht so ganz, wo die gefahr darin liegt. gehe ich recht in der annahme, dass der überschriebene programmcode dann anstatt dessen ausgeführt wird?
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#6

Re: Schutz vor BufferOverflows

  Alt 13. Mai 2004, 14:15
.net sichert auf mehreren Ebenen.
In den Sprachen werden sichere und unsichere Operationen unterschieden.
Unsichere Operationen sind erst mal verboten.
Zweitens lauft alles auf einer interpretierten Zwischensprache wie bei Java.
Dort lassen sich natuerlich alle Arten von Checks einbringen.

Das NX-Bit bei CPUs bedeutet das zusatzlich zu den heute vorhandenen Bits read und write ein
execute Bit eingerichtet wird. Code in einer Speicherseite ohne dieses Bit kann nicht ausgefuehrt werden.
Entsprechend richtet das Betriebssystem dann den Stack entsprechend ein.
Da Buffer-Overflows bei Puffern auf dem Stack ansetzen, sind dann die gewoehnlichen
Angriffsmethoden mattgesetzt.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Schutz vor BufferOverflows

  Alt 13. Mai 2004, 14:16
Zitat von Meflin:
gehe ich recht in der annahme, dass der überschriebene programmcode dann anstatt dessen ausgeführt wird?
Ja und zwar in dem Sicherheitslevel in dem das Programm läuft. Diese Programm (WebServer, RPC, ...) laufen meist im System-Context. Also volle Rechte. Und das ist nicht so schön, damit lassen sich z.B. Trojaner recht einfach injizieren

Weitere Details zur Ausnutzung des Bufferoverflows möchte ich an dieser Stelle aufgrund meiner Liebe zur Existenz der DP nicht weiter nennen oder von anderen genannt lesen.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#8

Re: Schutz vor BufferOverflows

  Alt 13. Mai 2004, 14:19
ok, dann hab ichs ja doch gechecked...
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Schutz vor BufferOverflows

  Alt 13. Mai 2004, 15:46
Wegen diesem NX-Bit ne Frage:
Also Code wird nur noch ausgeführt wenn er so ein Bit hat, so weit hab ich das wohl richtig verstanden.
Aber irgendwas fehlt mir da noch, sonst käme mir nämlich nicht der Gedanke warum jemand der einen Wurm schreibt diesem nicht einfach solche Bits verpasst. Oder braucht man dafür spezielle Rechte um solche Bits in seine Programme einzufügen? Oder geht das automatisch? Oder über Zertifikate und Blacklists? Das ist doch dann bestimmt mit Lizensierungsgebühren verbunden oder?

Bis dann,

S - tefano
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Schutz vor BufferOverflows

  Alt 13. Mai 2004, 15:51
Zitat von S - tefano:
Oder braucht man dafür spezielle Rechte um solche Bits in seine Programme einzufügen? Oder geht das automatisch?
Das geht automatisch. Wenn das OS eine Anwendung lädt, wird diese als eXecutable gekennzeichnet und der Datenbereich halt einfach nicht. Daten können nur in den Datenbereich gelegt werden und bekommen so nie das eXecutable Flag

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz