Was ist eine Zufallszahl Sicherheitslücke?

Computer sind deterministische und sind somit vorhersehbar. Computer kann nicht, und von sich selbst, erzeugt wirklich zufällige Zahlen.

In Abwesenheit von externen Eingang, Computer können nur Pseudo-Zufallszahlen.

Eine Zufallszahl Sicherheitslücke tritt auf, wenn ein Programm verwendet eine Methode zur Erzeugung von Zufallszahlen, die entweder:

  1. Nicht zufällig
  2. Vorhersagbare

Um gute Zufallszahlen, der Computer muss zwei Dinge:

  1. Eine gute Zufallszahlengeneratoren Algorithmus
  2. Eine zufällige und unpredicatable Saatgut für die Zufallszahlengeneratoren Algorithmus

Random Number Sicherheitslücke Beispiele

Betrachten Sie die folgende Code-Snippet:

  x = rand (); 

Dieser Code generiert zufällige Zahlen schlecht, weil beim Aufruf rand () vor einem Saatgut wurde mit srand (), verwendet es den Wert 1 als Standard-Saatgut. Alle anderen auf dem gleichen Rechner mit dem gleichen Compiler, der fordert, rand () mit einem Startkapital von 1 erhalten die gleichen Zufallszahl, wie Sie soeben getan hat.

Schauen wir uns an einem anderen Code-Snippet:

  srand (time (0)); 
  x = rand (); 

Dieser Code funktioniert Aufruf srand () mit der aktuellen Zeit, wie ein Samen. Aber dieser Code ist immer noch unsicher, weil:

  1. Das System ist ein sehr schlechtes Saatgut, weil es vorhersehbar ist, in einem kleinen Bereich.
  2. Die ANSI-C-rand ()-Funktion selbst keine gute Zufallszahlen.

Lassen Sie uns für einen dritten Code-Snippet:

  srandom (time (0)); 
  x = random (); 

Dieser Code verwendet die BSD random () und srandom () Funktionen, die viel bessere Zufallszahlen als ihre Vorgänger ANSI-C. Allerdings, dieser Code noch mit time (), um die Zahl Saatgut. Eine viel bessere Quelle für zufällige Zahlen auf BSD und Linux-Systemen ist das / dev / random Gerät.

Anzahl Samen und Random Number Sicherheitslücken

Gute Saatgut Zahlen stammen aus unvorhersehbaren Ereignisse, wie z. B. Benutzer Tastatureingaben oder Mausbewegungen. Diese sind nicht perfekt Quellen der Zufälligkeit, jedoch. Das menschliche Verhalten ist etwas vorhersehbar und Computer-Hardware-Puffer-Tastatur und-Maus-Interrupts, die Verringerung ihrer Zufälligkeit.

Zahlreiche weitere Zufallszahlen-Generatoren sind für verschiedene Plattformen und Entwicklungsumgebungen. Es ist äußerst schwierig, eine gute, und noch schwieriger zu ermitteln, ob der Zufallszahlengenerator Sie wirklich generiert zufällig und unvorhersehbar Zahlen. Der beste Weg für die meisten Anwendungen ist die Umsetzung eines bestehenden Zufallszahlengenerator, auf dem öffentlichen Kryptoanalyse.

Zufallszahl Schwachstellen von Interesse sind für Hacker, wenn sie genutzt werden, um festzustellen, Eingabewerte auf kryptografische Funktionen. Dies kann in Kryptoanalyse.

Missbräuchliche Verwendung der Funktionsaufrufe rand () und random () sind die üblichen Ursachen für zufällige Zahl Schwachstellen.

Zusätzliche Informationsquellen zur Generierung von Zufallszahlen

Für weitere Informationen über die Erzeugung von Zufallszahlen, lesen Sie RFC 1750 - Zufall Empfehlungen für die Sicherheit.

"Jeder Versuch zur Herstellung von Zufallszahlen durch rein arithmetische Mittel ist, natürlich, in einem Zustand der Sünde." - John von Neumann.
Writing Secure Code Building Secure Software Secure Coding Secure Programming Cookbook
Kauf diese hervorragende Bücher über sicheres Programmieren bei Amazon.com


Top 5 Free Networking Tools

Bookmark Was ist eine Zufallszahl Sicherheitslücke?

Neueste Blog-Posts


Englisch Englisch Deutsch Deutsch Spanisch Spanisch Französisch Französisch Italienisch Italienisch Portugiesisch Portugiesisch Russisch Russisch Niederländisch Niederländisch
Griechisch Griechisch Hindi Hindi Japanisch Japanisch Koreanisch Koreanisch Chinesisch Chinesisch Chinesisch (Taiwan) Chinesisch (Taiwan) Arabisch Arabisch

Copyright 2009 Tech-FAQ. Alle Rechte vorbehalten. Datenschutz.