Malicious code detection
|
|
- Regina Richter
- vor 6 Jahren
- Abrufe
Transkript
1 Malicious code detection Hauptseminar: Zwischen formalen Methoden und Praxis - Malicious code detection - Oliver Arafat arafat@in.tum.de 10. Juli
2 Inhalt 1. Einführung 1.1 Was ist Malicious Code? 1.2 Signature Matching 1.3 Obfuscation Techniken 1.4 Testergebnisse kommerzieller Virenscanner 2. SAFE 2.1 Überblick über die Architektur von SAFE 2.2 Definitionen (CFG, Patterns, Bindings) 2.3 Program Annotator 2.4 Malicious Code Automaton 2.5 Detector 2.6 Der Algorithmus 3. Fazit 2
3 Was ist Malicious Code? Unterteilung anhand der Fortpflanzungsmethode und des Ziels Viren Würmer Trojanische Pferde Back Doors Spyware 3
4 Signature Matching Klassischer Ansatz: Matching auf eine Virus Signatur Nur sinnvoll, wenn der Virus Code sich nicht verändert! 4
5 Signature Matching Teil des Virus Codes E call 0h 5B pop ebx 8D 4B 42 lea ecx, [ebx + 42h] 51 push ecx 50 push eax 50 push eax 0F01 4C 24 FE sidt [esp 02h] 5B pop ebx VIRUS SIGNATUR: E B 8D4B F01 4C24 FE5B 5
6 Obfuscation Techniken Dead-Code Insertion Code Transposition Register Reassignment Instruction Substitution 6
7 Obfuscation Techniken Dead Code Insertion Hinzufügen von Code, ohne das Programmverhalten zu ändern. NOP-Instructions Ändern des Programmzustands und sofortiges wiederherstellen 7
8 Obfuscation Techniken Code Transposition Zufälliges umordnen der Befehle und einfügen von unbedingten Sprüngen um den ursprüngliche Ablauf wiederherzustellen Vertauschen von untereinander unabhängigen Befehlen 8
9 Obfuscation Techniken Register Reassignment Das Register B wird anstatt des Registers A in einer spezifischen live-range benutzt 9
10 Obfuscation Techniken Instruction Substitution Benutzung eines Wörterbuchs mit untereinander äquivalenten Befehlsfolgen Ersetzung einer Befehlsfolge A mit einer äquivalenten Befehlsfolge B 10
11 Obfuscation Techniken Beispiel Dead-Code insertion und code transposition Original Code Obfuscated Code jecxz Rest_of_code jecxz Rest_of_code pop ebx pop ebx mov ebx, [eax + 42h] jmp S2 push ecx S3:push eax push eax inc eax push eax push eax dec [esp 0h] dec eax jmp Rest_of_code S2:mov ebx, [eax+42h] nop push ecx jmp S3 11
12 Testergebnisse 12
13 Inhalt Wo sind wir? 1. Einführung 1.1 Was ist Malicious Code? 1.2 Signature Matching 1.3 Obfuscation Techniken 1.4 Testergebnisse kommerzieller Virenscanner 2. SAFE 2.1 Überblick über die Architektur von SAFE 2.2 Definitionen (CFG, Patterns, Bindings) 2.3 Program Annotator 2.4 Malicious Code Automaton 2.5 Detector 2.6 Der Algorithmus 3. Fazit 13
14 Architektur von SAFE 14
15 Architektur von SAFE Executable Loader Transformiert die ausführbare Datei in einen Control Flow Graph(CFG) Code Transposition erhält dadurch geringen Obfuscation Wert 15
16 Architektur von SAFE - CFG 16
17 Architektur von SAFE 17
18 Definitionen Abstraction Pattern Ein Pattern ist definiert als ein 3-Tupel =V,O,C Ein solches Pattern ist ein Alphabetsymbol für den Malicious Code Automaton (MCA) Beispiel: 18
19 Definitionen Uninterpreted Symbols Das Pattern matched jede Instanz eines Patterns, wo X ein spezifisches Register zugewiesen wird. Register Reassignment wird nutzlos! 19
20 Definitionen Bindings Eine Menge von Paaren uninterpretierter Symbole sowie deren konkreten Zuweisungen Beispiel: 20
21 Architektur von SAFE 21
22 Program Annotator Annotator Verknüpft einen Knoten n im CFG mit matchenden Patterns 22
23 Annotated CFG - Beispiel 23
24 Architektur von SAFE 24
25 Malicious Code Automaton (MCA) S 0 Ein MCA ist ein 6-tupel (V,,S,,,F) ist ein finites Alphabet von Abstraction Patterns 25
26 Detector Erhält als ein Eingabe: Annotiertes Programm (P ) MCA (A) Entscheidet ob folgende Sprache leer ist: 26
27 Der Algorithmus Jedem Knoten n des CFG wird eine Pre-Liste und Post-Liste zugewiesen Jedes Element einer solchen Liste ist ein Paar [s, B] 27
28 Der Algorithmus 28
29 Der Algorithmus Initialisierungsphase 29
30 Der Algorithmus Update-Phase Update der Pre- und Postlisten Update läuft solange, bis ein Fixpunkt erreicht ist Ein Fixpunkt ist dann erreicht, wenn sich alle Listen nicht mehr verändern 30
31 Der Algorithmus 31
32 Der Algorithmus Ausgabe Befindet sich der MCA in einem Endzustand, so wurde Malicious Code gefunden! Formal: 32
33 Fazit Pros: Sehr gute Erkennungsrate, insbesondere bei obfuscated code Modell-Checking statt Signature Matching Cons: Sehr langsam! Anwendung in der Praxis fragwürdig Bsp.: Bei einer Dateigröße von 1MB benötigt das Annotieren 800 sek., der Detector benötigt nochmals 160 sek.! 33
34 Ende Vielen Dank für die Aufmerksamkeit! Fragen? 34
Hauptseminar Malicious Code: Viren, Würmer und Co.
Hauptseminar Malicious Code: Viren, Würmer und Co. Statische Programmanalyse Matthias Langhammer Technische Universität München,langhamm@in.tum.de Zusammenfassung Um ihre Existenz zu verschleiern enthalten
MehrMalware-Analyse und Reverse Engineering. 8: Statische und dynamische Analysen zur Malware-Erkennung Prof. Dr.
Malware-Analyse und Reverse Engineering 8: Statische und dynamische Analysen zur Malware-Erkennung 11.5.2017 Prof. Dr. Michael Engel Überblick Themen: Statische Dynamische 2 Malware-Erkennung Statische
MehrMalware-Analyse und Reverse Engineering. 9: Polymorphe Viren und selbstmodifizierender Code Prof. Dr. Michael Engel
Malware-Analyse und Reverse Engineering 9: Polymorphe Viren und 18.5.2017 Prof. Dr. Michael Engel Überblick Themen: Erschweren des Disassemblierens von Code Ver- und Entschlüsselung von Code Selbstmodifizierender
MehrAssembler - Adressierungsarten
Assembler - Adressierungsarten Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Adressierungsarten 1/31 2008-04-01
MehrMalware. Inhaltsverzeichnis. Christian Laqua. 7. Juni Einleitung 2. 2 Mechaniken zur Malwareerkennung 2. 3 Fazit 4
Malware Christian Laqua 7. Juni 2013 Inhaltsverzeichnis 1 Einleitung 2 2 Mechaniken zur Malwareerkennung 2 3 Fazit 4 1 1 Einleitung Schadsoftware oder eng. Malware (das Koerwort aus malicious (= bösartig)
MehrÜbung 1 - Betriebssysteme I
Prof. Dr. Th. Letschert FB MNI 13. März 2002 Aufgabe 0: Basiswissen Rechnerarchitektur: Übung 1 - Betriebssysteme I Aus welchen Komponenten besteht ein Rechner mit Von-Neumann Architektur? Was sind Bits
MehrU23 - Shellcode. Twix Chaos Computer Club Cologne. Motivation Einstieg Der erste Shellcode Nullbytes, NOP Slides
Twix e.v. http://koeln.ccc.de 2016-11-28 Überblick 1 Motivation Was ist Shellcode? Beispiel 2 Einstieg Erzeugen, Testen von Shellcode 3 Der erste Shellcode Strings in Shellcode 4 Nullbytes, NOP Slides
MehrAssembler (NASM) Crashkurs von Sönke Schmidt
Sönke Schmidt (NASM) Crashkurs von Sönke Schmidt Berlin, 4.11.2015 Meine Webseite: http://www.soenke-berlin.de NASM Was ist das? nach Wikipedia: Ein ist ein Programmierwerkzeug, das ein in maschinennaher
Mehrx86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013
x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013 1 / 53 Inhaltsverzeichnis 1 Einführung 2 Assembler Syntax, Register und Flags 3 Hauptspeicher 4 Stack 5 Assemblerbefehle
MehrBinary Unpacking and Deobfuscation. Artur Sterz Philipps-Universität Marburg Fachbereich Mathematik und Informatik, Arbeitsgruppe Verteilte Systeme
Binary Unpacking and Deobfuscation Artur Sterz Philipps-Universität Marburg Fachbereich Mathematik und Informatik, Arbeitsgruppe Verteilte Systeme Überblick Einleitung Binary (Un-)Packing (De-)Obfuscation
MehrAlgorithmen 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.
MehrDie Befehle mit dem Ziel IP sind nichts anderes als Sprungbefehle, sie sind unten noch mal aufgeführt.
Die Befehle des Modellrechners in übersichtlichen Tabellen: Alle Opcodes sind Hexadezimal angegeben (s.u.). 1.) Die Ladebefehle zwischen den einzelnen Registern. In der oberen Zeile steht jeweils die Quelle
MehrU23 Assembler Workshop
Ike e.v. http://koeln.ccc.de 2016-11-05 Überblick 1 CPU, Assembler Überblick x86 x86 Assembler 2 RAM, Stack, Calling Conventions Stack Calling Conventions Stackframes 3 Branches Jumps 4 Speicher, C-Interface
MehrSeminar Werkzeuggestütze. tze Softwareprüfung. fung. Slicing. Sebastian Meyer
Seminar Werkzeuggestütze tze Softwareprüfung fung Slicing Sebastian Meyer Überblick Einführung und Begriffe Static Slicing Dynamic Slicing Erweiterte Slicing-Techniken Fazit 2 Was ist Slicing?? (I) Program
MehrKode-Erzeugung für Registersatz-Maschinen
Kode-Erzeugung für Registersatz-Maschinen Die meisten Maschinen sind heutzutage Registersatzmaschinen, die einen Satz von 16-32 Universalregistern besitzen. Üblich sind Dreiadress-Befehle OP DEST, SRC1,
MehrEinführung. Übungen zur Vorlesung Virtuelle Maschinen. Stefan Potyra. SoSe 2009
Einführung Übungen zur Vorlesung Virtuelle Maschinen Stefan Potyra Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SoSe 2009 Übungsaufgaben 1 Entwickeln
MehrMalicious Code Hauptseminar im Sommersemester 2009 Model Checking mit CTPL
Malicious Code Hauptseminar im Sommersemester 2009 Model Checking mit CTPL Moritz Höser Technische Universität München 13. Juli 2009 Zusammenfassung In dieser Ausarbeitung wird eine Methode beschrieben,
MehrCPU. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011
CPU Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 CPU 1/62 2012-02-29 CPU Übersicht: Pipeline-Aufbau Pipeline- Hazards CPU
MehrEndliche Automaten. Endliche Automaten J. Blömer 1/23
Endliche Automaten Endliche Automaten sind ein Kalkül zur Spezifikation von realen oder abstrakten Maschinen regieren auf äußere Ereignisse (=Eingaben) ändern ihren inneren Zustand produzieren gegebenenfalls
MehrAssembler Unterprogramme
Assembler Unterprogramme Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler Unterprogramme 1/43 2008-06-03 Unterprogramme
MehrDas Prinzip an einem alltäglichen Beispiel
3.2 Pipelining Ziel: Performanzsteigerung é Prinzip der Fließbandverarbeitung é Probleme bei Fließbandverarbeitung BB TI I 3.2/1 Das Prinzip an einem alltäglichen Beispiel é Sie kommen aus dem Urlaub und
MehrMesswerterfassung mit Mittelwertbildung
Fak. Elektrotechnik & Informationstechnik Institut für Automatisierungstechnik Professur für Prozessleittechnik Aufgabe 1 Messwerterfassung mit Mittelwertbildung Ein einfaches Messgerät Messaufgabe In
MehrU23 Assembler Workshop
Ike e.v. http://koeln.ccc.de 2016-11-05 Überblick 1 CPU, Assembler Überblick x86 x86 Assembler 2 RAM, Stack, Calling Conventions Stack Calling Conventions Stackframes 3 Branches Jumps 4 Speicher, C-Interface
MehrZusammenfassung der Assemblerbefehle des 8051
Zusammenfassung der Assemblerbefehle des 8051 Seite 1 von 5 Befehl Bezeichnung Syntax Wirkung / Beispiel Befehle zum Datentransfer MOV Move MOV [Ziel],[Quelle] MOV P1,P3 Kopiert den Inhalt von P3 nach
MehrC++ Templates - eine kleine Einführung. Allgemein. Funktionstemplates. Allgemein. Funktionstemplates. Klassentemplates
Überblick C++ Templates - eine kleine Einführung Fabian Scheler, Peter Ulbrich, Niko Böhm Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme)
MehrC++ Templates - eine kleine Einführung. Funktionstemplates. Fabian Scheler, Peter Ulbrich, Niko Böhm. 20. Oktober 2008
Überblick 1 Allgemein C++ Templates - eine kleine Einführung Fabian Scheler, Peter Ulbrich, Niko Böhm Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme)
MehrDatenstrukturen und Algorithmen SS07
Datenstrukturen und Algorithmen SS07 Datum: 27.6.2007 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Online Algorithmen Update von Listen Move to Front (MTF) Transpose Approximationen
MehrC++ Templates - eine kleine Einführung
C++ Templates - eine kleine Einführung Peter Ulbrich, Martin Hoffmann Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) www4.informatik.uni-erlangen.de
MehrCompiler und Codegenerierung. Hw-Sw-Co-Design
Compiler und Codegenerierung Hw-Sw-Co-Design Wo sind wir? System Verhalten Modul Architektur Block SW HW Logik Struktur Compiler und Codegenerierung Compiler - Aufbau Codegenerierung Codeoptimierung Codegenerierung
MehrRechnernetze und -Organisation. Teil B (30. März 2011) 2011 Michael Hutter Karl C. Posch
Rechnernetz R Teil B (30. März 2011) 2011 Michael Hutter Karl C. Posch www.iaik.tugraz.at/content/teaching/bachelor_courses/rechnernetze_und_organisation/ 1 Zeitplan für Teil B Mittwoch 23. März 2011 Mittwoch
MehrRechnerne etze und -O Organisatio on
Rechnernetze und -Organisation Rechnerne etze und -O Organisatio on Teil B (30. März 2011) 2011 Michael Hutter Karl C. Posch www.iaik.tugraz.at/content/teaching/bachelor_courses/rechnernetze_und_organisation/
Mehr- - CodE 11 CodE 0 0 0 0 0 0 0 0 2.o C 1 10.0 C 2 off 3 3.0 4 2.0 5 off 6 1 8 20.0 9 60 C 7 4.0 10 80 C 1 38 C 12 8 k 13 on 14 30.0 15 10 16 - - CodE 11 CodE 0 0 0 0 0 0 0 0 2.o C 1 10.0 C 2
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative
MehrMusterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller
SS 2004 VAK 18.004 Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller Aufgabenblatt 2.5 Lösung 2.5.1 Befehlszähler (Program Counter, PC) enthält Adresse des nächsten auszuführenden
Mehr1 Eine Menge M Σ heißt (rekursiv) aufzählbar genau. 2 Die Familie aller aufzählbaren Mengen wird mit RE
Aufzählbarkeit Formale Grundlagen der Informatik 1 Kapitel 9 Entscheidbarkeit und Aufzählbarkeit Frank Heitmann heitmann@informatik.uni-hamburg.de 5. Mai 2014 Definition 1 Eine Menge M Σ heißt (rekursiv)
MehrRechnern netze und Organisatio on
Rechnernetze und Organisation Assignment A2 1 Motivation Übersicht Pentium Instruction-Set Simulator Mit Floating-Point Unit Aufgabenstellung 2 Motivation Instruction-Set Simulation Funktionales Modell
MehrAssembler - Einleitung
Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache
MehrWeb Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)
Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Dominik Kirsten Daniel Schäferbarthold Trier, 21.01.2008 1 Gliederung 1. Einführung 1.1 Anforderungen an
MehrFAKULTÄT FÜR INFORMATIK
FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Arndt Bode Einführung in die Rechnerarchitektur Wintersemester 2016/2017 Zentralübung
Mehr2.6 Verdeutlichung verwendeter Begriffe
2.6 Verdeutlichung verwendeter Begriffe endlich/finit: die Mengen der Zustände und der Ein- bzw. Ausgabezeichen sind endlich synchron: die Ausgabezeichen erscheinen synchron mit dem Einlauf der Eingabezeichen
MehrProzessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel
Prozessorarchitektur Kapitel - Wiederholung M. Schölzel Wiederholung Kombinatorische Logik: Ausgaben hängen funktional von den Eingaben ab. x x 2 x 3 z z = f (x,,x n ) z 2 z m = f m (x,,x n ) Sequentielle
MehrEndliche Automaten. Grundlagen: Alphabet, Zeichenreihe, Sprache. Karin Haenelt
Endliche Automaten Grundlagen: Alphabet, Zeichenreihe, Sprache Karin Haenelt 1 Alphabet, Zeichenreihe und Sprache Alphabet unzerlegbare Einzelzeichen Verwendung: als Eingabe- und Ausgabezeichen eines endlichen
Mehr11. Übungsblatt. x y(top(push(x, y)) = y)
Logik, Berechenbarkeit und Komplexität Sommersemester 2012 Hochschule RheinMain Prof. Dr. Steffen Reith 11. Übungsblatt 1. Ein Keller (engl. stack) ist eine bekannte Datenstruktur. Sei die Signatur S =
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 22: Mima-X Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik
MehrEinführung zum MS Visual Studio
0 Visual Studio Verzeichnispfade einstellen Stellen Sie nach dem Start von Visual Studio zunächst Ihr Home-Laufwerk, d.h. den Pfad für Ihre Projektverzeichnisse und Dateien ein. Beenden Sie Visual Studio
MehrDank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reguläre Ausdrücke als Suchmuster für grep
Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
MehrEinführung. (Compiler) Prof. Dr. Oliver Braun. Letzte Änderung: :49. Einführung 1/26
Einführung (Compiler) Prof. Dr. Oliver Braun Letzte Änderung: 10.05.2017 15:49 Einführung 1/26 Ein Compiler ist ein Computerprogramm das ein Programm geschrieben in einer Sprache in ein Programm übersetzt
MehrTU München. Hauptseminar: WS 2002 / Einführung in Suffix - Bäume
TU München Hauptseminar: WS 2002 / 2003 Einführung in Suffix - Bäume Bearbeiterin: Shasha Meng Betreuerin: Barbara König Inhalt 1. Einleitung 1.1 Motivation 1.2 Eine kurze Geschichte 2. Tries 2.1 Basisdefinition
MehrWiederholung: Zusammenfassung Felder. Algorithmen und Datenstrukturen (für ET/IT) Definition Abstrakter Datentyp. Programm heute
Wiederholung: Zusammenfassung Felder Algorithmen und Datenstrukturen (für ET/IT) Wintersemester / Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Ein Feld A kann repräsentiert
MehrCOMPILER & CODE ANALYSE. Eine Einführung in die Code Analyse auf Grundlage von Compilern und deren Optimierung. 1
1 COMPILER & CODE ANALYSE Eine Einführung in die Code Analyse auf Grundlage von Compilern und deren Optimierung. 1 INHALT Einleitung Werkzeuge Compiler Aufbau Optimierung Beispiel Code Analyse Einführung
MehrRechnern netze und Organisatio on
Rechnernetze und Organisation Konstruktionsübung SS2009 Vorbesprechung 1 Übersicht Einleitung Motivation Administratives i ti Generelles zur KU Assignment A1 Vorbereitung Johannes Wolkerstorfer Vorstellung
MehrStellar Phoenix JPEG Repair 4.5. Installationsanleitung
Stellar Phoenix JPEG Repair 4.5 Installationsanleitung Überblick Stellar Phoenix JPEG Repair bietet eine vollständig Lösung zur Reparatur fehlerhafter Fotos und Bilddateien mit JPG oder JPEG Dateierweiterungen.
MehrMehrwegbäume Motivation
Mehrwegbäume Motivation Wir haben gute Strukturen (AVL-Bäume) kennen gelernt, die die Anzahl der Operationen begrenzen Was ist, wenn der Baum zu groß für den Hauptspeicher ist? Externe Datenspeicherung
MehrGrundlagen der Programmierung 1 WS 14/15
Grundlagen der Programmierung 1 WS 14/15 Sebastian Reiter, Martin Rupp, Dr. Andreas Vogel, Dr. Konstantinos Xylouris Prof. Dr. Gabriel Wittum G-CSC Kettenhofweg 139 http://www.gcsc.uni-frankfurt.de wittum@gcsc.uni-frankfurt.de
MehrHardware-Programmierung mit Linux/NASM
Hardware-Programmierung mit Linux/NASM Daniel Grün 12. Februar 2007 Zusammenfassung Direkte Ansteuerung der Parallel-Schnittstelle mittels NASM unter Linux nur unter Einsatz von reinen Assembler-Routinen
MehrMOP: Befehlsliste für den Mikrocontroller 8051
Beuth Hochschule Berlin FB VI, Labor für Digitaltechnik MOP: Befehlsliste für den Mikrocontroller 8051 Erläuterung der Operanden Operand A addr11 addr16 bit /bit C #data #data16 direct DPTR PC Ri Rn rel
MehrEinführung in Subversion
Einführung in Subversion Benjamin Seppke AB KOGS Dept. Informatik Universität Hamburg Was ist Subversion? Ein Server-basiertes Versions-Verwaltungs- System Ermöglicht mehreren Benutzern die gemeinsame
MehrMatthias Hanreich - TheGreyKnight
Matthias Hanreich - TheGreyKnight Grundlagen Code Injection Beispiel: Buffer Overflow Gegenmaßnahmen Code Injection Return Oriented Programming (ROP) Gegenmaßnahmen ROP Demonstration CVE-2012-4969 Hands
MehrSecure Computing: Unsichere und weniger Unsichere Systeme Proseminar im Wintersemester 07/08. Intrusion Detection
Secure Computing: Unsichere und weniger Unsichere Systeme Proseminar im Wintersemester 07/08 Intrusion Detection Virenscanner Philip Daubmeier Technische Universität München 31.01.2008 Zusammenfassung
MehrHinweise 80x86-Architektur
Hinweise 80x86-Architektur Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Hinweise 80x86-Architektur
MehrComputer-Architektur Ein Überblick
Computer-Architektur Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur Ein Überblick p.1/27 Computer-Aufbau: Motherboard Computer-Architektur Ein Überblick p.2/27
Mehr2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015
2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie
MehrVorkurs Informatik WiSe 16/17
Java Einführung Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 04.10.2016 Technische Universität Braunschweig, IPS Überblick Organisatorisches Hello! 04.10.2016 Dr. Werner Struckmann / Stephan Mielke,
MehrEndliche Automaten. Endliche Automaten 1 / 115
Endliche Automaten Endliche Automaten 1 / 115 Endliche Automaten Endliche Automaten erlauben eine Beschreibung von Handlungsabläufen: Wie ändert sich ein Systemzustand in Abhängigkeit von veränderten Umgebungsbedingungen?
Mehr1. Einführung. Was ist ein Algorithmus (eine Datenstruktur)? Welche Probleme kann man damit lösen? Warum betrachten wir (effiziente) Algorithmen?
1. Einführung Was ist ein Algorithmus (eine Datenstruktur)? Welche Probleme kann man damit lösen? Warum betrachten wir (effiziente) Algorithmen? Wie beschreiben wir Algorithmen? Nach welchen Kriterien
MehrOutline. 1 Einleitung. 2 Einführung in C. 3 Fortgeschrittenes in C. 4 Einführung in Emacs Lisp. 5 Einführung in Prolog. 6 Formale Semantik
Outline 1 Einleitung 2 Einführung in C 3 Fortgeschrittenes in C 4 Einführung in Emacs Lisp 5 Einführung in Prolog 6 Formale Semantik Lisp 1958 von John McCarthy erfunden Funktionales Programmierparadigma
MehrEinführung in die technische Informatik
Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen
MehrDatensicherheit. Inhalt. Allgemeines zur Datensicherheit Malware (Viren, Würmer, Trojanische Pferde) Firewalls Verena Novak 1
Datensicherheit Inhalt Allgemeines zur Datensicherheit Malware (Viren, Würmer, Trojanische Pferde) Firewalls 14.11.2003 Verena Novak 1 Was bedeutet Datensicherheit? Zustand, in dem Daten sowohl inhaltlich
MehrErschwerung von Reverse-Engineering durch Maschinencode-Obfuscation
Arbeitsgruppe Programmiersprachen und Übersetzerkonstruktion Institut für Informatik Christian-Albrechts-Universität zu Kiel Seminararbeit Erschwerung von Reverse-Engineering durch Maschinencode-Obfuscation
MehrGraphdurchmusterung, Breiten- und Tiefensuche
Prof. Thomas Richter 18. Mai 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 18.05.2017 Graphdurchmusterung,
MehrVorkurs Informatik WiSe 17/18
Java Einführung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 04.10.2017 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello World 04.10.2017 Dr. Werner Struckmann
Mehr2. Imperative Programmierung und Berechenbarkeit - Registermaschinen -
2. Imperative Programmierung und Berechenbarkeit - Registermaschinen - 2.1 Definition 2.2 Loop-Programme 2.3 While Programme 2.4 While Programme und rekursive Funktionen Im Wesentlichen: Tafel! Maschinenmodell
MehrGrundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes
Grundlagen der Informatik III Wintersemester 2010/2011 5. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la
MehrDas Paging: Stellen wir uns eine Zahlenmenge vor mit 12 Zahlen und zwar von 0 bis 11.
Das Paging: Stellen wir uns eine Zahlenmenge vor mit 12 Zahlen und zwar von 0 bis 11. {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} Stellen wir uns nun vor, die 12 Zahlen sind nicht in der richtigen Reihenfolge,
MehrKONGRUENZEN VON VISIBLY PUSHDOWN SPRACHEN REZART QELIBARI PROSEMINAR WS14/15
KONGRUENZEN VON VISIBLY PUSHDOWN SPRACHEN REZART QELIBARI PROSEMINAR WS14/15 INHALT Languages WARUM DER AUFWAND? AKTUELLE SITUATION Situation: Ziel u.a.: Wollen Programmflüsse überprüfen. - Aktuelle Situation
MehrERA-Zentralübung Maschinenprogrammierung
Marcel Meyer LRR TU München 04.11.2016 Inhalt Aufgabe 1.1 Aufgabe 1.2 Speicherzugriffe Unbedingte Sprünge Stapelspeicher Unterprogramme Aufgabe 1.1 Quellregister AX, BX, CX Konstante deklarieren Werte
Mehr2. Aufgabenblatt Musterlösung
2. Aufgabenblatt Musterlösung Technische Informatik II Sommersemester 2011 Problem 2: Assembler Syntax Register eines 32-bit Intel-Prozessors: 16 bits 8 bits 8 bits general purpose registers EAX Accumulator
MehrEndliche Automaten. Endliche Automaten 1 / 102
Endliche Automaten Endliche Automaten 1 / 102 Endliche Automaten Endliche Automaten erlauben eine Beschreibung von Handlungsabläufen: Wie ändert sich ein Systemzustand in Abhängigkeit von veränderten Umgebungsbedingungen?
MehrCyber Defense MALWARE SIGNATUREN. Dipl.-Inform. Julian Dammann Dipl.-Inform. Peter Weidenbach
MALWARE SIGNATUREN Dipl.-Inform. Julian Dammann Dipl.-Inform. Peter Weidenbach julian.dammann@fkie.fraunhofer.de, peter.weidenbach@fkie.fraunhofer.de Cyber Defense MALWARE SIGNATUREN 1. Signaturen Allgemein
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität
MehrCompilerbau Instruktionsauswahl 168. Instruktionsauswahl
Instruktionsauswahl Compilerbau Instruktionsauswahl 168 Instruktionsauswahl Ziel: Übersetzung der IR-Bäume in Assemblerinstruktionen mit (beliebig vielen) abstrakten Registern. Die x86 (Pentium) Architektur
MehrRechnernetze und Organisation
RISC 1 Übersicht Motivation RISC-Merkmale RISC-Instruktionsformat Pipelining Sparc, MIPS, Arm, PowerPC 2 Motivation Warum RISC Compiler nutzen komplexe CISC-Instruktionen kaum Nur 80% der Instruktionen
MehrDas Mailprogramm em Client
Das Mailprogramm em Client Installation Laden Sie sich das Programm von der Seite http://de.emclient.com/ herunter und installieren Sie es. Nach der Installation wählen Sie zuerst ein Design aus. Dieses
MehrAufgabe 3: Erste Versuche im Indexieren des Templates. Ulf Leser Wissensmanagement in der Bioinformatik
Aufgabe 3: Erste Versuche im Indexieren des Templates Ulf Leser Wissensmanagement in der Bioinformatik q-gram Index Ein q-gram Index für einen String T ist ein invertiertes File über allen q-grammen von
MehrÜbungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt : Grundlagen des Cyclic redundancy code (CRC)
Übungen zu Architektur Eingebetteter Systeme Blatt 4 22.05.2009 Teil 1: Grundlagen 1.1: Grundlagen des Cyclic redundancy code (CRC) Im Gegensatz zum Parity-Check, der nur einfache Bit-Fehler erkennen kann,
Mehr11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P
11 Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen, Entscheidbarkeit, P 239/ 333 Einführung in die NP-Vollständigkeitstheorie
MehrBerechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme
Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 29. November 2007 Turing-mächtige
MehrLegen Sie den Ausweis (mit Lichtbild!) griffbereit auf den Platz! Dieses Aufgabenheft umfasst 24 Seiten. Überprüfen Sie die Vollständigkeit!
Department Informatik Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstraße 3, 91058 Erlangen 25.09.2013 Klausur zu Grundlagen der Rechnerarchitektur
MehrPC/XT/AT ASSEMBLER-BUCH
PC/XT/AT ASSEMBLER-BUCH Alle Befehle + Makro-Assembler KLAUS-DIETER THIES t
MehrGrundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I
Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:
MehrMALWARE AM BEISPIEL VON STUXNET
MALWARE AM BEISPIEL VON STUXNET IAV10/12 24.05.2011 Jan Heimbrodt Inhalt 1. Definition Was ist Malware? 2. Kategorisierung von Malware Viren, Würmer, Trojaner, 3. Was macht Systeme unsicher? Angriffsziele,
MehrEinführung in (Intel) 80x86 Assembler. Einführung in (Intel) 80x86 Assembler Wintersemester 2009/10 1 / 31
Einführung in (Intel) 80x86 Assembler Einführung in (Intel) 80x86 Assembler Wintersemester 2009/10 1 / 31 Einführung Die folgenden Folien geben einen Überblick über die weit verbreitet x86 Architektur
MehrCompiler. Einführung. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München. Letzte Änderung:
Compiler Einführung Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 10.05.2017 15:49 Inhaltsverzeichnis Ein Compiler................................... 2 Ein Compiler...................................
MehrBerechenbarkeit und Komplexität
Berechenbarkeit und Komplexität Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2010/11 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien und Übungsblätter
MehrÜbungen zur Vorlesung Systemsicherheit
Übungen zur Vorlesung Systemsicherheit Address Space Layout Randomization Tilo Müller, Reinhard Tartler, Michael Gernoth Lehrstuhl Informatik 1 + 4 19. Januar 2011 c (Lehrstuhl Informatik 1 + 4) Übungen
MehrEinleitung Funktionsaufrufe Berechnungen Verzweigungen Systemaufrufe Speicherzugriffe Fazit Quellen. Laufzeitkosten in C.
Laufzeitkosten in C Tobias Fechner Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 19-12-2013 Tobias Fechner
MehrMasterarbeit OCRA Challenge/Response - Framework. Sideris Minovgioudis
Masterarbeit Challenge/Response - Framework Sideris Minovgioudis 1 Inhalt Einführung Kryptographische Hashfunktionen HMAC HOTP Anforderungen Definition Modi Sicherheit 2 Inhalt Anwendungen Authentifizierung
MehrBetriebssystembau. 7. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund
Betriebssystembau 7. Übung Michael Engel Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund michael.engel@tu-dortmund.de http://ess.cs.uni-dortmund.de/~me/ 1 Agenda Coroutinen
MehrNetzwerksicherheit Musterlösung Übungsblatt 4: Viren
Institut für Informatik Alina Barendt und Philipp Hagemeister Netzwerksicherheit Musterlösung Übungsblatt 4: Viren 1 Vorbereitung msg db "Virus" mov ah, 40h mov bx, 1 mov cx, $5 mov dx, msg int 21h ; Write
Mehr