Im Rahmen der Arbeit wird auf Basis des maschinellen Lernens eine automatisierte Methode entwickelt, welche es erlaubt, mithilfe von Bugtrackernachrichten, Sicherheitsschwachstellen in Open Source Projekten zu erkennen. Dies erlaubt es, ökonomische Untersuchungen auf Basis der gewonnenen Daten zu tätigen, um Erkenntnisse zum Thema IT-Sicherheit, Open Source Software und Softwareentwicklung zu gewinnen.
Die Einsatzmöglichkeiten der Erkenntnisse sind im weitem Sinne vielseitig nutzbar. Einerseits geben sie einen Überblick über den Zusammenhang zwischen IT-Sicherheit, Entwicklern und Nutzern von Open Source Software, da diese Bugtrackernachrichten auf ihren Meldungen basieren. Andererseits können diese Erkenntnisse zur Erkennung von Hinweisen auf Sicherheitsschwachstellen in jenen Meldungen genutzt werden, was es Entwicklern erlaubt, diese Meldungen zu priorisieren.
Die Arbeit unterteilt sich in fünf Abschnitte. Zuerst wird im zweiten Kapitel eine Einführung in die Grundlagen der IT-Sicherheit, Open Source Software und des maschinellen Lernens gegeben. Danach wird im dritten Kapitel die aktuelle Forschung zum Thema Sicherheitsschwachstellen in der Softwareentwicklung und ihre Erkennung betrachtet. Auf Basis einer Auswahl an Projekten der Open Source Software Plattform SourceForge wird im vierten Kapitel eine Vorselektion der Bugtrackernachrichten getätigt und diese manuell klassifiziert.
Dies erlaubt es, basierend auf diesen Ergebnissen im fünften Kapitel, das maschinelle Lernen durchzuführen und die Resultate zu validieren. Im sechsten Kapitel wird eine statistische Untersuchung als Beispiel der Anwendung der Ergebnisse der Arbeit getätigt, um Einflussfaktoren in Bezug auf Sicherheitsschwachstellen in der Software zu identifizieren. Zum Abschluss wird im siebten Kapitel ein Fazit verfasst und einen Ausblick auf Ansätze für zukünftige Arbeiten gegeben.
Inhaltsverzeichnis
- 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
- 2.1. Grundlagen zur IT-Sicherheit
- 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 Diskussionen
- 6.5. Diskussion der statistischen Ergebnisse
Zielsetzung und Themenschwerpunkte
Die vorliegende Bachelorthesis befasst sich mit der automatischen Erkennung und Messung von IT-Sicherheitsaufwänden im Kontext der Open-Source-Softwareentwicklung. Das Ziel ist es, einen Ansatz zu entwickeln, der die Identifizierung von Sicherheitsbedrohungen in Bug-Tracking-Systemen automatisiert, um die Auswirkungen der IT-Sicherheit auf die Entwicklung von Open-Source-Projekten besser zu verstehen.
- Automatische Erkennung von Sicherheitsbedrohungen in Bug-Tracking-Systemen
- Quantifizierung der Auswirkungen von IT-Sicherheit auf die Open-Source-Softwareentwicklung
- Einsatz von Machine-Learning-Techniken für die Analyse von Bug-Tracking-Daten
- Untersuchung des Einflusses von IT-Sicherheitsaspekten auf die Entwicklungsphasen von Open-Source-Projekten
- Statistische Analyse der ökonomischen Zusammenhänge im Kontext von IT-Sicherheitsbedrohungen
Zusammenfassung der Kapitel
Kapitel 1 führt in die Thematik der automatischen Erkennung und Messung von IT-Sicherheitsaufwänden ein, erläutert die Motivation und Ziele der Arbeit sowie die Struktur der Arbeit.
Kapitel 2 legt die theoretischen Grundlagen für die Arbeit. Es werden die Grundbegriffe der IT-Sicherheit, Open-Source-Software und SourceForge sowie die Grundlagen des maschinellen Lernens erläutert.
Kapitel 3 analysiert den Stand der Forschung im Bereich der Erkennung von IT-Schwachstellen und der empirischen Untersuchung von Aufwänden in der IT-Sicherheit.
Kapitel 4 beschreibt die angewandte Methode der patternbasierten Selektion und manuellen Klassifizierung von Artefakten. Die Datensammlung, die Verarbeitung der Daten und die manuelle Klassifizierung von Sicherheitsbedrohungen werden erläutert.
Kapitel 5 behandelt den Einsatz des maschinellen Lernens zur automatischen Klassifizierung von Sicherheitsbedrohungen. Es werden die Datenpräparation, die Durchführung des maschinellen Lernens und die Validierung der Ergebnisse diskutiert.
Kapitel 6 untersucht exemplarisch die ökonomischen Zusammenhänge im Kontext von IT-Sicherheitsbedrohungen. Die statistische Untersuchung des Einflusses von Sicherheitsaspekten auf die Entwicklungsphasen von Open-Source-Projekten wird vorgestellt.
Schlüsselwörter
IT-Sicherheit, Open-Source-Software, SourceForge, Bug-Tracking-Systeme, Machine Learning, Textklassifizierung, Datenpräparation, Artefakte, Sicherheitsbedrohungen, statistische Analyse, ökonomische Zusammenhänge.
- Quote paper
- Sebastian Wittor (Author), 2016, Automatische Erkennung und Messung von IT-Sicherheitsaufwänden, Munich, GRIN Verlag, https://www.grin.com/document/538839