Unsichere kryptografische Speicherung & Sicherheit | Secure Code Warrior
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]
In dieser digitalen Gesellschaft sind Entwickler dafür verantwortlich, dass Informationen und Unternehmen vor unsicherer kryptografischer Speicherung geschützt werden. Lernen Sie von Secure Code Warrior.
Jaap Karan Singh ist ein Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.
Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenJaap Karan Singh ist ein Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.
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]
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]
Klicken Sie auf den unten stehenden Link und laden Sie die PDF-Datei dieser Ressource herunter.
Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Bericht ansehenDemo buchenJaap Karan Singh ist ein Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.
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]
Inhaltsübersicht
Jaap Karan Singh ist ein Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.
Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenHerunterladenRessourcen für den Einstieg
Benchmarking von Sicherheitskompetenzen: Optimierung von Secure-by-Design im Unternehmen
Die Secure-by-Design-Bewegung ist die Zukunft der sicheren Softwareentwicklung. Erfahren Sie mehr über die wichtigsten Elemente, die Unternehmen berücksichtigen müssen, wenn sie über eine Secure-by-Design-Initiative nachdenken.
DigitalOcean verringert Sicherheitsverschuldung mit Secure Code Warrior
DigitalOceans Einsatz von Secure Code Warrior hat die Sicherheitsverschuldung deutlich reduziert, so dass sich die Teams stärker auf Innovation und Produktivität konzentrieren können. Die verbesserte Sicherheit hat die Produktqualität und den Wettbewerbsvorteil des Unternehmens gestärkt. Mit Blick auf die Zukunft wird der SCW Trust Score dem Unternehmen helfen, seine Sicherheitspraktiken weiter zu verbessern und Innovationen voranzutreiben.
Ressourcen für den Einstieg
Trust Score zeigt den Wert von Secure-by-Design-Upskilling-Initiativen
Unsere Forschung hat gezeigt, dass Schulungen für sicheren Code funktionieren. Trust Score verwendet einen Algorithmus, der auf mehr als 20 Millionen Lerndaten aus der Arbeit von mehr als 250.000 Lernenden in über 600 Organisationen basiert, und zeigt, wie effektiv die Initiative ist, um Schwachstellen zu beseitigen und wie man sie noch effektiver gestalten kann.
Reaktive versus präventive Sicherheit: Prävention ist das bessere Heilmittel
Der Gedanke, Legacy-Code und -Systeme zur gleichen Zeit wie neuere Anwendungen mit präventiver Sicherheit auszustatten, kann entmutigend erscheinen, aber ein Secure-by-Design-Ansatz, der durch die Weiterbildung von Entwicklern durchgesetzt wird, kann die besten Sicherheitsverfahren auf diese Systeme anwenden. Dies ist für viele Unternehmen die beste Chance, ihre Sicherheitslage zu verbessern.
Die Vorteile eines Benchmarking der Sicherheitskompetenzen von Entwicklern
Der zunehmende Fokus auf sicheren Code und Secure-by-Design-Prinzipien erfordert, dass Entwickler von Beginn des SDLC an in Cybersicherheit geschult werden, wobei Tools wie Secure Code Warrior's Trust Score dabei helfen, ihre Fortschritte zu messen und zu verbessern.
Wesentlicher Erfolg für Enterprise Secure-by-Design-Initiativen
Unser jüngstes Forschungspapier „Benchmarking Security Skills: Streamlining Secure-by-Design in the Enterprise“ ist das Ergebnis einer umfassenden Analyse echter Secure-by-Design-Initiativen auf Unternehmensebene und der Ableitung von Best-Practice-Ansätzen auf Grundlage datengesteuerter Erkenntnisse.