Die Buffer-Overflow-Problematik

Größe: px
Ab Seite anzeigen:

Download "Die Buffer-Overflow-Problematik"

Transkript

1 Die Buffer-Overflow-Problematik WPF-Projekt Codierung und Datensicherheit Wintersemester 01/02 Frank Dopatka Technische Informatik VII

2 Inhaltsverzeichnis Seite 1. Motivation 3 2. Aufgabenstellung und Zielsetzung 4 3. Die Buffer-Overflow-Problematik Funktionsweise der Buffer-Overflows Allgemeines zu Würmern und Trojanern Techniken der Buffer-Overflows Die Array-Überschreitung in C Der Stack-Overflow Der Heap-Overflow Historische Betrachtung Der erste Buffer-Overflow-Angriff Weitere bedeutende Attacken Betrachtung der angreifbaren Software Vergleich von properitärer und open-source Software Maßnahmen zur Vermeidung von Buffer-Overflow-Angriffen Abschließende Anmerkungen Anhang shellcode -Beispiel registrierte Buffer-Schwachstellen gängiger Software Abbildungsverzeichnis Literaturverzeichnis 43

3 1. Motivation Seite 3 1. Motivation Das Internet wird nie sicher sein. [...] Das Internet ist die komplexeste Maschine, die je von Menschenhand gebaut wurde, also wird es auch Unfälle geben. Wir sind ein großes Netzwerk und die Dinge, die einen von uns betreffen, betreffen bald auch andere. 1 Mit diesen Worten des Sicherheits-Experten Bruce Schneider begann die Eröffnung der Information Security Solutions Europe, kurz ISSE-Konferenz in London. Da mittlerweile jedes mittelständige Unternehmen einen Internet-Zugang besitzt und der Trend sogar dahin führt, daß jedes Unternehmen, das zukunftsträchtig sein will, auch einen eigenen Webserver besitzt, nimmt auch die Internet-Kriminalität eine neue und bedrohlichere Form an. Alle größeren Unternehmen kaufen Sicherheits-Software, um ihre MAIL - und WEB-Server, ihr Intranet und damit ihre Firmendaten zu schützen. Online-Shops sind sogar von ihren WEB-Servern so abhängig, daß der Ausfall der Server ihren finanziellen Ruin mit sich bringen würde. Fremd-Unternehmen verdienen ihr Geld ausschließlich damit, diesen geplagten Unternehmen Sicherheitskonzepte vorzustellen und die oben genannte Software zu verkaufen. Damit diese Software ihre Effizienz entfaltet, muß sie von geschultem Personal bedient werden. Aus diesem Grunde dringt die Internet-Problematik auch in die Hochschulen, wie die FH Gummersbach, ein. Auch von dort aus sollen schon Angriffe gestartet worden sein. In der Informatik werden neue Fächer, wie Codierung und Datensicherheit und Technische Aspekte des E-Commerce geboren. Diese Entwicklung motivierte mich schließlich dazu, solche Fächer zu wählen, um eine weitere Grundlage für meinen späteren beruflichen Fortschritt zu legen. Schon bei meinem Praxissemester, das sich mit der Entwicklung einer Authentifizierung über das Internet beschäftigte, stellte ich fest, daß es sinnvoll für ein sicheres Produkt sein kann, sich zu überlegen, wie man es angreifen könnte. Nur wenn man weiß, über welche Mittel Hacker verfügen, ist man in der Lage, präventive Gegenmaßnahmen einzuleiten. Dies wiederum brachte mich dazu, im Fach Codierung und Datensicherheit ein Thema zu wählen, das sich mit einer solchen Angriffs-Methode beschäftigt, dem Buffer- Overflow. So entstand diese Ausarbeitung

4 2. Aufgabenstellung und Zielsetzung Seite 4 2. Aufgabenstellung und Zielsetzung Meine Aufgabe wird es sein, mich zunächst über die Funktionsweise einer Buffer- Overflow-Attacke zu informieren und sie im Kontext zu anderer Malware zu sehen. Ich werde versuchen, diese Funktionsweise nach Möglichkeit allgemein verständlich und anschaulich zu präsentieren, ohne daß die notwendige Tiefe des Themas verlorengeht. Da diese Angriffsart schon älter ist, der erste größere Angriff ist bereits 1988 bekannt geworden, wird sicherlich auch eine historische Betrachtung auf Interesse stoßen. Scheinbar ist es bis heute niemandem gelungen, effiziente Maßnahmen gegen einen Buffer-Overflow zu finden. In einer neuen Studie des Oregon Graduate Institute of Science & Technology heißt es, daß der Buffer Overflow das größte Sicherheitsproblem im Internet darstellt. 2 Ferner werde ich die bekannte Empfindlichkeit heutiger Systeme gegen diese Attacke untersuchen, wobei properitäre Software der open-sorce Software gegenübergestellt wird. Schließlich will ich am Ende des Hauptteils einige Anregungen vermitteln, wie man sich präventiv, sowohl als Benutzer, als auch als Entwickler von Software, vor Buffer- Overflows schützen kann. Abschließend werde ich meine Ergebnisse in einem Review zusammenfassen und kritisch begutachten. Das Ziel dieser Ausarbeitung ist es natürlich nicht, eine Anleitung zum Programmieren von Malware zu liefern. Statt dessen will ich dem Leser einen tieferen Einblick in eine gezielte Schwachstelle der Internet-Sicherheit gewähren. Mit dieser Absicht will ich sowohl dem Leser selbst, wie auch den Produkten, welche der Leser später einmal entwickeln wird, die Möglichkeit zum Schutz gegen diese Angriffe geben. Grundlage dafür ist es, die Schwachstelle zunächst einmal für sich zu realisieren und im Anschluß daran zu vermitteln, wie ein Angriff diese Schwachstelle ausnutzt. Die Anregungen zum Schutz gegen eine Buffer-Overflow-Attacke sind selbstverständlich nicht ausreichend, um sich 100%ig zu schützen. Sie stellen lediglich eine Grundlage dar, sich vor den schwerwiegendsten Fehlern zu schützen und sollen zu einer weiteren Auseinandersetzung mit diesem Thema motivieren. 2 vgl.:

5 3. Die Buffer-Overflow-Problematik Seite 5 3. Die Buffer-Overflow-Problematik Funktionsweise der Buffer-Overflows Bei einer Buffer-Overflow-Attacke überflutet der Angreifer ein Array mit mehr Daten, als es vom Programmierer der Software vorgesehen wurde. Daran läßt sich schon erkennen, daß diese Attacke auf Unzulänglichkeiten des anzugreifenden Programms ausgerichtet ist. Das einfachste Ziel eines Buffer-Overflows ist es, das angegriffene Programm, z.b. einen WEB-Server, außer Betrieb zu setzen. Dabei handelt es sich also um eine sogenannte Denial-of-Service-Attacke (DoS). Ferner dürfte es nicht schwierig sein, den gesamten Rechner zum Absturz zu bringen. Wie aus der Windows-Welt bereits bekannt ist, sind die einzelnen Prozesse nicht völlig unabhängig voneinander. Daher kann der Absturz des WEB-Servers durchaus einen völligen Stillstand des PCs mit sich bringen. Eine Fernwartung wird somit unmöglich. Bei einem DoS genügt es, das betreffende Array mit irgendwelchen Daten zu überladen. Ein Buffer-Overflow kann jedoch wesentlich mehr erreichen: Ein Array besteht bekanntlich aus einem Speicherbereich, sowie aus einem Pointer, der auf ein Element dieses Speicherbereiches zeigt. Mit dem Pointer kann ein Wert aus der Speicherstelle gelesen oder auch in die Speicherstelle geschrieben werden. Zeigt dieser Pointer nun unbemerkt auf eine andere Speicheradresse, so kann diese auch gelesen oder geschrieben werden. Man bekommt also Zugriff auf den Arbeitsspeicher des angegriffenen Rechners. Dort kann sich z.b. das Paßwort befinden, mit dem sich der letzte lokale User eingeloggt hat. Dies kann einfach ausgelesen werden. In diesem Speicher werden auch assemblierte Programme gestartet. Was spricht also dagegen, ein eigenes Programm in das RAM des Zielrechners einzupflanzen und anschließend mit dem Array-Pointer auf die Startadresse des Programms zu zeigen? Das Programm würde dann lokal auf dem Zielrechner ausgeführt. Dies ist der Grund dafür, daß die Buffer-Overflow-Technik gezielt für die Programmierung von Würmern oder Trojanern verwendet wird. Ich werde also zunächst auf die Definition der Begriffe Würmer und Trojaner eingehen und anschließend, in , die oben genannte Vorgehensweise näher erläutern und weiter differenzieren Allgemeines zu Würmern und Trojanern Sowohl Würmer, als auch Trojaner, fallen unter den Begriff der Malware, eine Abkürzung des Begriffes Malicious Software. Diese besondere Software wird bewußt dazu entwickelt, um Schaden an Computern oder Netzwerken zu verursachen. Bei einem Wurm handelt es sich um ein Programm, dessen einzige Aufgabe es ist, sich selber zu reproduzieren und zu verbreiten. Im Gegensatz zu einem Virus infiziert ein Wurm keine anderen Programme und ist auf die Verbreitung in Netzwerken ausgerichtet. Den ersten Internet-Wurm brachte Robert Morris 1988 in Umlauf. Sein Programm legte über 6000 Computer lahm, weil sie nur noch mit der Verbreitung des

6 3. Die Buffer-Overflow-Problematik Seite 6 Wurms beschäftigt waren. 3 Als aktuelles Beispiel kann der im September 2001 aufgetretene -Wurm Nimda genannt werden, der Sicherheitslücken im Microsoft Internet Information Servers (IIS) ausnutzt und offene Netzwerkfreigaben erstellt. So kann unter anderem der Gast-Account von Windows in die Administrator-Gruppe befördert werden. 4 Ein Trojanisches Pferd, kurz Trojaner, erscheint als vermeintlich nützliches Programm, etwa als Utility. So getarnt, wird es von arglosen Anwendern verbreitet und benötigt daher keinen eigenen Replikationsmechanismus. Trojaner werden bevorzugt eingesetzt, um Daten auf fremden Rechnern auszuspähen. Aber auch für jede andere Form der Datenmanipulation lassen sie sich einsetzen. 5 Ein klassisches, wenn auch wenig verbreitetes Beispiel für einen Backdoor-Trojaner ist Iwantyou. Er verwendet den TCP-Port 1722, spioniert Paßwörter aus und versendet diese via Techniken der Buffer-Overflows Wie schon erwähnt, arbeitet Malware auf der Basis von Buffer-Overflows vorwiegend im RAM des Rechners und nutzt Schwachstellen aktiver Programme aus. Eine Ursache für die weite und dauerhafte Verbreitung dieser Technik liegt sicherlich in der Tatsache, daß die 1983 von AT&T entwickelte und weit verbreitete Programmiersprache C keine Überprüfung der Array-Grenzen, das sogenannte bound-checking, durchführt. 7 Man unterscheidet prinzipiell zwei Techniken zur Programmierung von Buffer-Overflows, den Stack-Overflow und den Heap-Overflow. Dabei ist es zunächst hilfreich, den Unterschied zwischen Stack und Heap zu erläutern. Abb. 1: Der Stack und die Heap 8 3 vgl.: vgl.: vgl.: vgl.: vgl.: Script Algorithmen I, Prof. Dr. Frank Victor, FH Köln, Abt. Gummersbach; WS 1998/99, S

7 3. Die Buffer-Overflow-Problematik Seite 7 Der Data-Bereich enthält zunächst einmal die initialisierten globalen statischen Daten, während das BSS-Segment die nicht initialisierten globalen Daten enthält. Diese beiden Bereiche werden bereits beim Kompilieren reserviert, da ihre Größe bekannt ist. Die lokalen und dynamischen Daten kommen in einen Bereich, der für die Ausführung des Programms reserviert ist (user stack frame). Da Funktionen rekursiv aufgerufen werden können, ist die Anzahl der benötigten lokalen Variablen erst einmal nicht bekannt. Sie befinden sich im Stack. Der Stack liegt über der höchsten Adresse im user address space und funktioniert nach dem LIFO- Modell (Last In, First Out). Der untere Teil des user frame Bereiches wird für dynamische Variablen benutzt. Diesen Bereich nennt man Heap. Er enthält den Speicherbereich, der über Pointer adressiert wird sowie die dynamischen Variablen. Beim Deklarieren ist ein Pointer 32bit breit und liegt im BSS oder Stack und zeigt auf nichts. Beim Alloziieren erhält der Pointer die Adresse des ersten Bytes des Wertes im Heap Array-Überschreitung in C Den mangelnden Schutz von Arrays in C läßt sich in einem einfachen Beispiel nachweisen. Selbst in der aktuellen Version, Microsoft Visual C++ 6.0, ist folgendes Beispiel ohne eine Fehlermeldung möglich: int Element[5]; int i; for (i = 0; i < 5; i++) { Element[i] = i; } Abb. 2: Anlegen eines Array in C Der oben dargestellte Quellcode erzeugt im Arbeitsspeicher des Rechners die folgende beispielhafte Struktur: Wert Adresse Beschreibung 0 $CF00 Element 0 1 $CF04 Element 1 2 $CF08 Element 2 3 $CF0C Element 3 4 $CF10 Element 4? $CF14? Abb. 3: Array im RAM des Rechners Ein Zugriff auf das dritte Element geschieht durch x=element[3]. Dabei wird der Array-Pointer auf Element 3 gesetzt. Anschließend wird der Wert des Speicherbereiches, hier $CF0C, ausgelesen. Die Variable x bekommt also den Wert 9 vgl.:

8 3. Die Buffer-Overflow-Problematik Seite 8 3. Was geschieht jedoch, wenn man x=element[5] versucht? Schreibt man dasselbe Programm in Microsoft Visual Basic 6.0, erscheint folgender Fehler: Abb. 4: Arrayüberschreitung in Visual Basic Bei Visual C++ bekommt x den Wert Beim nächsten Mal kann x einen anderen Wert erhalten. Es wird lediglich der Wert ausgelesen, welcher in unserem Beispiel in $CF14 enthalten ist. Man kann natürlich auch x=element[1060] ausführen. Interessanterweise ist x=element[1061] unter Windows XP nicht möglich. Abb. 5: Fehlermeldung bei großem Overflow in Windows XP Die Überschreitung wird jedoch nicht von dem C-Compiler, sondern vom Betriebssystem abgefangen. Man hat scheinbar die Umgebung des Programms verlassen. Dies hat das Betriebssystem alarmiert, wodurch der Zugriff unterbunden und das Programm abgebrochen wurde. Wird das Programm unter anderen Betriebssystemen ausgeführt, muß dies nicht der Fall sein. Dann könnte das gesamte RAM des PCs ausgelesen werden. Nun stellt sich eine weitaus erschreckendere Frage: Ist auch Element[5]=4711 möglich? Kann man also auf Speicherstellen auch schreibend zugreifen, auf die man gar nicht zugreifen darf? Die Antwort lautet: Nicht so einfach unter Windows XP. Man erhält die gleiche Fehlermeldung wie in Abb. 5. Windows 2000 und Windows 98SE verhalten sich ähnlich. Aber auch hier wird der Fehler vom Betriebssystem, und nicht vom Compiler der Programmiersprache abgefangen. Bei Windows 98SE läßt sich beim

9 3. Die Buffer-Overflow-Problematik Seite 9 Versuch des Herunterfahrens ein überraschender Effekt feststellen. Es erscheint folgende Meldung: Abb. 6: Fehlermeldung bei großem Overflow in Windows 98SE Dabei habe ich das ansonsten stabile Windows 98SE hochgefahren, unmittelbar das C-Testprogramm ausgeführt und wollte Windows nach der Quittierung des unerlaubten Zugriffes durch das Testprogramm wieder herunterfahren. Das Testprogramm erschien beim Versuch des Herunterfahrens übrigens nicht mehr im Task-Manager. Um welche Anwendung es sich in Abb. 6 handelt, bleibt unklar. Es ist jedoch sehr wahrscheinlich, daß das Testprogramm den Schreibzugriff trotz der Fehlermeldung durchgeführt hat und dadurch die Speicherverwaltung von Windows 98SE durcheinanderbrachte. Ich denke, daß die Problematik und die möglichen Auswirkungen des fehlenden bound-checking in C dennoch deutlich wurde Der Stack-Overflow Der Stack kann hauptsächlich mit 2 CPU-Befehlen verändert werden. Mit push value reduziert man den Inhalt des Stapelzeigers um ein Wort und speichert den Wert von value auf dem Stack ab. Mit pop dest liest man den Wert aus, auf den der Stapelzeiger gerade zeigt, und erhöht den Inhalt des Stapelzeigers. Der ausgelesene Wert wird in dest gespeichert. Ein Zugriff auf den Stack darf dabei nie die anderen Elemente des Stacks beeinflussen, da ansonsten das LIFO-Prinzip des Stacks verletzt würde. Die anderen Elemente des Stacks könnten ja unter anderem Rücksprungadressen von zuvor aufgerufenen Programmen enthalten, die noch auf ihren Rückgabewert warten. Das Angriffsziel lautet, den Stack eines Prozesses so zu manipulieren, daß seine Rücksprungadresse auf eigenen Assemblercode umgeleitet wird, der nach dem Rücksprung des Prozesses im RAM des Zielrechners ausgeführt wird. Eine einfache Manipulation läuft darauf hinaus, ein Stück Assembler-Code zu generieren, der eine neue Shell startet. Ein detailliertes Beispiel für einen solchen shellcode wird als Referenz-Beispiel für einen Stack-Overflow-Angriff auf UNIX-Maschinen unter

10 3. Die Buffer-Overflow-Problematik Seite genauer betrachtet und analysiert. Ich muß dazu sagen, daß man für einen solchen Angriff selbstverständlich sehr gute Kenntnisse in C und in der Funktionsweise von Assembler- Routinen besitzen muß. So benutzt der Autor dieses Beispiels den GNU-Compiler zur Generierung des Maschinencodes und anschließend gdb, um den resultierenden Assemblercode zu analysieren und zu manipulieren. Ich muß zugeben, daß ich selbst nicht in der Lage bin, jede Einzelheit dieses Beispiels zu verstehen. Im Vergleich zu diesem Beispiel werden meine Versuche zur Erzeugung einer Array-Überschreitung in ausgesprochen naiv und banal aussehen, jedoch kann man an dem Beispiel die logische Vorgehensweise des Autors nachvollziehen und seine Kenntnisse in hardwarenaher Programmierung bewundern ;-) Der Heap-Overflow Prinzipiell ist die Vorgehensweise beim Erzeugen eines Heap-Overflows mit der eines Stack-Overflows identisch. Der Unterschied zwischen dem Stack und der Heap liegt bekanntlich darin, daß in der Heap dynamische Variablen hinterlegt sind. Bei einem Angriff muß man also eine Schwäche bei der Erzeugung dynamischer Variablen ausnutzen. Eine bekannte Schwäche dieser Art liegt im C-Befehl malloc, mit dem ein dynamischer Speicherblock einer bestimmten Größe im Heap alloziiert werden kann. Der Befehl gibt einen VOID -Pointer auf den alloziierten Bereich zurück. Im Gegensatz zu ist dieses Beispiel überschaubarer, weswegen ich es im Folgenden näher analysiere: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #define BUFSIZE 16 #define OVERSIZE 8 /* overflow buf2 by OVERSIZE bytes */ int main() { u_long diff; char *buf1 = (char *)malloc(bufsize), *buf2 = (char *)malloc(bufsize); diff = (u_long)buf2 - (u_long)buf1; printf("buf1 = %p, buf2 = %p, diff = 0x%x bytes\n", buf1, buf2, diff); memset(buf2, 'A', BUFSIZE-1), buf2[bufsize-1] = '\0'; printf("before overflow: buf2 = %s\n", buf2); memset(buf1, 'B', (u_int)(diff + OVERSIZE)); printf("after overflow: buf2 = %s\n", buf2); return 0; } Abb. 7: Beispiel eines Heap-Overflows in C dieses Beispiel befindet sich im Anhang vgl.:

11 3. Die Buffer-Overflow-Problematik Seite 11 Zunächst legt der Programmierer zwei Character-Arrays über den malloc-befehl an, beide von der Größe BUFZIZE. Dadurch wird schon einmal der Speicher für die Arrays reserviert. Anschließend schaut sich der Programmierer an, an welchem physikalischen Speicherplatz die Arrays beginnen. Die Startadressen sind in buf1 und buf2 gespeichert: buf1 = 0x804e000 buf2 = 0x804eff0 Die Differenz der Startadressen ist leicht berechnet mit diff = (u_long)buf2 - (u_long)buf1; und ergibt diff = 0xff0 bytes. Mit memset wird das Array buf2 mit dem ASCII-Wert von A direkt im Speicher gefüllt. Die Zeichenkette wird, wie bei C üblich, mit dem Nullbyte abgeschlossen. Dies ergibt Folgendes: before overflow: buf2 = AAAAAAAAAAAAAAA Der Heap-Overflow wird letztlich in der Zeile memset(buf1, 'B', (u_int)(diff + OVERSIZE)); durchgeführt. Obwohl in das Array buf1 geschrieben werden soll, wird als Startadresse für das Array buf1 letztendlich die Startadresse von buf2 verwendet. Dadurch wird die Integrität des Arrays buf2 verletzt, was zu einer Fehlermeldung führen sollte. Statt dessen sieht buf2 jedoch folgendermaßen aus: after overflow: buf2 = BBBBBBBBAAAAAAA Nun kann man sich vorstellen, daß man anstelle des schreibenden Zugriffs auch einen lesenden Zugriff direkt im RAM durchführen kann, um z.b. Paßwörter auszulesen. Man muß lediglich wissen, wo sie im Speicher stehen. Der Autor gibt noch eine interessante Erläuterung zu diesem Beispiel, der bei meinem eigenen Test in weiterhilft. Er sagt, daß der Heap von buf2 natürlich noch zum reservierten Heap der Anwendung gehört. Innerhalb der Anwendung kann daher in C frei auf den gesamten Heap dieser Anwendung zugegriffen werden. Erst wenn ein Heap-Bereich einer anderen Anwendung verletzt würde, könnte dies vom Betriebssystem erkannt und gemeldet werden. Nun kann man sich weiter vorstellen, daß große, in das Betriebssystem hochintegrierte Software, wie der Internet Information Server von Microsoft, gewisse Schwachstellen bei der Speicherverwaltung aufweist, deren Ausnutzung aufgrund der hohen Integration nicht vom Betriebssystem erkannt werden kann.

12 3. Die Buffer-Overflow-Problematik Seite Historische Betrachtung Der erste Angriff auf der technischen Grundlage des Buffer-Overflows ist, wie in 2. erwähnt, bereits 1988 bekannt geworden. In diesem Kapitel möchte ich die bekanntesten Variationen dieser Angriffstechnik darlegen, um die Brisanz dieser Thematik nochmals hervorzuheben Der erste Buffer-Overflow-Angriff 12 Die Möglichkeit zu einer Buffer-Overflow-Attacke wurde bereits früh als Konsequenz des Daten-Integritätsmodells der Sprache C wahrgenommen. Die erste große Attacke ist 1988 durch einen Internet-Wurm bekannt geworden. Der Befehl fingered benutzt den gets()-call der Sprache C und liest eine Informationszeile ein, für deren Länge 512Byte vorgesehen ist. fingered prüft jedoch nicht, ob die tatsächliche Eingabe 512Byte überschreitet. Wenn dies der Fall ist, kann der stack frame der Subroutine vom Angreifer überschrieben werden. Dieser fingered -Wurm übergab 536Byte an den gets()-call. Die 24Byte an Overflow- Code enthielten Sprachinstruktionen in C für die VAX-Maschine und versuchten, mittels execve( /bin/sh,0,0); auf der VAX eine Shell zu öffnen. Die execve-funktion wird in ähnlicher Weise übrigens im shellcode -Beispiel in 5.1. verwendet Weitere bedeutende Attacken Ursprünglich hatte ich vor, an dieser Stelle eine Liste der bedeutendsten Buffer- Overflow-Schwachstellen seit dem ersten Angriff 1988 anzufertigen. Ich muß jedoch zugeben, daß selbst ich die Ausmaße dieser Angriffs-Methode unterschätzt habe. In einer Internet-Recherche bin ich auf die Seite gestoßen, bei der es sich um eine außerordentlich mächtige und dennoch übersichtliche Plattform zur Aufzeichnung von Internet-Angriffen handelt. Über die interne Such-Funktion gab ich im Archiv 2001 den Suchbegriff Buffer ein und erhielt 110 (!) registrierte bedeutende Software-Schwachstellen inklusive einer Kurzbescheibung zu jedem Problem. Daraufhin habe ich mich dazu entschlossen, nur die wichtigsten 57 Artikel zwischen dem bis zum aufzuführen und zu numerieren. In der Computer- Branche kann bekanntlich ein Jahr durchaus bereits als Historische Betrachtung angesehen werden. Im Folgenden habe ich lediglich die Überschriften aufgelistet, während Sie im Anhang 5.2. die genauere Beschreibung der einzelnen Probleme nachlesen können: 12 vgl: Buffer Overrun Attacks, Paul A. Henry, Cyberguard Corporation

13 3. Die Buffer-Overflow-Problematik Seite 13 01: : Ungeprüfter Buffer in Windows UPnP führt zur PC-Übernahme durch Angreifer 02: : Ernste Schwachstelle in der Login-Prozedur verschiedener Unix-Systeme 03: : Bugs in WS_FTP und WU-FTPD 04: : Weiteres Sicherheitsloch im Windows Media Player aufgetaucht 05: : ActivePerl PerlIS.dll remoter Buffer Overflow 06: : CDE Flaw kann Angriffe ermöglichen 07: : IRIX Printing-System Schwachstellen 08: : Mehrere Bugs und Patches bei Oracle 09: : Linux Popularität zieht Würmer nach sich 10: : CheckPoint FW-1 GUI Buffer Overflow 11: : AOLserver Authorisierungs Buffer Overflow 12: : Gauntlet Firewall erlaubt Eindringlingen die Ausführung beliebigen Codes 13: : Wurm nutzt Buffer Overflow in Telnet Daemon aus 14: : iplanet Messaging Server Buffer Overflow 15: : KRB5 TelnetD Buffer Overflows 16: : Remoter Buffer Overflow im HP-UX Line Printer Daemon 17: : Microsoft IIS ssinc.dll Buffer Overflow 18: : Mehrere Sambar Telnet Proxy Schwachstellen 19: : CesarFTP anfällig für Buffer Overflow 20: : Microsoft IIS Patch fehlerhaft 21: : WS_FTP Server Buffer Overflow und möglicher DoS 22: : Windows Media Player.NSC Prozessor enthält ungeprüften Buffer 23: : telnet Daemon Schwachstelle bei mehreren Herstellern 24: : Xvt Buffer Overflow Schwachstelle 25: : CFingerd Sicherheitslücke führt zu Root Compromise 26: :.IDA 'Code Red' Wurm 27: : Solaris ptexec Buffer Overflow 28: : Buffer Overflow im GazTek HTTP Daemon 29: : Oracle 8i Buffer Overflow in TNS Listener 30: : InterScan VirusWall FtpSaveCSP.dll Buffer Overflow 31: : Ungeprüfter Buffer in Index Server ISAPI Extension 32: : Microsoft HyperTerminal Patch revidiert 33: : WFTPD Verzeichnistraversale und Buffer Overflow 34: : Matt's ICQ Clone Sicherheitslöcher 35: : Winamp AIP ausnutzbarer Pufferüberlauf 36: : Remote Kompromittierung von IIS 5.0 Server 37: : Riskante Ntpd & Xntpd Löcher 38: : Multiple AT&T VNC Bugs 39: : Solaris Xsun Buffer Überlauf 40: : Buffer Überlauf in MySQL 41: : Tcpdump remote Root Schwachstelle 42: : BRICKServer DoS 43: : Schon die ActiveX Löcher gepatcht? 44: : Buffer Überlauf in Lotus Domino SMTP Server 45: : Netscape Servers Heap Buffer Overflow 46: : IMAPd Buffer Overflow 47: : AOL Buffer Überlauf 48: : Symantec PCAnywhere Buffer Overflow DoS 50: : MS SQL Server Schwachstelle 51: : Mehrere Schwachstellen in Half-life 52: : Ethereal Data-parsing Buffer Overflow 53: : PowerPoint File-Parsing Buffer Überlauf 54: : Netsnap Webcams remoter Buffer Overflow 55: : DoS in Intel Corporation InBusiness Station 56: : Macromedia Flash SWF Buffer Overflow auf allen Plattformen 57: : Windows HyperTerminal Buffer Overflow Abb. 8: die wichtigsten Buffer-Schwachstellen des letzten Jahres aus:

14 3. Die Buffer-Overflow-Problematik Seite 14 Die Ausmaße des Buffer-Overflow-Problems sind wirklich erschreckend. Auffallend ist das breite Spektrum an Software, welche dieser Schwachstelle unterliegt. Eine Ursache dafür kann die weite Verbreitung der Programmiersprache C sein. Bei meiner Recherche der 57 Attacken des Jahres haben sich folgende Software- Kategorien mit der Buffer-Overflow-Thematik auseinanderzusetzen: Betriebssysteme 19.3% WEB-Server 15.8% Terminal-Programme 12.3% FTP-Server 8.8% Datenbanken 7.0% MAIL -Server 5.3% Game-Server 1.8% sonstige 29.7% Betriebssysteme WEB-Server Terminal-Programme FTP-Server Datenbanken MAIL-Server Game-Server sonstige Abb. 9: Auswertung der Buffer-Schwachstellen nach Software-Kategorie Die Verteilung der Schwachstellen an den Betriebsystemen und an der Software, die für die Betriebsysteme geschrieben wurde, soll die folgende Graphik anhand der beiden großen Betriebsystem-Plattformen illustrieren: MS Windows-Plattformen & Produkte 55.0% UNIX -Plattformen & Produkte 45.0% MS Windows UNIX Abb. 10: Auswertung der Buffer-Schwachstellen nach Betriebsystem-Plattformen

15 3. Die Buffer-Overflow-Problematik Seite Betrachtung der angreifbaren Software Aus der Statistik der registrierten Probleme des letzten Jahres lassen sich noch weitere Schlußfolgerungen ziehen. Generell ist jede Software von Buffer-Overflow- Angriffen bedroht. Es stellt sich jedoch die Frage, bei welcher Software der Angreifer den größten Nutzen bei geringstem Aufwand ziehen kann. Dies ist bei Systemen der Fall, die von außen zugänglich sind. Dort sind in erster Linie die Betriebssysteme zu nennen, deren Vielfalt recht begrenzt ist. Doch dazu mehr im Kapitel Klassisch im Internet sichtbar sind die WEB-Server sowie die Terminal-, FTP- sowie Mail-Dienste. Hinter den WEB-Servern werden zunehmend Datenbanken, wie Oracle (8,29), MySQL (40) und MS-SQL (50) eingesetzt. Auch Game-Server, wie der Half-live Dedicated Server (51), gewinnen an Bedeutung und werden somit auch interessant für Buffer- Overflow-Angriffe. Es ist auch erschreckend, wie einfach manche Overflows erzeugt werden können. Wird an einem Telnet-Server ein überlanger User-Namen eingegeben 14, kann dies den Kaltstart der Station zur Folge haben. Der BRICKHouse Webserver kann bereits durch Angabe einer überlangen URL zum Absturz gebracht werden Vergleich von properitärer und open-source Software Beim Vergleich der properitären Microsoft-Software und deren Produkten mit der open-source Software hätte vor einigen Jahren das sichere Linux mit Abstand gewonnen. Heutzutage ist der Abstand jedoch drastisch gesunken. Ist Windows sicherer geworden oder Linux unsicherer? Ich bin der Meinung, daß Jakub Kaminski von Computer Associates Australia die richtigen Worte gefunden hat, als er sagte, daß die wachsende Popularität von Linux auch Probleme mit sich bringt. Die Anzahl der Linux-Würmer und Viren habe in den letzten 12 Monaten stark zugenommen, ebenso die DDoS-Angriffe 16. Lange Zeit war Windows das Betriebssystem für den Heimanwender, der vom System an sich nichts verstand und es einfach nur benutzen wollte. Linux-User dagegen kannten sich grundsätzlich im Kernel aus und lösten Probleme und Schwachstellen kurzerhand selbst. Diese Zeiten sind jedoch vorbei. Des weiteren ist Linux mit seinen Produkten keine reine Server-Software mehr. Das wachsende Interesse an Linux- Produkten geht in erster Linie von den Heimanwendern und kleinen sowie mittelständischen Unternehmen aus, die durch die unangenehme Lizensierungs-Politik und durch die Arroganz von Microsoft abgeschreckt werden. Um dieses wachsende Interesse zu befriedigen, wurde die Linux-KDE und der Kernel immer einfacher zu handhaben und blähte sich dadurch auf. Außerdem haben Hacker natürlich immer ein großes Interesse an einem großen Software-Spektrum, damit ihre Produkte möglichst großflächig einschlagen. Dadurch wird Linux etwas näher beleuchtet, wodurch natürlich auch die Fehler schneller sichtbar werden. 14 vgl. Kapitel 5.2., Artikel vgl. Kapitel 5.2., Artikel vgl. Kapitel 5.2., Artikel 09

16 3. Die Buffer-Overflow-Problematik Seite 16 Einen unbestreitbaren Vorteil haben open-source Produkte jedoch immer noch. Durch den open-source-gedanken kann prinzipiell jeder kundige Anwender ein Patch selbst programmieren, während man bei Microsoft immer auf das Wohlwollen eines großen Konzerns angewiesen ist. Entscheidet der Konzern, daß der Aufwand für ein Patch aufgrund der mangelnden Wichtigkeit einer Sicherheitslücke zu hoch ist, so wird nie ein Patch erscheinen. Ferner scheint Microsoft ein Problem mit der Verbreitung der überdurchschnittlich großen Zahl an Patches zu haben 17, wobei manche Patches anscheinend selbst noch fehlerhaft sind 18, was das Vertrauen nicht gerade fördert. Ein weiteres Microsoft-Problem ist die zwingende Integration von Komponenten, die streng genommen nicht zum eigentlichen Betriebssystem gehören. Ein Paradebeispiel dafür ist der Microsoft Internet Information Server, bei dem ein Buffer-Overflow unmittelbar den Zugriff auf das Gesamtsystem nach sich ziehen kann. Auch die zunehmende Integration von Medien-Komponenten, wie den Windows Media Player, bringt Probleme mit sich 19. Auch die UNIX-Derivate haben aufgrund ihrer Historie ein Problem, daß sie noch einige Zeit verfolgen wird. UNIX ist wesentlich älter als Windows und wurde ursprünglich für Labor-Umgebungen programmiert. Die remote-kommandos und die Mail-Dienste waren nicht dafür ausgelegt, einem Angriff standzuhalten. Es wurde davon ausgegangen, daß die Benutzer nur sinnvolle Eingaben tätigen. Daher muß UNIX einen Prozeß durchleben, der das System an die harte Realität der heutigen Zeit anpaßt Maßnahmen zur Vermeidung von Buffer-Overflow-Angriffen Bei den Maßnahmen zur Vermeidung von Buffer-Overflow-Angriffen muß man generell zwei Standpunkte unterscheiden, nämlich den des Programmierers und den des Anwenders. Sowohl der Programmierer, als auch der Anwender sollte sich zunächst bewußt machen, daß keine sichere Software existiert! Anwender, dazu zählen insbesondere Administratoren, sollten regelmäßig auf Internet- Seiten wie nach Schwachstellen in der von ihnen eingesetzten Software schauen und sich über die dazugehörigen Patches informieren. Sicherheit ist bekanntlich ein zyklischer Prozeß. Weiterhin sollten sie nach Möglichkeit alle unnötigen Komponenten des Betriebssystems abschalten, besonders diejenigen, welche einen Remote-Zugriff erlauben. Jede installierte Komponente bietet grundsätzlich ein Angriffsziel. Da immer mehr Anwender über ein Intranet und eine DSL-Flatrate verfügen, sollte man sich über die Möglichkeiten von Firewalls informieren, die mittlerweile auch gratis verfügbar sind. Eine neue Technologie wie DSL sollte nie ohne das dafür notwendige neue Wissen verwendet werden. 17 vgl. Kapitel 5.2., Artikel vgl. Kapitel 5.2., Artikel vgl. Kapitel 5.2., Artikel 04 und 22

17 3. Die Buffer-Overflow-Problematik Seite 17 Der Programmierer sollte sich überlegen, welche Programmiersprache er für die Erstellung seiner Software verwendet. Programme in höheren Sprachen können generell weniger Schaden anrichten als Programme, welche direkten Zugriff auf den Speicher des Systems ermöglichen. Jedoch läßt es sich bei hardwarenahen Aufgaben nicht grundsätzlich vermeiden, auch ein hardwarenahes Programmiersystem einzusetzen. In diesem Fall ist unbedingt auf eine saubere Programmierung unter Vermeidung von dynamischen Arrays zu achten, wobei alle Benutzereingaben einen Sicherheitscheck mit Plausibilitätskontrolle, durchlaufen müssen. Dies kann durch die Einhaltung des folgenden Modells geschehen: Anwender Input-Check Anwendung Betriebssystem Abb. 11: Modell zur sicheren Programmierung Der Input der Anwendung, welche auf Resourcen des Betriebssystems zugreift, wird durch ein eigenständiges Modul geprüft. Jede eingehende Kommunikation wird grundsätzlich überprüft und ggf. zurückgewiesen.

18 4. Abschließende Anmerkungen Seite Abschließende Anmerkungen Abschließend betrachtet kann ich natürlich nicht die ultimative Lösung des Buffer- Overflow-Problems liefern, das bereits seit 13 Jahren bekannt und gefürchtet ist. Mein Anliegen war es lediglich, dem Leser einen tieferen Einblick in eine gezielte Schwachstelle der Internet-Sicherheit zu gewähren. Die Existenz dieser Schwachstelle sollte zunächst einmal sowohl vom Programmierer, als auch vom Anwender realisiert werden und im Anschluß daran sollte vermittelt werden, wie ein Hacker diese Schwachstelle ausnutzen kann. Die Brisanz der Buffer-Overflow-Problematik sollte jedem Leser spätestens beim Durchsehen des Anhangs 5.2. bewußt geworden sein. Ich hoffe, daß ich dieses Ziel erreicht habe. Ich muß sagen, daß die Internet-Recherche, das Einarbeiten in die Thematik und das Erstellen dieser Ausarbeitung sehr interessant war und Spaß gemacht hat. Ich hoffe, daß sich dieses Feeling auch auf den Leser dieser Arbeit ein Stück weit überträgt und dazu animiert, sich mit der Thematik näher zu beschäftigen.

19 5. Anhang Seite Anhang shellcode -Beispiel 20 Der Zweck von Shellcode ist es, eine Shell zu starten. Das folgende C Programm macht genau das. /* shellcode1.c */ #include <stdio.h> #include <unistd.h> int main() { char * name[] = {"/bin/sh", NULL}; execve(name[0], name, NULL); return (0); } Es gibt einige Möglichkeiten, eine Shell zu starten, aber viele Gründe sprechen für die Benutzung der Funktion execve(). Erstens is es ein wirklicher Systemcall und keine Funktion aus einer Biblothek, wie viele andere Funktionen der exec() Familie. Ein Systemcall erfolgt aus einem Interrupt. Es ist genug, die Register richtig zu setzen und man kann alles mit einem kurzen und effektiven Stück Assembler erledigen. Außerdem, falls execve() erfolgreich ausgeführt ist, wird die aufrufende Applikation nicht mehr weiter abgearbeitet. Der neue Programmcode ersetzt den Prozess der aufrufenden Applikation. Falls execve() versagt, geht die Programmausführung normal weiter. In unserem Beispiel wird der Code mitten in der attakierten Apllikation eingefügt. Würde die Applikation nach unserem Code weiterlaufen, wäre das völlig bedeutungslos und könnte unter Umständen katastrophal sein. Mit return (0) kann man ein Programm beenden, aber nur wenn es in der Funktion main() benutzt wird. Da unser Programm irgendwo eingefügt werden soll, müssen wir exit() verwenden: /* shellcode2.c */ #include <stdio.h> #include <unistd.h> int main() { char * name [] = {"/bin/sh", NULL}; execve (name [0], name, NULL); exit (0); } Tatsächlich ist exit() wieder eine Funktion aus einer Bibliothek. Der eigentliche Systemcall ist _exit(): /* shellcode3.c */ #include <unistd.h> #include <stdio.h> 20 vgl.:

20 5. Anhang Seite 20 int main() { char * name [] = {"/bin/sh", NULL}; execve (name [0], name, NULL); _exit(0); } Jetzt ist es an der Zeit, das Program mit seinem Assemblercode zu vergleichen. Assembler Wir benutzen gcc und gdb, um den Assemblercode für unser kleines Programm zu erhalten. Wir kompilieren unser shellcode3.c mit der Debugoption (-g) und Linken es statisch (mit -- static), um Bibiotheken mit einzuschließen. Nun haben wir alle Informationen, um herauszufinden, wie _exexve() und _exit() auf Assemblerebene funktionieren. $ gcc -o shellcode3 shellcode3.c -O2 -g --static gdb gibt uns den Assemblercode. Dieser Code ist natürlich nur für eine Plattform (hier Intel i386). $ gdb shellcode3 GNU gdb 4.18 Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux"... Wir bitten gdb, den Assemblercode der Funktion main() aufzulisten: (gdb) disassemble main Dump of assembler code for function main: 0x <main>: push %ebp 0x <main+1>: mov %esp,%ebp 0x804816b <main+3>: sub $0x8,%esp 0x804816e <main+6>: movl $0x0,0xfffffff8(%ebp) 0x <main+13>: movl $0x0,0xfffffffc(%ebp) 0x804817c <main+20>: mov $0x8071ea8,%edx 0x <main+25>: mov %edx,0xfffffff8(%ebp) 0x <main+28>: push $0x0 0x <main+30>: lea 0xfffffff8(%ebp),%eax 0x <main+33>: push %eax 0x804818a <main+34>: push %edx 0x804818b <main+35>: call 0x804d9ac < execve> 0x <main+40>: push $0x0 0x <main+42>: call 0x804d990 <_exit> 0x <main+47>: nop End of assembler dump. (gdb) Die Aufrufe der Funktionen an den Adressen 0x804818b und 0x rufen die Funktionen aus den C Bibliotheken auf, die die eigentlichen Systemaufrufe ausführen. Beachte: 0x804817c : mov $0x8071ea8,%edx füllt das %edx Register mit einem Wert, der wie eine Adresse aussieht. Laß uns einen Blick auf den Speicherinhalt dieser Adresse werfen und sie als String darstellen:

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

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

Übungen zur Vorlesung Systemsicherheit

Ü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

Mehr

Buffer Overflow 1c) Angriffsstring: TTTTTTTTTTTTTTTT (16x) Beachte: Padding GCC-Compiler Zusatz: gcc O2 verhindert hier den Angriff (Code Optimierung)

Buffer Overflow 1c) Angriffsstring: TTTTTTTTTTTTTTTT (16x) Beachte: Padding GCC-Compiler Zusatz: gcc O2 verhindert hier den Angriff (Code Optimierung) Buffer Overflow 1c) 1 char passok='f'; 2 char password[8]; 3 printf( Passwort: ); 4 gets(password); 5 if(!strcmp(password, daspassw )){passok = 'T';} 6 if(passok=='t'){printf( %s, Willkommen! );} 7 else

Mehr

GCC 3.x Stack Layout. Auswirkungen auf Stack-basierte Exploit-Techniken. Tobias Klein, 2003 tk@trapkit.de Version 1.0

GCC 3.x Stack Layout. Auswirkungen auf Stack-basierte Exploit-Techniken. Tobias Klein, 2003 tk@trapkit.de Version 1.0 1 GCC 3.x Stack Layout Auswirkungen auf Stack-basierte Exploit-Techniken Tobias Klein, 2003 tk@trapkit.de Version 1.0 2 Abstract Eine spezielle Eigenschaft des GNU C Compilers (GCC) der Version 3.x wirkt

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

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

MALWARE AM BEISPIEL VON STUXNET

MALWARE 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,

Mehr

Hausarbeit. Thema: Computersicherheit. Friedrich-Schiller-Universität Jena Informatik B.Sc. Wintersemester 2009 / 2010

Hausarbeit. Thema: Computersicherheit. Friedrich-Schiller-Universität Jena Informatik B.Sc. Wintersemester 2009 / 2010 1 Friedrich-Schiller-Universität Jena Informatik B.Sc. Wintersemester 2009 / 2010 Hausarbeit Thema: Computersicherheit Seminar: Datenschutz und Datenpannen Verfasser: Dmitrij Miller Abgabetermin: 5.3.2010

Mehr

http://www.stud.uni-potsdam.de/~hoeffi/gdb.html#wozu

http://www.stud.uni-potsdam.de/~hoeffi/gdb.html#wozu gdb: debugging code In der Vorlesung hatte ich Teile von http://www.stud.uni-potsdam.de/~hoeffi/gdb.html#wozu und ein eigenes Beispiel diskutiert. Ein Debugger soll helfen Fehler im Programm, die sich

Mehr

Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging

Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging Das Beispiel orientiert sich am selben Code, der im Teil 1 der Serie verwendet wurde. Text Styles: Shell Prompt mit

Mehr

Angriffe auf Windowssysteme

Angriffe auf Windowssysteme Angriffe auf Windowssysteme von Markus Diett Ruhr-Universität Bochum Lehrstuhl Kommunikationssicherheit Seminar: IT-Sicherheit Wintersemester 2003/2004 Fachsemster: 5 Matrikel-Nr.: 108 001 21522 6 Betreut

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

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

Mehr

Systemsicherheit (SS 2015) 30. April 2015. Übungsblatt 2. Buffer-Overflow-Angriffe

Systemsicherheit (SS 2015) 30. April 2015. Übungsblatt 2. Buffer-Overflow-Angriffe Peter Amthor, Winfried E. Kühnhauser [email] Department of Computer Science and Automation Distributed Systems and Operating Systems Group Ilmenau University of Technology Systemsicherheit (SS 2015) 30.

Mehr

Karlsruher Institut für Technologie

Karlsruher Institut für Technologie Karlsruher Institut für Technologie Lehrstuhl für Programmierparadigmen Sprachtechnologie und Compiler WS 2010/2011 Dozent: Prof. Dr.-Ing. G. Snelting Übungsleiter: Matthias Braun Lösung zu Übungsblatt

Mehr

Software Security. Andreas Kostecka Alexander Miller Patrick Rappensberger

Software Security. Andreas Kostecka Alexander Miller Patrick Rappensberger Software Security Andreas Kostecka Alexander Miller Patrick Rappensberger Inhalt Buffer Overrruns Integer Overflows Heap-Overflow Attack Format String Attack SQL Injection Buffer Overrruns Was ist 'Buffer

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

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

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

Wo ist mein Geld? Identitätsmissbrauch im Online-Banking. Christoph Sorge Universität des Saarlandes juris-stiftungsprofessur für Rechtsinformatik

Wo ist mein Geld? Identitätsmissbrauch im Online-Banking. Christoph Sorge Universität des Saarlandes juris-stiftungsprofessur für Rechtsinformatik Wo ist mein Geld? Identitätsmissbrauch im Online-Banking Christoph Sorge Universität des Saarlandes juris-stiftungsprofessur für Rechtsinformatik C. Sorge 2 Überblick Rechner des Kunden Server der Bank

Mehr

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8 Byte-Taxi Bedienungsanleitung Seite 1 von 8 Inhaltsverzeichnis 1. Beschreibung 3 2. Systemvoraussetzungen 4 3. Installationsanleitung 5 4. Bedienung 6 5. Infos & Kontakt 8 Seite 2 von 8 1. Beschreibung

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Dokumentation mit Doxygen

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Dokumentation mit Doxygen Grundkurs C++ Dokumentation mit Doxygen Doxygen Überblick Grundkurs C++ 2 Doxygen doxygen g Erzeugt Doxyfile Konfigurationsdatei Kann mit Texteditor bearbeitet werden. doxygen Doxyfile Erzeugt Dokumentation

Mehr

Aktuelle Sicherheitsprobleme im Internet

Aktuelle Sicherheitsprobleme im Internet Herbst 2014 Aktuelle Sicherheitsprobleme im Internet Wirtschaftsinformatik: 5. Semester Dozenten: Rainer Telesko / Martin Hüsler Fachhochschule Nordwestschweiz FHNW / Rainer Telesko - Martin Hüsler 1 Inhalt

Mehr

PCI Security Scan. Beweisen Sie Ihre Sicherheit! Ihre Vorteile auf einen Blick:

PCI Security Scan. Beweisen Sie Ihre Sicherheit! Ihre Vorteile auf einen Blick: Beweisen Sie Ihre Sicherheit! Unser Security Scan ist eine Sicherheitsmaßnahme, die sich auszahlt. Systeme ändern sich ständig. Selbst Spezialisten kennen nicht alle Schwachstellen im Detail. Der PCI Scan

Mehr

Überprüfung der Wirksamkeit der BSI-Konfigurationsempfehlungen für Windows 7

Überprüfung der Wirksamkeit der BSI-Konfigurationsempfehlungen für Windows 7 BSI-Veröffentlichungen zur Cyber-Sicherheit ANALYSEN Überprüfung der Wirksamkeit der BSI-Konfigurationsempfehlungen Auswirkungen der Konfiguration auf den Schutz gegen aktuelle Drive-by-Angriffe Zusammenfassung

Mehr

Sicherheitsaspekte unter Windows 2000

Sicherheitsaspekte unter Windows 2000 Sicherheitsaspekte unter Windows 2000 Margarete Kudak Sascha Wiebesiek 1 Inhalt 1. Sicherheit 1.1 Definition von Sicherheit 1.2 C2 - Sicherheitsnorm 1.3 Active Directory 2. Sicherheitslücken 3. Verschlüsselung

Mehr

Angriffsmethoden von Hackern. A. Verschiedene Angriffsmethoden

Angriffsmethoden von Hackern. A. Verschiedene Angriffsmethoden 1 Angriffsmethoden von Hackern A. Verschiedene Angriffsmethoden 1. IP-Spoofing IP-Spoofing bedeutet das Vortäuschen einer bestimmten IP-Adresse als Absender-Adresse. Er kann Access-Listen von Routern überlisten

Mehr

R e m o t e A c c e s s. Cyrus Massoumi

R e m o t e A c c e s s. Cyrus Massoumi R e m o t e A c c e s s Präsentation im Seminar Internet-Technologie im Sommersemester 2008 von Cyrus Massoumi I n h a l t Was versteht man unter Remote Access Unsichere Remotezugriffe TELNET Remote Shell

Mehr

Web Applications Vulnerabilities

Web Applications Vulnerabilities Bull AG Wien Web Applications Vulnerabilities Philipp Schaumann Dipl. Physiker Bull AG, Wien www.bull.at/security Die Problematik Folie 2 Der Webserver ist das Tor zum Internet auch ein Firewall schützt

Mehr

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen FAEL-Seminar Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für Angewandte

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

Dokumentation Schulprojekt: Samba als Serverdienst

Dokumentation Schulprojekt: Samba als Serverdienst Dokumentation Schulprojekt: Samba als Serverdienst Sandra Schreiner und Sascha Lenhart 20. September 2007 Inhaltsverzeichnis 1 Einleitung 3 1.1 Projektbeschreibung.............................. 3 1.2 Projektziele...................................

Mehr

Dokumentation - Schnelleinstieg FileZilla-FTP

Dokumentation - Schnelleinstieg FileZilla-FTP Dokumentation - Schnelleinstieg FileZilla-FTP Diese Anleitung zeigt Ihnen in aller Kürze die Bedienung des FileZilla-FTP-Clients. Standardmäßig braucht FileZilla nicht konfiguriert zu werden, daher können

Mehr

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 1. Benötigte Software Zur Erstellung des Installers wird folgende Software benötigt. Es wird sich in dieser Dokumentation

Mehr

Softwaresicherheit. Sicherheitsschwachstellen im größeren Kontext. Ulrich Bayer

Softwaresicherheit. Sicherheitsschwachstellen im größeren Kontext. Ulrich Bayer Softwaresicherheit Sicherheitsschwachstellen im größeren Kontext Ulrich Bayer Conect Informunity, 30.1.2013 2 Begriffe - Softwaresicherheit Agenda 1. Einführung Softwaresicherheit 1. Begrifflichkeiten

Mehr

Praktikum Internetprotokolle - POP3

Praktikum Internetprotokolle - POP3 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik/Rechnernetze 19. Mai 2008 1 Aufgabenstellung Praktikum

Mehr

TimeMachine. Installation und Konfiguration. Version 1.4. Stand 21.11.2013. Dokument: install.odt. Berger EDV Service Tulbeckstr.

TimeMachine. Installation und Konfiguration. Version 1.4. Stand 21.11.2013. Dokument: install.odt. Berger EDV Service Tulbeckstr. Installation und Konfiguration Version 1.4 Stand 21.11.2013 TimeMachine Dokument: install.odt Berger EDV Service Tulbeckstr. 33 80339 München Fon +49 89 13945642 Mail rb@bergertime.de Versionsangaben Autor

Mehr

Address/CRM 3.0 Axapta Client Setup

Address/CRM 3.0 Axapta Client Setup pj Tiscover Travel Information Systems AG Maria-Theresien-Strasse 55-57, A-6010 Innsbruck, Austria phone +43/512/5351 fax +43/512/5351-600 office@tiscover.com www.tiscover.com Address/CRM 3.0 Axapta Client

Mehr

MySQL Community Server 5.1 Installationsbeispiel

MySQL Community Server 5.1 Installationsbeispiel MySQL Community Server 5.1 Installationsbeispiel Dieses Dokument beschreibt das Herunterladen der Serversoftware, die Installation und Konfiguration der Software. Bevor mit der Migration der untermstrich-datenbank

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

Embedded-Linux-Seminare. Linux als Betriebssystem

Embedded-Linux-Seminare. Linux als Betriebssystem Embedded-Linux-Seminare Linux als Betriebssystem http://www.embedded-linux-seminare.de Diplom-Physiker Peter Börner Spandauer Weg 4 37085 Göttingen Tel.: 0551-7703465 Mail: info@embedded-linux-seminare.de

Mehr

INSTALLATION und BENUTZUNG von REAL VNC 3.3.5-7

INSTALLATION und BENUTZUNG von REAL VNC 3.3.5-7 INSTALLATION und BENUTZUNG von REAL VNC 3.3.5-7 Einleitung: Real VNC ist ein Remote Programm das zur Fernwartung von PCs über das Internet verwendet werden kann. It is fully cross-platform das heißt man

Mehr

KOGIS Checkservice Benutzerhandbuch

KOGIS Checkservice Benutzerhandbuch Technoparkstrasse 1 8005 Zürich Tel.: 044 / 350 10 10 Fax.: 044 / 350 10 19 KOGIS Checkservice Benutzerhandbuch Zusammenfassung Diese Dokumentation beschreibt die Bedienung des KOGIS Checkservice. 4.2.2015

Mehr

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen Dr. Marc Rennhard Institut für angewandte Informationstechnologie Zürcher Hochschule Winterthur marc.rennhard@zhwin.ch Angriffspunkt

Mehr

Open Catalog Interface (OCI) Anbindung an VirtueMart

Open Catalog Interface (OCI) Anbindung an VirtueMart Ver. 2.5.1 Open Catalog Interface (OCI) Anbindung an VirtueMart Joomla 2.5 und Virtuemart 2.0.6 Ing. Karl Hirzberger www.hirzberger.at Inhaltsverzeichnis Begriffserklärung... 3 OCI für VirtueMart... 4

Mehr

Hello World in Java. Der Weg zum ersten Java-Programm

Hello World in Java. Der Weg zum ersten Java-Programm Vorwort Hello World in Java Der Weg zum ersten Java-Programm Diese Anleitung wurde unter Windows XP verfasst. Grundsätzlich sollte sie auch unter späteren Windows Versionen wie Windows Vista oder Windows

Mehr

Auf der Homepage steht

Auf der Homepage steht Auf der Homepage steht VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. Not only is VirtualBox an extremely feature rich, high performance product

Mehr

Hylafax mit CAPI und Kernel 2.6 auf Debian Sarge

Hylafax mit CAPI und Kernel 2.6 auf Debian Sarge Hylafax mit CAPI und Kernel 2.6 auf Debian Lukas Mensinck First public release Version 1.0.0 Revision History Revision 1.0.0 2007.04.11 LukasMensinck Mensinck Consulting First public release of HowTo Type:

Mehr

MVB3. Einrichten eines Servers für MVB3 ab Version 3.5. Admin-Dokumentation. Inhalt V3.05.001

MVB3. Einrichten eines Servers für MVB3 ab Version 3.5. Admin-Dokumentation. Inhalt V3.05.001 V3.05.001 MVB3 Admin-Dokumentation Einrichten eines Servers für MVB3 ab Version 3.5 Inhalt Organisatorische Voraussetzungen... 1 Technische Voraussetzungen... 1 Konfiguration des Servers... 1 1. Komponenten

Mehr

Inhaltsverzeichnis Abbildungsverzeichnis

Inhaltsverzeichnis Abbildungsverzeichnis Inhaltsverzeichnis Abbildungsverzeichnis... 1 1 Eigener lokaler Webserver... 2 1.1 Download der Installationsdatei... 2 1.2 Installation auf externer Festplatte... 2 1.3 Dienste starten... 5 1.4 Webserver

Mehr

Hacker Methoden. für den Angriff auf IT-Systeme. Dortmund, Oktober 2004

Hacker Methoden. für den Angriff auf IT-Systeme. Dortmund, Oktober 2004 Hacker Methoden für den Angriff auf IT-Systeme Dortmund, Oktober 2004 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX:

Mehr

DriveLock 6. DriveLock und das Windows Sicherheitsproblem mit LNK Dateien. CenterTools Software GmbH

DriveLock 6. DriveLock und das Windows Sicherheitsproblem mit LNK Dateien. CenterTools Software GmbH 6 DriveLock und das Windows Sicherheitsproblem mit LNK Dateien CenterTools Software GmbH 2010 Copyright Die in diesen Unterlagen enthaltenen Angaben und Daten, einschließlich URLs und anderen Verweisen

Mehr

Systemanforderungen und Installationsanleitung für Internet Security. Inhalt

Systemanforderungen und Installationsanleitung für Internet Security. Inhalt Systemanforderungen und Installationsanleitung für Internet Security Inhalt 1 Systemanforderungen für Internet Security...2 2 Installationsanleitung: Internet Security für einen Test auf einem Computer

Mehr

Installationsanleitung Expertatis

Installationsanleitung Expertatis Installationsanleitung Expertatis 1. Komplettinstallation auf einem Arbeitsplatz-Rechner Downloaden Sie die Komplettinstallation - Expertatis_Komplett-Setup_x32.exe für ein Windows 32 bit-betriebssystem

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Programmierung. Programme, Compiler, virtuelle Maschinen, Java

Programmierung. Programme, Compiler, virtuelle Maschinen, Java Programmierung Programme, Compiler, virtuelle Maschinen, Java Programme Ein Programm ist eine Folge von Anweisungen, die einem Computer sagen, was er tun soll tuwas.c for(int i=0; i=0; i

Mehr

1 Installationen. 1.1 Installationen unter Windows

1 Installationen. 1.1 Installationen unter Windows 1 Installationen Dieses Kapitel beschreibt die Installationen, die für die Nutzung von PHP und MySQL unter Windows, unter Ubuntu Linux und auf einem Mac mit OS X notwendig sind. 1.1 Installationen unter

Mehr

Das Handbuch zu Desktop Sharing. Brad Hards Übersetzung: Frank Schütte

Das Handbuch zu Desktop Sharing. Brad Hards Übersetzung: Frank Schütte Brad Hards Übersetzung: Frank Schütte 2 Inhaltsverzeichnis 1 Einleitung 5 2 Das Remote Frame Buffer -Protokoll 6 3 Verwendung von Desktop Sharing 7 3.1 Verwaltung von Desktop Sharing-Einladungen.....................

Mehr

Hinweise zu A-Plan 2009 SQL

Hinweise zu A-Plan 2009 SQL Hinweise zu A-Plan 2009 SQL Für Microsoft Windows Copyright Copyright 2008 BRainTool Software GmbH Inhalt INHALT 2 EINLEITUNG 3 WAS IST A-PLAN 2009 SQL? 3 WANN SOLLTE A-PLAN 2009 SQL EINGESETZT WERDEN?

Mehr

2.4 Das erste C++-Programm *

2.4 Das erste C++-Programm * 2.4 Das erste C++-Programm * 11 2.4 Das erste C++-Programm * Den besten Lernerfolg erzielen Sie, wenn Sie alle Beispiele dieses Buchs selbst nachvollziehen. Sie können hierzu einen Compiler verwenden,

Mehr

Thema: SQL-Injection (SQL-Einschleusung):

Thema: SQL-Injection (SQL-Einschleusung): Thema: SQL-Injection (SQL-Einschleusung): Allgemein: SQL (Structured Query Language) ist eine Datenbanksprache zur Definition von Datenstrukturen in Datenbanken sowie zum Bearbeiten (Einfügen, Verändern,

Mehr

Knottenwäldchen Software

Knottenwäldchen Software Knottenwäldchen Software Installationsanleitung für die netzbasierte Lösung Knottenwäldchen Software März.2011 Knottenwäldchen Software Seite 2 1 Inhalt 1 Inhalt... 2 2 Übersicht... 3 3 Installation...

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

www.heimetli.ch Heimetli Software AG HSWModule ... Senden und Empfangen von SMS-Meldungen mit einem GSM-Modul Version 1.01 5.

www.heimetli.ch Heimetli Software AG HSWModule ... Senden und Empfangen von SMS-Meldungen mit einem GSM-Modul Version 1.01 5. www.heimetli.ch. Heimetli Software AG HSWModule........ Senden und Empfangen von SMS-Meldungen mit einem GSM-Modul Version 1.01 5. August 2005 Inhaltsverzeichnis Was ist HSWModule?... 1 Installation...

Mehr

Hacking. InfoPoint 07.12.2005. Jörg Wüthrich

Hacking. InfoPoint 07.12.2005. Jörg Wüthrich Hacking InfoPoint 07.12.2005 Jörg Wüthrich Inhalte Rund um das Thema Hacking Angriffs-Techniken Session Handling Cross Site Scripting (XSS) SQL-Injection Buffer Overflow 07.12.2005 Infopoint - Hacking

Mehr

1. Einführung 1. 2. Update manuell installieren 1. 3. Update wird immer wieder verlangt 2. 4. Download des Updates bricht ab (keine Meldung) 5

1. Einführung 1. 2. Update manuell installieren 1. 3. Update wird immer wieder verlangt 2. 4. Download des Updates bricht ab (keine Meldung) 5 Inhalt 1. Einführung 1 2. Update manuell installieren 1 3. Update wird immer wieder verlangt 2 4. Download des Updates bricht ab (keine Meldung) 5 5. Download des Updates bricht ab (Meldung: changes must

Mehr

Port-Knocking. Referat im Fach Datenschutz / -sicherheit von Stefan Macke. http://www.stefan. www.stefan-macke.com

Port-Knocking. Referat im Fach Datenschutz / -sicherheit von Stefan Macke. http://www.stefan. www.stefan-macke.com Port-Knocking Referat im Fach Datenschutz / -sicherheit von Stefan Macke http://www.stefan www.stefan-macke.com 1 Agenda des Port-Knockings knockd webknocking durch Port-Knocking? 2 2 Was ist Port-Knocking?

Mehr

Kapitel 6,»Objektorientierte Programmierung«, widmet sich der objektorientierten Programmierung mit Python.

Kapitel 6,»Objektorientierte Programmierung«, widmet sich der objektorientierten Programmierung mit Python. 1.3 Aufbau des Buchs lichkeiten offen. Auf die Unterschiede der beiden Versionen gehe ich besonders ein, sodass ein späterer Umstieg von der einen zur anderen Version leichtfällt. Erste Zusammenhänge werden

Mehr

Netzwerksicherheit. Teil 2: Buffer Overflows und andere Gemeinheiten. Martin Mauve, Björn Scheuermann und Philipp Hagemeister

Netzwerksicherheit. Teil 2: Buffer Overflows und andere Gemeinheiten. Martin Mauve, Björn Scheuermann und Philipp Hagemeister Netzwerksicherheit Teil 2: Buffer Overflows und andere Gemeinheiten Martin Mauve, Björn Scheuermann und Philipp Hagemeister Sommersemester 2015 Heinrich-Heine-Universität Düsseldorf Netzwerksicherheit

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Tutorium Java Ein Überblick. Helge Janicke

Tutorium Java Ein Überblick. Helge Janicke Tutorium Java Ein Überblick Helge Janicke 26. Oktober 2000 1 VORRAUSSETZUNGEN ZUM PROGRAMMIEREN MIT JAVA. 1 1 Vorraussetzungen zum Programmieren mit Java. Was braucht man, wenn man mit Java programmieren

Mehr

Internet Information Services v6.0

Internet Information Services v6.0 Internet Information Services v6.0 IIS History Evolution von IIS: V1.0 kostenlos auf der CeBit 1996 verteilt V2.0 Teil von Windows NT 4.0 V3.0 Als Update in SP3 von NT4.0 integriert V4.0 Windows NT 4.0

Mehr

Neues aus dem DFN-CERT. 57. DFN-Betriebstagung - Forum Sicherheit 16. Oktober 2012 Tilmann Haak

Neues aus dem DFN-CERT. 57. DFN-Betriebstagung - Forum Sicherheit 16. Oktober 2012 Tilmann Haak Neues aus dem DFN-CERT 57. DFN-Betriebstagung - Forum Sicherheit 16. Oktober 2012 Tilmann Haak Agenda Neues aus dem DFN-CERT Schwachstellen Automatische Warnmeldungen Aktuelle Vorfälle 57. DFN-Betriebstagung,

Mehr

UCS 2.4 Sicherheits-Update 3

UCS 2.4 Sicherheits-Update 3 UCS 2.4 Sicherheits-Update 3 Thema: Änderungen im Sicherheitsupdate 3 für UCS 2.4 Datum: 3. Mai 2011 Seitenzahl: 7 Versionsnummer: 8598 Autoren: Univention GmbH feedback@univention.de Univention GmbH Mary-Somerville-Straße

Mehr

Autor: Uwe Labs Stand: 21.03.2008. 1.Administrativer Zugriff von außen...1

Autor: Uwe Labs Stand: 21.03.2008. 1.Administrativer Zugriff von außen...1 . Administrativer Zugriff von außen Autor: Uwe Labs Stand: 2.03.2008 Inhaltsverzeichnis.Administrativer Zugriff von außen..... Überblick....2. imanager und RemoteManager....3. SecureCopy (SFTP)...2.4.

Mehr

[2-4] Typo3 unter XAMPP installieren

[2-4] Typo3 unter XAMPP installieren Web >> Webentwicklung und Webadministration [2-4] Typo3 unter XAMPP installieren Autor: simonet100 Inhalt: Um Typo3 zum Laufen zu bringen benötigen wir eine komplette Webserverumgebung mit Datenbank und

Mehr

Exploits & Rootkits. Betriebssystemdienste & -administration Seminar. Betriebssysteme und Middleware. Sebastian.Roschke@hpi.uni-potsdam.

Exploits & Rootkits. Betriebssystemdienste & -administration Seminar. Betriebssysteme und Middleware. Sebastian.Roschke@hpi.uni-potsdam. Exploits & Rootkits Betriebssystemdienste & -administration Seminar Betriebssysteme und Middleware Sebastian.Roschke@hpi.uni-potsdam.de Steffen.Ryll@hpi.uni-potsdam.de Steffen Ryll & Sebastian Roschke

Mehr

Information rund um den Begriff Patch für WINLine-Anwender. SMC InformationsTechnologien AG Meraner Str. 43 86165 Augsburg

Information rund um den Begriff Patch für WINLine-Anwender. SMC InformationsTechnologien AG Meraner Str. 43 86165 Augsburg Information rund um den Begriff Patch für WINLine-Anwender SMC InformationsTechnologien AG Meraner Str. 43 86165 Augsburg Inhaltsverzeichnis: 1. Allgemeine Informationen zu dem Begriff Patch 2. WINLine

Mehr

PS Kryptographie und IT-Sicherheit. Thema: Software-Sicherheit. Thomas Loch, Michael Streif 2012

PS Kryptographie und IT-Sicherheit. Thema: Software-Sicherheit. Thomas Loch, Michael Streif 2012 PS Kryptographie und IT-Sicherheit Thema: Software-Sicherheit Thomas Loch, Michael Streif 2012 Malicious / Invalid Input Exploits nutzen Nebeneffekte von ungültigen Benutzereingaben aus, die vom Programmierer

Mehr

FTP HOWTO. zum Upload von Dateien auf Webserver. Stand: 01.01.2011

FTP HOWTO. zum Upload von Dateien auf Webserver. Stand: 01.01.2011 FTP HOWTO zum Upload von Dateien auf Webserver Stand: 01.01.2011 Copyright 2002 by manitu. Alle Rechte vorbehalten. Alle verwendeten Bezeichnungen dienen lediglich der Kennzeichnung und können z.t. eingetragene

Mehr

Dokumentation über die Betreuung des Servers des Reitvereinmanagementsystems (RVMS)

Dokumentation über die Betreuung des Servers des Reitvereinmanagementsystems (RVMS) Dokumentation über die Betreuung des Servers des Reitvereinmanagementsystems (RVMS) Hochschule Ravensburg Weingarten Technik Wirtschaft Sozialwesen Name: Matrikel-Nr.: Studiengang: Fachrichtung: Anika

Mehr

GDI-Knoppix 4.0.2 - Erste Schritte. Werner Siedenburg werner.siedenburg@student.fh-nuernberg.de Stand: 04.05.2006

GDI-Knoppix 4.0.2 - Erste Schritte. Werner Siedenburg werner.siedenburg@student.fh-nuernberg.de Stand: 04.05.2006 GDI-Knoppix 4.0.2 - Erste Schritte Werner Siedenburg werner.siedenburg@student.fh-nuernberg.de Stand: 04.05.2006 Dieses Dokument beschreibt elementare Dinge im Umgang mit Knoppix. Knoppix ist ein "Live-Linux".

Mehr

How to install freesshd

How to install freesshd Enthaltene Funktionen - Installation - Benutzer anlegen - Verbindung testen How to install freesshd 1. Installation von freesshd - Falls noch nicht vorhanden, können Sie das Freeware Programm unter folgendem

Mehr

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/ Einführung Was ist Unison? Unison ist ein Dateisynchronisationsprogramm für Windows und Unix. Es teilt sich viele Funktionen mit anderen Programmen, wie z.b. CVS und rsync. Folgend einige Vorteile des

Mehr

Installationsanleitung für DoRIS unter Linux Inhaltsverzeichnis

Installationsanleitung für DoRIS unter Linux Inhaltsverzeichnis Installationsanleitung für DoRIS unter Linux Seite 1 Installationsanleitung für DoRIS unter Linux Inhaltsverzeichnis Installationsanleitung für DoRIS unter Linux... 1 Vorbemerkungen... 1 Benötigte Komponenten

Mehr

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

Mehr

Lebenszyklus einer Schwachstelle

Lebenszyklus einer Schwachstelle GRUNDLAGEN STATISTIKEN BERICHTE Lebenszyklus einer Schwachstelle Nach Bekanntwerden einer neuen Zero-Day-Schwachstelle hat der Hersteller ein Advisory veröffentlicht, in dem bis zur Fertigstellung eines

Mehr

TimeMachine. Time CGI. Version 1.5. Stand 04.12.2013. Dokument: time.odt. Berger EDV Service Tulbeckstr. 33 80339 München

TimeMachine. Time CGI. Version 1.5. Stand 04.12.2013. Dokument: time.odt. Berger EDV Service Tulbeckstr. 33 80339 München Time CGI Version 1.5 Stand 04.12.2013 TimeMachine Dokument: time.odt Berger EDV Service Tulbeckstr. 33 80339 München Fon +49 89 13945642 Mail rb@bergertime.de Versionsangaben Autor Version Datum Kommentar

Mehr

17.2 MS-Access Projekte

17.2 MS-Access Projekte 964 Von MS-Access 2000 zum SQL-Server 17.2 MS-Access Projekte MS-Access-Projekte, die die Dateiendung adp besitzen, werden als Front-End-Anwendung verwendet. Für die Back-End-Seite gibt es mehrere Möglichkeiten.

Mehr

Handbuch VERBINDUNG ZUM TERMINAL SERVER

Handbuch VERBINDUNG ZUM TERMINAL SERVER Handbuch VERBINDUNG ZUM TERMINAL SERVER Einleitung Dieses Dokument beschreibt Ihnen, wie Sie sich auf einen Terminalserver (TS) mithilfe von einem Gerät, auf den die Betriebssysteme, Windows, Mac, IOS

Mehr

KONFIGURATION DES MOZILLA E-MAIL CLIENT

KONFIGURATION DES MOZILLA E-MAIL CLIENT KONFIGURATION DES MOZILLA E-MAIL CLIENT Copyright 2004 by 2 ways - media & design, Inh. Lars Plessmann, Paulinenstr. 12, D-70178 Stuttgart. http://www.2-ways.de Lars.Plessmann@2-ways.de Der Mozilla Email

Mehr

FAQ Häufig gestellte Fragen

FAQ Häufig gestellte Fragen FAQ Häufig gestellte Fragen FAQ zu HitmanPro.Kickstart Seite 1 Inhaltsverzeichnis Einführung in HitmanPro.Kickstart... 3 F-00: Wozu wird HitmanPro.Kickstart benötigt?... 4 F-01: Kann HitmanPro.Kickstart

Mehr

Systemvoraussetzungen Varial GUIDE/BROWSER

Systemvoraussetzungen Varial GUIDE/BROWSER Systemvoraussetzungen Varial GUIDE/BROWSER Finanzbuchführung Anlagenbuchhaltung Kostenrechnung Personalwirtschaft 1 IMPRESSUM Varial Systemvoraussetzungen Varial GUIDE/BROWSER November 2007 by Varial Software

Mehr

Embedded-Linux-Seminare. Toolchains

Embedded-Linux-Seminare. Toolchains Embedded-Linux-Seminare Toolchains http://www.embedded-linux-seminare.de Diplom-Physiker Peter Börner Spandauer Weg 4 37085 Göttingen Tel.: 0551-7703465 Mail: info@embedded-linux-seminare.de Kopier-Rechte

Mehr

IRF2000, IF1000 Application Note ModbusTCP API

IRF2000, IF1000 Application Note ModbusTCP API Version 2.0 Original-Application Note ads-tec GmbH IRF2000, IF1000 Application Note ModbusTCP API Version 2.0 Stand: 28.10.2014 ads-tec GmbH 2014 IRF2000 IF1000 2 Inhaltsverzeichnis 1 Einführung... 3 2

Mehr

Neues aus dem DFN-CERT

Neues aus dem DFN-CERT Neues aus dem DFN-CERT November 2003 März 2004 Arbeitskreis Security auf der 40. DFN Betriebstagung Dipl. Inf. Marco Thorbrügge Agenda Top 20 der Windows-/Unix-Schwachstellen Kurzübersicht Schwachstellen

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

1.7 Assembler Programmierung

1.7 Assembler Programmierung 1.7 Assembler Programmierung Die nach außen sichtbare Programmierschnittstelle eines Prozessors ist der Befehlscode. Dies ist eine binäre Dateninformation, die vom Prozessor Byte für Byte abgearbeitet

Mehr