Bachelorarbeit, 2016
103 Seiten, Note: 1,3
1. Einleitung
1.1. Motivation
1.2. Ziele und Nutzen
1.3. Struktur der Arbeit
2. Grundlagen
2.1. Grundlagen zur IT-Sicherheit
2.1.1. Definition der IT-Sicherheit
2.1.2. Schwachstellen in der IT-Sicherheit
2.1.3. Schwachstellendatenbanken
2.2. Grundlagen zu Open Source Software und SourceForge
2.2.1. Definition der Open Source Software
2.2.2. SourceForge als Open Source Plattform
2.2.3. Bugtracker
2.2.4. Artefakt
2.3. Grundlagen des maschinellen Lernens
2.3.1. Einführung
2.3.2. Die Datenpräparation als Vorstufe des maschinellen Lernens
2.3.3. Algorithmen zur Textklassifizierung
2.3.4. Ensembles und Stacking
2.3.5. Evaluierung der Ergebnisse
3. Aktuelle Forschung
3.1. Übersicht der Herangehensweisen der aktuellen Forschung
3.2. Analytische Methoden zur Erkennung von IT-Schwachstellen
3.2.1. Mathematische Modelle
3.2.2. Automatische Methoden
3.3. Empirische Untersuchung von Aufwänden in der IT-Sicherheit
3.4. Diskussion der analytischen und empirischen Untersuchungen zur IT-Sicherheit
4. Patternbasierende Selektion und manuelle Klassifizierung von Artefakten
4.1. Datensammlung und Verarbeitung
4.2. Patternbasierende Selektion von Artefakten
4.3. Manuelle Klassifizierung von Sicherheitsschwachstellen
4.4. Analyse und Ergebnisse der manuellen Klassifizierung
4.5. Erfahrungen der manuellen Klassifizierung
4.6. Diskussion der Ergebnisse
5. Maschinelles Lernen
5.1. Problemstellung und Lösungsansätze
5.2. Datenpräparation
5.2.1. Erkennen von Codeartefakten
5.2.2. Generierung von Tokens
5.2.3. Metadaten Tokens
5.3. Durchführung und Ergebnisse des maschinellen Lernens
5.3.1. Wahl des optimalen k für k-NN
5.3.2. Veränderung der Accuracy durch Metadaten im maschinellen Lernen
5.3.3. Evaluierung der Tokenqualität
5.3.4. Evaluierung der Qualität der Algorithmen
5.4. Ensembles und Stacking
5.5. Validierung der Ergebnisse
5.5.1. Validierung auf den restlichen Artefakten der Datenbank
5.5.2. Validierung auf neuen Artefakten
5.6. Diskussion der Ergebnisse
6. Exemplarische statistische Untersuchung von ökonomischen Zusammenhängen
6.1. Problemstellung der statistischen Untersuchung
6.2. Forschungshypothesen und Modellerstellung
6.3. Statistische Auswertung des Modells
6.4. Einflussfaktoren von Security Bugs, Security Feature Request und Security Discussions
6.5. Diskussion der statistischen Ergebnisse
7. Zusammenfassung, Fazit und Ausblick
A. Anhang
A.1. Regular Expressions des patternbased Refinement
A.2. Ergebnisse des maschinellen Lernens mit und ohne Metadaten
A.3. Regressionsergebnisse für Security Bugs, Feature Requests und Security Discussions
Ziel dieser Arbeit ist die Entwicklung einer automatisierten Methode zur Erkennung von Sicherheitsschwachstellen (Security Issues, SI) in Open Source Software-Projekten. Da bisherige Ansätze primär auf Schwachstellendatenbanken basieren, fokussiert sich diese Arbeit auf die Nutzung von Bugtracker-Nachrichten, um ein breiteres Spektrum an Projekten untersuchen zu können. Dies soll ökonomische Analysen der IT-Sicherheit in der Softwareentwicklung ermöglichen.
2.1.2 Schwachstellen in der IT-Sicherheit
Unter einer Schwachstelle in der IT-Sicherheit (im folgendem SI für „Security Issue” genannt) ist ein Bug zu verstehen, ein Fehler in der Software, welcher die Verletzung eines der drei Schutzziele der IT-Sicherheit erlaubt. Diesen kann ein Angreifer nutzen, um durch unerlaubte Zugriffe Schaden an einen System zu verursachen, dessen schwere von der Art des Fehlers der Software abhängt. Von einem Zugriff auf unerlaubte unkritische Daten bis zur totalen Übernahme eines Systems durch einen Fehler existiert ein großes Spektrum an Angriffsmöglichkeiten.
Die Entwicklung sicherer Software, wie auch die Behebung von Sicherheitsschwachstellen erfordert Aufwände. Das steigende Bedürfnis von Entwicklern und Nutzern zum Thema IT-Sicherheit kann beispielsweise dadurch erkannt werden, das entsprechende Aspekte zur Diskussion gebracht werden, zum Beispiel durch die folgenden Bugtrackernachrichten aus SourceForge:
„Implement authentication and access control. Users and groups should be managed in preferences, so the preferences system will have to be written first. See the ACal 5.0 planning document for details.”
„When you choose to remember password the program will write your password with no encryption in the botton of the config file.”
„Anyone can export other account private key. ex: Create a new test account and any password, in the [options] - [profile] - [profile manager], I can export anyone the PGP private key, i don’t known the other account password, Im compared it, was right PGP key.. this is a big BUG!!”
1. Einleitung: Beschreibt die zunehmende Bedeutung der IT-Sicherheit und definiert das Ziel der Arbeit, eine automatisierte Methode zur Erkennung von Sicherheitsschwachstellen in Open Source Projekten zu entwickeln.
2. Grundlagen: Vermittelt die theoretischen Konzepte zu IT-Sicherheit, Open Source Plattformen wie SourceForge und die Funktionsweise des maschinellen Lernens als Basis für die automatisierte Klassifizierung.
3. Aktuelle Forschung: Gibt einen Überblick über bestehende analytische und empirische Ansätze zur Erkennung von IT-Schwachstellen und diskutiert deren Grenzen hinsichtlich kleinerer Softwareprojekte.
4. Patternbasierende Selektion und manuelle Klassifizierung von Artefakten: Beschreibt den Prozess der Datengewinnung aus SourceForge, die Vorselektion mittels Pattern und die manuelle Klassifizierung als Grundlage für das maschinelle Lernen.
5. Maschinelles Lernen: Detailliert die technische Durchführung der Klassifizierung, von der Datenpräparation über verschiedene Algorithmen bis hin zur Ensemble-Optimierung und Validierung.
6. Exemplarische statistische Untersuchung von ökonomischen Zusammenhängen: Wendet die gewonnenen Erkenntnisse auf eine statistische Regressionsanalyse an, um Zusammenhänge zwischen SI-Aufkommen und Projektlebenszyklusphasen zu prüfen.
7. Zusammenfassung, Fazit und Ausblick: Fasst die Ergebnisse der Arbeit zusammen, reflektiert über die Herausforderungen bei der Klassifizierung inhomogener Bugtracker-Daten und gibt Ausblicke auf künftige Forschungsansätze.
IT-Sicherheit, Security Issue, Maschinelles Lernen, Textklassifizierung, SourceForge, Open Source Software, Bugtracker, Datenpräparation, Naive Bayes, k-Nearest Neighbour, Support Vector Machines, Stacking, Softwarelebenszyklus, Ökonomische Untersuchung, Regressionsanalyse
Die Bachelorthesis befasst sich mit der automatisierten Erkennung und Messung von IT-Sicherheitsaufwänden in Open Source Softwareprojekten, indem sie Methoden des maschinellen Lernens auf Daten aus Bugtrackern anwendet.
Die Arbeit verknüpft die Bereiche IT-Sicherheit, Softwareentwicklung und Data Mining, wobei ein besonderer Fokus auf dem Bereich „Text Mining“ liegt.
Ziel ist die Schließung der Forschungslücke bei der Identifikation von Sicherheitsrelevanz in Bugtracker-Nachrichten, um auch kleinere Projekte ohne explizite Schwachstellendatenbanken ökonomisch untersuchen zu können.
Es wird eine Kombination aus regelbasierter Vorselektion (Pattern-Matching), manueller Klassifizierung und verschiedenen Algorithmen des maschinellen Lernens wie Naive Bayes, SVM und k-NN eingesetzt.
Der Hauptteil gliedert sich in die methodische Datenaufbereitung, das Training und die Evaluation der Klassifizierungsmodelle sowie die anschließende empirische Untersuchung ökonomischer Einflussfaktoren mittels Regression.
Kernbegriffe sind IT-Sicherheit (Security Issues), maschinelles Lernen, Open Source Software (SourceForge), Textklassifizierung und ökonomische Analyse.
Bugtracker enthalten sehr inhomogene Daten: Neben natürlichen Sprachbeschreibungen finden sich Quellcodesegmente, Fehlermeldungen und Stacktraces, die die Sprachqualität und Struktur extrem variieren lassen.
Die statistische Analyse konnte zeigen, dass die relative Anzahl an Security Issues in einer Phase signifikant durch die relative Anzahl an Security Issues der vorangegangenen Phase beeinflusst wird.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!

