Title (eng)
Automated security testing with open source tools as part of the SDLC
Author
Guido Rudisch
Degree supervisor
Christoph Lang-Muhr
Description (deu)
Fachhochschule St. Pölten, Masterarbeit 2023, Studiengang Information Security
Description (deu)
Software ist in unserer Gesellschaft zu einer entscheidenden Komponente geworden, welche digitale Aufgaben und Remote-Arbeit ermöglicht. Die Pandemie hat die Digitalisierung beschleunigt, aber auch das Risiko von Software-Schwachstellen erhöht. Die Integration von Open-Source-Software und das Entwickeln skalierbaren Architekturen erhöht die Angriffsfläche. Um dem Stand der Technik zu entsprechen, müssen Unternehmen Sicherheit im Entwicklungsprozess priorisieren und einen robusten Software-Entwicklungslebenszyklus sowie Sicherheitstests implementieren. Sicherheitstests für Software und Infrastruktur sind komplex und erfordern Fachkenntnisse sowie ständige Weiterbildung, um mit neuen Technologien Schritt zu halten. Die Nachfrage nach neuen Funktionen und die Anzahl der neu entdeckten Schwachstellen nehmen stetig zu. Entwicklungsteams stehen vor der Herausforderung, den Überblick über Schwachstellen zu behalten und die richtige Balance zwischen Funktionsentwicklung und Sicherheit zu finden. Die vergrößerte Angriffsfläche erfordert eine effektive Reduzierung von Schwachstellen und einen risikobasierten Ansatz zur langfristigen Behebung weniger kritischer Sicherheitslücken. Diese Arbeit untersucht bestehende Analyse- und Bewertungsmethoden für Schwachstellen und basiert auf den von der OWASP Foundation zur Verfügung gestellten Leitfäden. Zusätzlich stützt sich das Werk auf die vom Autor gesammelte Erfahrung in der Zusammenarbeit mit Entwicklungsorganisationen beim Erstellen von Softwareentwicklungsprozessen sowie den Automatisierungsmöglichkeiten im Zuge von Entwicklungspipelines. Im agilen Entwicklungsumfeld ist eine automatisierte Schwachstellenanalyseentscheidend, um ein ausreichendes Sicherheitsniveau zu gewährleisten. Die große Anzahl an Testergebnissen stellt Unternehmen jedoch vor zusätzliche Herausforderungen, die durch ein zentrales Schwachstellenmanagement und konsolidierte Berichte abgemildert werden können. Obwohl Open Source Schwachstellenscanner Unternehmen dabei unterstützen, ihre Anwendungen umfassend zu analysieren, haben sie Schwächen bei der Bewertung kontextbezogener Sicherheitsprobleme, welche nur durch manuelle Analysen erkannt werden können. Daher ist es notwendig, automatisiertes Testen von Software immer in Kombination mit manuellen Überprüfungsprozessen und einer Risikoanalyse zu betrachten. Erfolgreiche Sicherheitstests im Entwicklungsprozess benötigen neben einer soliden Strategie, ein Rahmenwerk und das Verständnis der relevanten Bedrohungslage. Kombiniert man automatisierte analysen von Anwendungen und manuelle Überprüfungen der Sicherheitskritischen Bereiche können effizient Rückschlüsse auf den aktuellen Sicherheitsstand der Applikation gezogen werden. Das Durchführen von Penetrationstests sowie die Berücksichtigung von relevanten Risiken und Bedrohungsmodellen helfen dabei die Tiefe der notwendigen Analysen zu definieren.
Description (eng)
Software has become crucial in our society, enabling digital tasks and remote work. The pandemic accelerated digitization, but also increased the risk of software vulnerabilities. Integrating open-source software and the creation of scaleable architectures increase the attack surface. To stay secure, companies must prioritize security in the development process through a robust software development life-cycle and security testing. Software and infrastructure security testing is a complex process requiring expertise and constant development and to keep up with the latest technology developments. The demand for new features and the amount of newly discovered vulnerabilities are increasing. Development teams are constantly challenged to keep an overview of vulnerabilities within their application and balancing time spent on feature and security relevant development. The increased attack surface requires efficient mitigation of exposed vulnerabilities and to address lesser risks as part of the long-term development life-cycle. To address this complexity teams, need to understand which types of vulnerabilities are relevant for their application, how they can be found, prioritised and if automated scanners are reliable enough to identify critical weaknesses applications. This work explores existing security assessment methods based on previous work from the OWASP foundation and previous experience from the author in supporting development organisations with automated testing. Relevant security assessments and their relevance during the various stages of the development life-cycle are explored and where possible automated in a CI/CD pipeline. Automating security testing is essential for ensuring security while maintaining agile development. However, it presents a reporting problem that may be solved by a centralized vulnerability reporting system. Open-source scanners offer wide coverage; however, they may not be as accurate as manual assessments in discovering some vulnerabilities. Therefore, a comprehensive method that includes threat models or risk assessments is needed. A successful security testing pipeline in the development process relies on a solid strategy, framework, and understanding of the threat landscape. Automated scans can cover applications quickly but can’t replace manual reviews or penetration tests. Incorporating threat models helps to identify risks and critical parts of the application. Whilst a proper selection of security tools and gates, aligned with the organization’s risk profile and testing maturity, is crucial, prioritizing vulnerabilities and providing training to development teams are essential for a successful security pipeline. Combining automated and manual assessments addresses scale challenges and specific security implications effectively.
Keywords (deu)
ComputersicherheitOpen SourceSoftwarelebenszyklus
Type (eng)
Language
[eng]
Persistent identifier
AC number
University of Applied Sciences St. Pölten | Campus-Platz 1 | A-3100 St. Pölten | T +43/2742/313 228-234