@misc{Treiber2020, type = {Master Thesis}, author = {Treiber, Marc}, title = {Entwicklung individueller Ans{\"a}tze f{\"u}r die Anwendung von Secure Coding Richtlinien f{\"u}r Java basierend auf statischer Code-Analyse}, publisher = {Hochschule D{\"u}sseldorf}, address = {D{\"u}sseldorf}, organization = {Hochschule D{\"u}sseldorf}, url = {http://nbn-resolving.de/urn:nbn:de:hbz:due62-opus-21568}, school = {Hochschule D{\"u}sseldorf}, pages = {141}, year = {2020}, abstract = {Die Sicherheit von Softwareprojekten ist ein zentraler Faktor f{\"u}r ihren Erfolg, der oft nicht ausreichend gew{\"a}hrleistet wird. Aus diesem Grund werden in der vorliegenden Arbeit neue Ans{\"a}tze entwickelt, um dem Entwickler bei der Durchsetzung der Softwaresicherheit zu helfen. Daf{\"u}r wird untersucht, welche neuen Ans{\"a}tze f{\"u}r die Unterst{\"u}tzung bei der Vermeidung ausgew{\"a}hlter Fehler hilfreich sein k{\"o}nnen, sowie welche konzeptionellen Vor- und Nachteile sie aufweisen. Zun{\"a}chst wird ein {\"U}berblick {\"u}ber die n{\"o}tigen Grundlagen f{\"u}r die Entwicklung der neuen Ans{\"a}tze geschaffen. Elementar ist dabei das Secure Coding Prinzip, nach dem verschiedenste sicherheitsrelevante Implementierungsfehler bereits fr{\"u}h in dem Lebenszyklus eines Softwareprojekts, w{\"a}hrend seiner Implementierung zu vermeiden sind. Ein Mittel f{\"u}r diesen Zweck sind die sogenannten Secure Coding Richtlinien, die typische Fehler beschreiben und konkrete Vorgehensweisen f{\"u}r ihre Vermeidung und Behebung definieren, aber oft nicht eingehalten werden. Werkzeuge zur statischen Code-Analyse k{\"o}nnen hierbei Abhilfe schaffen, da sie verschiedenste Fehler automatisiert erkennen und den Entwickler {\"u}ber sie informieren. Auf der Basis dieser Grundlagen werden Verbesserungsm{\"o}glichkeiten untersucht, um den Entwickler anhand von statischer Code-Analyse besser bei der Einhaltung relevanter Secure Coding Richtlinien zu unterst{\"u}tzen. Der Fokus dieser Arbeit liegt dabei auf der Vermeidung von Fehlern bei der Validierung von Eingaben, da diese Fehlerform besonders weit verbreitet und schwerwiegend ist. Um eine entsprechende Hilfestellung gew{\"a}hrleisten zu k{\"o}nnen, werden drei Ans{\"a}tze zur Unterst{\"u}tzung bei der Anwendung von Richtlinien f{\"u}r die Programmiersprache Java n{\"a}her betrachtet. Diese Ans{\"a}tze helfen dem Entwickler komplement{\"a}r zu der Funktionalit{\"a}t herk{\"o}mmliche Werkzeuge zur statischen Code-Analyse f{\"u}r das Auffinden von Fehlern auch bei der Vermeidung und Behebung dieser Fehler. Die neuen Ans{\"a}tze basieren auf der Verwendung von textuellen Annotationen f{\"u}r die Umsetzung des Validierungsprozesses einer Eingabe, dem Einsatz einer API zur Validierung einer Eingabe und der Nutzung eines IDE-Plugins, um den n{\"o}tigen Quellcode f{\"u}r den Validierungsprozess automatisiert zu generieren. Die n{\"a}here Betrachtung und Evaluierung dieser Ans{\"a}tze zeigt, dass der annotationsbasierte Ansatz sich nicht f{\"u}r diesen Zweck eignet, w{\"a}hrend sowohl der API-basierte Ansatz, als auch der Ansatz f{\"u}r das Generieren des Quellcodes eine effektive und effiziente Erg{\"a}nzung herk{\"o}mmlicher Werkzeuge zur statischen Code-Analyse darstellen und dementsprechend in der weiteren Forschung aufgegriffen werden sollten.}, language = {de} }