Autentifikasiya. Şifrələr siyasəti
Müasir informasiya sistemlərinin (İS) böyük əksəriyyətinin əsas autentifikasiya vasitəsi – statik şifrələrdir. Çox zaman İS-də qorunmalı olan məlumatların ümumi təhlükəsizliyi, tətbiq edilən mürəkkəb şifrələr siyasətindən birbaşa asılı olur. Bu postda mürəkkəb şifrələr siyasəti tətbiqinin zərurətini, şifrələrin offlayn hücumlar vasitəsilə sınıdırlması sxemləri üzərindən əsaslandırmağa çalışacağam. Məqalədə təsvir olunan şifrələrin ələ keçirilməsi metodları sosial mühəndisliyi özündə ehtiva etmir.
Statik şifrələrə offlayn ( bundan sonra şifrə) hücumlarda 1-ci addım, subyektlərin şifrə hash-larının saxlandığı bazanın ələ keçirilməsidir – hücum edən tərəf bunu bir çox vasitələrlə edə bilər – sosial mühəndislik, sistemdə olan boşluqlar, istifadəçi diqqətsizliyi və s. Bundan sonrakı mərhələ bəsit məntiq üzərində qurulur : hücum edən tərəf obyektə daxil olmaq üçün tələb olunan şifrəni offlayn rejimdə ehtimal etməyə çalışır. İlk baxışdan mümkünsüz kimi görünən bir prosess – məsələn, 9 simvollu, hərf və rəqəmlərdən ibarət Mamed1980 şifrəsi özündə 62^9 ( 62 üstü 9) seçim əhatə edir – zəif hash algoritmlərindən və ortaya müasir texnologiyaların və alətlərin gətirilməsilə o qədər də mürəkkəb görünmür.
Şifrənin sındırılması əsasən 2 aspektdən asılıdır:
- İstifadə olunan resursun emal gücü;
- Şifrənin ehtimalla seçilməsinə yanaşma metodu;
1-ci aspekt.
Resursun emal gücü dedikdə – hər hansı bruto-force hücumlarında ehtimal olunan şifrələrin hansı sürətlə ( oxu – tezliklə) emal olunacağı nəzərdə tutulur. Məsələn, yuxarıda qeyd etdiyimiz misala nəzər salaq – Mamed1980 şifrəsinin NTLM sxemində hash-inin orta konfigurasiyalı müasir PC-də brute-force metoduyla 1 saniyəyə 100 milyona yaxın seçimini yoxlamaq mümkündür – bu, zaman çərçivəsində 4 ilə yaxın zaman deməkdir. GPU prosessorlarından istifadə edən xüsusi sistemlər vasitəsilə bu sürəti 1 saniyədə 350 milyarda (!) qədər də artırmaq olur ki bu zaman həmin hash-in sındırılma zamanı 10 saata ( cəmi) yaxın zamanda həyata keçirilə bilir. Bu anlamda, Moore qanununu nəzərə almaq lazımdır – qanuna əsasən, ümuliləşdirib desək, , mərkəzi prosessorların emal gücü hər 4 il 2 dəfə artır və bu da sonucda daha 1 saniyəyə daha çox variantların yoxlanması deməkdir. 10 il bundan öncə belə bir real görünməyən təhlükələr artıq bu gün kifayət qədər asanlıqla həyata keçirilə bilər və ya bu gün üçün kifayət qədər təhlükəsiz görünən standart və şifrələr 10 il sonra asanlıqla sındırıla bilər.
2-ci aspekt
Prinsip etibarilə, şifrənin ehtimalla seçilmə metodu – 1-ci aspektdə işlədilən metodların optimallaşdırılmasına yönəldilib – 4 il müddəti, kifayət qədər aktual olmaya bilər 🙂
Optimallaşdırma dedikdə, istifadə olunan hücum metodlarının istifadə etdikləri ehtimallar çoxluğunu, mümkün qədər azaltmaq nəzərdə tutulur. Məsələn, offlayn brute-force hücumlarında Mamed1980 şifrəsinə hücum zamanı ehtimallar çoxluğunun effektiv şəkildə azaldılmasına nəzər salaq.
Yuxarıda da qeyd etdiyimiz kimi, Mamed1980 şifrəsi özündə 62 ^ 9 seçim variantını birləşdirir. Şifrənin insan tərəfindən təyin olunduğunu nəzərə alaraq, optimallaşdırmanın 1 yolu 1-ci simvolun böyük hərflə qeyd olunduğunu təxmin etməkdir. Daha sonra, ən çox istifadə olunan şifrə sonluğu istifadəçinin doğulduğu tarix və ya müasir il ola bilər – İS -nin istifadəçilərinin kifayət qədər yeni nəsil olduğunu nəzər alsaq (1900-2015), ehtimal çoxluğunun çox da geniş olmadığını görə bilərik. Yuxarıda yazılanları nəzərə alsaq , 1-ci hərfi böyük olan və son 4 simvolunun rəqəm olduğu təxmin edilən 9 simvollu Mamed1980 şifrəsinin sındırılma müddəti cəmi 40 dəqiqəyə qədər azala bilir. Qeyd etdiyimiz metod optimallaşdırma analizinin yalnız 1 addımıdır, daha geniş burada tanış ola bilərsiniz. Həmçinin, hücum edən tərəf internetdə mövcud açıq şəkildə dərc edilmiş şifrələrin siyahısından, müxtəlif dillərin semantik statistikasından istifadə edə bilər. Bu statistikalar, məsələn, ingilis dilində “ab” hərf birləşməsinin “aa” hərf birləşməsinə nisbətən daha çox sözlərdə istifadəsini nəzərə alır nəticədə brute-force üçün istifadə olunan həllər çoxluğunu 1 az da sıxmaq mümkündür. Bu metodlar, azərbaycan sözlərindən tərtib olunmuş şifrələr üçün keçərsiz ola bilər – şəxsi araşdırmalarıma görə, azərbaycan dili üçün müvafiq statistikalar hesablanmayıb. Son dövrlər, ən çox istifadə olunan hash analiz programları şifrələrin statistik analizinin riyazi modelindən – Markov zəncirləri metodundan istfadə edirlər.
Yuxarıda sadalananları nəzərə alaraq, şifrə üzərindən autentifikasiya sisteminin arxitekturasını və şifrələr siyasətini hazırlayarkən, aşağıda göstərilənləri nəzərə alın:
Şifrələr siyasəti üçün:
- Şifrə uzunluğunun 10 və daha artıq simvoldan ibarət olmasin və şifrə tərtibində istifadə olunan 4 mümkün simvol tiplərindən ( böyük,kiçik hərflər, rəqəm və simvol – A,a,1,?) minimum 3-nün istifadəsini tələb edin;
- Şifrələrin daxil olunduğu GUİ ilə backend arasında təhlükəsiz informasiya mübadiləsi şərtlərini təmin edin (məsələn, TLS/SSL və s.) ;
- İstifadəçiləri müntəzəm olaraq şifrələrin dəyişməyini tələb edin ( həmçinin, şifrəsinin istifadə vaxtı bitmiş istifadəçilərin dərhal sistemdən kənarlaşdırılmasına nail olun – “force logoff”) ;
- İstifadəçi şifrələrinin istifadə tarixini saxlayın. Eyni şifrələrin 20-24 dövrdən tez olmayaraq yenidən istifadəsinə icazə verməyin. İnzibatçının müdaxiləsi olmadan gün ərzində 1 dəfədən çox şifrə dəyişmək imkanı yaratmayın;
- İstifadəçi adı və şəxsi məlumatların ( ad, soyad) şifrədə istifadə olunmasının qarşısını alın;
- Şifrələrin mütləq şəkildə hash formasında saxlayın. Şifrə hash-larının dayanıqlı şifrələmə protokolundan istifadə etməklə yaradılmasına əmin olun ( məsələn, crypt,bcrypt,scrypt, PBDKF2);
- Asan şifrələr siyasını tərtib edin və həmin şifrələrdən istifadəni qadağan edin. Müntəzəm olaraq bu siyahını yeniləyin;
- İstifadəçi şifrələrinin saxlandığı bazanın fiziki təhlükəsizliyinə əmin olun;
- Müntəzəm olaraq şifrələr sisteminə offlayn hücumlar təşkil edin (white box penetration testing);
- Həssas informasiyanın saxlandığı və ötürüldüyü sistemlərdə çoxfaktorlu autentifikasiya metodlarından istifadəni nəzərdən keçirin. Məsələn, statik şifrlərlə yanaşı, birdəfəlik şifrələr (OTP), biometrika və s. metodlar;
İstifadəçilər üçün :
- Çətin şifrələrdən istifadə edin. Şifrənin yaradılmasında, məsələn, Şnayer metodundan istifadə edə bilərsiniz. Metod, hər hansı uzun cümlədə istifadə olunan sözlərin baş hərflərindən şifrə Tərtibini nəzərdə tutur – M,hh6ucio5sbhşT4nt;
- Hər hansı ingilis sözlərindən, məşhur adlardan istifadədən çəkinin;
- Şifrənizi heç bir kənar şəxsə ötürməyin, kağıza yazmayın. Əgər şifrəni yadda saxlamaqda çətinlik çəkirsinizsə, bu məqsədlər üçün hazırlanmış program təminatından istifadə edin, məsələn, LastPass, Password Safe və s;
- Müxtəlif sistemlər üçün eyni şifrəni istifadə etməyin. Bu, sizi, sistemlərin 1-nin kompromentasiyası şəraitində bütün sistemlərin şifrəsinin ələ keçirilməsi risklərindən qoruya bilər;
Bu qədər,
Fərid Səmədov | CISM, CISSP, RHCE, MCITP
Şərhlər ( 2 )
Təşəkkürlər Fərid.
Əlavə edim ki, Keyboard Pattern tipli şifrələrdən də istifadədən çəkinmək lazımdır.
Maraqlı bir whitepaperdir oxumağa dəyər:
http://cs.wheatonma.edu/~mgousie/comp401/amos.pdf
Təşəkkürlər Fərid. Bu tip mövzular daima gündəmdədir. Maraqlı və aktiv mövzudur.