Security
Schon während der Entwicklung Sicherheitsrisiken minimieren!
IT-Security spielt eine wichtige Rolle in der Entwicklung von Softwaresystemen. Dabei geht es insbesondere darum, unautorisierten Zugriff auf Firmen- und Kundendaten zu verhindern. Absolute Sicherheit wird bei so komplexen Systemen, wie sie im Enterprise Umfeld üblich sind, niemals möglich sein. Dennoch kann die Sicherheit durch umsichtiges Verhalten bei der Entwicklung und Wartung von Softwaresystemen auf ein sehr hohes Niveau gebracht werden.
Bei andrena setzen wir darauf, mittels sorgfältigem und kompetenten Arbeiten Sicherheitsrisiken zu minimieren.
Wir
- verwenden moderne Frontend-Frameworks wie Angular oder React, um Themen wie Cross Site Scripting abzusichern.
- verwenden Object Mapping Frameworks wie JPA, um vor SQL injection Angriffen sicher zu sein.
- benutzen moderne Token basierte Authentifizierungsmethoden wie Oauth2 und OpenID connect mit JWT Token, um Nutzer von Applikationen zu authentifizieren. Mit Frameworks wie Spring Security sorgen wir für eine sichere Autorisierung der Funktionalität.
- benutzen sichere Verschlüsslungsalgorithmen, auch für direkte Verschlüsselung der Kommunikation über TLS, und sichere Hash Algorithmen.
- benutzen automatische Audittools während des Buildprozesses mit npm/yarn, Maven/Gradle und Jenkins, um sicher zu stellen, dass aktuelle und sichere Versionen der Libraries verwendet werden und keine trivialen Fehler in der inneren Softwarequalität existieren, z.B. basierend auf Sonarcube.
- interessieren uns für weitere automatische Security – Audits während des Buildprozesses und empfehlen externe Audits von Spezialisten, wenn wir das für notwendig halten.
Wir haben außerdem gelernt, dass sich eine hohe innere Qualität im allgemeinen sehr positiv auf die für die Sicherheit von Applikationen auswirkt und betrachten das als einen weiteren Ansporn für stetige Qualitätsverbesserungen.
Thorsten Jahrsetz, Softwareentwickler
"Sicherheit bei Software ist ein sehr komplexes Thema. Durch hohe innere Qualität und automatische Tests - insbesondere auch eine Überwachung der verwendeten Abhängigkeiten - erhöht man seine Chancen beträchtlich, kritische Fehler zu finden, bevor sie ein Problem werden."