Sicherheit in Software



Ähnliche Dokumente
SharePoint Demonstration

Exploits Wie kann das sein?

Secure Coding & Live Hacking von Webapplikationen. Conect Informunity

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

Lokale Installation von DotNetNuke 4 ohne IIS

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

How-to: Webserver NAT. Securepoint Security System Version 2007nx

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Anleitung für die Einrichtung weiterer Endgeräte in 4SELLERS SalesControl

Sicherheit in Webanwendungen CrossSite, Session und SQL

SQL-Injection. Seite 1 / 16

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

4.1 Download der App über den Play Store

Einführung in die Programmierung

Version 0.3. Installation von MinGW und Eclipse CDT

Inhaltsverzeichnis. Beschreibung. Hintergrund

Zugriff auf Daten der Wago über eine Webseite

Die Invaliden-Versicherung ändert sich

ICS-Addin. Benutzerhandbuch. Version: 1.0

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Hacker-Methoden in der IT- Sicherheitsausbildung. Dr. Martin Mink

Eine Million Kundendaten gestohlen - Aktuelle Fälle von Datendiebstahl und wie sie grundsätzlich funktionieren

Fussball.de JavaScript

Patch-Management. Leibniz-Akademie Hannover Wirtschaftsinformatik B. Sc. Praxisreflexion im Bereich Management im SS 2011

am Beispiel - SQL Injection

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

int ConcatBuffers(char *buf1, char *buf2, size_t len1, size_t len2) {

Alle gehören dazu. Vorwort

Warum werden täglich tausende von Webseiten gehackt?

Security-Webinar. Februar Dr. Christopher Kunz, filoo GmbH

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Was meinen die Leute eigentlich mit: Grexit?

Sichere Freigabe und Kommunikation

Step by Step Webserver unter Windows Server von Christian Bartl

PicKit 3. Programmierung mit dem USB-Programmer PICkit3 (Microchip) AB

Starten der Software unter Windows XP

Betroffene Produkte: Alle Versionen von Oracle Forms (3.0-10g, C/S und Web), Oracle Clinical, Oracle Developer Suite

Hinweise zur Installation der USB Treiber für Windows XP 32bit

Angreifbarkeit von Webapplikationen

a) Bis zu welchem Datum müssen sie spätestens ihre jetzigen Wohnungen gekündigt haben, wenn sie selber keine Nachmieter suchen wollen?

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Neuheiten PROfirst CAD Version 6

Der große VideoClip- Wettbewerb von Media Markt.

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Zugriff vom Internet auf IPswitches an einem DSL-Anschluss

OP-LOG

Money for Nothing... and Bits4free

Übungen zur Softwaretechnik

Entwicklung des Dentalmarktes in 2010 und Papier versus Plastik.

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Diese Anleitung erläutert die Einrichtung des Active Directory Modus im DNS-343.

Task: Nmap Skripte ausführen

Installation mit Lizenz-Server verbinden

How to do? Projekte - Zeiterfassung

Infinigate (Schweiz) AG. Secure Guest Access. - Handout -

Microsoft Office 365 Kalenderfreigabe

Kfz-Versicherung für Fahranfänger. mit der Lizenz zum Fahren

Impulse Inklusion Selbst-bestimmtes Wohnen und Nachbarschaft

Wissenswertes über binäre Felder

Wir machen neue Politik für Baden-Württemberg

Professionelle Seminare im Bereich MS-Office

Herstellung der Verbindung mit einem FTP-Programm

Netzwerk-Migration. Netzwerk-Migration IACBOX.COM. Version Deutsch

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Kapitalerhöhung - Verbuchung

Ein wilde Reise durch die IT-Nacht

Anwenderleitfaden Citrix. Stand Februar 2008

Übersicht... 2 Dateiupload... 3 Administratorfunktionen... 4

BTD Antivirus Evasion: Von der Idee zum PoC. Daniel Sauder SySS GmbH

HP Software Patch- und Version-Notification

Loggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation.

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C-Programmierung

desk.modul : WaWi- Export

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Upgrade von Starke Praxis

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2

Jahresabschluss Finanzbuchhaltung INGARA. Provisorisch und Definitiv. INGARA Version

Outlook-Daten komplett sichern

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Das Persönliche Budget in verständlicher Sprache

! " # $ " % & Nicki Wruck worldwidewruck

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Orientierungstest für angehende Industriemeister. Vorbereitungskurs Mathematik

Europäischer Fonds für Regionale Entwicklung: EFRE im Bundes-Land Brandenburg vom Jahr 2014 bis für das Jahr 2020 in Leichter Sprache

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

GDI - Lohn & Gehalt Umstieg auf Firebird 2.5

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace.

Transkript:

Sicherheit in Software Fabian Cordt und Friedrich Eder 3. Juni 2011

Allgemeines Begriffserklärung Woher Die 19 Todsünden 1 - Teil 2 - Teil 3 - Teil Was kann passieren Probleme beim Porgramm Durch Lücken die entstehen

Buffer Overflow Allgemeines Stack-based Buffer Overflow Angriffsmöglichkeit Gegenmaßnahmen SQL-Injection Allgemeines Angriffe Beispiel Gegenmaßnahmen Quellen und Abschluss Quellen Abschluss

Sicherheitslücken Fehler in der Software Schadprogramme können in den Rechner gelangen viele verschiedene Angriffsmöglichkeiten viel Schadcode im Umlauf

Wodurch kommt es zu Sicherheitlücken Lücken entstehen durch Fehler im Programm 1000 Programmzeilen/1 Fehler Hervorgerufen durch Zeitdruck Programmiersprachen (C, Assembler,..) Kenntnisse fehlen Große Gemeinde die Spass hat Fehler auszunutzen

Die 19 Todsünden 1 - Teil Buffer Overruns Format-String-Problems Integer Overflows SQL Injection Command-Injection Failing to Handle Errors

Die 19 Todsünden 2 - Teil Cross-Site Scripting Failing to Protect Network Traffic Use of Magic URLs and Hidden Form Fields Improper Use of SSL and TLS Use of Weak Passwords-Based Systems Failing to Store and Protect Data Securely

Die 19 Todsünden 3 - Teil Information Leakage Improper File Access Trusting Network Name Resolution Race Conditions Unauthenticated Key-Exchange Cryptographically Strong Random Numbers Poor Usability

Was kann passieren Das Programm... gibt falsches Ergebnis beschädigt Daten stürzt ab bring Betriebsystem zum abstürzt

Was kann passieren Durch Lücken kommt es zu... abstürzen von Programmen Datenbeschädigung Ressourcenraub Datenraub

Allgemeines Mehrere Arten Eingabedaten werden über die Grenzen der Variablen geschrieben Angreifer kann Speicherbereiche verändern, auf die er keinen Zugriff haben sollte Programmiersprachenabhängig Kann vom Benutzer ohne Quellcode nicht gesehen werden

Gefährdete Sprachen Sprachen, die Pointerarithmetik erlauben c c++

Beispiel void dosomething ( const char s t r i n g ) { char b u f f e r [ 1 2 8 ] ; s t r c p y ( b u f f e r, s t r i n g ) ; // do something } i n t main ( i n t argc, const char argv [ ] ) { char i n p u t = c h a r E i n l e s e n ( ) ; dosomething ( i n p u t ) ; return 0 ; }

Stack-based Buffer Overflow return pointer buffer[127] buffer[3] buffer[2] buffer[1] buffer[0] n + 128 n Abbildung: Der Stack Funktionsinterne Variablen werden auf dem Stack abgelegt Return Pointer liegt ganz oben auf dem Stack

Angriffsmöglichkeit und Probleme Interne Variablen können überschrieben werden Return Pointer kann verändert werden eigene Eingaben können als Programmcode ausgeführt werden Angreifer kann sich Berechtigungen des Programmes beschaffen

Was kann man als Programmierer dagegen tun Längenüberprüfung im Programm einfügen Warnungen des Compilers beachten geeignete Funktionen zum Einlesen von Daten verwenden eine aktuelle Version des Compilers verwenden

Gegenmanahmen des Compilers Stack Protection Canary wird nach Return Pointer auf den Stack gelegt Bietet keinen 100% Schutz Angreifer kann Canary erraten gcc: ProPolice

Allgemeines Durch das Programm selbst sehr aktuell große Schäden Veränderung von Daten Diebstahl von Daten Beschädigung von Daten Systemmissbrauch (Ressourcennutzung,... ) Datenbankveränderung

Angriffe Benutzereingaben kommen in den SQL-Interpreter es gibt so genannte Cheat Sheets viele Foren mit genauer Erklärungen auch groe Firmen sind immer wieder betroffen

Zugriff auf falsche Daten SELECT * FROM TABLE WHERE USERNAME = input mit Eingabe something OR 1 = 1 SELECT * FROM TABLE WHERE USERNAME = something OR 1 = 1

Was kann man dagegen tun Daten die Beteutung für den SQL-Interpreter nehmen Maskieren Escapen Daten vom SQL-Interpreter fernhalten Privilegien genau abmessen Web Application Firewalls

Quelle 19 Deadly Sins of Software Security by Michael Howard,David LeBlanc and John Viega ISBN:0072260858 citeseer1 citeseer2 galileocomputing

Ende Sie erreichen uns unter ederfri[at]stud.sbg.ac.at cordtfa[at]stud.sbg.ac.at Wir danken für die Aufmerksamkeit