Məzmuna keç
Educora
Başlanğıc18 dəq2 / 12

Şəxsi təhlükəsizlik: parollar, MFA və fişinq

Parolun gücünü bitlərlə ölç, parol menecerinin və çoxfaktorlu autentifikasiyanın necə işlədiyini anla, sosial mühəndislik hiylələrini real nümunələrdə tanı və cihazlarını qaydada saxla.

Özünü yoxla
Bu dərsdə öyrənəcəksən
  • Parolun entropiyasını H = L · log₂A düsturu ilə hesablamaq və düsturun hədlərini bilmək
  • MFA üsullarını müqayisə etmək və fişinqə davamlı olanı seçmək
  • Sosial mühəndislik ssenarilərini tanımaq və düzgün reaksiya vermək
  • Cihazlar və ehtiyat nüsxələr üçün gündəlik gigiyena qaydalarını tətbiq etmək

Elvinin sosial şəbəkə hesabı ələ keçirildi, halbuki parolu uzun və mürəkkəb idi. Səbəb sadə çıxdı: eyni parolu illər əvvəl oyun forumunda da işlətmişdi, forumun bazası sızmışdı, robotlar isə sızmış e-poçt və parol cütlərini yüzlərlə saytda yoxlamışdı. Bu dərsdə parollar, çoxfaktorlu autentifikasiya və insan psixologiyasına yönələn hücumlar haqqında daha dərindən danışacağıq.

Parolun gücü bitlərlə

Mümkün parolların sayı C = Aᴸ-dir. Mütəxəssislər bu nəhəng ədədi entropiya ilə, yəni bitlərlə ifadə edirlər. Hər əlavə bit hücumçunun işini iki dəfə artırır.

H = L · log₂A
burada:
  • Hentropiya, bitlə
  • Lparolun uzunluğu (simvol sayı)
  • Aəlifbanın ölçüsü: kiçik hərflər 26, böyük hərflər 26, rəqəmlər 10, işarələr 33
Python
import math

def pool_size(pw):
    pool = 0
    if any(c.islower() for c in pw): pool += 26
    if any(c.isupper() for c in pw): pool += 26
    if any(c.isdigit() for c in pw): pool += 10
    if any(not c.isalnum() for c in pw): pool += 33
    return pool

LEAKED = {'123456', 'qwerty', 'password', 'baku2024!', 'iloveyou'}

for pw in ['qwerty', 'Baku2024!', 'nar-velosiped-bulud-7', 'P@ssw0rd2026']:
    bits = len(pw) * math.log2(pool_size(pw))
    note = 'LEAKED - never use' if pw.lower() in LEAKED else ''
    print(pw.ljust(22), f'{bits:5.1f} bits', note)
▸ Gözlənilən nəticə
qwerty                  28.2 bits LEAKED - never use
Baku2024!               59.1 bits LEAKED - never use
nar-velosiped-bulud-7  128.3 bits
P@ssw0rd2026            78.8 bits
Real saytlar bu hesablamanı sızmış parolların siyahısı ilə birlikdə aparır: siyahıda olan parol neçə bit «göstərsə» də, rədd edilir.
İnteraktiv
Simulyasiya yüklənir…
Parol heç yerə göndərilmir və saxlanmır. P@ssw0rd2026 ilə başla, sonra təsadüfi sözlərdən ibarət parol yaz və effektiv entropiyanı müqayisə et.

Onlarla unikal parolu yadda saxlamaq mümkün deyil, buna görə parol meneceri lazımdır. O, hər sayt üçün təsadüfi parol yaradır və hamısını bir baş parolla şifrələnmiş «seyfdə» saxlayır. Əlavə üstünlüyü: menecer parolu yalnız düzgün domendə avtomatik doldurur, saxta saytda isə susur — bu, fişinqə qarşı gizli siqnaldır.

Çoxfaktorlu autentifikasiya

Çoxfaktorlu autentifikasiya (MFA) fərqli növdən olan ən azı iki sübut tələb edir: bildiyin şey (parol, PIN), sahib olduğun şey (telefon, təhlükəsizlik açarı) və sən özün (barmaq izi, üz). İki parol iki faktor deyil — ikisi də «bildiyin şeydir». Amma MFA üsulları eyni dərəcədə güclü deyil:

ÜsulNecə işləyirZəif yeri
SMS koduoperator telefona birdəfəlik kod göndərirSIM kartın dəyişdirilməsi fırıldağı (SIM swap), kodu soruşan fişinq
Autentifikator tətbiqi (TOTP)ortaq sirr və saatdan hər 30 saniyədə kod hesablanırfişinq saytı kodu real vaxtda ötürə bilər
Push bildirişitelefonda «Təsdiq et» düyməsi«MFA yorğunluğu»: istifadəçi bezib səhvən təsdiqləyir
Giriş açarı (passkey), FIDO2 açarıcihazdakı gizli açarla konkret domen üçün imza yaradırsaxta domendə sadəcə işləmir — fişinqə davamlıdır
Python
import hashlib, hmac, struct

def totp(secret, unix_time, step=30, digits=6):
    counter = unix_time // step
    digest = hmac.new(secret, struct.pack('>Q', counter), hashlib.sha1).digest()
    offset = digest[-1] & 0x0F
    number = int.from_bytes(digest[offset:offset + 4], 'big') & 0x7FFFFFFF
    return str(number % 10 ** digits).zfill(digits)

secret = b'12345678901234567890'   # test secret from RFC 6238
for t in [59, 60, 89, 90]:
    print('time', str(t).rjust(2), '-> code', totp(secret, t))
▸ Gözlənilən nəticə
time 59 -> code 287082
time 60 -> code 359152
time 89 -> code 359152
time 90 -> code 969429
Autentifikator tətbiqi məhz belə işləyir: kod sirr və cari 30 saniyəlik intervalın nömrəsindən hesablanır. 60 və 89-cu saniyələr eyni intervaldadır, ona görə kod eynidir.

Sirr MFA-nı qoşarkən göstərilən QR-kodun içindədir. Buna görə həmin QR-kodu heç kimə göstərmə və ehtiyat bərpa kodlarını parol menecerində saxla.

Fişinq və sosial mühəndislik

Sosial mühəndislik texnikanı yox, insanı «sındırır». Hücumçu tələsdirir, qorxudur, özünü rəhbər və ya bank əməkdaşı kimi təqdim edir, maraq və ya kömək etmək istəyindən istifadə edir. Kanal fərqli ola bilər: e-poçt (fişinq), SMS (smişinq), zəng (vişinq), QR-kod, hətta tanışın ələ keçirilmiş hesabı.

Dörd real ssenari

Hər ssenaridə hiyləni və düzgün hərəkəti tap.
1. SMS: «Kartınız bloklanıb. Bərpa üçün: bank-az-secure.info».
2. Zəng: «Bank təhlükəsizlik xidmətiyik. Şübhəli köçürməni ləğv etmək üçün SMS-dəki kodu deyin».
3. Mühasibə e-poçt: göndərənin adı direktorun adıdır, ünvan isə tanış deyil: «Təcili! Yeni təchizatçının hesabına bu gün ödəniş et, zəng etmə, iclasdayam».
4. Dostun mesencerdən: «Müsabiqədə mənə səs ver, sənə gələn kodu göndər».

Həllini göstər
1. Qorxu + saxta domen (bankın öz domeni deyil). Linkə keçmə, kartın arxasındakı nömrəyə özün zəng et.
2. Bank heç vaxt SMS kodunu soruşmur — həmin kod məhz köçürməni təsdiqləyir. Dəstəyi as və banka özün zəng et.
3. Rəhbər adından fırıldaq (BEC): tələsdirmə + «zəng etmə». Ödənişi bildiyin nömrə ilə, ayrıca kanalla yoxla.
4. Dostun hesabı ələ keçirilib; «kod» sənin hesabının giriş kodudur. Kodu göndərmə, dostuna başqa yolla xəbər ver.

Cihaz və məxfilik gigiyenası

  • Avtomatik yeniləmələri aç: yamaqların çoxu artıq hamıya məlum olan zəiflikləri bağlayır.
  • Ekran kilidi və disk şifrələməsi (Windows-da BitLocker, macOS-də FileVault) oğurlanmış noutbuku adi dəmir parçasına çevirir.
  • Tətbiqlərin icazələrini yoxla: fənər tətbiqinə kontaktlar və məkan lazım deyil.
  • Sızma bildirişi xidmətləri (məsələn, Have I Been Pwned) e-poçtunun hansı sızmalarda olduğunu göstərir — orada görünən hər parolu dəyiş.
  • Sosial şəbəkədə doğum tarixi, məktəb, ev ünvanı kimi məlumatları azalt: onlar həm kəşfiyyata yarayır, həm də «gizli sual»ların cavabıdır.
Tapşırıq

Parol-ifadə 7776 sözlük siyahıdan təsadüfi seçilmiş sözlərdən ibarətdir. 3, 4, 5 və 6 söz üçün entropiyanı hesabla və hər sətirdə N words: X bits formatında, X-i onda bir dəqiqliklə yuvarlaqlaşdıraraq çap et.

Tapşırıq · Python
import math

WORDLIST = 7776
# for 3, 4, 5 and 6 words print: N words: X bits
▸ Gözlənilən nəticə
3 words: 38.8 bits
4 words: 51.7 bits
5 words: 64.6 bits
6 words: 77.5 bits

Əsas fikirlər

  • Entropiya H = L · log₂A bitlə ölçülür, amma yalnız təsadüfi parollar üçün doğrudur.
  • Hər sayta unikal parol: bunu yalnız parol meneceri ilə etmək realdır.
  • MFA fərqli növ faktorlar tələb edir; giriş açarları (passkey) fişinqə davamlıdır, SMS isə ən zəif variantdır.
  • Sosial mühəndislik tələsdirmə, qorxu və nüfuzdan istifadə edir; cavab — dayanmaq və ayrıca kanalla yoxlamaqdır.
  • Yeniləmələr, disk şifrələməsi və 3-2-1 ehtiyat nüsxələri cihazın əsas gigiyenasıdır.

Özünü yoxla

10 sual. Hər düzgün cavab XP qazandırır.

1 / 10
Parol 10 təsadüfi simvoldan ibarətdir, əlifba 64 simvoldur. Onun entropiyası neçə bitdir?