Registrierung Gästebuch Kalender Mitgliederliste Teammitglieder Häufig gestellte Fragen Suche Zur Startseite
HackBox Forum
Forum Linkliste Online Spiele Datenbank Forum Foto Galerie Chat Portalansicht des Forum

HackBox Forum » Programmieren & Entwicklung » Programmieren » Bugs? » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Bugs? 1 Bewertungen - Durchschnitt: 10,001 Bewertungen - Durchschnitt: 10,001 Bewertungen - Durchschnitt: 10,001 Bewertungen - Durchschnitt: 10,001 Bewertungen - Durchschnitt: 10,00
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Trolla/Scriptkiddie Trolla/Scriptkiddie ist männlich
Grünschnabel



[meine Galerie]


Dabei seit: 04.05.2010
Beiträge: 6

Bugs? Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hey Leute, ist mein erster Post hier.
Anhand meines Nicks wisst ihr ja gleich mal Bescheid, damit die Sache klar ist.
Viele Hacks usw.

Nein,
also ich beschäftige mich zur Zeit mit Programmieren,sofern ich Zeit finde (bin Anfänger, aber was solls, scheint interessant zu sein, bin jetzt erstmal bei C# hängen geblieben~).
Man redet ja sooft von Bugs, Sicherheitslücken usw, aber was genau sind denn nun solche und wie erkennt man sie?

Wenn ich ein ganz simples Programm mache, zb. einen einfachen Taschenrechner, könnte dieser bereits einen Bug haben?
Wenn ja wie sieht so einer aus?

Auch kenne ich den Begriff "Exploit", also eine Befehlsfolge, die Bugs ausnutzen kann.
Naja, wie soll das funktionieren??
(Ich kann ja nicht mal verschiedene .exe Dateien zusammenpacken großes Grinsen , wollte ein Installpaket machen)

mfG.

__________________
~
04.05.2010 00:27 Trolla/Scriptkiddie ist offline E-Mail an Trolla/Scriptkiddie senden Beiträge von Trolla/Scriptkiddie suchen Nehmen Sie Trolla/Scriptkiddie in Ihre Freundesliste auf
TheImaginator TheImaginator ist männlich
Tripel-As


images/avatars/avatar-58.jpg
[meine Galerie]


Dabei seit: 16.07.2007
Beiträge: 231

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Wenn ich ein ganz simples Programm mache, zb. einen einfachen Taschenrechner, könnte dieser bereits einen Bug haben?
Wenn ja wie sieht so einer aus?

1+1 = 5

Exploit: Das angewendete Ausnutzen bzw. die Art und Weise des Ausnutzens einer Sicherheitslücke. Sprich du kennst eine Sicherheitslücke/einen Bug und tust etwas vom Design her ungewolltest damit.

Beispiel: Bufferoverflow
Manche Funktionen in Programmen überprüfen nicht ob die zum Schreiben vorgesehene Stelle im Speicher lang genug ist um die Daten unterszubringen, sondern schreiben einfach alles was ihnen übergeben wird ab dieser Stelle in den Speicher.
Sollte das mit zu langen Daten geschehen, so wird Programmcode verändert, was zu einer anderen Verhaltensweise eines Programms führen kann/wird. Schreibst du nun ein Programm dass gezielt solch einen Sachverhalt ausnutzt und anderen Programmcode einschläust so erstellst du ein Exploit bzw. wendest ein Exploit an. Die Art des Exploits wäre dann eine Bufferoverflow-Injection.

mfg image
04.05.2010 04:37 TheImaginator ist offline Beiträge von TheImaginator suchen Nehmen Sie TheImaginator in Ihre Freundesliste auf
Trolla/Scriptkiddie Trolla/Scriptkiddie ist männlich
Grünschnabel



[meine Galerie]


Dabei seit: 04.05.2010
Beiträge: 6

Themenstarter Thema begonnen von Trolla/Scriptkiddie
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ok, gibt es "perfekte" Programme, in denen es keine Sicherheitslücken oder Risiken gibt, oder hat alles irgendwo eine Schwäche?

mfG.

__________________
~
04.05.2010 09:17 Trolla/Scriptkiddie ist offline E-Mail an Trolla/Scriptkiddie senden Beiträge von Trolla/Scriptkiddie suchen Nehmen Sie Trolla/Scriptkiddie in Ihre Freundesliste auf
Meik1988 Meik1988 ist männlich
König


images/avatars/avatar-42.jpg
[meine Galerie]


Dabei seit: 16.07.2007
Beiträge: 852

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hello World Augenzwinkern

Größere Programme enthalten eigentlich so gut wie immer Fehler die eventuell auch durch Schädlinge ausnutzbar sind.
Das liegt dann einfach an der komplexität der Programme.
Ab einer bestimmten Größe kann man eben nicht mehr alles im Auge behalten, übersieht oder vergisst etwas.
Und soetwas könnte dann ausgenutzt werden.
04.05.2010 13:28 Meik1988 ist offline E-Mail an Meik1988 senden Beiträge von Meik1988 suchen Nehmen Sie Meik1988 in Ihre Freundesliste auf
TheImaginator TheImaginator ist männlich
Tripel-As


images/avatars/avatar-58.jpg
[meine Galerie]


Dabei seit: 16.07.2007
Beiträge: 231

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
ein Programm dass gezielt solch einen Sachverhalt ausnutzt

ohje ... www.dasdass.de
04.05.2010 14:38 TheImaginator ist offline Beiträge von TheImaginator suchen Nehmen Sie TheImaginator in Ihre Freundesliste auf
Trolla/Scriptkiddie Trolla/Scriptkiddie ist männlich
Grünschnabel



[meine Galerie]


Dabei seit: 04.05.2010
Beiträge: 6

Themenstarter Thema begonnen von Trolla/Scriptkiddie
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von Meik1988
Hello World Augenzwinkern

Größere Programme enthalten eigentlich so gut wie immer Fehler die eventuell auch durch Schädlinge ausnutzbar sind.
Das liegt dann einfach an der komplexität der Programme.
Ab einer bestimmten Größe kann man eben nicht mehr alles im Auge behalten, übersieht oder vergisst etwas.
Und soetwas könnte dann ausgenutzt werden.


Also theoretisch gibt es auch komplett sichere (Hello World als bestes Beispiel <: ) und alles liegt nur am Programmierer selbst.

mfG.

__________________
~
04.05.2010 21:28 Trolla/Scriptkiddie ist offline E-Mail an Trolla/Scriptkiddie senden Beiträge von Trolla/Scriptkiddie suchen Nehmen Sie Trolla/Scriptkiddie in Ihre Freundesliste auf
Meik1988 Meik1988 ist männlich
König


images/avatars/avatar-42.jpg
[meine Galerie]


Dabei seit: 16.07.2007
Beiträge: 852

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Jep. Und an der Komplexität des Programms.
Je komplexer etwas ist, desto wahrscheinlicher ist es natürlich auch, dass Fehler passieren.
Ist übrigens nicht nur beim Programmieren so, sondern auch in anderen Industriebereichen (z.B. Auto).
05.05.2010 03:02 Meik1988 ist offline E-Mail an Meik1988 senden Beiträge von Meik1988 suchen Nehmen Sie Meik1988 in Ihre Freundesliste auf
TheImaginator TheImaginator ist männlich
Tripel-As


images/avatars/avatar-58.jpg
[meine Galerie]


Dabei seit: 16.07.2007
Beiträge: 231

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

du kannst dein hello-world noch so sicher programmieren und ich kanns dennoch mit ner dll-injection tun lassen was ich will. es hängt nicht nur vom programmierer ab. auch von den bedingungen. z.B. bringt das beste Passwort nichts wenn es auf nem Zettel neben dem PC liegt etc ...
05.05.2010 03:58 TheImaginator ist offline Beiträge von TheImaginator suchen Nehmen Sie TheImaginator in Ihre Freundesliste auf
Meik1988 Meik1988 ist männlich
König


images/avatars/avatar-42.jpg
[meine Galerie]


Dabei seit: 16.07.2007
Beiträge: 852

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ok, wie eine DLL-Injection funktioniert, habe ich mir noch nicht angeschaut Augenzwinkern

Ich hab mir bis jetzt nur über Fehlerquellen durch die Programmlogik Gedanken gemacht.
05.05.2010 04:38 Meik1988 ist offline E-Mail an Meik1988 senden Beiträge von Meik1988 suchen Nehmen Sie Meik1988 in Ihre Freundesliste auf
DarkSquirrel DarkSquirrel ist männlich
Kaiser


images/avatars/avatar-54.jpg
[meine Galerie]


Dabei seit: 02.07.2007
Beiträge: 1.102
Herkunft: ausm Ruhrpott

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ein typischer fehler den man nutzen kann ist das ungesicherte schreiben auf einen speicherbereich ...

stelle dir vor du hast in einem programm eine selbsgeschriebene funktion die aufgerufen wird.

in dieser funktion hast du platz für eine lokale variable reserviert ... sagen wir einen string (zeichenkette) mit 10 stellen ...

man könnte also den string "0123456789" problemlos darin speichern...

was passiert aber wenn man ein paar zeichen mehr da rein schreiben will?

wenn das programm nicht prüft (dafür ist bei c und c++ beispielsweise der programmierer zuständig) ob das was ich in diese variable schreiben will auch hinein passt, wird über das ende hinweg geschrieben, und was auch immer im speicher dahinter steht, würde überschrieben ...

wenn man nun den typischen ablauf eines funktionsaufrufs betrachtet kann man sehen das sich hieraus eine möglichkeit ergibt wie man in den programmablauf eingreifen kann:

ohne nun zu erklären was ein stackframe ist: wird eine funktion aufgerufen werden einige dinge im speicher wie auf einem stapel aufgeschichtet ... darunter die adresse im code von der aus die funktion aufgerufen wurde, und auch alle lokalen variablen ... schreibt man nun über das ende einer lokalen variable hinweg kann man die adresse überschreiben an die das programm zurück springt wenn die funktion abgelaufen ist.

da man beeinflussen kann was geschrieben wird, kann man also auch beeinflussen wohin das programm nach der funktion springt ...

wenn man nun noch herausbekommt an welcher adresse die lokale variable steht über die wir gerade schreiben, kann man selbst code an diese stelle schreiben und diesen code ausführen lassen ...

der typische buffer overflow exploit ... der eingefügte code öffnet typischer weise eine shell auf dem angegriffenen system, daher die bezeichnung shellcode

__________________
Gräten auf dem Sofakissen wird man wohl entfernen müssen.
05.05.2010 16:39 DarkSquirrel ist offline Beiträge von DarkSquirrel suchen Nehmen Sie DarkSquirrel in Ihre Freundesliste auf
Trolla/Scriptkiddie Trolla/Scriptkiddie ist männlich
Grünschnabel



[meine Galerie]


Dabei seit: 04.05.2010
Beiträge: 6

Themenstarter Thema begonnen von Trolla/Scriptkiddie
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Um das zu kapieren/beherrschen, muss man sich ja ganz schön damit beschäftigt haben.
.
Zitat:
wenn das programm nicht prüft (dafür ist bei c und c++ beispielsweise der programmierer zuständig) ob das was ich in diese variable schreiben will auch hinein passt, wird über das ende hinweg geschrieben, und was auch immer im speicher dahinter steht, würde überschrieben ...

Dann wunderts mich nicht mehr, dass viele Programme "Lücken" haben.

mfG.

__________________
~
06.05.2010 01:04 Trolla/Scriptkiddie ist offline E-Mail an Trolla/Scriptkiddie senden Beiträge von Trolla/Scriptkiddie suchen Nehmen Sie Trolla/Scriptkiddie in Ihre Freundesliste auf
buzzoDeluxe
Routinier


images/avatars/avatar-79.jpg
[meine Galerie]


Dabei seit: 23.04.2003
Beiträge: 442

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Beschäftigen musst du dich mit allem um es zu verstehen, sei es Autos reparieren, Dach decken, Bug´s nutzen, oder Fliesen verlegen....


Du wirst nichts können, nur weil du es mal irgendwo gelesen hast wie es funktioniert.
Eigeninitiative ist immer der erste Schritt zum Erfolg.

__________________
Würden Architekten Häuser bauen, wie Programmierer ihre Programme, dann könnte ein Specht die ganze Zivilisation zerstören.
06.05.2010 21:12 buzzoDeluxe ist offline E-Mail an buzzoDeluxe senden Beiträge von buzzoDeluxe suchen Nehmen Sie buzzoDeluxe in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
HackBox Forum » Programmieren & Entwicklung » Programmieren » Bugs?

Views heute: 24.425 | Views gestern: 20.844 | Views gesamt: 86.466.545


© • www.hackbox.de forum.hackbox.de
Forensoftware: Burning Board 2.3.6 pl2, entwickelt von WoltLab GmbH
DB: 215.444s | DB-Abfragen: 69 | Gesamt: 0.201s | PHP: -107086.07% | SQL: 107186.07%