Die AppSecure.nrw Software Security Studie - Eine Umfrage unter Entwickler*innen, Product Ownern und Führungskräften

Die Seite wird erstellt Holger Köster
 
WEITER LESEN
Die AppSecure.nrw Software Security Studie - Eine Umfrage unter Entwickler*innen, Product Ownern und Führungskräften
Die AppSecure.nrw
Software Security
Studie
Eine Umfrage unter Entwickler*innen,
Product Ownern und Führungskräften
Die AppSecure.nrw Software Security Studie - Eine Umfrage unter Entwickler*innen, Product Ownern und Führungskräften
Inhaltsverzeichnis
    Vorwort.................................................................................................................................................................................. 3

1   Methodik ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ 5

2   Beruflicher Hintergrund der Teilnehmer*innen��������������������������������������������������������������������������������������������������������������� 6

3   Entwicklungsprozess und Betrieb������������������������������������������������������������������������������������������������������������������������������������� 9

4   Werkzeuge��������������������������������������������������������������������������������������������������������������������������������������������������������������������������16

5   Security-Kompetenz...........................................................................................................................................................21

6   Kompetenzausbau..............................................................................................................................................................29

7   Sensibilisierung aller Beteiligten.....................................................................................................................................34

8   Fazit und Auswirkungen....................................................................................................................................................38

9   Empfehlungen zur Verbesserung des Status Quo...........................................................................................................39

    Ansprechpartner und Kontakt...........................................................................................................................................41
Die AppSecure.nrw Software Security Studie - Eine Umfrage unter Entwickler*innen, Product Ownern und Führungskräften
VORWORT
                                                                erkannt, dass die PO zu wenige oder keine Security-An-
    Es tut sich was, es gewinnt an Wichtigkeit,                 forderungen an das zu entwickelnde Produkt stellen
  wird aber sicherlich nicht von allen mit Kuss-                und FK nur selten Maßnahmen zum Ausbau der Secu-
  hand angenommen, weil Security immer noch                     rity-Kompetenz durchführen. Somit besteht für viele
  bremsend wirkt. [...] Ich glaube es würde keiner              Unternehmen die Gefahr, dass ihre Produkte nicht vor
  sagen Security ist egal, ganz sicher nicht! Aber              böswilligen Angriffen geschützt sind. Erfreulicherweise
  es ist anstrengend, sich mit dem Thema zu be-                 sind sich viele Entwickler*innen, FK und PO ihren aktu-
  schäftigen. – Interviewteilnehmer*in                          ellen Problemen und Herausforderungen bewusst und
                                                                bereit, die heutige Situation zu verbessern. Aufgrund
                                                                der Ergebnisse unterstützen wir im weiteren Projekt-
Security gewinnt in allen Branchen immer mehr an                verlauf von AppSecure.nrw dieses Vorhaben durch die
Bedeutung, da die entwickelten Systeme zunehmend                Definition eines Reifegradmodells für agile Teams, die
schützenswerte Daten verarbeiten und kritische Dienste          Erstellung von Weiterbildungen für Entwickler*innen,
bereitstellen. Daher ist es nicht verwunderlich, dass das       FK und PO sowie die Weiterentwicklung von bestehen-
World Economic Forum in seinem Global Risk Report               den freien Werkzeugen.
2020 das Thema Security als das größte technologische
Risiko für die Weltbevölkerung einstuft. Dies wirft die         Im Folgenden stellen wir Ihnen unsere Studienergebnis-
Frage auf, inwieweit deutsche Unternehmen das The-              se im Detail vor. Nach der Erläuterung unserer Methodik
ma Security bei der Entwicklung und dem Betrieb ihrer           und dem beruflichen Hintergrund der Studienteilneh-
Softwareprodukte adressieren und was aktuelle Her-              mer*innen werden die zentralen Ergebnisse unserer
ausforderungen sind. Zur Beantwortung dieser Fragen             Studie anhand von fünf Themen dargestellt: Zunächst
haben wir in unserem Forschungsprojekt AppSecure.               fokussieren wir den Entwicklungsprozess, welchen wir
nrw (www.appsecure.nrw) im Jahr 2019 eine umfang-               in die Bereiche Anforderungsmanagement, Entwurf,
reiche Studie durchgeführt. Dabei haben wir nicht nur           Implementierung & Tests sowie den Betrieb unterteilt
die Entwickler*innen der Software, sondern auch deren           haben. Anschließend berichten wir über unsere Er-
Führungskräfte (FK) und Product Owner (PO) befragt,             kenntnisse zum Werkzeugeinsatz. Danach thematisie-
um ein ganzheitliches Bild zu erhalten.                         ren wir die Security-Kompetenz aller Beteiligten sowie
                                                                die heutigen Maßnahmen zum Kompetenzausbau. Im
Das Ergebnis unserer Studie ist, dass für Unternehmen           letzten Thema analysieren wir die Sensibilisierung für
die Gewährleistung von Security in ihren Produkten              Security. Am Ende des Dokuments finden Sie das Fazit
eine vielschichtige Herausforderung ist und Hand-               und eine Skizzierung von dessen Auswirkungen sowie
lungsbedarf besteht. Primär fehlt es den Entwickler*in-         unsere sich hieraus ableitenden Empfehlungen.
nen, FK und PO an der Sensibilisierung für das Thema
Angriffssicherheit, an Security-Kompetenz sowie an              Wir wünschen Ihnen eine anregende Lektüre. Sollten
Methoden zur sicheren Softwareentwicklung und hier-             Sie Fragen zur Studie oder unseren Empfehlungen ha-
für passenden Werkzeugen. Darüber hinaus haben wir              ben, sprechen Sie uns gerne an.

                                                            3
Die AppSecure.nrw Software Security Studie - Eine Umfrage unter Entwickler*innen, Product Ownern und Führungskräften
4
Die AppSecure.nrw Software Security Studie - Eine Umfrage unter Entwickler*innen, Product Ownern und Führungskräften
1
METHODIK
Im Rahmen der Studienerstellung wurden sowohl qua-            wahl benötigte eine durchschnittliche Bearbeitungszeit
litative als auch quantitative Forschungsmethoden ein-        von 25 Minuten zur Beantwortung aller Fragen. Bezüg-
gesetzt. Aus insgesamt 21 Forschungsfragen wurden             lich unserer Ergebnispräsentation sei noch ergänzt,
eine Online-Umfrage und zwei Interview-Leitfäden              dass wir alle Prozentzahlen auf ganze Zahlen gerundet
entwickelt. Diese wurden intern und anschließend mit          haben. Daher sind alle Abweichungen der Summe von
den AppSecure.nrw Projektpartnern AXA Konzern AG,             100 Prozent rundungsbedingt.
Connext Communication GmbH und adesso mobile
solutions GmbH ausführlich bzgl. Verständlichkeit und         Vier der insgesamt 17 interviewten Personen sind Teil
Eindeutigkeit verbessert. Verantwortlich für die Ent-         des Projektteams von AppSecure.nrw. Die restlichen 13
wicklung, Durchführung und Auswertung der Befragun-           Personen hatten keinen Bezug zum Projekt. Die Inter-
gen ist das Fraunhofer IEM.                                   viewleitfäden für Führungskräfte (FK) und Product Ow-
                                                              ner (PO) bestanden aus jeweils 17 Fragen. Hatte ein
Die 40 Fragen umfassende Online-Umfrage wurde                 Interviewpartner beide Rollen inne, wurden die Fragen
anonym durchgeführt und durch Fraunhofer IEM und              aus beiden Leitfäden gestellt. Basierend auf den Leit-
dessen Geschäftspartner, den Projektpartnern von Ap-          fäden wurden in den Interviews offene Fragen gestellt,
pSecure.nrw, den Technologie-Netzwerken it’s OWL und          um möglichst viele Zwischentöne zu erfassen. Auch
innozent OWL, Heise Medien und der Bitkom beworben.           Nachfragen und Ausschweifungen wurden bewusst zu-
Insgesamt haben 350 Personen an der Umfrage teil-             gelassen. Ein Interview dauerte im Schnitt etwa 45 Mi-
genommen. Die Antworten von Teilnehmenden aus der             nuten. Bzgl. der Auswertung sei noch erwähnt, dass sich
Schweiz und Österreich mussten wir leider herausneh-          in den Interviews große Überschneidungen zwischen
men, da diese in zu geringer Anzahl teilgenommen hat-         den Rollen FK und PO gezeigt haben. Daher haben wir
ten, um eine aussagekräftige Auswertung dieser Länder         in unserer Auswertung oftmals beide Rollen gemein-
vorzunehmen. Darüber hinaus haben wir alle Personen           sam analysiert – falls es Unterschiede gab, haben wir
herausgefiltert, die die Umfrage nicht vollständig aus-       diese jedoch stets kenntlich gemacht. Alle Zitate, die
gefüllt haben bzw. deren Bearbeitungszeit kein Lesen          wir in diesem Dokument darstellen, stammen aus die-
der Fragen zulässt. Insgesamt verblieben somit die Ant-       sen Interviews.
worten von 256 Personen aus Deutschland. Diese Aus-

                                                          5
Die AppSecure.nrw Software Security Studie - Eine Umfrage unter Entwickler*innen, Product Ownern und Führungskräften
2
BERUFLICHER HINTERGRUND
DER TEILNEHMER*INNEN
2.1 Entwickler*innen
Die Online-Umfrage wurde von insgesamt 256 Ent-                 (36%) oder im direkten Kundenauftrag entwickelt (28%).
wickler*innen aus Deutschland vollständig ausgefüllt.           15% der Entwickler*innen werden zudem zu anderen Un-
61% der Befragten geben an, über mehr als zehn Jah-             ternehmen entsendet, um dort in Projekten mitzuwirken.
re Berufserfahrung in der Softwareentwicklung (vgl.
Abbildung 1.a) zu verfügen. 18% der Befragten haben             Die Entwickler*innen sind an verschiedensten Applika-
zwischen sechs und zehn Jahre Berufserfahrung und               tionen beteiligt (vgl. Abbildung 1.d). Besonders häufig
15% der Befragten haben zwischen zwei und fünf Jahre            werden Webanwendungen (66%) und Backend-Appli-
Berufserfahrung. 6% der Befragten sind Berufseinstei-           kationen (59%) entwickelt, gefolgt von Desktop-Appli-
ger*innen und verfügen über weniger als zwei Jahre Be-          kationen (37%) und mobilen Applikationen (25%). Eher
rufserfahrung. Insgesamt haben wir mit unserer Online-          selten werden Applikationen für das Embedded-Umfeld
Umfrage überwiegend sehr erfahrene Entwickler*innen             entwickelt (14%).
erreicht.
                                                                Die Größe der Teams ist bei den befragten Entwick-
Gegliedert nach Unternehmensgröße stammen 14%                   ler*innen meist 15 oder weniger Personen (vgl. Abbil-
der Befragten aus Unternehmen mit maximal 50 Be-                dung 1.e). Innerhalb des jeweiligen Projekts arbeiten
schäftigten und 26% aus Unternehmen mit mindestens              die befragten Entwickler*innen üblicherweise in Teams
51 und maximal 250 Beschäftigten. Insgesamt sind damit          mit 6-15 Personen (56%) oder 1-5 Personen (32%). Grö-
40% der Befragten bei sogenannten kleinen und mittle-           ßere Teams mit mehr als 16 Personen sind eher selten
ren Unternehmen (KMU) beschäftigt (vgl. Abbildung 1.b).         (13%).
61% der Befragten arbeiten in großen Unternehmen
(mehr als 250 Beschäftigte).                                    Die Entwickler*innen arbeiten typischerweise in mehre-
                                                                ren Disziplinen: 64% sind im Anforderungsmanagement
Die Geschäftsmodelle der Unternehmen sind sehr un-              aktiv, 81% im Entwurf, 86% in Implementierung und/
terschiedlich (vgl. Abbildung 1.c). In den meisten Fällen       oder Softwaretest und 52% im Betrieb der Software tä-
wird die Software (55%) im eigenen Unternehmen ein-             tig (vgl. Abbildung 1.f).
gesetzt. Zudem wird die Software an Kunden lizenziert

                                                            6
Die AppSecure.nrw Software Security Studie - Eine Umfrage unter Entwickler*innen, Product Ownern und Führungskräften
< 2 Jahre                                                                                            1 - 3 Beschäftigte
                                                                                                      4 - 10 Beschäftigte             1%
                                             6%
                                                                                            11 - 50 Beschäftigte                 4%
           2 - 5 Jahre           15%                                                                                     9%                                 > 1.000 Beschäftigte
                                                                        > 10 Jahre

                                                               61%                                                                                    47%
                             18%                                                                                   26%

         6 - 10 Jahre
                                                                                           51 - 250 Beschäftigte               14%
                                                                                              251 - 1.000 Beschäftigte
                         a) Frage: „Seit wie vielen Jahren sind Sie in der
                                   Softwareentwicklung tätig?“                                         b) Frage: „Wie viele Beschäftigte hat das Unternehmen?“
                                              N=256.                                                                            N=256.

           Software wird zur unternehmens-
                                                                                55%             Web (Front-end/Back-end)                                               66%
               internen Nutzung entwickelt
        Verkauf / Lizenzierung von Software                                                                     Back-end
                                                                    36%                        (z.B. Serverkonfigurationen)
                                                                                                                                                                59%
         an externe Kunden / Unternehmen
                                                                                                                    Desktop                       37%
      Software wird inhouse im Auftrag eines
         externen Unternehmens entwickelt                     28%
                                                                                                                     Mobile                25%
               Entsendung von Mitarbeitern
                    in andere Unternehmen             15%                                                          Embedded      14%

                                       Sonstiges 6%                                                                Sonstiges    8%

                                                  0% 10% 20% 30% 40% 50% 60%                                                0% 10% 20% 30% 40% 50% 60% 70%
          c) Frage: „Was ist das Geschäftsmodell des Unternehmens bezüglich der                   d) Frage: „Bei welchen Applikationen sind Sie an der Entwicklung
                      Softwareentwicklung?“ Mehrfachantwort möglich.                                             beteiligt?“ Mehrfachantwort möglich.
                                           N=256.                                                                               N=256.

                                                                                               90%

                                                                                               80%                                             86%
                            < 30 Personen                                                                                      81%
                                                                                               70%
          16 - 30 Personen                    4%
                                       9%                             1 - 5 Personen           60%
                                                                                                             64%
                                                                                               50%
                                                               32%
                                                                                                                                                              52%
                                                                                               40%

                                                                                               30%

                                                                                               20%

                                                                                               10%

                                                56%                                             0%
                                                                     6 - 15 Personen
                                                                                                        Anforderungs-                   Implementierung
                                                                                                                            Entwurf                          Betrieb
                                                                                                         management                         & Tests

                           e) Frage: „Wie groß ist das Team, in dem Sie
                                   (typischerweise) tätig sind?“
                                              N=256.                                           f) Die Entwickler*innen wurden pro Disziplin gefragt: „Sind Sie in dieser
                                                                                                 Disziplin tätig?“ (Ja oder Nein). Im Diagramm ist jeweils der Anteil der
                                                                                                                          Ja-Stimmen abgebildet.
                                                                                                                                    N=256.
                                                                                                                                      .

Abbildung 1: Überblick über den beruflichen Hintergrund der befragten Entwickler*innen

                                                                                       7
Die AppSecure.nrw Software Security Studie - Eine Umfrage unter Entwickler*innen, Product Ownern und Führungskräften
Die Entwickler*innen unserer Studie nutzen ein breites
Spektrum an Entwicklungsumgebungen und Program-
miersprachen (vgl. Abbildung 2). Besonders häufig wer-
den IntelliJ und Eclipse eingesetzt. Darüber hinaus sind                                      Java                                             63%
die Entwicklungsumgebungen Visual Studio und Visual
                                                                                    JavaScript / TS                               47%
Studio Code ebenfalls weit verbreitet. Bei den Program-
miersprachen liegen die Sprachen Java, JavaScript/Type-                                       SQL                         37%
Script und C# auf den vorderen Plätzen (vgl. Abbildung 3).                                      C#               22%
Durchschnittlich nutzen die Entwickler*innen zwei bis                                      Python            18%
drei Programmiersprachen und zwei unterschiedliche
Entwicklungsumgebungen.                                                                        C++          17%
                                                                                              PHP      9%
                                                                                                 C     9%
         IntelliJ IDEA                                            49%                       Kotlin     8%
              Eclipse                                      43%                                   R     8%
   Visual Studio Code                            33%                                            Go    7%
        Visual Studio                          29%                                           Swift      4%
     Notepad++ (oder
        vergleichbar)                    24%                                                  Ruby     1%
             vi / vim              16%                                                        Rust    1%
      Android Studio          8%                                                       Objective-C    1%
               Xcode     5%                                                              Sonstige       13%
           NetBeans      4%
                                                                                                  0%       10%    20%   30%     40%     50%     60%   70%
            Sonstige           13%
                                                                                         Frage: „Welche Sprachen nutzen Sie primär in Ihrem Team?“
                                                                                                         Mehrfachantwort möglich.
                     0%        10%       20%     30%        40%       50%                                         N=221

        Frage: „Welche Entwicklungsumgebungen (IDE) nutzen Sie in Ihren
                      Projekten?“ Mehrfachantwort möglich.
                                     N=221

Abbildung 2: Überblick über die verwendeten Entwick-                            Abbildung 3: Überblick über die verwendeten Program-
lungsumgebungen                                                                 miersprachen

2.2 Führungskräfte und Product Owner
Im Rahmen der Interviews haben wir 17 Personen an-                              Die Unternehmen, für die die befragten FK und PO tätig
hand eines Leitfadens interviewt. Davon sind sieben                             sind, entwickeln für verschiedene Branchen Software
ausschließlich als Product Owner (PO) und sechs aus-                            (z.B. Automobil, Gesundheit und Versicherung). Darüber
schließlich als Führungskräfte (FK) tätig. Die restlichen                       hinaus gibt fast die Hälfte der befragten FK und PO an,
vier Personen haben beide Rollen inne. Alle interview-                          für mehr als eine Branche Software zu entwickeln.
ten Personen verfügen über mehr- oder langjährige
Berufserfahrung und haben stets direkten Kontakt zur                            Auch bei den Unternehmen der interviewten Personen
Softwareentwicklung.                                                            unterscheiden sich die Geschäftsmodelle. Die Software
                                                                                wird für den internen Gebrauch, im direkten Kundenauf-
Ähnlich zu den Befragten der Online-Umfrage stammen                             trag oder für den lizenzierten Verkauf entwickelt. Zwei
die befragten FK und PO sowohl aus kleinen (2 Personen)                         interviewte Personen arbeiten zudem für Unternehmen,
und mittleren Unternehmen (10 Personen), sowie aus Un-                          die ihre Mitarbeitenden zu anderen Unternehmen ent-
ternehmen mit mehr als 250 Mitarbeitenden (5 Personen).                         senden.

                                                                            8
3
ENTWICKLUNGSPROZESS
UND BETRIEB
                                                                                     dem alle Disziplinen um beispielhafte security-stärken-
       Es ist ja nicht so, dass wir uns keinerlei Ge-                                de Maßnahmen ergänzt wurden. Damit soll sicherge-
     danken über Sicherheit machen. Aber es ist                                      stellt werden, dass möglichst früh in der Entwicklung
     natürlich auch immer ein Aufwand, den der                                       gravierende Schwachstellen gefunden werden. Dies
     Mitarbeiter dann mit sich trägt. Den man im-                                    senkt den Aufwand, Fehler zu beheben, signifikant. Doch
     mer im Vergleich sehen muss.                                                    wie präsent ist das Thema Security bei den Entwick-
     – Interviewteilnehmer*in                                                        ler*innen in den vier Disziplinen Anforderungsmanage-
                                                                                     ment, Entwurf, Implementierung & Tests sowie Betrieb?
                                                                                     Und wie gut sehen sich die Entwickler*innen, Product
Für ein sicheres Endprodukt ist der Entwicklungspro-                                 Owner und Führungskräfte in ihren aktuellen Prozessen
zess, neben geeigneten Werkzeugen und kompetenten                                    hinsichtlich Security aufgestellt? Mittels unserer Studie
Entwickler*innen (vgl. Kapitel 4 und 5), von entschei-                               haben wir diese drei Fragen beleuchtet. Dabei haben
dender Bedeutung. Daher ist die Idee des so genannten                                wir alle Teilnehmenden der Studie nach ihrer allgemei-
Security-by-Design-Ansatzes der Folgende: Im gesam-                                  nen Einschätzung und zusätzlich die Entwickler*innen
ten Entwicklungsprozess wird Security von vornherein                                 nach einer Einschätzung bezüglich der vier genannten
und durchgängig mitbetrachtet. In Abbildung 4 ist ein                                Disziplinen befragt.
hierzu passender Entwicklungsprozess¹ abgebildet, bei

                                    Sicherer Entwurf &                               Penetrations-                             Härtung & sichere
                                                                                                       $_
                                         Risikoanalyse                                       tests                             Konfiguration

                                          Anforderungs-                              Implementierung
                  Initialisierung                                   Entwurf                                 Release             Betrieb
                                          management                                     & Tests

                Bedrohungs-                                    Code-Review &                                Sicherer
                    analyse                               risikobasierte Tests                               Betrieb

Abbildung 4: Security-by-Design-Entwicklungsprozess

1
    Für den Security-by-Design-Entwicklungsprozess ist es nicht relevant, ob das Produkt nach Wasserfall, V-Modell oder agil entwickelt wird.
    Bei der agilen Entwicklung erfolgen die Phasen Anforderungsmanagement bis Inbetriebnahme innerhalb eines oder mehrerer Sprints.

                                                                                 9
3.1 Wird Security im Entwicklungsprozess systematisch berücksichtigt?
Wir haben die Entwickler*innen gefragt, ob und wie sie                                                    rity zuständig ist. Dies kann entweder daran liegen,
Security in ihrem Entwicklungsprozess adressieren (vgl.                                                   dass alle Personen des Teams Security berücksichtigen
Abbildung 5): 59% der befragten Entwickler*innen ge-                                                      sollen und daher niemand explizit zuständig ist oder
ben an, dass sie keine klaren Richtlinien und Prozes-                                                     aber auch, dass Security nicht explizit betrachtet wird.
se zur sicheren Softwareentwicklung haben und 41% ,                                                       Unsere generelle Empfehlung ist, diese Verantwortlich-
dass ihre Security-Anforderungen (z.B. zur Verarbeitung                                                   keit einer konkreten Person zuzuweisen. Ein klares Auf-
sensibler Daten) nicht klar definiert bzw. bekannt sind.                                                  gabenverständnis ist wichtig, so dass die Person dafür
                                                                                                          sorgen kann, dass auch alle im Team entsprechende
Darüber hinaus geben 56% der Entwickler*innen an, dass                                                    Achtsamkeit walten lassen.
ihre Sammlung an Werkzeugen unpassend ist. Dies kann
daran liegen, dass keine passenden Werkzeuge am Markt                                                     Basierend auf der Einschätzung der Entwickler*innen
verfügbar sind, aber auch daran, dass bessere Werkzeuge                                                   wird Security von vielen Teams nicht systematisch be-
nicht genutzt werden können bzw. dürfen oder dass bis-                                                    rücksichtigt. Somit ergibt sich ein hohes Risiko, dass
her nicht nach besseren Werkzeugen gesucht wurde.                                                         diese eine dauerhaft hohe Qualität ihrer Softwarepro-
                                                                                                          dukte nicht gewährleisten können.
Zudem geben 62% der Entwickler*innen an, dass es
in ihrem Team keine feste Person gibt, die für Secu-

                                                                ja        nein   ich weiß es nicht

                 Wir haben klar definierte Richtlinien und                                                         39%
               Prozesse zur sicheren Softwareentwicklung.                                                                                      59%
                                                     N=208
                                                                     2%
             Security-Anforderungen (z.B. zur Verarbeitung                                                                                  57%
                   sensibler Daten) sind klar definiert bzw.
                                                  bekannt.                                                             41%
                                                     N=134      1%
                   Wir haben eine passende Sammlung an                                                             40%
                       Werkzeugen, um Software sicher zu
                                             entwickeln.                                                                                   56%
                                                     N=221            4%
                   In unserem Team gibt es fest definierte                                                        37%
                   Personen, die für die Security zuständig
                                                       sind.
                                                                                                                                                    62%
                                                     N=256           2%

                                                           0%                10%             20%           30%          40%           50%             60%               70%
                                                           Die Anworten „ja“ und „nein“ fassen sich zusammen aus den Anwortmöglichkeiten „stimme voll zu“ und „stimme
                                                           eher zu“ sowie aus „stimme eher nicht zu“ und „stimme gar nicht zu“.

Abbildung 5: Berücksichtigung von Security im Entwicklungsprozess

In den Interviews mit den Führungskräften (FK) und Pro-                                                   ringe oder gar keine Rolle spielt. Insgesamt wird Securi-
duct Ownern (PO) hat sich gezeigt, dass Security im Soft-                                                 ty im Softwareentwicklungsprozess somit typischerweise
wareentwicklungsprozess keine hohe, sondern eher eine                                                     unsystematisch, also ohne Festschreibung von konkreten
niedrige bis mittlere Priorität besitzt. Mehrheitlich wird                                                Maßnahmen, behandelt. Hierdurch ergibt sich ein erhöh-
auf den Pen-Test² verwiesen, der jedoch erst nach der Ent-                                                tes Risiko für die Qualität der entstehenden Produkte.
wicklung stattfindet. Eine systematische Berücksichtigung
der Security während der Entwicklung, wie beispielsweise
durch die Verwendung von Checklisten, mittels einer fes-                                                      Security fängt meistens bei den ganzen Pro-
ten Zuordnung von Verantwortung oder durch explizite                                                        zessen erst am Ende an. Wobei ich immer das
Security-Richtlinien, ist nur sehr selten anzutreffen. Zu-                                                  Gefühl habe, es müsste schon sehr viel früher
dem haben die meisten PO angegeben, dass in den agilen                                                      einsetzen. – Interviewteilnehmer*in
Meetings (Planning, Retro, Review) Security nur eine ge-

2
    Ein Pen-Test (Penetration Test) wird typischerweise vor dem Release einer Software durchgeführt – oftmals durch Dritte. Hierbei wird das fertige
    Produkt ausgeführt und auf Schwachstellen überprüft (bspw. falsche Konfigurationen, schlechte Passwörter, Angriffssicherheit gegen Standardangriffe).

                                                                                                     10
3.2 Wird Security in den einzelnen Disziplinen systematisch berücksichtigt?
Von den in der Disziplin Anforderungsmanagement in-                                                Einen Security-Experten, der die aufgenommen An-
volvierten Entwickler*innen geben zwei Drittel (67%)                                               forderungen hinsichtlich Security überprüft, haben nur
an, dass auf Security geachtet wird (vgl. Abbildung 6). Al-                                        35% der Entwickler*innen im Team. Dabei würde gerade
lerdings haben nur 24% Vorlagen bzw. Standards für die                                             eine klar benannte und hierfür ausgebildete Person da-
Aufnahme von Security- Anforderungen. Somit scheinen                                               bei helfen, dass die Security-Anforderungen vollständig
die Anforderungen, falls sie überhaupt betrachtet wer-                                             und sinnvoll sind, um so frühzeitig die Basis für ein si-
den, bei einem Großteil der Entwickler*innen unsyste-                                              cheres Produkt zu legen.
matisch betrachtet zu werden. Eine systematische Vor-
gehensweise würde das Endprodukt verbessern, da es
die Gefahr senkt, dass Anforderungen falsch formuliert
oder vergessen werden.

                                                     ja     nein        ich weiß es nicht

                Wird während des Anforderungs-                                                                                                 67%
                   managements auf den Aspekt
                             Security geachtet?                                               29%
                                           N=164     5%

         Gibt es Vorlagen bzw. Standards für die                                       24%
        Erstellung von Security-Anforderungen?                                                                                          62%
                                           N=164
                                                                       14%

             Haben Sie einen Security-Experten,                                                       35%
              der Ihre Anforderungen überprüft?                                                                                     60%
                                           N=164
                                                     5%

                                                0%               10%                20%             30%         40%         50%         60%          70%

Abbildung 6: Berücksichtigung der Security in der Disziplin Anforderungen

Bei dem Entwurf zeichnet sich ein ähnliches Bild wie                                               jedoch haben nur 24% Vorlagen bzw. Standards. Zur
beim Anforderungsmanagement ab (vgl. Abbildung 7).                                                 Überprüfung der Sicherheit des Entwurfs haben erneut
So geben 77% der Entwickler*innen an, während des                                                  nur 32% der Entwickler*innen einen Experten.
Entwurfs des Softwaresystems auf Security zu achten,

                                                      ja        nein     ich weiß es nicht

      Wird in Ihrem Team während des Entwurfs                                                                                                  77%
                auf den Aspekt Security geachtet?                            21%
                                           N=208
                                                     2%

          Gibt es Vorlagen bzw. Standards für die                               24%
             Erstellung eines sicheren Entwurfs?                                                                                  68%
                                           N=208
                                                           9%

         Haben Sie einen Security-Experten, der                                              32%
                      Ihren Entwurf überprüft?                                                                                63%
                                           N=208
                                                     5%

                                                0%          10%                20%            30%         40%         50%     60%        70%         80%

Abbildung 7: Berücksichtigung der Security in der Disziplin Entwurf

                                                                                             11
In der Disziplin Implementierung und Test haben 75%                                                     rity-Eigenschaften von ihrem entwickelten Produkt
der Entwickler*innen angegeben auf Security zu ach-                                                     eingehalten werden, haben 25% der Entwickler*innen
ten (vgl. Abbildung 8). Dabei setzen 27% der Entwick-                                                   einen entsprechenden Prozess. Ein finales Security-Re-
ler*innen entsprechende Vorlagen und Standards als                                                      view vor einem Release wird nur von 16% der Entwick-
Hilfestellung ein. Um sicherzustellen, dass alle Secu-                                                  ler*innen durchgeführt.

                                                           ja        nein     ich weiß es nicht

                Wird während der Implementierung                                                                                                            75%
                 auf den Aspekt Security geachtet?                                20%
                                              N=221
                                                           5%

             Gibt es Vorlagen bzw. Standards für die                                         27%
                      Erstellung von sicherem Code?                                                                                               66%
                                              N=221
                                                                7%
       Haben Sie ein definiertes Vorgehen, um die                                         25%
        Einhaltung von Security-Eigenschaften im
                            Code zu überprüfen?                                                                                                     69%
                                              N=221        5%

                        Gibt es bei Ihnen ein finales                        16%
                Security-Review vor einem Release?
                                                                                                                                                               77%
                                              N=134
                                                                7%

                                                   0%                10%             20%            30%             40%             50%       60%       70%           80%

Abbildung 8: Berücksichtigung der Security in der Disziplin Implementierung und Test

Auf unsere Frage nach dem Zeitpunkt, wann die Software                                                  während des Sprints (20%), sowie vereinzelte sonstige
bezüglich Security analysiert wird, haben wir mehrere                                                   Zeitpunkte (7%), wie beispielsweise nach dem Release
Antwortmöglichkeiten zugelassen, da ein mehrmaliges                                                     oder bei durchgeführten Pen-Tests. Somit lässt sich
Analysieren sehr empfehlenswert ist (vgl. Abbildung 9).                                                 insgesamt feststellen, dass die absolute Mehrheit der
So gibt knapp die Hälfte (48%) der Entwickler*innen an,                                                 Entwickler*innen ihre Software mindestens an einem
dass dies bereits während des Programmierens passiert.                                                  Punkt im Hinblick auf Security analysiert. Allerdings ge-
Ein weiterer beliebter Zeitpunkt zur Analyse der Security                                               ben auch 20% der Entwickler*innen an, ihre Software
ist vor jedem Release (37%). Weitere Zeitpunkte waren                                                   nie hinsichtlich Security zu analysieren.
vor einem Check-in (10%), nach einem Check-in (20% ),

       50%

                       48%
       40%

                                                                                                                        37%
       30%

       20%
                                                                        20%                       20%                                       20%

       10%
                                             10%
                                                                                                                                                             7%
        0%
                   Während der        Vor jedem Check-in        Nach jedem Check-in         Innerhalb des         Vor dem Release           Nie           Sonstiges
                 Implementierung                                 durch einen Server        gleichen Sprints         der Software

                                                                     Frage: „Wann wird bei Ihnen die Software bzgl. Security analysiert?“
                                                                                     Mehrfachantwort möglich. N=221.

Abbildung 9: Wann wird die Software bzgl. Security analysiert?

                                                                                                  12
Während des laufenden Betriebs der Software gibt es                                            werden, geben 40% der Entwickler*innen an, dies mit-
bei 22% der Entwickler*innen automatisierte Security-                                          zubekommen. Zudem sagen ebenfalls 40% der Entwick-
Checks (vgl. Abbildung 10). 28% führen automatische                                            ler*innen, dass sie klare Richtlinien zum Umgang mit
Security-Checks nach einem Release durch. Für den                                              (potenziellen) Sicherheitslücken, Angriffen, Datenlecks,
Fall, dass Sicherheitsprobleme (z.B. bzgl. genutzter Bi-                                       etc. im Betrieb haben.
bliotheken) im Betrieb befindlicher Produkte gefunden

                                                            ja    nein   ich weiß es nicht

                Wird die Security im laufenden Betrieb                             22%
                                  automatisch geprüft?                                                                                    68%
                                                 N=134
                                                                 10%

                 Gibt es automatische Security-Checks                                         28%
                      nachdem ein Release gebaut ist?                                                                                    66%
                                                 N=134
                                                            5%
             Bekommen Sie mit, ob für Ihre im Betrieb
            befindlichen Produkte Sicherheitsprobleme                                                       40%
                          gefunden wurden (z.B. bzgl.                                                              48%
                             genutzter Bibliotheken)?
                                                 N=134
                                                                   12%
               Haben Sie ein definiertes Vorgehen, um                                                       40%
                    auf potenzielle Sicherheitslücken,
                Angriffe, Datenlecks, etc. zu reagieren?                                                            49%
                                                 N=134             12%

                                                       0%          10%             20%              30%      40%         50%       60%          70%

Abbildung 10: Berücksichtigung der Security in der Disziplin Betrieb

Um weitere Informationen zum Vorgehen bei einem Si-
cherheitsvorfall zu erlangen, haben wir die Führungs-                                                 Das kann der Herr […] ganz sicher beantwor-
kräfte (FK) und Product Owner (PO) hiernach befragt.                                                ten. Das ist unser Datenschutzbeauftragter und
Ein Drittel gibt an, keine Prozesse und Verantwortlich-                                             der kennt den Prozess auf jeden Fall. Ich selbst
keiten zu haben bzw. kennt sie nicht. Bei einem Viertel                                             bin da nicht verantwortlich und kenne den
sind die Prozesse und unternehmensweiten Verant-                                                    Prozess auch ehrlich gesagt nicht konkret.
wortlichkeiten weitestgehend geregelt, wobei weder                                                  – Interviewteilnehmer*in
die befragten FK und PO noch deren Entwickler*innen
konkrete Verantwortlichkeiten innerhalb eines Product
Security Incident Response Teams (PSIRT)³ haben. Bei                                           Insgesamt decken sich somit die Angaben der FK und PO
den restlichen FK und PO sind die Prozesse und Ver-                                            mit denen der Entwickler*innen, dass mehrheitlich die
antwortlichkeiten nur teilweise geregelt bzw. bekannt,                                         Prozesse und Verantwortlichkeiten für einen Sicherheits-
wobei meist nur auf einen Datenschutzbeauftragten                                              vorfall nicht gut genug definiert sind. Dabei ist dies insbe-
verwiesen wird. Diese Rolle ist jedoch klassisch nicht                                         sondere für das schnelle Reagieren auf neu entdeckte und
für die Angriffssicherheit zuständig oder verantwort-                                          gemeldete Schwachstellen wichtig. So kann beispiels-
lich und somit auch nicht diesbezüglich geschult. Eine                                         weise durch einen professionellen Umgang mit bekannt-
persönliche Beteiligung der FK und PO in einem Pro-                                            gewordenen Schwachstellen schlechte Presse vermieden
zess zur Behebung von Sicherheitsvorfällen ist insge-                                          und verlorenes Vertrauen wiederhergestellt werden.
samt selten.

3
    Ein Product Security Incident Response Team ist innerhalb einer Organisation rund um das Auftreten von Sicherheitsvorfällen in Produkten tätig.
    Dazu gehört sowohl die Prävention durch entsprechende Awareness schaffende Maßnahmen und Fortbildungen/Schulungen, aber
    insbesondere auch das schnelle Reagieren und Beheben von neu entdeckten Schwachstellen. Zu diesem Zweck koordinieren die Teams
    Abläufe und Kommunikationswege innerhalb der eigenen Organisation unter Einbindung der meldenden Personen.

                                                                                         13
3.3 Sind die derzeitigen Prozesse geeignet, um Software sicher zu entwickeln?
Befragt nach dem Gesamtprozess meinen 64% der Ent-                                                    Dieser vermeintliche Widerspruch mag darin begrün-
wickler*innen, dass in ihrem Team nicht genügend Zeit                                                 det liegen, dass eine sichere Softwareentwicklung nicht
für die sichere Softwareentwicklung investiert wird (vgl.                                             hoch priorisiert wird. Dadurch empfinden die Entwick-
Abbildung 11). Dennoch sind 62% der Entwickler*innen                                                  ler*innen zwar, dass zu wenig Zeit für eine sichere Soft-
der Meinung, dass ihr gesamter Entwicklungsprozess                                                    wareentwicklung investiert wird, sehen dies aber auch
und die dazugehörigen Werkzeuge – unabhängig vom                                                      nicht als Problem, da die aktuellen Prozesse gefühlt
Thema Security – für ihre Bedürfnisse passend sind.                                                   funktionieren.

                                                              ich stimme zu     ich stimme nicht zu     ich weiß es nicht

      Für das Thema „sichere Softwareentwicklung“                                                            35%
                  wird in unserem Team genügend
                                    Zeit investiert.                                                                                                     64%
                                                N=256.       2%
               Unser Entwicklungsprozess und die                                                                                                      62%
          dazugehörigen Werkzeuge sind für unsere
                             Bedürfnisse passend.                                                          34%
                                                N=256.     4%

                                                      0%                10%            20%              30%                 40%       50%             60%               70%

                                                          Die Anworten „ich stimme zu“ und „ich stimme nicht zu“ fassen sich zusammen aus den Anwortmöglichkeiten
                                                          „stimme voll zu“ und „stimme eher zu“ (zu „ich stimme zu“) sowie aus „stimme eher nicht zu“ und „stimme gar
                                                          nicht zu“.

Abbildung 11: Eignung der derzeitigen Prozesse

Im Vergleich der verschiedenen Disziplinen lässt sich                                                 rung & Tests sowie 78% im Betrieb). Daraus lässt sich
ein starker gemeinsamer Trend erkennen (vgl. Ab-                                                      ableiten, dass die Prozesse für einen kleinen Teil der
bildung 12): Genauere und verständlichere Prozesse                                                    Entwickler*innen funktionieren mögen, aber über alle
wünschen sich stets deutlich mehr als zwei Drittel der                                                Disziplinen hinweg genauere und verständlichere Pro-
Entwickler*innen (77% in der Disziplin Anforderungs-                                                  zesse benötigt werden.
management, 81% im Entwurf, 80% bzgl. Implementie-

                                    ich stimme zu        ich stimme nicht zu    ich weiß es nicht

                                                                                                                                              77%
               Anforderungen                        16%
                        N=164
                                      9%

                                                                                                                                                    81%
                      Entwurf                       16%
                        N=208
                                      3%

                                                                                                                                                  80%
     Implementierung & Tests                        15%
                        N=221
                                   5%

                                                                                                                                               78%
                       Betrieb                        18%
                        N=134    4%

                             0%             10%               20%              30%            40%           50%              60%       70%            80%               90%

                                 Fragen: „Unsere gegenwärtigen Prozesse sollten genauer und verständlicher sein?“ Die Teilnehmenden wurden je Disziplin hierzu
                                 befragt. Die Antworten „ich stimme zu“ und „ich stimme nicht zu“ fassen sich zusammen aus den Antwortmöglichkeiten „stimme voll
                                 zu“ und „ stimme eher zu“ sowie aus „stimme eher nicht zu“ und „stimme gar nicht zu“.

Abbildung 12: Beurteilung der Genauigkeit und Verständlichkeit der Prozesse in den jeweiligen Disziplinen

                                                                                             14
3.4 Zwischenfazit
Die Studienteilnehmer*innen sind sich einig, dass            unzutreffende Selbsteinschätzung vor, wenn sie sagen,
die aktuellen Prozesse für eine sichere Softwareent-         dass auf Security geachtet wird. Eine mögliche Erklä-
wicklung und einen sicheren Betrieb stark verbesse-          rung hierfür könnte darin liegen, dass den meisten Be-
rungswürdig sind. Dies belegen die Antworten aller           teiligten nicht bewusst ist, was es für Möglichkeiten
Disziplinen nach einem Wunsch für verständlichere            zur sicheren Softwareentwicklung gibt.
und genauere Prozesse (jeweils ~80%), das Empfinden
der meisten Entwickler*innen, dass zu wenig Zeit für         Besorgniserregend ist darüber hinaus, dass 20% der
sichere Softwareentwicklung investiert wird (~60%),          Entwickler*innen einräumen, während der Implemen-
aber auch die nur sehr wenig eingesetzten Maßnah-            tierung und Tests nicht auf Security zu achten.
men (Vorlagen, Standards, Experten) für eine sichere
Softwareentwicklung, was die Führungskräfte und
Product Owner in den Interviews ebenfalls bestätigt              Funktionalität vor Sicherheit. Es ist immer
haben.                                                         wichtiger, dass der Button von grün auf blau
                                                               wird, anstatt dass man nochmal ein Penetra-
Obwohl die Entwickler*innen angeben, dass auf Secu-            tionstest über die Anwendung gehen lässt oder
rity geachtet wird, werden nur selten Maßnahmen um-            dergleichen. Weil das eine bringt Geld, macht
gesetzt, um eine systematische sichere Softwareent-            die Benutzer zufrieden, und das andere, da hat
wicklung zu gewährleisten. Ohne diese Maßnahmen                man erst mal gar nichts von.
ist jedoch eine solche Gewährleistung sehr unwahr-             – Interviewteilnehmer*in
scheinlich. Somit liegt bei den Entwickler*innen eine

                                                        15
4
WERKZEUGE
                                                                           Einige Werkzeuge tragen insbesondere zur Gewährleis-
       Also ich finde es total gut und wichtig, wenn                       tung der Security von Softwareprodukten bei, indem sie
     wir Tools haben, die wir einsetzen können, so-                        Entwickler*innen bei der systematischen Überprüfung
     wohl in der Entwicklungsumgebung, aber auch                           von Security-Anforderungen, der Generierung von siche-
     noch viel stärker in unserer Build-Pipeline.                          ren Code-Snippets oder dem Aufspüren von Schwach-
     – Interviewteilnehmer*in                                              stellen zu unterstützen. Durch diese Unterstützung kann
                                                                           die Anzahl an Security-Fehlern deutlich reduziert und die
                                                                           Sicherheit der Anwendung gesteigert werden.
Werkzeuge sind in der heutigen Softwareentwicklung
ein entscheidender Bestandteil zur erfolgreichen Um-                       Neben all den Vorteilen hat der Einsatz von Werkzeugen
setzung von Projekten. Sie unterstützen Entwickler*in-                     allerdings auch Grenzen: Verschiedene Studien haben ge-
nen, Fehler zu vermeiden bzw. frühzeitig zu finden und                     zeigt, dass zu viele oder unsystematisch eingesetzte Werk-
zu beheben. Zusätzlich können durch Werkzeuge manu-                        zeuge dazu führen, dass die Qualität der Software langfris-
elle und zeitaufwändige Tätigkeiten automatisiert wer-                     tig sinkt. Dies trifft insbesondere auf den Aspekt Security
den, wodurch nicht nur Zeit eingespart, sondern auch                       zu4.
Fehler deutlich reduziert werden können. Insgesamt
führt ein systematischer Einsatz von Werkzeugen ent-                       In der vorliegenden Studie haben wir daher untersucht,
lang des Entwicklungsprozesses zu einer effizienteren                      inwieweit Werkzeuge heutzutage in der Entwicklung ge-
Entwicklung bei gleichzeitiger Steigerung der Qualität.                    nutzt werden. Zusätzlich haben wir ermittelt, welcher
                                                                           Bedarf bezüglich solcher Werkzeuge besteht.

4.1 Nutzen Entwickler*innen Werkzeuge zur sicheren Softwareentwicklung?
Die befragten Entwickler*innen geben an, dass sie                          werden häufig Ticketsysteme (z.B. Atlassian Jira) oder
Werkzeuge entlang des gesamten Entwicklungspro-                            Microsoft Excel zur Dokumentation genutzt. Darüber hi-
zesses nutzen, jedoch in unterschiedlicher Intensität                      naus werden Ergebnisse von Security-Analysen aus vor-
(vgl. Abbildung 13). In den Disziplinen vor der Imple-                     herigen Releases betrachtet, um weitere Security-An-
mentierung (Anforderungsmanagement und Entwurf)                            forderungen zu erheben und im Entwurf entsprechende
werden vergleichsweise selten Werkzeuge eingesetzt.                        Eigenschaften zu berücksichtigen. 50% der befragten
Im Anforderungsmanagement nutzen 18% der Entwick-                          Entwickler*innen, die Werkzeuge nutzen, um Securi-
ler*innen Werkzeuge zur Erhebung und Dokumentation                         ty-Anforderungen zu erheben bzw. zu erfassen, nutzen
von Security-Anforderungen. Im Entwurf setzen 14%                          auch gleichzeitig Werkzeuge, um ihre Security-Anforde-
der Entwickler*innen Werkzeuge zur Dokumentation                           rungen automatisch zu analysieren. Somit können sie
von Security-Eigenschaften ein. In beiden Disziplinen                      frühzeitig Fehler finden und beheben.

4
    https://www.heise.de/news/Studie-Mehr-Tools-weniger-Sicherheit-4799924.html

                                                                      16
ja         nein   ich weiß es nicht

                            7%                         6%     9%                                         5%                       6%   6%
                                                                                                14%
                  18%

            76%                              85%                                        81%                             88%

            Frage: „Nutzen Sie Werkzeuge,    Frage: „Nutzen Sie Werkzeuge,              Frage: „Nutzen Sie Werkzeuge,   Frage: „Nutzen Sie Werkzeuge,
            um Security-Anforderungen zu      um Security-Anforderungen                 um Security-Eigenschaften im    um Security-Eigenschaften im
              erheben bzw. zu erfassen?“    automatisch zu analysieren (z.B.             Entwurf zu erheben bzw. zu        Entwurf automatisch zu
                        N=164                      bzgl. Konsistenz)?“                            erfassen?“                analysieren (z.B. bzgl.
                                                         N=164                                      N=208                        Konsistenz)?“
                                                                                                                                    N=208

                           5%                                                                            10%                           5%
                                                                                            22%                            28%
             35%

                                             52%                        48%
                                                                                          68%
                                                                                                                           66%

                         61%

            Frage: „Nutzen Sie Werkzeuge,    Frage: „Nutzen Sie aktuell in               Frage: „Wird die Security im   Frage: „Gibt es automatische
            um Security-Eigenschaften im        Ihrem Team statische                   laufenden Betrieb automatisch    Security-Checks nachdem ein
                Code automatisch zu                  Codeanalyse-                                überprüft?“                Release gebaut ist?“
                     überprüfen?“                    werkzeuge?“                                    N=134                          N=134
                        N=220                           N=220

Abbildung 13: Heutige Werkzeugnutzung zur sicheren Softwareentwicklung

Während der Implementierung nutzen 35% der befrag-                                   im Code hartcodierte Passwörter befinden. Darüber hi-
ten Entwickler*innen Werkzeuge, um Security-Eigen-                                   naus gibt es auch spezielle Werkzeuge zur statischen
schaften automatisch zu überprüfen. Darüber hinaus                                   Analyse, mit denen komplexere Eigenschaften im Code
gibt ein Großteil der Entwickler*innen an, Werkzeuge                                 geprüft werden können. Mit diesen Werkzeugen kann
zur statischen Codeanalyse einzusetzen (52% ). Mit Hil-                              zum Beispiel geprüft werden, ob Benutzereingaben vor
fe von statischen Codeanalysewerkzeugen lassen sich                                  ihrer Weiterverarbeitung überprüft werden oder ob APIs
verschiedene Eigenschaften im Code automatisch ana-                                  korrekt genutzt werden. Allerdings setzen nur 50% der
lysieren, ohne ihn ausführen zu müssen. Beispielsweise                               Entwickler*innen, die statische Codeanalysewerkzeu-
können security-relevante Eigenschaften, aber auch der                               gen nutzen, diese Werkzeuge zur Analyse von Security-
Programmierstil oder doppelter Code erkannt werden.                                  Eigenschaften ein.
Am häufigsten nutzen die Entwickler*innen die stati-
schen Codeanalysewerkzeuge SonarQube und Find-                                       Ein ähnliches Bild zeigt sich auch bei der Verwendung
Bugs. Beide Werkzeuge definieren standardmäßig u.a.                                  von Werkzeugen während des Betriebs der Software.
security-relevante Regeln.                                                           22% der befragten Entwickler*innen geben an, dass die
                                                                                     Security im laufenden Betrieb automatisch geprüft wird.
Mit den meisten statischen Codeanalysewerkzeugen                                     Zudem analysieren 28% der befragten Entwickler*innen
lassen sich bereits einfache Security-Eigenschaften im                               automatisch ein Release auf mögliche Schwachstellen.
Code analysieren. Dazu gehört die Überprüfung, ob sich

                                                                              17
4.2 Wie ist die Meinung der Führungskräfte und Product Owner zum
Thema Werkzeuge zur sicheren Softwareentwicklung?

Im Allgemeinen sehen die Führungskräfte (FK) und               gen. Darüber hinaus können die Entwickler*innen bei
Product Owner (PO) einen hohen Bedarf an passenden             den meisten Unternehmen ihre präferierten kostenfrei-
Werkzeugen zur sicheren Softwareentwicklung bei ih-            en Werkzeuge selbst beschaffen und nutzen.
ren Entwickler*innen und stehen einer Anschaffung und
Einführung offen gegenüber.                                    Befragt zu ihren Entwickler*innen geben die meisten FK
                                                               und PO an, dass diese nur Werkzeuge nutzen, von denen
Alle befragten FK und PO geben an, dass ihre Entwick-          sie selbst überzeugt sind. Dadurch kann es vorkommen,
ler*innen sowohl kommerzielle als auch kostenlose              dass für den gleichen Zweck unterschiedliche Werkzeuge
Werkzeuge einsetzen. Des Weiteren sind sie sich einig,         im Einsatz sind – insbesondere wenn es mehrere kos-
dass beim Thema Werkzeuge nicht die Kosten im Vor-             tenfreie Alternativen gibt. Hierbei ergibt sich somit das
dergrund stehen, sondern der Mehrwert, der durch die           Risiko, dass diese Werkzeuge weniger zielgerichtet ein-
Nutzung der Werkzeuge erzielt werden kann. Zudem               gesetzt werden. Nur ein PO hat angegeben, dass die Nut-
haben die FK und PO keine negativen Meinungen oder             zung von kostenlosen Werkzeugen regelmäßig diskutiert
Vorurteile bzgl. der Nutzung von kostenfreien Werkzeu-         wird und Richtlinien für die Nutzung erstellt werden.

    Da sind die Entwickler frei, die Werkzeuge zu nutzen, die sie für gut halten. Natürlich gibt es dann
  immer mal wieder Runden, in denen die Werkzeuge vorgestellt werden und die Vor- und Nachteile der
  verschiedenen Werkzeuge miteinander verglichen werden. – Interviewteilnehmer*in

Für die Anschaffung von kostenpflichtigen Werkzeugen           •	Die Entwickler*innen haben zwar Bedarf an besseren
verfügen die befragten FK und PO in der Regel über                Werkzeugen, allerdings haben sie bisher noch nicht
ausreichend Budget. Allerdings achten sie hier anders             nach passenden Werkzeugen recherchiert.
als bei dem Einsatz von kostenfreien Werkzeugen genau
auf den Mehrwert, der bei der Nutzung der Werkzeuge            •	Die Entwickler*innen und FK und PO sprechen nicht
entsteht. Erst wenn die Entwickler*innen den Mehr-                oder nur selten über das Thema Werkzeuge. Dadurch
wert ausreichend begründen können, unterstützen die               kommt es zu keiner Verbesserung der Situation.
befragten FK und PO die Anschaffung. Zudem wird im
Falle einer Anschaffung häufig verlangt, dass die Ent-         •	Es fehlt die Übersicht über das Spektrum, welches mit
wickler*innen diese Werkzeuge auch einsetzen müssen.              Werkzeugen abgedeckt werden kann, oder das Ver-
                                                                  ständnis für Security-Themen.
Allerdings berichteten die FK und PO, dass ihre Ent-
wickler*innen nur sehr selten vorschlagen, ein kosten-
pflichtiges Werkzeug zu beschaffen. Dieser Widerspruch             Auch da könnte ich nur mutmaßen weil die-
kann verschiedene Gründe haben:                                  se Frage (Anmerkung der Redaktion: Bedarf für
                                                                 mehr Security-Werkzeuge) von den Entwick-
•	Die Auswahl an kostenfreien Werkzeugen ist für die            lern noch nicht an mich herangetragen wurde.
   Bedürfnisse der Entwickler*innen bereits passend.             Ich würde aber mutmaßen, dass sie über jede
                                                                 Form der Unterstützung sehr dankbar wären.
•	Am Markt befindliche, kostenpflichtige Werkzeuge              Ich gehe davon aus, dass sie auch ein Interes-
   sind für die befragten Entwickler*innen nicht geeig-          se daran haben, möglichst sichere Software zu
   net. Dies könnte z.B. die Benutzbarkeit, die Perfor-          entwickeln. Aber wenn ich ehrlich bin, müsste
   mance oder fehlende Funktionen betreffen. Obwohl              ich sagen, ich habe so eine Frage von den Ent-
   Bedarf und Budget vorhanden sind, werden daher kei-           wicklern noch nicht gestellt bekommen.
   ne weiteren Werkzeuge angeschafft.                            – Interviewteilnehmer*in

                                                          18
4.3 Welchen Bedarf haben die Entwickler*innen?
Befragt nach dem Entwicklungsprozess und den dazu-                                                  ob sie eine passende Sammlung an Werkzeugen haben,
gehörigen Werkzeugen sind knapp zwei Drittel (62%)                                                  um Software sicher zu entwickeln. Hier geben nur noch
der Entwickler*innen der Meinung, dass diese für ihre                                               40% an, dass dies der Fall ist während die Mehrheit
Bedürfnisse passend sind. Ein Drittel (34%) widerspricht                                            (56%) dies verneint. Somit besteht laut den Entwick-
dieser Aussage jedoch (vgl. Abbildung 14). In einer zwei-                                           ler*innen ein deutlicher Bedarf an mehr bzw. besseren
ten Frage haben wir daher die Entwickler*innen gefragt,                                             Werkzeugen.

                                                   ich stimme zu      ich stimme nicht zu        ich weiß es nicht

          Unser Entwicklungsprozess und die                                                                                                 62%
     dazugehörigen Werkzeuge sind für unsere                                                            34%
                        Bedürfnisse passend.
                                                  4%

       Wir haben eine passende Sammlung an                                                                       40%
           Werkzeugen, um Software sicher zu                                                                                         56%
                                 entwickeln.
                                                  4%

                                              0%             10%                 20%              30%                40%       50%          60%            70%

                                             Die Anworten „ich stimme zu“ und „ich stimme nicht zu“ fassen sich zusammen aus den Anwortmöglichkeiten
                                             „stimme voll zu“ und „stimme eher zu“ sowie aus „stimme eher nicht zu“ und „stimme gar nicht zu“. N=256.

Abbildung 14: Eignung der heutigen Werkzeuge zur sicheren Softwareentwicklung

Der Mangel an adäquaten Werkzeugen fällt in den ein-                                                Werkzeugen hoch ist (56% bzw. 64% , vgl. Abbildung 15),
zelnen Entwicklungsdisziplinen jedoch unterschiedlich                                               sind 72% der Meinung, dass bessere Werkzeuge für die
aus. Während in den Disziplinen Anforderungsmanage-                                                 Implementierung dabei helfen würden, die Aufgaben
ment und Entwurf der Bedarf nach mehr bzw. besseren                                                 besser zu erledigen.

                                        ich stimme zu      ich stimme nicht zu      ich weiß es nicht

                                                                                                                             56%
         Anforderungsmanagement
                            N=164
                                                                                   31%
                                                    13%

                                                                                                                                      64%
           Entwurf der Applikation
                            N=208
                                                                           26%
                                                 11%

          Implementierung & Tests                                                                                                                 72%
                                                              19%
                            N=221
                                               9%

                                 0%               10%              20%               30%                 40%           50%         60%            70%            80%

                                     Frage: „Mehr bzw. bessere Werkzeuge würden uns helfen, unsere Aufgaben besser zu erfüllen.“ Die Teilnehmenden wurden je
                                     Disziplin hierzu befragt. Die Anworten „ich stimme zu“ und „ich stimme nicht zu“ fassen sich zusammen aus den Anwortmöglich-
                                     keiten „stimme voll zu“ und „stimme eher zu“ sowie aus „stimme eher nicht zu“ und „stimme gar nicht zu“.

Abbildung 15: Bedarf an Werkzeugen zur sicheren Softwareentwicklung

                                                                                            19
4.4 Zwischenfazit
Werkzeuge sind ein wichtiger Bestandteil einer erfolg-                           Ein weiteres Ergebnis der Studie im Bereich Werkzeuge
reichen sicheren Softwareentwicklung. Die befragten                              ist, dass die Entwickler*innen einen hohen ungedeckten
Entwickler*innen, Führungskräfte (FK) und Product Ow-                            Bedarf an Werkzeugen haben, obwohl es von Seiten der
ner (PO) sehen ebenfalls die Bedeutung dieses Themas.                            befragten FK und PO genügend Budget gibt, Werkzeuge
Allerdings hat sich gezeigt, dass die Verbreitung und                            anzuschaffen.
Nutzung von Werkzeugen vor allem in den frühen Ent-
wicklungsdisziplinen sehr gering ist. Selbst während                             Bei der Nutzung von kostenfreien Werkzeugen sollte
der Implementierung setzt ein großer Teil keine Werk-                            zudem mehr darauf geachtet werden, dass eine Abstim-
zeuge zur sicheren Softwareentwicklung ein. Dadurch                              mung innerhalb des Teams geschieht sowie die Werk-
fallen viele Fehler erst spät in der Entwicklung oder                            zeuge nutzenstiftend eingesetzt und gut in die beste-
nach dem Release auf, wodurch teure und zeitintensive                            henden Prozesse integriert werden können.
Reparaturen notwendig sind5. Zudem steigt das Risiko,
dass im Produktiveinsatz Sicherheitsvorfälle geschehen.

5
    Quelle: NIST Planning Report 02-3, „The Economic Impacts of Inadequate Infrastructure for Software Testing“, 2002, Page 5-4.

                                                                           20
5
SECURITY-KOMPETENZ
Die Security-Kompetenz aller Beteiligten (Entwick-
ler*innen, Führungskräfte und Product Owner) ist ein                                 Kompetenz kann man nie genug haben. Das
entscheidender Baustein, um das Thema Security wäh-                                Lernen hört nie auf. – Interviewteilnehmer*in
rend der Entwicklung systematisch und vollständig zu
adressieren. Wir haben daher alle Teilnehmenden der
Studie um eine Selbsteinschätzung gebeten und sie ge-                          Kompetenzen besitzen sollte und ob die Kompetenzen
fragt, welche Kompetenzen heute vorliegen, wer welche                          des Teams heute ausreichen.

5.1 Wie schätzen sich die Entwickler*innen jeweils selbst ein?
Um eine Selbsteinschätzung der Entwickler*innen zu                             bedeutende Angriffsart Injection7 zählt, ist dieser ver-
ihrer Security-Kompetenz zu erhalten, haben wir ent-                           gleichsweise hohe Wert erfreulich. In allen anderen
lang des Entwicklungsprozesses (vgl. Abbildung 4) die                          Themengebieten haben die Entwickler*innen deutlich
Maßnahmen zur sicheren Softwareentwicklung in zehn                             weniger praktische Erfahrungen. So sind es im Themen-
Themengebiete gegliedert6 und diese den Disziplinen                            gebiet Patch Management nur noch 42%. In den ver-
Anforderungsmanagement, Entwurf, Implementierung                               bleibenden Themengebieten haben zwischen 36% und
& Test und Betrieb zugeordnet. Die Aufgabe der Ent-                            21% der Entwickler*innen praktische Erfahrungen.
wickler*innen war es, jeweils einzuschätzen, ob sie
selbst die Themengebiete und deren Konzepte kennen                             Bzgl. der praktischen Erfahrungen ist auffällig, dass alle
und, falls ja, ob sie praktische Erfahrungen hierzu ge-                        vier Themengebiete der Disziplin Implementierung so-
sammelt haben. Die Umfrage zielt somit auf die Frage                           wie das Themengebiet Pen-Tests in der oberen Hälfte
ab, ob die Entwickler*innen grundlegende Kompeten-                             von Abbildung 16 zu finden sind. Hingegen sind alle
zen und Erfahrungen haben und nicht, ob sie Expert*in-                         anderen Themengebiete (alles was vor oder nach der
nen in den jeweiligen Themengebieten sind.                                     Implementierung stattfindet) in der unteren Hälfte der
                                                                               Tabelle zu finden. Wir schlussfolgern daraus, dass dem
Abbildung 16 zeigt die Ergebnisse der Selbsteinschät-                          Thema Security während der Implementierung mehr
zung sortiert nach dem Anteil an praktischen Erfah-                            Priorität und Zeit im Vergleich zu den anderen Diszipli-
rungen (Spalte 4). Das bekannteste Themengebiet mit                            nen eingeräumt wird. Für eine sichere Softwareentwick-
praktischen Erfahrungen ist die Eingabeprüfung, die                            lung wäre es jedoch notwendig, dass auch die anderen
beim Einlesen von Daten stets durchgeführt werden                              Disziplinen mehr Priorität und Zeit für das Thema Secu-
sollte (61%). Da zu diesem Themengebiet auch die                               rity erhalten.

6
    Diese Themengebiete sind nicht vollumfänglich, decken aber ein sehr großes Spektrum der sicheren Softwareentwicklung ab.
7
    Unter anderem wird Injection von der OWASP Foundation als höchstes Risiko für Webanwendungen eingestuft:
    https://owasp.org/www-project-top-ten/

                                                                         21
Dass der Pen-Test sich ebenfalls in der oberen Tabellen-                                  aufzeigen. Darüber hinaus ist seine Durchführung meist
hälfte befindet, entspricht unserer Erwartungshaltung,                                    auf wenige Tage begrenzt (Angreifer haben diese Be-
da dieser eine weit verbreitete Maßnahme ist, um die                                      schränkung nicht) und er untersucht nicht, ob bereits
Security eines Softwareprodukts vor einem Release zu                                      die Anforderungen oder der Entwurf eine Schwachstel-
prüfen. Ein Pen-Test hat jedoch auch viele Beschrän-                                      le enthalten. Es sind somit alle Themengebiete relevant
kungen: Beispielsweise kann er – wie alle Testverfahren                                   und nicht nur das Themengebiet Pen-Test.
– nur Fehler aufdecken und nicht deren Abwesenheit

                                                                Themengebiet und          Themengebiet und
                                       Themengebiet          Konzepte bekannt, keine    Konzepte bekannt und          Themengebiet
             Themengebiet              nicht bekannt         praktischen Erfahrungen    praktische Erfahrungen      mindestens bekannt        Disziplin im Prozess

         Eingabeprüfung
         (Sanitization)
                                           14%                        26%                       61%                        87%                 Implementierung

         Patch Management                  25%                        33%                       42%                        75%                 Implementierung

         Penetrations-Tests
         (Pen-Tests)
                                           18%                        46%                       36%                        82%                        Test

         Korrekte Verwendung
         von Kryptographie-                22%                        43%                       36%                        79%                 Implementierung
         Bibliotheken
         Defensive Coding
         (Schreiben von                    27%                        38%                       36%                        74%                 Implementierung
         sicherem Code)

         Entwurf sicherer
         Architekturen
                                           25%                        45%                       31%                        76%                      Entwurf

         Security-Anforderungen                                                                                                                  Anforderungs-
         und Security-Testfälle
                                           27%                        44%                       29%                        73%                   management

         Incident Response
         (Verhalten bei                    29%                        45%                       26%                        71%                      Betrieb
         Sicherheitsvorfällen

         security-spezifische
         Code Reviews
                                           31%                        45%                       24%                        69%                        Test

         Durchführung einer                                                                                                                      Anforderungs-
         Bedrohungsanalyse
                                           27%                        52%                       21%                        73%                   management

         Die Themengebiete sind absteigend sortiert nach dem Anteil an praktischen Erfahrungen (Spalte 4). Die zusätzliche Spalte „mindestens bekannt“ zeigt den
         prozentualen Anteil der Entwickler*innen, die das Themengebiet und dessen Konzepte kennen – unabhängig von den praktischen Erfahrungen (der
         jeweilige Wert entspricht der Summe der Werte aus der Spalte 3 und 4).

Abbildung 16: Wie schätzen die Entwickler*innen ihre Security-Kompetenz je Themengebiet ein?

Abbildung 16 zeigt zudem in Spalte 5 inwiefern jedes                                      Das Ergebnis ist, dass die Entwickler*innen sehr unter-
Themengebiet mindestens bekannt ist (diese ergibt                                         schiedliche Kompetenzen haben. Bei der Betrachtung
sich aus der Summe der Spalten 3 und 4). Somit ergibt                                     der Extreme wird ersichtlich, dass 2% gar keine The-
sich, dass alle Themengebiete bei mindestens 69% der                                      mengebiete kennen und nur 3% Praxiserfahrung in al-
Entwickler*innen mindestens bekannt sind. Die Einga-                                      len Themengebieten haben. 39% der Befragten kennen
beprüfung sowie der Pen-Test erreichen hierbei sehr                                       alle Themengebiete – im Umkehrschluss bedeutet dies,
gute 87% bzw. 82%. Insgesamt lässt sich somit festhal-                                    dass 61% mindestens ein Themengebiet nicht kennen.
ten, dass ein Großteil der Themen einen guten Bekannt-                                    Darüber hinaus lässt sich die Gesamtheit der Entwick-
heitsgrad hat und kein Thema deutlich nach unten aus-                                     ler*innen grob in drei Gruppen unterteilen. Gruppe 1
schlägt.                                                                                  besteht aus ungefähr einem Viertel der Entwickler*in-
                                                                                          nen (23%). Diese Gruppe kennt fünf oder mehr Themen-
Eine zweite Auswertung der Selbsteinschätzung der                                         gebiete nicht und hat bei den wenigen Themengebie-
Entwickler*innen ist in Abbildung 17 zu sehen. Hier-                                      ten, die sie kennen, nur sehr vereinzelt Praxiserfahrung.
bei haben wir je Entwickler*in gezählt, wie viele The-                                    Gruppe 2 umfasst circa 41%. Sie kennen fünf oder mehr
mengebiete ihm*ihr unbekannt, bekannt, aber ohne                                          Themengebiete und haben bei einigen auch Praxiser-
Praxiswissen, oder bekannt und mit Praxiswissen sind.                                     fahrung, kennen aber auch einige Themengebiete nicht.

                                                                                   22
Die dritte Gruppe, die circa ein Drittel der Entwickler*in-                                                                             nung, dass alle Entwickler*innen in einem Großteil
nen umfasst, hat Praxiserfahrung in mindestens fünf                                                                                     der Themengebiete praktische Erfahrungen aufweisen
der Themengebiete und kennt fast alle Themengebiete.                                                                                    sollten. Ein Argument hierfür ist, dass Entwickler*innen
Unserer Meinung nach sollten alle Entwickler*innen                                                                                      heutzutage typischerweise in mehreren oder gar allen
nahezu alle Themengebiete kennen. Ein Grund hierfür                                                                                     Disziplinen aktiv sind und daher praktische Erfahrun-
ist, dass alle Entwickler*innen in den agilen Meetings                                                                                  gen benötigen, um den Aspekt Security berücksichtigen
(Planning, Review, Retro) jeweils verstehen sollten, wo-                                                                                zu können. Insbesondere die Gruppe 1 benötigt somit
von gesprochen wird, bzw. mitreden können, sodass es                                                                                    einen Kompetenzausbau, um eine sichere Softwareent-
zu einem Meinungsaustausch und kritischen Nachfra-                                                                                      wicklung gewährleisten zu können.
gen kommen kann. Darüber hinaus sind wir der Mei-

                               Thema unbekannt              Thema beaknnt + keine Praxiserfahrung                         Thema bekannt + Praxiserfahrung

                                      Niedrige Kompetenz                                                     Mittlere Kompetenz                                                                       Hohe Kompetenz
                                Sehr viele Themen unbekannt &                                             Sehr viele Themen bekannt                                                            (fast) alle Themen bekannt &
                                  nur wenig Praxiserfahrung                                                                                                                                  sehr viele Themen Praxiserfahrung
                      10

                       9

                       8

                       7

                       6
      Themengebiete

                       5

                       4

                       3

                       2

                       1

                       0
                               7

                                                                                67

                                                                                                         97

                                                                                                                                127

                                                                                                                                                              157

                                                                                                                                                                                            187

                                                                                                                                                                                                                          217

                                                                                                                                                                                                                                                        247
                           0

                                   13
                                        19
                                             25
                                                  31
                                                       31
                                                            43
                                                                 49
                                                                      55
                                                                           61

                                                                                     73
                                                                                          79
                                                                                               85
                                                                                                    91

                                                                                                              103
                                                                                                                    115
                                                                                                                          121

                                                                                                                                      133
                                                                                                                                            139
                                                                                                                                                  145
                                                                                                                                                        151

                                                                                                                                                                    163
                                                                                                                                                                          169
                                                                                                                                                                                175
                                                                                                                                                                                      181

                                                                                                                                                                                                  193
                                                                                                                                                                                                        199
                                                                                                                                                                                                              205
                                                                                                                                                                                                                    211

                                                                                                                                                                                                                                223
                                                                                                                                                                                                                                      229
                                                                                                                                                                                                                                            235
                                                                                                                                                                                                                                                  241

                                                                                                                                                                                                                                                              253
                                                                                           Entwickler*innen (aufsteigend sortiert nach Kompetenz)

                                                   Je Entwicker*in wurde gezählt wie viele Themengebiete unbekannt, bekannt und bekannt mit Praxiserfahrung sind.
                                                                                                      N=256

Abbildung 17: Bekanntheit der Themengebiete je Entwickler*in

                                                                                                                            23
Sie können auch lesen