Unsichere kryptografische Speicherung & Sicherheit | Secure Code Warrior

Veröffentlicht Mär 07, 2019
von Jaap Karan Singh
FALLSTUDIE

Unsichere kryptografische Speicherung & Sicherheit | Secure Code Warrior

Veröffentlicht Mär 07, 2019
von Jaap Karan Singh
Ressource anzeigen
Ressource anzeigen

Daten sind das Lebenselixier von Unternehmen. Es sind die grundlegenden Informationen, die zum Überleben, zum Geldverdienen und zur Bereitstellung von Dienstleistungen für ihre Kunden benötigt werden. In dieser zunehmend digital ausgerichteten Gesellschaft tragen Entwickler als Verwalter dieser wertvollen Informationen eine immense Verantwortung. Wenn Entwickler vertrauliche Daten nicht schützen, fällt das Unternehmen einer unsicheren kryptografischen Speicherung zum Opfer.

Lassen Sie uns einen Blick darauf werfen, wie man Daten sicher speichert und was passieren kann, wenn man es nicht tut.

Unsichere kryptografische Speicherung verstehen

Wenn sich Angreifer Zugang zu einem System verschaffen, sind sie in der Regel auf der Jagd nach Daten von Wert. 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 durchzuführen. Manchmal wird diese Art von Daten einfach auf dem Schwarzmarkt für schnelles Geld verkauft.

Unsichere kryptografische Speicherung ist keine einzelne Schwachstelle wie SQL-Injection oder XSS. Sie ist eine Folge davon, dass Sie die Daten, die Sie schützen sollten, nicht so schützen, wie Sie es müssen.

Sensible Informationen müssen geschützt werden. Wenn Sie Passwörter und Kreditkarteninformationen im Klartext speichern, spielen Sie russisches Roulette mit Ihrem Unternehmen.

Wenn ein Hacker in Ihre Datenbank eindringt und Daten durch SQL-Injektion, XML-Injektion oder einen anderen Angriff stiehlt, hat er alles. Wenn Sie Ihre Daten jedoch verschlüsseln, haben sie es viel schwerer, sie wirklich zu nutzen.

Es ist wichtig zu beachten, dass Sicherheitsverletzungen nicht immer das Ergebnis eines böswilligen Außenstehenden sind. Auch ein böswilliger Insider kann Daten mit Leichtigkeit stehlen, wenn sie nicht verschlüsselt sind. Die Mitarbeiter Ihres Unternehmens müssen nicht alles in der Datenbank sehen, und unzureichende Zugriffskontrollen oder freiliegende sensible Daten können zu regelrechtem Diebstahl führen.

Denken Sie auch daran, dass nicht alle Verschlüsselungen gleich sind. Die Verwendung der falschen kryptografischen Algorithmen ist genauso gefährlich wie deren Nichtverwendung. Bekannte schwache Algorithmen bieten versierten Angreifern wenig Widerstand.

Warum unsichere kryptografische Speicherung gefährlich ist

Viele Unternehmen werden durch eine andere Schwachstelle (z. B. SQL-Injection)kompromittiert und sind am Ende nicht mehr in der Lage, die gestohlenen Daten zu verbergen. Dies macht eine schreckliche Situation noch schlimmer.

  • Adult Friend Finder wurde angegriffen, wobei 412 Millionen Konten geleakt wurden. Die Passwörter für die Konten waren mit dem schwachen Hash-Algorithmus SHA-1 geschützt. Sie konnten von Angreifern innerhalb eines Monats leicht geknackt werden.
  • Uber wurde angegriffen, wobei 57 Millionen Benutzerdaten und 600.000 Fahrerdaten verloren gingen. Persönliche Informationen gingen verloren. Dies geschah, weil das GitHub-Konto von Uber ein Repository enthielt, das den Benutzernamen und das Passwort des AWS-Kontos von Uber enthielt... keine gute Idee. Die Bewertung von Uber sank um 20 Milliarden Dollar, was größtenteils auf diesen Verstoß zurückzuführen ist.
  • Das PlayStation Network von Sony wurde angegriffen, wobei 77 Millionen Konten geleakt wurden. 12 Millionen der Konten enthielten unverschlüsselte Kreditkarteninformationen. Sony hat später eine Sammelklage in Höhe von 15 Millionen Dollar wegen des Verstoßes beigelegt.

Es gibt eindeutig schwerwiegende Konsequenzen, wenn sensible Daten nicht ordnungsgemäß gespeichert werden.

Sony wurde verklagt, was eine erhebliche Strafe darstellt. Aber auch wenn Sie nicht verklagt werden, kann der Ruf- und Regulierungsschaden für ein Unternehmen katastrophal sein.

Unsichere kryptografische Speicherung besiegen

Wie können Entwickler verhindern, dass Datenverletzungen wie die oben genannten passieren?

Der erste Schritt besteht darin, zu identifizieren, welche Daten überhaupt verschlüsselt werden müssen. Schließlich sind nicht alle Daten gleich. Kategorisieren Sie Ihre Daten und verwenden Sie dann Verschlüsselung, wo es angebracht ist.

Im Allgemeinen müssen persönliche Informationen wie Sozialversicherungsnummern, Passwörter und Kreditkartendetails geschützt werden. Je nach Art Ihres Unternehmens müssen Sie möglicherweise auch Gesundheitsdaten oder andere Informationen schützen, die als privat gelten.

Sobald Sie wissen, welche Daten geschützt werden müssen, besteht der nächste Schritt darin, die richtigen Werkzeuge 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.

Schreiben Sie auf keinen Fall Ihre 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 sehr empfohlener Modus ist der Galois/Counter-Modus (GCM). Ein weiterer Tipp ist, sicherzustellen, dass bei Bibliotheken, die Sie auffordern, eine Art von Padding zu wählen, kein Padding verwendet wird.

Verwenden Sie für Kennwörter einen Hash-Algorithmus, da Hashes nicht rückgängig gemacht werden können. Bei einem stark gehashten Wert kann ein Angreifer den ursprünglichen Text, mit dem der Wert erstellt wurde, nicht wiederherstellen. Argon2 und Bcrypt sindeine gute Wahl für das Hashing von Kennwörtern. Denken Sie daran, das Kennwort vor dem Hashing immer mit einem Zufallswert zu "salzen", damit keine zwei Hashes für dasselbe Kennwort gleich sind.

Diese Funktionen haben Implementierungen für alle wichtigen Programmiersprachen/Frameworks. Schauen Sie in der Dokumentation Ihrer spezifischen Sprache oder Ihres Frameworks nach, um zu erfahren, wie Sie sie effektiv nutzen können.

Schlüsselerzeugung, -speicherung und -verwaltung sind wichtige Komponenten der Kryptografie. Schlecht verwaltete Schlüssel können offengelegt und zur Entschlüsselung Ihrer Daten verwendet werden. Einige Frameworks helfen bei der Schlüsselverwaltung, z. B. die Data Protection API von ASP.NET. Allgemeine Best Practices für die Schlüsselverwaltung finden Sie im Spickzettel von OWASP.

Durch die sichere Speicherung Ihrer Daten beugen Sie kostspieligen und peinlichen Datenpannen vor. Im schlimmsten Fall, wenn ein Angreifer in der Lage ist, Ihre Daten zu stehlen, wird er es viel schwerer haben, sie zu sehen oder für einen schändlichen Zweck zu verwenden.

Verstecken Sie Ihre Daten in Plain Sight

Sehen wir uns kurz an, wie Sie Ihre Daten schützen können:

  • Kategorisieren Sie Ihre Daten, damit Sie wissen, was geschützt werden muss
  • Verwenden Sie starke, industrieerprobte Algorithmen für die Verschlüsselung sensibler Daten
  • Speichern Sie Ihre Kennwörter mit starken Einweg-Hashes

Um das Thema weiter zu vertiefen, sehen Sie sich unsere Lernressourcen an. Wenn Sie bereit sind, loszulegen und zu üben, probieren Sie unsere Plattform in Ihrer bevorzugten Sprache aus. 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 beschädigt.

Sind Sie bereit, unsichere kryptografische Speicher zu finden und sofort zu reparieren? Gehen Sie in die Arena und testen Sie Ihre Fähigkeiten [hier starten]

Ressource anzeigen
Ressource anzeigen

Autor

Jaap Karan Singh

Sie wollen mehr?

Tauchen Sie ein in unsere neuesten Erkenntnisse über sichere Kodierung im Blog.

Unsere umfangreiche Ressourcenbibliothek zielt darauf ab, die menschliche Herangehensweise an eine sichere Weiterbildung im Bereich der Programmierung zu stärken.

Blog ansehen
Sie wollen mehr?

Holen Sie sich die neuesten Forschungsergebnisse zur entwicklergesteuerten Sicherheit

Unsere umfangreiche Ressourcenbibliothek ist voll von hilfreichen Ressourcen, von Whitepapers bis hin zu Webinaren, die Ihnen den Einstieg in die entwicklungsorientierte sichere Programmierung erleichtern. Erforschen Sie sie jetzt.

Ressourcendrehscheibe

Unsichere kryptografische Speicherung & Sicherheit | Secure Code Warrior

Veröffentlicht Mär 07, 2019
Von Jaap Karan Singh

Daten sind das Lebenselixier von Unternehmen. Es sind die grundlegenden Informationen, die zum Überleben, zum Geldverdienen und zur Bereitstellung von Dienstleistungen für ihre Kunden benötigt werden. In dieser zunehmend digital ausgerichteten Gesellschaft tragen Entwickler als Verwalter dieser wertvollen Informationen eine immense Verantwortung. Wenn Entwickler vertrauliche Daten nicht schützen, fällt das Unternehmen einer unsicheren kryptografischen Speicherung zum Opfer.

Lassen Sie uns einen Blick darauf werfen, wie man Daten sicher speichert und was passieren kann, wenn man es nicht tut.

Unsichere kryptografische Speicherung verstehen

Wenn sich Angreifer Zugang zu einem System verschaffen, sind sie in der Regel auf der Jagd nach Daten von Wert. 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 durchzuführen. Manchmal wird diese Art von Daten einfach auf dem Schwarzmarkt für schnelles Geld verkauft.

Unsichere kryptografische Speicherung ist keine einzelne Schwachstelle wie SQL-Injection oder XSS. Sie ist eine Folge davon, dass Sie die Daten, die Sie schützen sollten, nicht so schützen, wie Sie es müssen.

Sensible Informationen müssen geschützt werden. Wenn Sie Passwörter und Kreditkarteninformationen im Klartext speichern, spielen Sie russisches Roulette mit Ihrem Unternehmen.

Wenn ein Hacker in Ihre Datenbank eindringt und Daten durch SQL-Injektion, XML-Injektion oder einen anderen Angriff stiehlt, hat er alles. Wenn Sie Ihre Daten jedoch verschlüsseln, haben sie es viel schwerer, sie wirklich zu nutzen.

Es ist wichtig zu beachten, dass Sicherheitsverletzungen nicht immer das Ergebnis eines böswilligen Außenstehenden sind. Auch ein böswilliger Insider kann Daten mit Leichtigkeit stehlen, wenn sie nicht verschlüsselt sind. Die Mitarbeiter Ihres Unternehmens müssen nicht alles in der Datenbank sehen, und unzureichende Zugriffskontrollen oder freiliegende sensible Daten können zu regelrechtem Diebstahl führen.

Denken Sie auch daran, dass nicht alle Verschlüsselungen gleich sind. Die Verwendung der falschen kryptografischen Algorithmen ist genauso gefährlich wie deren Nichtverwendung. Bekannte schwache Algorithmen bieten versierten Angreifern wenig Widerstand.

Warum unsichere kryptografische Speicherung gefährlich ist

Viele Unternehmen werden durch eine andere Schwachstelle (z. B. SQL-Injection)kompromittiert und sind am Ende nicht mehr in der Lage, die gestohlenen Daten zu verbergen. Dies macht eine schreckliche Situation noch schlimmer.

  • Adult Friend Finder wurde angegriffen, wobei 412 Millionen Konten geleakt wurden. Die Passwörter für die Konten waren mit dem schwachen Hash-Algorithmus SHA-1 geschützt. Sie konnten von Angreifern innerhalb eines Monats leicht geknackt werden.
  • Uber wurde angegriffen, wobei 57 Millionen Benutzerdaten und 600.000 Fahrerdaten verloren gingen. Persönliche Informationen gingen verloren. Dies geschah, weil das GitHub-Konto von Uber ein Repository enthielt, das den Benutzernamen und das Passwort des AWS-Kontos von Uber enthielt... keine gute Idee. Die Bewertung von Uber sank um 20 Milliarden Dollar, was größtenteils auf diesen Verstoß zurückzuführen ist.
  • Das PlayStation Network von Sony wurde angegriffen, wobei 77 Millionen Konten geleakt wurden. 12 Millionen der Konten enthielten unverschlüsselte Kreditkarteninformationen. Sony hat später eine Sammelklage in Höhe von 15 Millionen Dollar wegen des Verstoßes beigelegt.

Es gibt eindeutig schwerwiegende Konsequenzen, wenn sensible Daten nicht ordnungsgemäß gespeichert werden.

Sony wurde verklagt, was eine erhebliche Strafe darstellt. Aber auch wenn Sie nicht verklagt werden, kann der Ruf- und Regulierungsschaden für ein Unternehmen katastrophal sein.

Unsichere kryptografische Speicherung besiegen

Wie können Entwickler verhindern, dass Datenverletzungen wie die oben genannten passieren?

Der erste Schritt besteht darin, zu identifizieren, welche Daten überhaupt verschlüsselt werden müssen. Schließlich sind nicht alle Daten gleich. Kategorisieren Sie Ihre Daten und verwenden Sie dann Verschlüsselung, wo es angebracht ist.

Im Allgemeinen müssen persönliche Informationen wie Sozialversicherungsnummern, Passwörter und Kreditkartendetails geschützt werden. Je nach Art Ihres Unternehmens müssen Sie möglicherweise auch Gesundheitsdaten oder andere Informationen schützen, die als privat gelten.

Sobald Sie wissen, welche Daten geschützt werden müssen, besteht der nächste Schritt darin, die richtigen Werkzeuge 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.

Schreiben Sie auf keinen Fall Ihre 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 sehr empfohlener Modus ist der Galois/Counter-Modus (GCM). Ein weiterer Tipp ist, sicherzustellen, dass bei Bibliotheken, die Sie auffordern, eine Art von Padding zu wählen, kein Padding verwendet wird.

Verwenden Sie für Kennwörter einen Hash-Algorithmus, da Hashes nicht rückgängig gemacht werden können. Bei einem stark gehashten Wert kann ein Angreifer den ursprünglichen Text, mit dem der Wert erstellt wurde, nicht wiederherstellen. Argon2 und Bcrypt sindeine gute Wahl für das Hashing von Kennwörtern. Denken Sie daran, das Kennwort vor dem Hashing immer mit einem Zufallswert zu "salzen", damit keine zwei Hashes für dasselbe Kennwort gleich sind.

Diese Funktionen haben Implementierungen für alle wichtigen Programmiersprachen/Frameworks. Schauen Sie in der Dokumentation Ihrer spezifischen Sprache oder Ihres Frameworks nach, um zu erfahren, wie Sie sie effektiv nutzen können.

Schlüsselerzeugung, -speicherung und -verwaltung sind wichtige Komponenten der Kryptografie. Schlecht verwaltete Schlüssel können offengelegt und zur Entschlüsselung Ihrer Daten verwendet werden. Einige Frameworks helfen bei der Schlüsselverwaltung, z. B. die Data Protection API von ASP.NET. Allgemeine Best Practices für die Schlüsselverwaltung finden Sie im Spickzettel von OWASP.

Durch die sichere Speicherung Ihrer Daten beugen Sie kostspieligen und peinlichen Datenpannen vor. Im schlimmsten Fall, wenn ein Angreifer in der Lage ist, Ihre Daten zu stehlen, wird er es viel schwerer haben, sie zu sehen oder für einen schändlichen Zweck zu verwenden.

Verstecken Sie Ihre Daten in Plain Sight

Sehen wir uns kurz an, wie Sie Ihre Daten schützen können:

  • Kategorisieren Sie Ihre Daten, damit Sie wissen, was geschützt werden muss
  • Verwenden Sie starke, industrieerprobte Algorithmen für die Verschlüsselung sensibler Daten
  • Speichern Sie Ihre Kennwörter mit starken Einweg-Hashes

Um das Thema weiter zu vertiefen, sehen Sie sich unsere Lernressourcen an. Wenn Sie bereit sind, loszulegen und zu üben, probieren Sie unsere Plattform in Ihrer bevorzugten Sprache aus. 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 beschädigt.

Sind Sie bereit, unsichere kryptografische Speicher zu finden und sofort zu reparieren? Gehen Sie in die Arena und testen Sie Ihre Fähigkeiten [hier starten]

Wir bitten Sie um Ihre Erlaubnis, Ihnen Informationen über unsere Produkte und/oder verwandte Themen der sicheren Codierung zuzusenden. Wir werden Ihre persönlichen Daten immer mit äußerster Sorgfalt behandeln und sie niemals zu Marketingzwecken an andere Unternehmen verkaufen.

Senden
Um das Formular abzuschicken, aktivieren Sie bitte "Analytics"-Cookies. Sie können die Cookies wieder deaktivieren, sobald Sie fertig sind.