Sichere Software. Sicheres Programmieren und Quellcodeanalyse. Thomas Biege

Größe: px
Ab Seite anzeigen:

Download "Sichere Software. Sicheres Programmieren und Quellcodeanalyse. Thomas Biege "

Transkript

1

2 Sichere Software Sicheres Programmieren und Quellcodeanalyse Thomas Biege

3 Überblick generelle Ursachen technische Ursachen: C/C++ Beispiele aus der Praxis kleine Einführung in die Kryptographie Verwendung von SSL/TLS

4 Ursachen

5 Klassifizierung technische Fehler logische Fehler administrative Fehler

6 Wo ergeben sich Sicherheitsprobleme? An der Grenze zwischen Privilegiendomänen Netzwerk vs. Server Benutzer vs. Applikation Internet vs. Firmennetz

7 Warum werden Fehler zu Problemen der Sicherheit? fehlende Aufgabenteilung: ein Prozess erledigt alle Aufgaben keine Trennung zwischen Kontroll- und Nutzdaten: Code-Segment und Daten- Segment, PPP, IP, TCP, usw.

8 Software-Entwicklung fehlendes Wissen und Sensibilität kurze Entwicklungszyklen vs. Qualität Features vs. Qualität keine Quality-Assurance-Abteilung

9 Resultat Image-Verlust erhöhte Kosten: Support, PR, Fehlerbehebung

10 Technische Ursachen C und C++

11 Stolpersteine Speicherüberläufe Wertebereichsüberläufe Race-Conditions temporäre Dateien Format-Bugs Dynamischer Speicher usw.

12 Die Speicherhöhle Die Speicherhöhle Stack und Stack Heap und Heap Stack Grows down Heap Grows up

13 Abstrakter abstrakter Stack-Aufbau Parameter IP BP lokale Variablen

14 Was kann überlaufen? Stack-Speicher Variableninhalte (Zeiger, Integer,...) gesicherte Register Heap-Speicher Variableninhalte (Zeiger, Integer,...) Programmstrukturen (GOT, atexit,...) Integer-Variablen (Wertebereich)

15 Speicherinhalte /* that's our secret phrase */ char origpassword[12] = "Geheim\0"; char userpassword[12]; /* read user input */ gets(userpassword); if(strncmp(origpassword, userpassword, 12)!= 0) { printf("password doesn't match!\n");exit(-1); } /* give user access to everything */

16 Speicherinhalte Beispiel 1 (Speicherinhalte) userpassword origpassword 0 11 userpassword origpassword 11

17 CPU-Register gesicherter Instruction Pointer (IP) überschreiben mit Maschinencode RET restauriert den IP CPU führt Code des Angreifers aus gesicherter Base Pointer (BP) One-Byte Bufferoverflow

18 Function-Pointer Beispiel 2 (Function-Pointer) long (* funcptr) () = atol(); /* ** der Angreifer platziert seinen Maschinencode irgendwo ** im Prozeßspeicher */ /* ** durch das Ausnutzen eines Speicherüberlaufes wird ** der Wert von (*funcptr) mit der Adresse des Maschinen- ** codes überschrieben */ /* ** Wenn der Function-Pointer benutzt wird, wird der ** Code des Angreifers ausgeführt. */ (*funcptr)(string);

19 Wertebereichsüberläufe unsigned + 1 unsigned signed Typenwandlung unsigned signed Typenwandlung unsigned

20 Race-Condition Time-of-Check vs. Time-of-Use Grund: nicht-atomare Operationen fehlendes Locking Wo: Dateisystem multithreaded Code Synchronisation verteilter Datenbanken Signale/Interval-Timer usw.

21 Vermeiden von Race- Conditions (Dateisystem) niemals symbolische Dateinamen, stattdessen Dateideskriptoren O_NOFOLLOW setuid(2), setgid(2), initgroups(3) fork(2) + Privilegien anpassen chdir(2) und obere Verzeichnisstruktur prüfen

22 temporäre Dateien Verzeichnis für jederman schreibbar chmod +t /tmp /var/tmp wird nicht vererbt Race-Conditions O_NOFOLLOW O_CREATE O_EXCL (Achtung: NFSv1,2) mkstemp(3) mktemp(1)

23 Format-Bugs zum ersten Mal im Jahr 2000 publiziert printf-ähnliche Funktionen lesen: %x, %p schreiben: %n falsch: snprintf(buf, sizeof(buf), user_data) richtig: snprintf(buf, sizeof(buf), %s, user_data)

24 Dynamischer Speicher free() free(3) mit benutzerdefin- Kontroll- und Nutzdaten iertem Argument doppelverkette Liste Kontrolldaten mit free(3) Nutzdaten oder Überlauf doppeltverkettete Liste implementierungsabhängig Resultat: Verändern von Resultat: Speicherinhalten Verändern von Speicherinhalten implementationsabhängig Block (intern) chunk Block (extern) mem prev_size size fd or data bk or data...

25 Filtern von Benutzereingaben Positivliste vs. Negativliste a-za-z0-9\s reicht oft aus Bsp.: Dateinamen in C, Perl, Shell Bsp.: Cross-Site-Scripting in SQL, HTML, LDAP und Terminal-Escape-Sequenzen...

26 Prozessumgebung Vor dem Ausführen externer Programme immer das Environment säubern. problematisch: PATH, IFS niemals vertrauen: USER, UID gefährlich: LD_PRELOAD, LD_LIBRARY_PATH niemals system(3) oder popen(3) verwenden

27 Zugriffsrechte So offen wie nötig, so restriktiv wie möglich. umask(2) falsches Zahlensystem dezimal vs. oktal 660 anstatt 0600 oft vergessen: IPC

28 sensible Daten kein Swapping: mlock(2) Speicher säubern: memset(3), spez. Bit-Muster Dateisystem säubern: spez. Bit-Muster keine Core-Dumps: setrlimit(3) Kryptographie Debugging vermeiden: ptrace(2), SIGTRAP

29 offene Ressourcen beim Starten von fremden Programmen alle Deskriptoren schließen Dateien Verzeichnisse! Sockets IPC fcntl(2) und Close-on-Exec Flag

30 Ressourcenbegrenzung systemweite Denial-of-Service Attacke vermeiden setrlimit(2) ulimit(1) wichtige Systemressourcen: Core-Dump Größe Anzahl offener Deskriptoren max. Speichergröße max. Anzahl Prozesse

31 Timing-Angriffe ursprünglich zur Analyse von Smart-Cards (Crypto- Prozessor) Zeitmessung von verschiedenen Ausführungspfaden sowie Berechnungen Bsp.: Prüfung von Authentifizierungs-Code vermeiden von Abkürzungen, konstante Berechnungen, zufällige Verzögerungen, keine datenabhängigen Berechnungen

32 API-/Protokolldesign Interface-Funktionen: private Daten schützen Eingaben nicht vertrauen: Typ und Inhalt prüfen Limits setzen: keine globalen Limits Zustandsautomat verteilen von CPU-intensiven Operationen auf Clients: Schutz vor DoS-Attacken

33 Beispiele aus der Praxis

34 ntop - popen(3) if(num == 0) putenv( QUERY_STRING=); sprintf(line, %s/cgi/%s, getenv( PWD ), cginame); if((fd = popen(line, r ) == NULL) {... cginame = ;/bin/rm -rf /

35 ziptool - strncat(3) switch(oper) { case MOUNT_DISK: strncpy(cmd, MOUNT_CMD, strlen(mount_cmd)+1); strncat(cmd, -t ext2, 9); strncat(cmd, dev, strlen(dev)+1); strncat(cmd,, 1);...

36 Benutzereingaben - Format-Bugs /* Check Password */ if(strncmp(su_pwd, user_input, strlen(su_pwd))!= 0) { /* Wrong Password */ sprintf(fmt_str, Wrong Password: %s\n, user_input); printf(fmt_str); exit(0); }

37 Zugriffsrechte - IPC /* creating shm */ if( (shm_id = shmget(0, stat_buf.st_size, S_IRWXU 654 IPC_CREAT IPC_EXCL)) < 0) err(-1, error: unable to create shm\n );... exit(0);

38 Die folgenden Fehler waren alle Teil einer realen Applikation und wurden Die roten Zeilen enthalten den Fehler, die grünen Zeilen sind die entsprec Integer-Overflow - smalltalk Korrektur. Blaue Abschnitte kennzeichnen den Teil, bei dem der Fehler se negative Auswirkung hat. Bsp. smalltak 2.1.8: [...] memset (crgb, 0, 256 * sizeof (unsigned int *)); for (a = 0; a < ncolors; a++) { char1 = colortable[a].string[0]; char1 = (unsigned char)colortable[a].string[0]; if (crgb[char1] == NULL) { crgb[char1] = (unsigned int *)... [...] Hier haben wir ein Vorzeichenproblem. Die Variable char1 ist vorzeichen vom Typ int (32 Bit). Die Variable colortable[a].string[0] besitzt Vorzeichen ist aber vom Typ char und deswegen nur 8 Bit groß. Das Prob offensichtlich. Da wir einen Wert der Größe 8 Bit einer Variablen mit der

39 Arrays und überschreiben evtl. vitale In Integer-Overflow - X11 Bsp. libxpm aus Xorg-X : [...] unsigned int i; int i; for (i = nbytes; --i >=0;) *dst++ = *src++; [...]

40 anders interpretiert wird als wir erwarten. In einigen Fällen wird der Teil sogar optimiert. Integer-Overflow - xpdf Also benutzen wir den Typ size_t, da er nicht vorzeichenbehaftet ist und zudem n auf allen Architekturen problemlos zu benutzen ist. (32 Bit vs. 64 Bit) Bsp. xpdf 2.02pl1: [...] size_t size; [...] if(size*sizeof(xrefentry)/sizeof(xrefentry)!= size) { error(-1, "Invalid 'size' inside xref table."); } ok = gfalse; errcode = errdamaged; #define SIZEOF_MYDATA 100 entries = (XRefEntry *)gmalloc(size * sizeof(xrefentry)); for (i = 0; i < size; ++i) { entries[i].offset = 0xffffffff; entries[i].used = gfalse; } [...]

41 Der Parameter ist nicht vom Typ size_t sondern vom Typ int, das Resultat ist als abermals ein Wertebereichsüberlauf. Zudem ist diese Implementierung nicht 6 tauglich. Integer-Overflow - Samba 1 Im Dezember 2004 wurde mehrere potentielle Integer Overflows im Samba-Cod behoben. Dafür wurden die Funktionen malloc(), realloc(), calloc() aus der glib eigenen Funktionen ersetzt, die das Ergebnis einer arithmetischen Operation v Allozieren des Speichers prüfen. Die folgende Funktion ist ein Ersatz für malloc(): void *malloc_array(size_t el_size, unsigned int count) { if (count >= MAX_ALLOC_SIZE/el_size) { return NULL; } #if defined(paranoid_malloc_checker) return malloc_(el_size*count); #else return malloc(el_size*count); #endif

42 Integer-Overflow - Die if-anweisung bricht ab, wenn der Wertebereich der Ergebnisvariablen über wird. Und natürlich sind wir paranoid und definieren PARANOID_MALLOC_C um den Codeblock return malloc_(el_size*count) zu aktivieren. Samba 2 Guckt man sich aber nun malloc_() genauer an, entdeckt man, dass die vorher Prüfung ausgehebelt wird, da eine weitere arithmetische Operation folgt (+ 1 somit wieder ein Integer Overflow stattfinden kann. void *malloc_(size_t size) { #undef malloc /* If we don't add an amount here the glibc memset seems to write one byte over. */ return malloc(size+16); } #define malloc(s) ERROR_DONT_USE_MALLOC_DIRECTLY Die Addition wurde nur eingefügt, damit Valgrind (ein Programm zum Auffind Speicherlecks und ähnlichem) diese Stelle nicht mehr bemängelt. Welch Ironie zeigt, dass ein Werkzeug alleine bei weitem nicht ausreicht, um Code zu überp

43 Kryptographie

44 Einführung Kryptographie = griech. Geheimschrift Ziele Vertrauen Integrität Authentizität mathematisch: Algorithmen logisch: Protokolle

45 symmetrische Algorithmen symmetrische Algorithmen symmetrische Algorithmen Klartext Klartext Algorithmus Algorithmus unsicherer Kanal unsicherer Kanal Algorithmus Algorithmus Klartext Klartext Chiffretext Chiffretext Chiffretext Chiffretext geheimer Schlüssel geheimer Schlüssel sicherer Kanal sicherer Kanal geheimer Schlüssel geheimer Schlüssel

46 asymmetrische Algorithmen asymmetrische Algorithmen Klartext Klartext Algorithmus Algorithmus unsicherer Kanal unsicherer Kanal Algorithmus Algorithmus Klartext Klartext Chiffretext Chiffretext Chiffretext Chiffretext öffentlicher Schlüssel (für jederman zugänglich) geheimer/ privater Schlüssel

47 Es besteht kein Grund in Panik zu verfallen, man sollte sich lediglich Gedanken um neue Standards machen. Hier ist das amerikanische NIST (National Institut of Standards and Technology) gefragt. Das NIST hatte 1997 bereits eine Ausschreibung gestartet, um einen Nachfolger für DES zu suchen. Der Nachfolger, der sog. Advanced Encryption Standard (AES), wurde durch den Algorithmus Rijndael gefunden. (http://csrc.nist.gov/cryptotoolkit/aes/round2/r2report.pdf) Hashes und Signaturen ()*&#$+%+%,-")".!"#$%&#$'!"#$%&#$' /"*$0 1.23%&'$4(* /"*$0 1.23%&'$4(* 5+**"2+,6&2+*' 7 5+**"2+,6&2+*'

48 Zufallszahlen - (P)RNG max. Entropie: Hmax = 1, wenn P = 0,5 +/- e, bei e = 0 Grundlage vieler Algorithmen und Protokolle Die meisten Unix-Systeme bieten /dev/random oder /dev/urandom an Qualität unbekannt, /dev/urandom u.u. MD5(0) nie PRNGs aus Software-Bibliotheken benutzen zur Not: EGADS oder EGD benutzen Counter-Mode + zufälliger IV read(2) anstatt fread(3) (kein Buffering)

49 TLS/SSL

50 Does and Donts SSL Version >= 3 bzw. TLS Bestimmte Algorithmen sind veraltet (DES) einige Schlüssellängen sind zu klein symmetrisch: n >= 128 Bit asymmetrisch: n >= 1024 Bit (RSA) Exportbeschränkungen deaktivieren privaten Schlüssel schützen

51 Does and Donts Ephemeral Keying = Perfect Forward Security (PFS) PRNG ausreichend initialisieren (wenigstens so viele Zufallbits wie Schlüsselbits, die generiert werden sollen) SSL-Session erneuern bei großen Datenmengen Verzeichnis mit CA-Certs nur von root schreibbar Zertifikate prüfen!

52 Abschluß

53 Was kann getan werden? Lehrgänge für Entwickler KISS = keep it simple stupid Privilegien-/Aufgabenteilung QA und Sicherheitsprüfung als Teil der Entwicklung Source-Code Audits externe Experten projektfremde Entwickler

54 Weitere Informationen

55 Fragen?

Sichere Software Quellcodeüberprüfung und sicheres Programmieren

Sichere Software Quellcodeüberprüfung und sicheres Programmieren Sichere Software Quellcodeüberprüfung und sicheres Programmieren Thomas Biege Agenda erster Teil: 10:00 Uhr 12:30 Uhr Pause: 12:30 Uhr 13:30 Uhr zweiter Teil: 13:30 Uhr??? Uhr Überblick

Mehr

Sicherheitsrelevante Programmierfehler

Sicherheitsrelevante Programmierfehler Sicherheitsrelevante Programmierfehler Thomas Biege Erste Version: 05. September 2001 Letzte Korrektur: 2. November 2006 0. Einleitung Motivation "Warum sollte ich als Programmierer auf

Mehr

Secure Sockets Layer (SSL) Prof. Dr. P. Trommler

Secure Sockets Layer (SSL) Prof. Dr. P. Trommler Secure Sockets Layer (SSL) Prof. Dr. P. Trommler Übersicht Internetsicherheit Protokoll Sitzungen Schlüssel und Algorithmen vereinbaren Exportversionen Public Keys Protokollnachrichten 29.10.2003 Prof.

Mehr

Sicherheit von PDF-Dateien

Sicherheit von PDF-Dateien Sicherheit von PDF-Dateien 1 Berechtigungen/Nutzungsbeschränkungen zum Drucken Kopieren und Ändern von Inhalt bzw. des Dokumentes Auswählen von Text/Grafik Hinzufügen/Ändern von Anmerkungen und Formularfeldern

Mehr

Was heißt Kryptographie I? Understanding Cryptography Christof Paar und Jan Pelzl

Was heißt Kryptographie I? Understanding Cryptography Christof Paar und Jan Pelzl Was heißt Kryptographie I? Understanding Cryptography Christof Paar und Jan Pelzl Die Autoren Dr.-Ing. Jan Pelzl Prof. Dr.-Ing. Christof Paar Gliederung Historischer Überblick Begrifflichkeiten Symmetrische

Mehr

Denn es geht um ihr Geld:

Denn es geht um ihr Geld: Denn es geht um ihr Geld: [A]symmetrische Verschlüsselung, Hashing, Zertifikate, SSL/TLS Warum Verschlüsselung? Austausch sensibler Daten über das Netz: Adressen, Passwörter, Bankdaten, PINs,... Gefahr

Mehr

Angewandte IT-Sicherheit

Angewandte IT-Sicherheit Angewandte IT-Sicherheit Johannes Stüttgen Lehrstuhl für praktische Informatik I 30.11.2010 Lehrstuhl für praktische Informatik I Angewandte IT-Sicherheit 1 / 28 Aufgabe 1 Betrachten sie folgendes Programm:

Mehr

SSL/TLS Sicherheit Warum es sich lohnt, sich mit Ciphersuites zu beschäftigen

SSL/TLS Sicherheit Warum es sich lohnt, sich mit Ciphersuites zu beschäftigen SSL/TLS Sicherheit Warum es sich lohnt, sich mit Ciphersuites zu beschäftigen Immo FaUl Wehrenberg immo@ctdo.de Chaostreff Dortmund 16. Juli 2009 Immo FaUl Wehrenberg immo@ctdo.de (CTDO) SSL/TLS Sicherheit

Mehr

Kryptographie oder Verschlüsselungstechniken

Kryptographie oder Verschlüsselungstechniken Kryptographie oder Verschlüsselungstechniken Dortmund, Dezember 1999 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX:

Mehr

Benutzer- und Datensicherheit. Ralf Abramowitsch Vector Informatik GmbH abramowitsch@lehre.dhbw-stuttgart.de

Benutzer- und Datensicherheit. Ralf Abramowitsch Vector Informatik GmbH abramowitsch@lehre.dhbw-stuttgart.de Benutzer- und Datensicherheit Ralf Abramowitsch Vector Informatik GmbH abramowitsch@lehre.dhbw-stuttgart.de Authentifizierung vs. Autorisierung IIdentity vs. IPrincipal Verschlüsseln und Entschlüsseln

Mehr

Rechneranmeldung mit Smartcard oder USB-Token

Rechneranmeldung mit Smartcard oder USB-Token Rechneranmeldung mit Smartcard oder USB-Token Verfahren zur Authentifizierung am Rechnersystem und angebotenen Diensten, SS2005 1 Inhalt: 1. Systemanmeldung 2. Grundlagen 3. Technik (letzte Woche) 4. Standards

Mehr

Übersicht. Race Conditions Buffer Overflows Heap Overflows Exkurs: Stackaufbau bei Intel x86 Exkurs: Shellcode Stack Overflows

Übersicht. Race Conditions Buffer Overflows Heap Overflows Exkurs: Stackaufbau bei Intel x86 Exkurs: Shellcode Stack Overflows Übersicht Race Conditions Buffer Overflows Heap Overflows Exkurs: Stackaufbau bei Intel x86 Exkurs: Shellcode Stack Overflows Integer Overflows Format-String-Angriffe (SQL) Injection Cross Site Scripting

Mehr

Programmieren in C. Operatoren, Variablen und deren Sichtbarkeit. Prof. Dr. Nikolaus Wulff

Programmieren in C. Operatoren, Variablen und deren Sichtbarkeit. Prof. Dr. Nikolaus Wulff Programmieren in C Operatoren, Variablen und deren Sichtbarkeit Prof. Dr. Nikolaus Wulff Auswertung von Ausdrücken Was passiert wenn ein Ausdruck wie z. B. int y,x=2; y = ++x * x++; im Computer abgearbeitet

Mehr

Moderne C-Programmierung

Moderne C-Programmierung Xpert.press Moderne C-Programmierung Kompendium und Referenz Bearbeitet von Helmut Schellong 1. Auflage 2005. Buch. xii, 280 S. ISBN 978 3 540 23785 3 Format (B x L): 15,5 x 23,5 cm Weitere Fachgebiete

Mehr

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C 10 Sicheres Programmieren Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Literatur Klein, Buffer Overflows und Format-String-Schwachstellen.

Mehr

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale

Mehr

Dienstspezifikation nach RFC 2396 193

Dienstspezifikation nach RFC 2396 193 Dienstspezifikation nach RFC 2396 193 Für die Kombination aus Rechnernamen (oder alternativ einer IP-Adresse) und einer Portnummer gibt es mit RFC 2396 einen Standard: hostport host [ : port ] host hostname

Mehr

18 Softwaresicherheit

18 Softwaresicherheit 18 Softwaresicherheit Beispiel: Heartbleed Verö entlicht am 7.4.14: responsible disclosure. TLS heartbeat: Verbindung o en halten, ohne Daten auf Applikationsschicht zu senden. Definiert in RFC 6520 Kann

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C 10 Sicheres Programmieren Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Literatur Klein, Buffer Overflows und Format-String-Schwachstellen.

Mehr

Sicherheit in Netzwerken. Leonard Claus, WS 2012 / 2013

Sicherheit in Netzwerken. Leonard Claus, WS 2012 / 2013 Sicherheit in Netzwerken Leonard Claus, WS 2012 / 2013 Inhalt 1 Definition eines Sicherheitsbegriffs 2 Einführung in die Kryptografie 3 Netzwerksicherheit 3.1 E-Mail-Sicherheit 3.2 Sicherheit im Web 4

Mehr

Übungen zur Vorlesung Systemsicherheit

Übungen zur Vorlesung Systemsicherheit Übungen zur Vorlesung Systemsicherheit Symmetrische Kryptographie Tilo Müller, Reinhard Tartler, Michael Gernoth Lehrstuhl Informatik 1 + 4 17. November 2010 c (Lehrstuhl Informatik 1 + 4) Übungen zur

Mehr

Grundlagen der Kryptographie

Grundlagen der Kryptographie Grundlagen der Kryptographie Seminar zur Diskreten Mathematik SS2005 André Latour a.latour@fz-juelich.de 1 Inhalt Kryptographische Begriffe Primzahlen Sätze von Euler und Fermat RSA 2 Was ist Kryptographie?

Mehr

Sicherheit in Software

Sicherheit in Software 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

Mehr

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

7.11.2006. int ConcatBuffers(char *buf1, char *buf2, size_t len1, size_t len2) { Universität Mannheim Lehrstuhl für Praktische Informatik 1 Prof. Dr. Felix C. Freiling Dipl.-Inform. Martin Mink Dipl.-Inform. Thorsten Holz Vorlesung Angewandte IT-Sicherheit Herbstsemester 2006 Übung

Mehr

Einführung in die moderne Kryptographie

Einführung in die moderne Kryptographie c by Rolf Haenni (2006) Seite 1 Von der Caesar-Verschlüsselung zum Online-Banking: Einführung in die moderne Kryptographie Prof. Rolf Haenni Reasoning under UNcertainty Group Institute of Computer Science

Mehr

HTTPS Checkliste. Version 1.0 (26.08.2015) Copyright Hahn und Herden Netzdenke GbR

HTTPS Checkliste. Version 1.0 (26.08.2015) Copyright Hahn und Herden Netzdenke GbR HTTPS Checkliste Version 1.0 (26.08.2015) Copyright Hahn und Herden GbR Inhaltsverzeichnis Best Practices...2 1 Private Key und Zertifikat...2 1.1 2048-Bit Private Keys...2 1.2 Geheimhalten der Private

Mehr

Verteilte Systeme. Übung 10. Jens Müller-Iden

Verteilte Systeme. Übung 10. Jens Müller-Iden Verteilte Systeme Übung 10 Jens Müller-Iden Gruppe PVS (Parallele und Verteilte Systeme) Institut für Informatik Westfälische Wilhelms-Universität Münster Sommersemester 2007 10.1 Unsicherheit in Verteilten

Mehr

Digitale Signatur. Digitale Signatur. Anwendungen der Kryptographie. Secret Sharing / Splitting. Ziele SSL / TLS

Digitale Signatur. Digitale Signatur. Anwendungen der Kryptographie. Secret Sharing / Splitting. Ziele SSL / TLS Digitale Signatur Digitale Signatur kombiniert Hash Funktion und Signatur M, SIGK(HASH(M)) wichtige Frage: Wie wird der Bithaufen M interpretiert Struktur von M muss klar definiert sein Wie weiss ich,

Mehr

Integer Integer Integer (Voreinstellung) Integer Gleitkomma Gleitkomma leer/unbestimmt Integer ohne Vorzeichen Integer (explizit) mit Vorzeichen

Integer Integer Integer (Voreinstellung) Integer Gleitkomma Gleitkomma leer/unbestimmt Integer ohne Vorzeichen Integer (explizit) mit Vorzeichen 1 C-Schlüsselwörter Schlüsselwörter sind in allen Programmiersprachen reservierte Wörter. In C sind auch alle Namen _[A-Z]... und... reserviert, auch _... bereichsweise. Weiterhin durch die Standard-

Mehr

UNIX Dateirechte. Michael Hartmann. 7. Oktober 2015. Linux User Group Augsburg

UNIX Dateirechte. Michael Hartmann. 7. Oktober 2015. Linux User Group Augsburg UNIX Dateirechte Michael Hartmann Linux User Group Augsburg 7. Oktober 2015 Sicherheitskonzept Wie funktioniert eigentlich Sicherheit auf Computern? Sicherheitskonzept https://de.wikipedia.org/wiki/ring_%28cpu%29

Mehr

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am 28.05.2002

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am 28.05.2002 Diffie-Hellman, ElGamal und DSS Vortrag von David Gümbel am 28.05.2002 Übersicht Prinzipielle Probleme der sicheren Nachrichtenübermittlung 'Diskreter Logarithmus'-Problem Diffie-Hellman ElGamal DSS /

Mehr

Public Key Infrastruktur. Georg Gruber & Georg Refenner 26.Jänner 2009 ITTK 09

Public Key Infrastruktur. Georg Gruber & Georg Refenner 26.Jänner 2009 ITTK 09 Public Key Infrastruktur Georg Gruber & Georg Refenner 26.Jänner 2009 ITTK 09 Grundlagen Symmetrische Verschlüsselung Asymmetrische Verschlüsselung Hybridverschlüsselung Hashverfahren/Digitale Signaturen

Mehr

ESecuremail Die einfache Email verschlüsselung

ESecuremail Die einfache Email verschlüsselung Wie Sie derzeit den Medien entnehmen können, erfassen und speichern die Geheimdienste aller Länder Emails ab, egal ob Sie verdächtig sind oder nicht. Die Inhalte von EMails werden dabei an Knotenpunkten

Mehr

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind

Mehr

Verschlüsselung und Signatur

Verschlüsselung und Signatur Verschlüsselung und Signatur 1 Inhalt Warum Verschlüsseln Anforderungen und Lösungen Grundlagen zum Verschlüsseln Beispiele Fragwürdiges rund um das Verschlüsseln Fazit Warum verschlüsseln? Sichere Nachrichtenübertragung

Mehr

TLS ALS BEISPIEL FÜR EIN SICHERHEITSPROTOKOLL

TLS ALS BEISPIEL FÜR EIN SICHERHEITSPROTOKOLL 1 TLS ALS BEISPIEL FÜR EIN SICHERHEITSPROTOKOLL Kleine Auswahl bekannter Sicherheitsprotokolle X.509 Zertifikate / PKIX Standardisierte, häufig verwendete Datenstruktur zur Bindung von kryptographischen

Mehr

NAT & VPN. Adressübersetzung und Tunnelbildung. Bastian Görstner

NAT & VPN. Adressübersetzung und Tunnelbildung. Bastian Görstner Adressübersetzung und Tunnelbildung Bastian Görstner Gliederung 1. NAT 1. Was ist ein NAT 2. Kategorisierung 2. VPN 1. Was heißt VPN 2. Varianten 3. Tunneling 4. Security Bastian Görstner 2 NAT = Network

Mehr

SSL/TLS. Präsentation zur Seminararbeit. im Seminar Internetsicherheit. Michael Hübschmann 26. Juni 2014 Betreuung: Dipl. Inf.

SSL/TLS. Präsentation zur Seminararbeit. im Seminar Internetsicherheit. Michael Hübschmann 26. Juni 2014 Betreuung: Dipl. Inf. SSL/TLS Präsentation zur Seminararbeit im Seminar Internetsicherheit Michael Hübschmann 26. Juni 2014 Betreuung: Dipl. Inf. Kuzman Katkalov Überblick 1. Motivation 2. Von SSL zu TLS, die Geschichte der

Mehr

FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam

FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam Aktuelle Fileposition ermitteln long pos; pos=ftell(fp); //aktuelle Bytenummer Filelaenge in Bytes fseek(fp,0,seek_end); pos=ftell(fp); Fileendeerkennung int rc; rc = feof (fp) //!= 0 bei Fileende // ==

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

2. Prozesssynchronisation

2. Prozesssynchronisation Tafelübung zu BSRvS1 2. Prozesssynchronisation Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/teaching/ss2008/bsrvs1/exercises/

Mehr

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

Security-Webinar. Februar 2015. Dr. Christopher Kunz, filoo GmbH Security-Webinar Februar 2015 Dr. Christopher Kunz, filoo GmbH Ihr Referent _ Dr. Christopher Kunz _ CEO Hos4ng filoo GmbH / TK AG _ Promo4on IT Security _ X.509 / SSL _ Vorträge auf Konferenzen _ OSDC

Mehr

Verteilte Systeme. 10.1 Unsicherheit in Verteilten Systemen

Verteilte Systeme. 10.1 Unsicherheit in Verteilten Systemen Verteilte Systeme Übung 10 Jens Müller-Iden Gruppe PVS (Parallele und Verteilte Systeme) Institut für Informatik Westfälische Wilhelms-Universität Münster Sommersemester 2007 10.1 Unsicherheit in Verteilten

Mehr

Symmetrische und Asymmetrische Kryptographie. Technik Seminar 2012

Symmetrische und Asymmetrische Kryptographie. Technik Seminar 2012 Symmetrische und Asymmetrische Kryptographie Technik Seminar 2012 Inhalt Symmetrische Kryptographie Transpositionchiffre Substitutionchiffre Aktuelle Verfahren zur Verschlüsselung Hash-Funktionen Message

Mehr

Pervasive.SQL ODBC Treiber. ab ABACUS 2006.20er-Version Installationsanleitung

Pervasive.SQL ODBC Treiber. ab ABACUS 2006.20er-Version Installationsanleitung Inhaltsverzeichnis Pervasive.SQL ODBC Treiber ab ABACUS 2006.20er-Version Installationsanleitung Mai 2013 / CL 1 Serverinstallation... 1 2 Clientinstallation... 8 WICHTIG Alle untenstehenden Schritte müssen

Mehr

Virtual Private Networks mit OpenVPN. Matthias Schmidt Chaostreff Giessen/Marburg

Virtual Private Networks mit OpenVPN. Matthias Schmidt <xhr@giessen.ccc.de> Chaostreff Giessen/Marburg Virtual Private Networks mit OpenVPN Matthias Schmidt Agenda Einführung Szenarien Protokolle Transport Layer Security v1 pre-shared keys Installation Konfiguration Wichtige Parameter

Mehr

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

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Übungen zur Vorlesung Systemsicherheit

Übungen zur Vorlesung Systemsicherheit Übungen zur Vorlesung Systemsicherheit Asymmetrische Kryptographie Tilo Müller, Reinhard Tartler, Michael Gernoth Lehrstuhl Informatik 1 + 4 1. Dezember 2010 c (Lehrstuhl Informatik 1 + 4) Übungen zur

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

SSL Secure Socket Layer Algorithmen und Anwendung

SSL Secure Socket Layer Algorithmen und Anwendung SSL Secure Socket Layer Algorithmen und Anwendung Präsentation vom 03.06.2002 Stefan Pfab 2002 Stefan Pfab 1 Überblick Motivation SSL-Architektur Verbindungsaufbau Zertifikate, Certification Authorities

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C Marcel Arndt arndt@ins.uni-bonn.de Institut für Numerische Simulation Universität Bonn Der Anfang Ein einfaches Programm, das Hello World! ausgibt: #include

Mehr

Effizientes Memory Debugging in C/C++

Effizientes Memory Debugging in C/C++ Effizientes Memory Debugging in C/C++ Adam Szalkowski Embedded Computing Conference 2014 Ursachen/ Symptome Debugging Tools Ursachen / Symptome Was habe ich falsch gemacht? Was kann denn passieren im schlimmsten

Mehr

Sicheres C Programmieren in Embedded Systemen ARM I (ARM7TMDI [1] ) Wintersemester 2010-2011

Sicheres C Programmieren in Embedded Systemen ARM I (ARM7TMDI [1] ) Wintersemester 2010-2011 Sicheres C in Embedded Systemen ARM I (ARM7TMDI [1] ) Wintersemester 2010-2011 Dipl. Ing. (FH) Ebrecht Roland, Infineon Technologies AG M.Eng (Electronic Systems) Güller Markus, Infineon Technologies AG

Mehr

Security in.net 2.0. Thomas Stanek

Security in.net 2.0. Thomas Stanek Security in.net 2.0 2 Content 1. Verwendung 2. Überblick 3. Features im Detail a. Windows Accounts und SIDs b. Sichere Datenübertragung (SSL) c. X509 -Zertifikate d. Data Protection API (DPAPI) e. SecureStrings

Mehr

The Second Generation Onion Router. Stefan Hasenauer, Christof Kauba, Stefan Mayer

The Second Generation Onion Router. Stefan Hasenauer, Christof Kauba, Stefan Mayer The Second Generation Onion Router Übersicht Einleitung Verfahren zur Anonymisierung Allgemeines über Tor Funktionsweise von Tor Hidden Services Mögliche Angriffe 2 Einleitung Identifizierung im Internet

Mehr

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean 01.11.05 1 Noch für heute: 01.11.05 3 primitie Datentypen in JAVA Primitie Datentypen Pseudocode Name Speichergröße Wertgrenzen boolean 1 Byte false true char 2 Byte 0 65535 byte 1 Byte 128 127 short 2

Mehr

Kurze Einführung in kryptographische Grundlagen.

Kurze Einführung in kryptographische Grundlagen. Kurze Einführung in kryptographische Grundlagen. Was ist eigentlich AES,RSA,DH,ELG,DSA,DSS,ECB,CBC Benjamin.Kellermann@gmx.de GPG-Fingerprint: D19E 04A8 8895 020A 8DF6 0092 3501 1A32 491A 3D9C git clone

Mehr

Rosa Freund SSL/TLS 26.10.2005 SSL/TLS 26.10.2005. Institut für Mathematik, TU Berlin. Rosa Freund -- rosa@pool.math.tu-berlin.de

Rosa Freund SSL/TLS 26.10.2005 SSL/TLS 26.10.2005. Institut für Mathematik, TU Berlin. Rosa Freund -- rosa@pool.math.tu-berlin.de 1 SSL/TLS 26.10.2005 Institut für Mathematik, TU Berlin Rosa Freund -- rosa@pool.math.tu-berlin.de 2 Übersicht Einführung SSL vs. TLS SSL: Anwendung und PKI SSL Protokoll: Record Protocol und Handshake

Mehr

SSL/TLS und SSL-Zertifikate

SSL/TLS und SSL-Zertifikate SSL/TLS und SSL-Zertifikate Konzepte von Betriebssystem-Komponenten Informatik Lehrstuhl 4 16.06.10 KvBK Wolfgang Hüttenhofer sethur_blackcoat@web.de Motivation Sichere, verschlüsselte End-to-End Verbindung

Mehr

Numerische Datentypen. Simon Weidmann

Numerische Datentypen. Simon Weidmann Numerische Datentypen Simon Weidmann 08.05.2014 1 Ganzzahlige Typen 1.1 Generelles Bei Datentypen muss man immer zwei elementare Eigenschaften unterscheiden: Zuerst gibt es den Wertebereich, zweitens die

Mehr

Speicherbasierte Kommunikation (T) Realisierung von Semaphoren (T) Shared Memory (P) Synchronisation mittels Semaphoren (P)

Speicherbasierte Kommunikation (T) Realisierung von Semaphoren (T) Shared Memory (P) Synchronisation mittels Semaphoren (P) Systempraktikum im Wintersemester 2009/2010 (LMU): Vorlesung vom 26.11. Foliensatz 5 Speicherbasierte Kommunikation (T) Realisierung von Semaphoren (T) Shared Memory (P) Synchronisation mittels Semaphoren

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Exploits Wie kann das sein?

Exploits Wie kann das sein? Exploits Durch eine Schwachstelle im Programm xyz kann ein Angreifer Schadcode einschleusen. Manchmal reicht es schon irgendwo im Internet auf ein präpariertes Jpg-Bildchen zu klicken und schon holt man

Mehr

Methoden der Kryptographie

Methoden der Kryptographie Methoden der Kryptographie!!Geheime Schlüssel sind die sgrundlage Folien und Inhalte aus II - Der Algorithmus ist bekannt 6. Die - Computer Networking: A Top außer bei security by obscurity Down Approach

Mehr

Propädeutikum. Dipl.-Inf. Frank Güttler

Propädeutikum. Dipl.-Inf. Frank Güttler Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik

Mehr

Übung zur Vorlesung Programmieren in C

Übung zur Vorlesung Programmieren in C Übung zur Vorlesung Programmieren in C 6 Pointers Marvin Gülker Ruhruniversität Bochum Wintersemester 2015/2016 Marvin Gülker (Ruhruniversität Bochum) 6 Pointers Wintersemester 2015/2016 1 / 29 Gliederung

Mehr

Betriebssysteme KU - Einführungstutorium

Betriebssysteme KU - Einführungstutorium Betriebssysteme KU - Einführungstutorium SWEB-Tutoren irc://irc.at.euirc.net/bs Teamwork Arbeitsaufteilung? Zeiteinteilung? Codeeinteilung? Kommunikation! Kommunikation Kommunikation mit dem Team Gruppentreffen

Mehr

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper Python Programmierung Kontaktdaten Homepage: http://wwwlehre.dhbw-stuttgart.de/~schepper/ Email: Volker. Schepper [A@T] yahoo.de Vorlesung Skriptsprachen Vorlesung: 06.03.2013 13.03.2013 20.03.2013 27.03.2013

Mehr

SICHERE DATENHALTUNG IN DER CLOUD VIA HANDY. Tuba Yapinti Abschlussvortrag der Bachelorarbeit Betreuer: Prof. Reinhardt, Dr.

SICHERE DATENHALTUNG IN DER CLOUD VIA HANDY. Tuba Yapinti Abschlussvortrag der Bachelorarbeit Betreuer: Prof. Reinhardt, Dr. SICHERE DATENHALTUNG IN DER CLOUD VIA HANDY 1 Tuba Yapinti Abschlussvortrag der Bachelorarbeit Betreuer: Prof. Reinhardt, Dr. Bernd Borchert GLIEDERUNG 1. Motivation Gründe für die Entwicklung Ideen für

Mehr

TOPAL ZERTIFIKAT MANAGER ANLEITUNG ZUR ERSTELLUNG VON ZERTIFIKATEN

TOPAL ZERTIFIKAT MANAGER ANLEITUNG ZUR ERSTELLUNG VON ZERTIFIKATEN TOPAL ZERTIFIKAT MANAGER ANLEITUNG ZUR ERSTELLUNG VON ZERTIFIKATEN Version Date Author Status Comment 0.1 21.09.2014 Hunkeler Bruno In work Initial Version 1.0 12.11.2014 Hunkeler Bruno Final Final Version

Mehr

Die Programmiersprache C99: Zusammenfassung

Die Programmiersprache C99: Zusammenfassung Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach

Mehr

Sichere Abwicklung von Geschäftsvorgängen im Internet

Sichere Abwicklung von Geschäftsvorgängen im Internet Sichere Abwicklung von Geschäftsvorgängen im Internet Diplomarbeit von Peter Hild Theoretische Grundlagen der Kryptologie Vorhandene Sicherheitskonzepte für das WWW Bewertung dieser Konzepte Simulation

Mehr

Sind OpenSSL-Zertikate mit Exponent 3 unsicher?

Sind OpenSSL-Zertikate mit Exponent 3 unsicher? Sind OpenSSL-Zertikate mit Exponent 3 unsicher? Annie Yousar 2007-January-04 In OpenSSL erzeugt man Zertikate mit RSA-Schlüsseln (zum Beispiel mit 3096 Bit) mit dem Kommando openssl req -x509 -newkey rsa:3096.

Mehr

Das Kerberos-Protokoll

Das Kerberos-Protokoll Konzepte von Betriebssystemkomponenten Schwerpunkt Authentifizierung Das Kerberos-Protokoll Referent: Guido Söldner Überblick über Kerberos Network Authentication Protocol Am MIT Mitte der 80er Jahre entwickelt

Mehr

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST 2. Interaktive Web Seiten GET und POST Die Übertragungsmethoden GET und POST sind im http Protokoll definiert: POST: gibt an, dass sich weitere Daten im Körper der übertragenen Nachricht befinden: z.b.

Mehr

Empfehlungen für den sicheren Einsatz. SSL-verschlüsselter Verbindungen. Dipl.-Inform. Lars Oergel Technische Universität Berlin. 13.

Empfehlungen für den sicheren Einsatz. SSL-verschlüsselter Verbindungen. Dipl.-Inform. Lars Oergel Technische Universität Berlin. 13. Empfehlungen für den sicheren Einsatz SSL-verschlüsselter Verbindungen Dipl.-Inform. Lars Oergel Technische Universität Berlin 13. Januar 2014 1 Motivation Edward Snowden: Encryption works. Properly implemented

Mehr

Absicherung von Linux- Rechnern mit grsecurity

Absicherung von Linux- Rechnern mit grsecurity Absicherung von Linux- Rechnern mit grsecurity Brandenburger Linux Infotag, 23. April 2005 Wilhelm Dolle, Director Information Technology interactive Systems GmbH 1 Agenda Grundlagen und Historie von grsecurity

Mehr

C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07)

C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07) C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07) 1. Aufgabe 6 Punkte Geben Sie Definitionen an für: float var; 1 a) eine float-variable var: b) einen Zeiger pvar, der float *pvar = &var; 1 auf die

Mehr

IT-Sicherheit Kapitel 11 SSL/TLS

IT-Sicherheit Kapitel 11 SSL/TLS IT-Sicherheit Kapitel 11 SSL/TLS Dr. Christian Rathgeb Sommersemester 2014 1 Einführung SSL/TLS im TCP/IP-Stack: SSL/TLS bietet (1) Server-Authentifizierung oder Server und Client- Authentifizierung (2)

Mehr

Ein Überblick über Security-Setups von E-Banking Websites

Ein Überblick über Security-Setups von E-Banking Websites Ein Überblick über Security-Setups von E-Banking Websites Stefan Huber www.sthu.org Linuxwochen Linz 2015 31. Mai 2015 Basierend auf Testergebnissen vom 28.03.2015 aus https://www.sthu.org/blog/11-tls-dnssec-ebanking/

Mehr

Karlsruher IT-Sicherheitsinitiative - 26. April 2001. "For your eyes only" Sichere E-Mail in Unternehmen. Dr. Dörte Neundorf neundorf@secorvo.

Karlsruher IT-Sicherheitsinitiative - 26. April 2001. For your eyes only Sichere E-Mail in Unternehmen. Dr. Dörte Neundorf neundorf@secorvo. Karlsruher IT-Sicherheitsinitiative - 26. April 2001 "For your eyes only" Sichere E-Mail in Unternehmen Dr. Dörte Neundorf neundorf@secorvo.de Secorvo Security Consulting GmbH Albert-Nestler-Straße 9 D-76131

Mehr

Einführung in Computer Microsystems

Einführung in Computer Microsystems Einführung in Computer Microsystems Kapitel 9 Entwurf eines eingebetteten Systems für Anwendungen in der IT-Sicherheit Prof. Dr.-Ing. Sorin A. Huss Fachbereich Informatik Integrierte Schaltungen und Systeme

Mehr

Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011

Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011 Sicheres C in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011 Dipl. Ing. (FH) Ebrecht Roland, Infineon Technologies AG M.Eng (Electronic Systems) Güller Markus, Infineon Technologies

Mehr

Übersicht. UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32

Übersicht. UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32 Übersicht UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32 Die in diesem Teil vorgestellten Informationen stellen lediglich das Prinzip dar - im Detail ist alles etwas komplizierter...

Mehr

2 Einfache Rechnungen

2 Einfache Rechnungen 2 Einfache Rechnungen 2.1 Zahlen Computer, auch bekannt als Rechner, sind sinnvoller eingesetzt, wenn sie nicht nur feste Texte ausgeben, sondern eben auch rechnen. Um das Rechnen mit Zahlen zu verstehen,

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013. Vorlesung 9, Dienstag 18.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013. Vorlesung 9, Dienstag 18. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 9, Dienstag 18. Dezember 2012 (Performance Tuning, Profiling, Maschinencode) Prof. Dr.

Mehr

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems Mitglied der Zürcher Fachhochschule TIn 1: Lecture 4 Data transfer Feedback Laboratories Question: What is the IP? Why do we NEED an IP? Lecture 3: Lernziele Moving data, the why s and wherefores Moving

Mehr

vii Inhalt 0x100 Einführung 1 0x200 Programmierung 7

vii Inhalt 0x100 Einführung 1 0x200 Programmierung 7 vii 0x100 Einführung 1 0x200 Programmierung 7 0x210 Was ist Programmierung?..................................... 8 0x220 Pseudocode................................................ 9 0x230 Kontrollstrukturen.........................................

Mehr

SSL-Protokoll und Internet-Sicherheit

SSL-Protokoll und Internet-Sicherheit SSL-Protokoll und Internet-Sicherheit Christina Bräutigam Universität Dortmund 5. Dezember 2005 Übersicht 1 Einleitung 2 Allgemeines zu SSL 3 Einbindung in TCP/IP 4 SSL 3.0-Sicherheitsschicht über TCP

Mehr

Anhang A - Weitere Bibliotheken. Die Bibliothek Mail_02.lib ermöglicht das Versenden von Emails mit dem Ethernet-Controller 750-842.

Anhang A - Weitere Bibliotheken. Die Bibliothek Mail_02.lib ermöglicht das Versenden von Emails mit dem Ethernet-Controller 750-842. Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Bibliothek Mail_02.lib Die Bibliothek Mail_02.lib ermöglicht das Versenden von Emails mit dem Ethernet-Controller 750-842. Inhalt Mail_02.lib 3 MAIL_SmtpClient...

Mehr

Installationscheckliste Pervasive Server Engine Version 7.94, Stand 16.10.2012

Installationscheckliste Pervasive Server Engine Version 7.94, Stand 16.10.2012 Installationscheckliste Pervasive Server Engine Version 7.94, Stand 16.10.2012 Pervasive Server Engine Checkliste für die Neuinstallation in einem Windows-Netzwerk Bitte prüfen Sie auf unseren Webseiten

Mehr

OPC UA: Ein kritischer Vergleich der IT-Sicherheitsoptionen

OPC UA: Ein kritischer Vergleich der IT-Sicherheitsoptionen OPC UA: Ein kritischer Vergleich der IT-Sicherheitsoptionen Melanie Gallinat 1, Stefan Hausmann 2, Markus Köster 1, Stefan Heiss 2 Weidmüller Gruppe 1 Klingenbergstraße 16 32758 Detmold, Deutschland Hochschule

Mehr

Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten

Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten Vorname: Nachname: Matrikelnummer: Legen Sie zu Beginn Ihren Studentenausweis

Mehr

Übersicht. Einführung in die Programmierung. main. main. main. main. Speicherverwaltung. Definition nach ANSI C:

Übersicht. Einführung in die Programmierung. main. main. main. main. Speicherverwaltung. Definition nach ANSI C: Übersicht Einführung in die Programmierung Bachelor of Science die -Funktion Prof. Dr. Rethmann Fachbereich Elektrotechnik und Informatik Hochschule Niederrhein WS 009/0 Einführung in die Programmierung

Mehr

Codingstandard. Softwareentwicklung Praktikum Stand: 27.02.2008

Codingstandard. Softwareentwicklung Praktikum Stand: 27.02.2008 I. Einleitung II. Codingstandard Softwareentwicklung Praktikum Stand: 27.02.2008 Wie in der Vorlesung schon ausgeführt wurde, ist die Lesbarkeit und Wartbarkeit des Sourcecodes ein sehr wichtiges Kriterium

Mehr

Welche Informatik-Kenntnisse bringen Sie mit?

Welche Informatik-Kenntnisse bringen Sie mit? Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt

Mehr

NTFS Encrypting File System

NTFS Encrypting File System NTFS Encrypting File System Markus Gerstner Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Universität Erlangen-Nürnberg Überblick Was genau ist EFS? Warum EFS? Das Verschlüsselungsverfahren

Mehr

Kryptographische Verfahren. zur Datenübertragung im Internet. Patrick Schmid, Martin Sommer, Elvis Corbo

Kryptographische Verfahren. zur Datenübertragung im Internet. Patrick Schmid, Martin Sommer, Elvis Corbo Kryptographische Verfahren zur Datenübertragung im Internet Patrick Schmid, Martin Sommer, Elvis Corbo 1. Einführung Übersicht Grundlagen Verschlüsselungsarten Symmetrisch DES, AES Asymmetrisch RSA Hybrid

Mehr