Abstract—In dieser Arbeit wird das modellbasierte Testen
einer Webseite durch das Zusammenspiel von einem aus dieser
Applikation per Reverse Engineering entwickelten gerichteten
Graphen und Testframeworks beschrieben. Um die Auswahl der
gew¨unschten Testframeworks so variabel wie m¨oglich zu gestalten,
wurde ein plattformunabh¨angiges Testframework-Modell
erstellt, welches eine Schnittmenge der zu implementierenden
Testframeworks bildet. Durch eine “Model zu Text” (M2T)
Transformation wird das Testframework-Modell mit Hilfe einer
Templatesprache in spezifischen Testcode gewandelt.
Beim Durchlaufen des mit Hilfe von Reverse Engineering
erstellten Graphen werden bei jedem Zustands¨ubergang Befehle
f ¨ur das Testframework erstellt, um Pfade im Graphen automatisch
durch M2T in Testcode umzuwandeln.

Download (PDF, 402.26KB)

Download (PDF, 976.66KB)

Tagged with:
 

http://www.amazon.de/Evaluation-traditionel…

 

Kurzbeschreibung

 

Zehntausende Web-Services verwenden relationale Datenbanken, um Daten zu speichern und auszulesen. Im Vergleich zu modernen Konzepten können relationale Datenbanken als wichtigster Stellvertreter für “traditionelle Technologien” bezeichnet werden. Wenn man als Entwickler zu Seiten wie Google.com, Facebook.com, Amazon.com, Digg.com, Ebay.com, Yahoo.com, Twitter.com oder Dawanda.com surft, wird meist angenommen, dass eine verteilte relationale Datenbank verwendet wird. Die Annahme ist zu 50% richtig, jedoch ist die Datenhaltung meist nicht relational. Diese Großunternehmen verwalten mehrere hundert Gigabytes, bis hin zu 100.000 Gigabyte an Daten, und mussten in den letzten sechs Jahren Lösungen finden, um erfolgreich diese riesigen Datenmengen zu beherrschen. Google erfand vor ca. sieben Jahren ein Verfahren, um Datenmengen im Petabytebereich zu beherrschen. Facebook entwickelte selbst eine Datenbanktechnologie, um die Posteingänge von Benutzern verfügbar zu machen, Twitter.com adaptiert diese Technologie für andere Zwecke. Amazon.com entwickelte “Dynamo”, um Hochverfügbarkeit für deren weltgrößte E-Commerce Plattform zu schaffen. Diese und andere Eigenentwicklungen entstanden aus der Notwendigkeit heraus, riesige Datenmengen bzw. Datenbanken hoch verfügbar, konsistent und skalierbar zu machen. Seit den letzten drei Jahren sind alternative “Open-Source-Implementierungen” dieser Entwicklungen entstanden. Die Veröffentlichung der Konzepte und Technologien führten zu einer ganzen Bewegung namens “NoSQL”. Sind diese Konzepte vorteilhafter, um eine bessere und für Entwickler einfachere Skalierung, Abfragemöglichkeit und Datenkonsistenz in einem hochverfügbaren Datenbanksystem, zu gewährleisten? Wie werden komplexe Abfragen in modernen und traditionellen verteilten Systemen gemacht und wie werden diese ausgeführt? Speziell stellt sich die Frage, ob das MapReduce Verfahren ein vollständiger Ersatz für SQL ist. Für welche Einsatzzwecke sind beide besonders gut geeignet und für welche weniger? Ausgewählte Konzepte moderner, verteilter Datenbanksysteme sind zentrale Bestandteile dieser Arbeit. Dazu werden die Eigenschaften Verfügbarkeit, Konsistenz und Skalierbarkeit in den verteilten Systemen ausführlicher beschrieben, um zu analysieren, ob gegenüber relationalen Datenbanken Vorteile und Nachteile dieser Eigenschaften existieren. Ergebnisse dieser Aufgabenstellung sollen Chancen und Risiken von modernen Datenbanken aufdecken. Key-Value-Stores sind die einfachsten Vertreter moderner Datenbanken. “Riak” wird in dieser Arbeit als Implementierung moderner Konzepte benutzt. “MySQL” soll als Vertreter für relationale Datenbanken verwendet werden da dieser Vertreter eine weit verbreitete Open-Source-Implementierung von relationalen Datenbanken ist. Andere Datenbankkonzepte/Datenbanken werden in dieser Arbeit nicht behandelt. Dazu zählen unter anderem objektorientierte, objektrelationale, hierarchische, spaltenorientierte und graphenorientierte Datenbankformen, sowie Repräsentanten von relationalen Datenbanken, wie “db2”, “Sybase” oder “Oracle”, da diese nicht Open-Source sind. Das konsistente Hashfunktionsverfahren wird zuerst kurz erläutert, um theoretische Grundlagen für die Implementierung moderner und traditioneller Skalierungsmethoden zu legen. Danach werden, im Kontext moderner Datenbanktechnologien, wichtige theoretische Konzepte zur Skalierung erläutert. Dazu werden die drei wichtigsten Eigenschaften verteilter Systeme definiert und in Zusammenhang gebracht (Verfügbarkeit, Konsistenz und Partitionstoleranz). Dementsprechend wird das Prinzip “letztendliche Konsistenz” vorgestellt, welches eine zentrale Rolle bei modernen verteilten Systemen darstellt. Weiterhin wird das MapReduce-Verfahren konzeptionell vorgestellt. Es wird aus zwei Perspektiven betrachtet: Filterung von Daten durch benutzerdefinierte Funktionen anhand eines Beispiels und in diesem Zusammenhang die Ausführung des Verfahrens in verteilten Systemen. Implementierungen dieser theoretischen Ansätze werden in diesem Kapitel aufgelistet. Eine detaillierte Beschreibung von “Key-Value-Stores” (KVS) wird im nächsten Kapitel bereitgestellt. KVS sind die einfachste Form von modernen Datenbanken, an denen sich die grundlegenden Konzepte abstrakt beschreiben lassen. “Riak” ist ein wichtiger Vertreter für moderne Datenbanken und KVS. Die theoretischen Grundlagen der drei zentralen Eigenschaften verteilter System werden an dieser direkten Implementierung gefestigt und erweitert. Dem folgt eine kurze Vorstellung von relationalen Datenbanken. Dabei wird ausschließlich auf Möglichkeiten zur Skalierung eingegangen. Im letzten Kapitel werden zuerst beide Datenbanktechnologien hinsichtlich der Skalierung, Konsistenz, Verfügbarkeit und Komplexität verglichen. Weiterhin findet ein Vergleich zwischen MapReduce und SQL bzw. “benutzerdefinierten Funktionen” anhand von Einsatzmöglichkeiten, Stabilität und Komplexität statt. Der Vergleich von MySQL und Riak erfolgt durch eine Analyse der Abfragemöglichkeiten mittels Stored Procedures und MapReduce anhand mehrerer Beispiele. Hierbei sollen die zentralen Fragestellungen beantwortet werden. Abschließend werden die Ergebnisse zusammengefasst und bewertet.

Über den Autor

Nils M. Petersohn B.Sc., wurde 1983 in Leipzig geboren. Bereits während des Abiturs belegte der Autor zahlreiche Ihm in Deutschland und in Amerika verfügbaren Informatikkurse. Das Studium der Wirtschaftsinformatik befriedigte seine Wissbegierde nicht und er entschied sich, zu einem Studium der reinen Informatik, welches er im Herbst 2010 erfolgreich beendete. Mehr als ein Dutzend industrieller Softwareprojekte prägten seinen Erfahrungsschatz ausgiebig während des Studiums. So entstanden in den letzten 4-5 Jahren mehrere geschäftskritische Anwendungen die u.a. auf performante Datenhaltung basieren.

 

hier meine Ausarbeitung zum Thema “Linux/Unix Forensik” dieses Sommersemester für Prof Creutzburg an der Fh-Brandenburg. Ich hoffe auf positives Feedback von Ihnen :)

Titel:
Forensiche Untersuchung eines Linux Systems
Abstract:
Diese Arbeit soll einen hypothetischen Kriminalfall an einem Linux/Unix Serversystem näher
beschreiben. Die wichtigsten Gesichtspunkte sind dabei die Möglichkeiten zur Sammlung und
Interpretation von forensisch relevanten Daten.
Der fiktive Ermittler (Agent Mulder) soll einen Einbruch eines Cyberkriminalisten weitestgehend
untersuchen und rekonstruieren. In einem realen Ermittlungsfall sind die hier
genannten Methoden zur Untersuchung einsetzbar und notwendig, jedoch wird in dieser
Ausarbeitung angenommen, dass alle Vorgänge ohne jeglichen Komplikationen und Umwege
ablaufen. Alle bekannten Methoden und Tools können nicht vorgestellt werden. Es soll keine
Untersuchung von Malware sein. Angreifbare Services werden nur erwähnt aber nicht näher
dargestellt. Angreifertools und deren Bedeutung wird nur kurz erwähnt. Der Fokus liegt
nicht auf einem bestimmten Unix/Linux Betriebssystem. Alle anderen Beteiligten, die in
realen Ermittlungen vorkommen werden durch Symbolfiguren ersetzt. Der Ermittler steht
somit für ein ganzes Ermittlungsteam.
Literaturverzeichnis:

[ANC11] Altheide, C. ; Nikkel, B. ; Carvey, H.: Digital Forensics With Open Source
Tools: Using Open Source Platform Tools for Performing Computer Forensics on
Target Systems: Windows, MAC, Linux, Unix, Etc. Syngress Media Inc, 2011
[Bar04] Barrett, D.J.: Linux kurz & gut. O’Reilly Germany, 2004
[CAe10] Casey, E. ; Altheide, C. ; ebrary, Inc: Handbook of digital forensics and
investigation. Academic, 2010
[Car05] Carrier, B.: File system forensic analysis. Addison-Wesley Professional, 2005
[Har00] Harvey, J.P.: Network sniffer for monitoring and reporting network information
that is not privileged beyond a user’s privilege level. März 28 2000. – US Patent
6,044,401
[htt11] http://de.wikipedia.org/wiki/Unix: UNIX. http://de.wikipedia.org/
wiki/Unix. Version: 18.6. 2011
[lin] Linux. http://de.wikipedia.org/wiki/Linux#Technik
[MP01] Mandia, K. ; Prosise, C.: Incident Response: Investigating Computer Crime.
(2001)
[PAH08] Pogue, C. ; Altheide, C. ; Haverkos, T.: UNIX and Linux Forensic Analysis
DVD Toolkit. Syngress Publishing, 2008
[War11] Ward, Mark: 40 years of Unix. http://news.bbc.co.uk/2/hi/technology/
8205976.stm. Version: 18.6. 2011
[Wik] Wiki: Linux-Einsatzbereiche. http://de.wikipedia.org/wiki/
Linux-Einsatzbereiche
[wik11a] ARP-Spoofing. http://de.wikipedia.org/wiki/ARP-Spoofing. Version: 19.6.
2011
[wik11b] Sniffer. http://de.wikipedia.org/wiki/Sniffer. Version: 19.6. 2011

Download (PDF, 832.95KB)

Tagged with: