Die Internet Security von Software-Komponenten und darauf aufsetzender Produkte ist heutzutage eine wesentliche Voraussetzung um das Risiko, Opfer eines der immer komplexer werdenden Angriffe aus dem Netz zu werden, zu minimieren. Dementsprechend sollte der Fokus der Organisationen bei der Software-Entwicklung bereits am Anfang des Entwicklungszyklus auf der Risikoanalyse liegen und Security Aspekte sollten in der Roadmap entsprechend berücksichtigt werden. Ziel sollte sein, nicht nur Produkte zu erstellen die wie geplant arbeiten, sondern Produkte zu erstellen, die ausschließlich wie geplant arbeiten. Leider zeigt die Erfahrung, dass häufig der Schwerpunkt bei der Software und Produkt Entwicklung ausschliesslich auf die Funktionalität gelegt wird, und dann später, wenn die Software am Markt ist, mittels 'patch and pray' Philosophie die Sicherheitslücken zu schließen.
Die ITXperts unterstützt ihre Kunden mit ihrer Jahrzehnte langen Erfahrung in der Entwicklung komplexer Software-Komponenten auch beim Thema Cyber Security von Software Komponenten und darauf aufsetzender Produkte. Organisationen die sich damit auseinandersetzen, Cyber Security von Begin an in ihren Software Entwicklungsprozess zu integrieren, sollten folgendes in Betracht ziehen:
Marktanforderungen an die Software-Entwicklung können aus verschiedenen Gründen dazu führen, die Security Anforderungen an die Software-Komponenten zurückzustellen. Oft soll auch nur der Markt mittels eines Produkts mit minimalem Funktionsumfang evaluiert werden. Das Risiko attackiert zu werden, ist am Anfang des Produktzyklus eher gering. Dennoch, die Gefahr attackiert zu werden ist immer vorhanden und letztlich ist die Annahme, dass die Minimal-Version keine Security-Enhancements benötigt auch falsch. Entweder die Minimal-Version ist kein Erfolg, dann benötigt sie auch keine Security-Enhancements oder sie ist ein Erfolg, dann wird sie auch attackiert.
Ihre Software erfüllt die notwendigen funktionellen Anforderungen, hat jedoch keinerlei Anforderungen an Sicherheitskonzepte zur Erkennung und Abwehr möglicher Gefahren. Der Fokus bei modernen 'Agile Software Development Methoden' liegt auf einer ablauffähigen Software. Das führt tendenziell dazu, dass nicht funktionale Anforderungen an die Security vernachlässigt werden. Ihre Software sollte sicher sein und die eigene Anwendung und ihre Clients vor der Offenlegung ihrer Daten schützen. Sie sollte widerstandsfähig ausgelegt sein und mit sog. 'Denial of Service' (Dos) Attacken zurechtkommen. Bereits in einer frühen Phase sollte ausgeschlossen werden, dass bereits kleinere Attacken zu CPU-, Memory- und Netzwerk-Resource Engpässen führen können. Kurz, ihre Software muss 'gut' genug sein um gegen die bekanntesten und häufigsten Attacken geschützt zu sein (OWASP Top 10).
Security 'Management' Methode die das Nachziehen von Security Massnahmen in der Software aufgrund einer bereits erfolgten Attacke vorsieht. Dieses Prinzip verfolgt das oben bereits erwähnte Prinzip 'Features over Security' und sollte in ihrer Software nicht realisiert sein, zumal keiner vorhersagen kann, dass der erste 'Einschlag' nicht bereits fatal ist!
Server Implementierungen von Client/Server Architekturen dürfen sich nicht auf 'Zusagen' des Client verlassen. Client Code kann ausgetauscht oder durch Schadsoftware ersetzt werden.
Vertraue keinem Mobile- oder Web Client, dass er ...
definierte, vertrauenswürdige Daten verschickt. 'Jeder' kann JavaScript dahingehend anpassen, dass beliebige Daten verschickt werden.
Aktionen ausführt die er nicht ausführen will. 'Jeder' kann einen Chat-Client implementieren, der einen 'delete this picture' oder 'don't copy this movie' Befehl ignoriert.
nur Server-Requests absetzt, die in seinem User-Interface spezifiziert sind. Rechnen sie damit, dass das komplette Server API angesprochen wird.
Implementieren sie robuste Server Security und vertrauen sie dem Client Code so wenig wie möglich, selbst wenn der (echte) Client von ihrem Team, entwickelt wurde.
Obwohl in der Regel viele Organisationen bereits Strukturen für Cyber Security geschaffen und über die verschiedenen Ebenen bereits verantwortliche Personen installiert haben, gibt es schnell Irritationen wenn es um den Produkt Entwicklungsprozess geht.
Wie oben erwähnt, sollte das Ziel sein, dass die Software nicht nur wie geplant, sondern ausschliesslich wie geplant eingesetzt wird. Dazu muss der Hersteller wissen, wie ein Kunde die Software in einem Umfeld verschiedener, sich schnell verändernder Anwendungsszenarien einsetzt. Verschiedene Faktoren können hierbei eine Rolle spielen.
Internet Security sollte im Software Entwicklungsprozess von Anfang an berücksichtigt werden. Die Integration von Cyber Security in die initiale Phase des Software Entwicklungsprozess ist die Voraussetzung, dass die Software ausschliesslich so läuft wie es vorgesehen ist.
Neben dem Schwerpunkt Security bei der Software- und Produkt-Entwicklung bietet die ITXperts Service-Leistungen in folgenden Bereichen an: