Die sichere Softwareentwicklung in AWS gewährleisten

Planen Sie voraus und checken Sie Ihre Software regelmässig auf Sicherheitslücken. So können Sie Ihre Anwendungen sicher in der AWS-Cloud entwickeln.

Sicherheit ist ein zentraler Aspekt für Unternehmen, die neue Anwendungen in der AWS-Cloud ausrollen möchten. Wichtig...

dabei ist: Das Thema Sicherheit sollte man immer vorausschauend angehen. Das bedeutet: Statt nach einem bereits eingetretenen Security-Problem den Brand zu löschen, sollten Sie sich möglichst früh und präventiv mit potenziellen Problemen befassen.

Zu den Best Practices für eine vorausschauende, sichere Softwareentwicklung gehören erstens Security-Reviews, die bereits in einer frühen Phase des Softwareentwicklungszyklus gemacht werden, zweitens die Auditierung von Anwendungsbibliotheken und Amazon Web Services und drittens die Auswertung von Sicherheitsprotokollen, wenn Anwendungen sich im Einsatz verdächtig verhalten.

Überprüfen Sie früh und häufig

Je früher Unternehmen potenzielle Sicherheitsprobleme erkennen, desto weniger kostet es sie, diese zu beheben. Wann aber ist der ideale Zeitpunkt für einen ersten Sicherheits-Check? Standardmäßig läuft der Prozess der Softwareentwicklung und Bereitstellung so ab: Die Anwendungsentwickler arbeiten mit Analysten zusammen, um neue Anforderungen zu definieren und neue Anwendungsmöglichkeiten zu implementieren. Die Entwickler codieren dann die neue Funktionalität, übergeben den fertigen Code einer Testgruppe und liefern anschließend für die Bereitstellung an das Operations-Team aus.

Um mögliche Verwundbarkeiten zu entdecken, lässt das Sicherheitsteam an diesem Punkt eine Schwachstellenanalyse laufen. Werden tatsächlich Schwachstellen festgestellt, behebt das Entwicklungsteam den Fehler, und der Code muss zurück durch den gesamten Software Development Lifecycle (SDLC) gehen, um das Problem zu beheben und schließlich die Applikation freizugeben.

Das ist das übliche Prozedere. Viel besser aber ist es, das Sicherheitsteam bereits in den Prozess des Sammelns von Anforderungen zu involvieren. Das Sicherheitsteam arbeitet in diesem Fall parallel mit dem Entwicklungs- und Testteam. So können alle bekannten Schwachstellen schneller erkannt und reportet werden. Dies reduziert wiederum die Zeit und den Aufwand, um neuen Code zu erzeugen.

Die Sicherung des Software Development Lifecycle

Um potenzielle Sicherheitslücken zu identifizieren, können Entwicklungsteams statische und dynamische Codeanalysetools verwenden. Diese Tools erleichtern die Identifizierung und Behebung potenzieller Probleme im Rahmen des Entwicklungsprozesses. Die drei bekanntesten statischen Codeanalysetools für AWS sind Alert Logic, Klocwork und Veracode.

Gut für die Qualitätssicherung von Software ist es außerdem, dynamischen Code zu analysieren, nachdem er kompiliert wurde. Die Werkzeuge, die dies ermöglichen, sind in der Regel komplexer, können aber Probleme finden, bei denen statische Analysetools passen müssen. Führende dynamische Codeanalysetools für AWS sind SensioLabsInsight und CAST Code Analysis Tools. Das US Department of Homeland Security hat ebenfalls einen Software Assurance Marktplatz eingerichtet und stellt damit eine umfassende Plattform zum Austesten neuen Codes bereit.

Um den Entwicklungsprozess zu beschleunigen, werden moderne Anwendungen in der Regel durch das Zusammenfügen von Software-Libraries gebaut. Dies ermöglicht es Entwicklern, sich auf neue Funktionen zu konzentrieren, statt das Rad ständig neu erfinden zu müssen. Allerdings werden Softwareschwachstellen manchmal erst gefunden, nachdem die Anwendungen schon freigegeben wurden. In einigen Fällen enthalten die neuesten Versionen dieser Bibliotheken Sicherheitslücken, die in früheren Versionen nicht enthalten waren.

Führende Unternehmen wie Dell nutzen inzwischen Auditing-Tools für Softwarebibliotheken wie Sonatype, die Libraries im gesamten SDLC unterstützen. Diese Tools können die Verwendung von unsicheren Bibliotheken unterbinden und helfen,  Schwachstellen zu eliminieren, die in vorhandenen Bibliotheken entdeckt werden. Zum Beispiel konnte Dell umgehend auf die Sicherheitslücke Heartbleed reagieren und die Reparatur in nur fünf Minuten abschließen, während andere Organisationen damit monatelang kämpften.

Sichere Konfigurationen

Ein sauberer Anwendungscode ist nur ein kleiner Teil der Aufgabe, Software für AWS zu sichern. Moderne Applikationen nutzen häufig Dutzende von unterstützenden Dienstleistungen, Servern und Netzwerkkomponenten, die jeweils mehrere Konfigurationseinstellungen erfordern. Sicherheitslücken können sich einschleichen, wenn diese Einstellungen manuell konfiguriert werden.

Deployment Automation Tools wie Chef, Puppet, Salt und Ansible können helfen, die Konfiguration und Implementierung neuer Anwendungen in einer zuverlässigen und konsistenten Art und Weise zu automatisieren. Diese Tools garantieren die Konsistenz für Entwicklungs-, Test- und Sicherheitsanalyseteams über den gesamten Entwicklungszyklus hinweg.

Darüber hinaus bietet AWS eine ganze Reihe von Tools für die Automatisierung der sicheren Bereitstellung von neuem Code, zum Beispiel AWS CodeDeploy, AWS CodeCommit und AWS CodePipeline. AWS CodeDeploy automatisiert die Codebereitstellung auf AWS und auf einer On-Premise-Infrastruktur, so dass keine fehleranfälligen manuellen Operationen mehr notwendig sind. AWS CodeCommit ist ein Service für die Quellcodekontrolle. Dieses Tool kann helfen, Code vor böswilligen oder versehentlichen Änderungen zu schützen.

AWS CodePipeline ist ein Continuous-Delivery-Service, der hilft, die Bereitstellung von Anwendungen zu optimieren. Er unterstützt die Verwendung von Drittanbietertools und die sichere Konfiguration von Validierungsservices. Damit soll sichergestellt werden, dass die Anwendungen mit angemessenen Konfigurationseinstellungen eingesetzt werden. Der Service hilft auch zu garantieren, dass Entwicklungs-, Test- und Sicherheitsteams mit den gleichen Konfigurationseinstellungen über den gesamten Softwareentwicklungszyklus arbeiten.

Trotz der größten Bemühungen, einen sicheren Softwareentwicklungsprozess zu gewährleisten, können in der Praxis immer Security-Verletzungen auftreten. Die Sicherheit von Anwendungen kann durch eine Vielzahl von Schwachstellen beeinträchtigt werden, wie etwa durch Zero-Day-Schwachstellen, Social Engineering oder Mitarbeiter mit üblen Absichten. Infolgedessen sollten Organisationen Werkzeuge für die Analyse des Verhaltens von Anwendungen, Servern und Netzwerken bereithalten, die nach dem Sicherheitsvorfall eingesetzt werden können.

Über den Autor:

George Lawton ist ein freier Journalist aus San Francisco. In den vergangenen 15 Jahren hat er über 2.000 Artikel unter anderem zu den Themen IT, Kommunikation, Wissens-Management, Wirtschaft und Gesundheit geschrieben.

Mehr zum Thema AWS:

AWS-Zertifikate und Weiterbildungen zahlen sich für IT-Experten aus.

Wann sich AWS Lambda als Alternative für EC2-Instanzen eignet.

Wie AWS-Tools bei der Cloud-Anwendungsentwicklung helfen.

Tools für die Migration lokaler VMware-Workloads zur AWS-Cloud.

AWS-Programmierschnittstellen in Amazon API Gateway absichern.

Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+ und Facebook!

Artikel wurde zuletzt im Dezember 2015 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Cloud-Anwendungen

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchDataCenter.de

Close