Cyber-Resilienz bedeutet, zu den Grundlagen zurückzukehren
Von Kevin E. Greene
19. Mai 2021
3 min lesen
Das Erreichen von Cyber-Resilienz in Ihren Softwareprodukten beginnt mit der Verringerung von Schwachstellen in Ihrer Software. Dies beginnt damit, sicherzustellen, dass Sie sichere Codierungsstandards anwenden. Lesen Sie weiter, um zu erfahren, wie.
Zum Abschnitt springen
Cybersicherheitspraktiken müssen angesichts motivierter und geschickter Gegner solide sein. Sie müssen in einer immer komplexer werdenden Cyberwelt zuverlässig und verlässlich sein.
„Wir sind durch eine Mission verbunden, Cyberthreats anzunehmen, die von Natur aus unerbittlich sind. Das sind diejenigen, die beharrlich versuchen, unsere Daten, unseren Reichtum und unseren Seelenfrieden zu stehlen. Wir sind auch durch Weltereignisse verbunden, die die Grundlage unseres Berufs bedrohen. Wir reagieren, indem wir immer tiefer in uns selbst suchen, um Lösungen zu finden, die den Widrigkeiten standhalten und sich schnell von ihnen erholen können. “
-Ausschnitt aus RSA-Konferenz 2021
Erhöhte digitale Präsenz erhöht die Belichtung
Die aktuelle Pandemie hat Gegner nicht davon abgehalten, Cyberangriffe zu starten. Tatsächlich glauben einige Experten, dass Cyberangriffe auf der ganzen Welt aufgrund der zunehmenden Abhängigkeit von Telearbeit und Fernpräsenz zunehmen.
Diese Erweiterung zwingt Unternehmen, ihre digitalen Assets und Infrastrukturen zur Unterstützung und Erweiterung von Geschäftsfunktionen bereitzustellen. Durch das Aussetzen von mehr Angriffsflächen werden Unternehmen anfälliger für Cyberangriffe - und weniger widerstandsfähig. Es untergräbt ein grundlegendes Konstruktionsprinzip der Cyber-Ausfallsicherheit: Reduzierung der Angriffsfläche.
Befolgen Sie das Cyber Resiliency Design-Prinzip: Reduzieren Sie Angriffsflächen
Es ist wichtig, dass alle Softwareentwicklungs- und Softwareentwicklungsaktivitäten dem Prinzip des Cyber-Resilienz-Designs entsprechen und Angriffsflächen reduzieren. Das Prinzip fördert die geringste Funktionalität (Einschränkung von Ports, Protokollen und Diensten) und ruft Folgendes auf:
- Reduzieren Sie die Anzahl der Schnittstellen, die nicht autorisierten Benutzern zur Verfügung stehen.
- Unsichere / unsichere Funktionen abschreiben.
- Komplexität reduzieren.
- Teilen minimieren.
- Beseitigen Sie die am wenigsten verbreiteten Mechanismen.
Das Prinzip stimmt mit dem überein, was Brian Knapp, Softwareentwickler, nennt: „Software-Minimalismus", Kommt er zu dem Schluss, dass es am schwierigsten ist, Software-Engineering zu unterrichten. Der Software-Minimalismus betont die Verwendung der geringsten Menge an Code und Software zum Erstellen von Systemen und Anwendungen, um die Komplexität zu verringern und die Anhäufung technischer Schulden zu vermeiden.
Der Ansatz reduziert die Angriffsfläche für ein bestimmtes Softwaresystem erheblich und minimiert die verfügbaren Einstiegspunkte und Angriffsmethoden für Cyberangriffe. Die moderne Softwareentwicklung ist jedoch von diesem klassischen Ansatz der Softwareentwicklung abgewichen und konzentriert sich stark darauf, mehr Features und Funktionen zu integrieren.
Produktmerkmale und Funktionen sorgen für Wettbewerbsvorteile. Sie werden verwendet, um das einzigartige Wertversprechen hervorzuheben, um sich von Wettbewerbern abzuheben. Das Problem ist, dass mehr Funktionen mehr Code bedeuten.
Mehr Code bedeutet mehr Komplexität.
Und mehr Komplexität bedeutet mehr Probleme - wie bei Cyberangriffen.
Die Herausforderung mit komplexen, modernen Softwareentwicklungssystemen
Die Komplexität moderner Softwareentwicklungssysteme macht es sehr schwierig, zeitnah zu patchen und Schwachstellen zu beheben. Beide vergrößern das Expositionsfenster, das häufig zu Cyberangriffen führt.
Das Expositionsfenster ist eine Schlüsselmetrik zur Abschwächung von Cyberangriffen. Es wird jedoch immer schwieriger, genau zu bestimmen und zu bestimmen, da die Offenlegung von Sicherheitslücken reibungslos ist und so viele gemeldet werden Forscher haben sich beschwert.
Ähnliche Probleme traten kürzlich bei Katie Moussouris, CEO von Luta Security, auf, als Sie enthüllte Fehler entdeckt im Clubhaus und mit Kranke Codes bei der Entdeckung von Sicherheitsproblemen mit John Deere APIs. Diese Situationen erinnern daran, dass das System immer noch defekt ist, wie in a angegeben Threat Post Artikel im Jahr 2018 Dies unterstreicht systemische Probleme und anhaltende Reibung zwischen Forschern.
Die Forschungsgemeinschaft spielt eine Schlüsselrolle bei der zusätzlichen Berücksichtigung von Fehlern, um sie flacher zu machen, sowie bei der Zusammenarbeit mit Unternehmen, um ihre Produkte sicherer zu machen. Angesichts unserer aktuellen Bedrohungslandschaft zählt jeder Tag. Diese Probleme bei der Offenlegung von Sicherheitslücken erhöhen definitiv das Expositionsfenster.
Während das Belichtungsfenster zunimmt, scheint die Zeit zum Ausnutzen zu verkürzen, wie in angegeben Forschung von FireEye durchgeführt. Bei der Untersuchung wurde ein Beispielsatz von Common Vulnerability and Exposures (CVEs) verwendet, mit dem die Zeit zwischen Offenlegungen, Patch-Releases und Schwachstellen-Exposures erfasst wurde.
Die Forschung zeigt, dass der Großteil der Ausbeutung in freier Wildbahn in einem der folgenden Zeiträume erfolgt:
- Vor der Patch-Ausgabe
- Innerhalb weniger Tage nach Verfügbarkeit eines Patches oder Fixes
- Innerhalb eines Monats nach dem Patch-Datum
Dies ist kein gutes Zeichen für Unternehmen, die Schwierigkeiten haben, komplexe Systeme zu patchen. Dies wurde mit dem deutlich gemacht Apache Struts-Sicherheitsanfälligkeit (CVE-2017-5638) Dies führte Berichten zufolge zu einem Verstoß gegen Equifax, bei dem der Anbieter die anfällige Version am 6. März 2017 reparierte. Drei Tage später wurde der Fehler im Internet massenhaft angegriffen. Erst einige Monate später trat der Equifax-Verstoß auf.
Eingebettete Cybersicherheit durch sichere Codierungsstandards CWE und CERT
Die erste Verteidigungslinie gegen Cyberangriffe
Software-Engineering und Software-Entwicklung spielen eine Schlüsselrolle bei der Cyber-Ausfallsicherheit. Tatsächlich sind sie die erste Verteidigungslinie gegen Cyberangriffe. Softwaresysteme und -anwendungen müssen entworfen und sein entwickelt zu antizipieren, zu widerstehen, sich zu erholen und sich an alle Widrigkeiten anzupassen, die im Cyberbereich auftreten. Dazu müssen Design- und Entwicklungspraktiken wie Software-Minimalismus angewendet werden, um die Angriffsflächen zu verkleinern.
Es ist nicht so, dass wir tiefer in uns selbst graben müssen, um Lösungen zu finden. Stattdessen müssen wir zu den Grundlagen zurückkehren. Das bedeutet, solide Praktiken wie Software-Minimalismus in die moderne Softwareentwicklung zu integrieren, um Softwaresysteme und -anwendungen widerstandsfähiger zu machen – besser in der Lage, allen Widrigkeiten zu widerstehen und sich schnell davon zu erholen.
Erfahren Sie, wie Ihr Team konforme sicherheitskritische Software entwickeln und bereitstellen kann.