Miért kerüld az egyszerű jelszavak használatát?
Tartalomjegyzék
Mik is azok az egyszerű jelszavak?
Törekszünt a könnyen megjegyezhető egyszerű és rövid jelszavakra, amelyek kényelmessé teszik a bejelentkezést. Ilyenek lehetnek a nevek, születési dátumok, egyszerű sorozatok és szavak:- admin
- 1234
- 19981124
- 1998
- 1124
- anna
Lehetünk mi is célpontok?
Napjainkban millió számban tevékenykednek rosszindulatú robotok, melyeket arra programoztak, hogy fiókokat törjenek fel. Számuk folyamatosan növekszik és többségük rejtve marad, ezért a pontos számot nehéz meghatározni. Annyi bizonyos, hogy a teljes internetes forgalom 42%-át robotok generálják és ezek közül több mint 65% rosszindulatú. Ezek alapján mi is könnyedén válhatunk célpontokká.Hogyan dolgoznak a rosszindulatú robotok?
Általánosságban elmondható, hogy a rosszindulatú robotok két leggyakoribb módszere a Brute force és a Dictionary attack. Mik ezek a módszerek?Brute force
Ez a módszer a kombinatórikára alapszik, ami azt jelenti, hogy minden létező variációt végigpróbálnak, amíg be nem jutnak a fiókba.Dictionary attack
Ez egy előre meghatározott szótárat használ, melyet gyakran használt jelszavakra alapoznak.Mit tehetünk a nagyobb biztonság érdekében?
Captcha.
Egy captcha rendszer, vagy egy belépést korlátozó rendszerrel nagymértékben csökkenthető ezeknek a támadásoknak a sikeressége.Erős jelszavak
Jelszavaink legyenek legalább 12 karakter hosszúak, tartalmazzanak kis-nagybetűt és speciális karaktereket (pl.: @&!+-,?%). Azonban az erős jelszavak csupán a próbálkozások idejét növelik meg, előbb-utább az erős jelszó is megfejthető.Vegyünk egy egyszerű példát amiben a jelszó: 1234
Ez egy 4 karakteres jelszó. melyben a karakterek a következőképpen terjedhetnek:
-számok: 10
Ez 10.000 kombinációt jelent amit egy viszonylag gyors számítógép esetében körülbelül 0.00001 másodpercbe telik feldolgozni, ami azt jelenti, hogy azonnal.
Egy bonyolultabb jelszó esetében: Abc12!X24+
Ez a jelszó 10 karakter hosszú, melyben a karakterek a következőképpen terjedhetnek:
- kisbetűk: 26
- nagybetűk: 26
- számok: 10
- speciális karakterek: 32
Ez körülbelül 53,800,000,000,000,000,000 (53.8 kvintillió) kombináció, amit egy viszonylag gyors számítógép esetében is körülbelül 1700 évbe telik feldolgozni.
Többlépcsős hitelesítés
Egy többlépcsős hitelesítéssel szintén nagymértékben csökkenthető a támadások sikeressége. Ahol csak lehetőségünk van rá kapcsoljuk be a hitelesítést. Különösen akkor ha bankkártya adatokat is tárolunk az adott weboldalon.Nézzünk egy gyakorlati példát PHP-ben ami egy egyszerű 6 karakteres jelszót próbál visszafejteni.
// A helyes jelszó, amit keresünk
$correct_password = '1234';
// Ezt a függvényt használjuk a jelszó ellenőrzésére
function TryEnter($password = '')
{
global $correct_password;
return ($password === $correct_password);
}
// Az összes lehetséges kombináció végigpróbálása
function generate_passwords()
{
$chrs = '0123456789';
$password = '';
for ($i1 = 0; $i1 < 10; $i1++) {
for ($i2 = 0; $i2 < 10; $i2++) {
for ($i3 = 0; $i3 < 10; $i3++) {
for ($i4 = 0; $i4 < 10; $i4++) {
$password = $chrs[$i1] . $chrs[$i2] . $chrs[$i3] . $chrs[$i4];
if (TryEnter($password))
return $password;
}
}
}
}
return false;
}
$found_password = generate_passwords();
if ($found_password)
print "A jelszó: " . $found_password;
else
print "A jelszót nem sikerült visszafejteni.";
Ez gyakorlatban az 1234 jelszó esetén így néz ki
...
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234 <-- match
return 1234;