Daten sind das Lebenselixier von Unternehmen. Es sind die grundlegenden Informationen, die zum Überleben, zum Geldverdienen und zur Erbringung von Dienstleistungen für ihre Kunden benötigt werden. In dieser zunehmend digital ausgerichteten Gesellschaft tragen Entwickler eine immense Verantwortung als Verwalter dieser wertvollen Informationen. Wenn Entwickler vertrauliche Daten nicht schützen, fällt das Unternehmen der unsicheren kryptografischen Speicherung zum Opfer.
Schauen wir uns an, wie Sie Daten sicher speichern können und was passieren kann, wenn Sie dies nicht tun.
Unsicheren kryptografischen Speicher verstehen
Wenn Angreifer Zugriff auf ein System erhalten, sind sie in der Regel auf der Suche nach wertvollen Daten. Sie wissen schon — die Art von Daten, die verwendet werden können, um das Konto einer anderen Person zu übernehmen oder um einen weiteren Angriff auszuführen. Manchmal werden diese Daten einfach auf dem Schwarzmarkt gegen schnelles Geld verkauft.
Unsicherer kryptografischer Speicher ist keine einzige Sicherheitslücke wie SQL Injection oder XSS. Dies ist eine Folge davon, dass die Daten, die Sie schützen sollten, nicht so geschützt werden, wie Sie sie schützen müssen.
Sensible Informationen müssen geschützt werden. Wenn Sie Passwörter und Kreditkarteninformationen im Klartext speichern, spielen Sie Russisches Roulette mit deinem Unternehmen.
Wenn ein Hacker in Ihre Datenbank einbricht und Daten stiehlt mit SQL-Injektion, XML-Injektion oder irgendein anderer Angriff, sie werden alles haben. Wenn Sie Ihre Daten jedoch verschlüsseln, wird es für sie viel schwieriger sein, sie wirklich zu nutzen.
Es ist wichtig zu beachten, dass Verstöße nicht immer das Ergebnis eines böswilligen Außenstehenden sind. Ein böser Insider kann auch problemlos Daten stehlen, wenn sie nicht verschlüsselt sind. Die Mitarbeiter Ihres Unternehmens müssen nicht alles in der Datenbank sehen, und unzureichende Zugriffskontrollen oder offengelegte sensible Daten können zu regelrechtem Diebstahl führen.
Denken Sie auch daran, dass nicht alle Verschlüsselungen gleich sind. Die Verwendung falscher kryptografischer Algorithmen ist genauso gefährlich, wie sie überhaupt nicht zu verwenden. Bekannte schwache Algorithmen werden versierten Angreifern wenig Widerstand bieten.
Warum unsicherer kryptografischer Speicher gefährlich ist
Viele Unternehmen sind gefährdet durch eine andere Sicherheitslücke (wie SQL Injection) und am Ende nicht in der Lage sind, die gestohlenen Daten zu verbergen. Das macht eine schreckliche Situation noch schlimmer.
- Adult Friend Finder wurde gehackt, wodurch 412 Millionen Konten durchgesickert sind. Die Passwörter für die Konten wurden mit dem schwachen SHA-1-Hashing-Algorithmus geschützt. Sie konnten innerhalb eines Monats leicht von Angreifern geknackt werden.
- Uber wurde gehackt, wobei 57 Millionen Benutzerdaten und 600.000 Fahrerdatensätze durchgesickert wurden. Persönliche Daten gingen verloren. Es ist passiert, weil das GitHub-Konto von Uber ein Repository hatte, in dem der Benutzername und das Passwort des AWS-Kontos von Uber veröffentlicht wurden... keine gute Idee. Die Bewertung von Uber fiel um 20 Milliarden US-Dollar, was hauptsächlich auf diesen Verstoß zurückzuführen ist.
- Das PlayStation Network von Sony wurde gehackt, wodurch 77 Millionen Konten durchgesickert wurden. 12 Millionen der Konten enthielten unverschlüsselte Kreditkarteninformationen. Sony legte später eine Sammelklage in Höhe von 15 Millionen US-Dollar wegen des Verstoßes bei.
Es gibt eindeutig schwerwiegende Folgen, wenn sensible Daten nicht ordnungsgemäß gespeichert werden.
Sony wurde verklagt, was eine erhebliche Strafe darstellt. Aber selbst wenn Sie nicht verklagt werden, kann der Ruf- und Regulierungsschaden für ein Unternehmen katastrophal sein.
Beseitigen Sie unsicheren kryptografischen Speicher
Wie können Entwickler verhindern, dass Datenschutzverletzungen wie die oben genannten passieren?
Der erste Schritt besteht darin, herauszufinden, welche Daten überhaupt verschlüsselt werden müssen. Schließlich sind nicht alle Daten gleich. Kategorisieren Sie Ihre Datenund verwenden Sie dann gegebenenfalls Verschlüsselung.
Im Allgemeinen müssen persönliche Daten wie Sozialversicherungsnummern, Passwörter und Kreditkartendaten geschützt werden. Je nach Art Ihres Unternehmens müssen Sie möglicherweise Gesundheitsdaten oder andere Informationen, die als privat gelten, schützen.
Sobald Sie wissen, welche Daten geschützt werden müssen, besteht der nächste Schritt darin, die richtigen Tools zu verwenden, um deren Sicherheit zu gewährleisten. Im Allgemeinen ist es gut, sich an kryptografische Algorithmen zu halten, die sich im Laufe der Zeit bewährt haben und als stark gelten.
Egal was passiert, schreiben Sie keine eigenen kryptografischen Funktionen. Sie enthalten wahrscheinlich Fehler, die Angreifer nutzen können, um die Verschlüsselung zu knacken.
Um Daten wie Sozialversicherungsnummern oder Kreditkartendaten zu verschlüsseln, verwenden Sie AES. Es gibt verschiedene Betriebsmodi für AES. Ein zum Zeitpunkt des Schreibens dieses Artikels dringend empfohlener Modus ist Galois-/Zählermodus (GCM). Ein weiterer Tipp ist, sicherzustellen, dass für Bibliotheken, in denen Sie aufgefordert werden, eine Art von Polsterung auszuwählen, kein Padding verwendet wird.
Verwenden Sie für Passwörter einen Hash-Algorithmus, um Passwörter zu hashen, da Hashes nicht rückgängig gemacht werden können. Bei einem stark gehashten Wert kann ein Angreifer den Originaltext, der den Wert erstellt hat, nicht abrufen. Argon 2und Bcryptgelten als solide Wahl für das Hashing von Passwörtern. Denken Sie daran, das Passwort vor dem Hashing immer mit einem Zufallswert zu „salzen“, damit keine zwei Hashes für dasselbe Passwort gleich sind.
Diese Funktionen werden für alle wichtigen Programmiersprachen/Frameworks implementiert sein. In der Dokumentation für Ihre spezifische Sprache oder Ihr Framework finden Sie Informationen darüber, wie Sie sie effektiv verwenden können.
Die Generierung, Speicherung und Verwaltung von Schlüsseln sind wichtige Bestandteile der Kryptografie. Schlecht verwaltete Schlüssel können offengelegt und zur Entschlüsselung Ihrer Daten verwendet werden. Einige Frameworks helfen bei der Schlüsselverwaltung, wie z. B. Die Datenschutz-API von ASP.NET. Allgemeine Best Practices für die Schlüsselverwaltung finden Sie unter Spickzettel von OWASP.
Durch die sichere Speicherung Ihrer Daten verhindern Sie kostspielige, peinliche Datenschutzverletzungen. Im schlimmsten Fall, wenn ein Angreifer in der Lage ist, Ihre Daten zu stehlen, wird es für ihn viel schwieriger sein, sie zu sehen oder für schändliche Zwecke zu verwenden.
Verstecken Sie Ihre Daten vor aller Augen
Lassen Sie uns kurz überprüfen, wie Sie Ihre Daten schützen können:
- Kategorisieren Sie Ihre Daten, damit Sie wissen, was geschützt werden muss
- Verwenden Sie starke, branchenweit geprüfte Algorithmen zur Verschlüsselung sensibler Daten
- Speichern Sie Ihre Passwörter mit starken Einweg-Hashes
Um das Thema weiter zu studieren, schauen Sie sich unsere Ressourcen zum Lernen. Wenn du bereit bist, dich einzuarbeiten und zu üben, probiere unsere Plattform aus in Ihrer bevorzugten Sprache. Wir decken eine Menge ab!
Mit diesen Tools können Sie verhindern, dass Ihre Daten gestohlen werden, und verhindern, dass Ihr Unternehmen Geld verliert und seinen Ruf schädigt.
Bereit, unsicheren kryptografischen Speicher sofort zu finden und zu reparieren? Begib dich in die Arena und teste deine Fähigkeiten [starte hier]