Parol buzuvchi dasturiy ta’minotdan foydalanish
Parol buzish jarayonini amaliyotda ko’rsatish uchun C# dasturlash tilida yozilgan va foydalanuvchiga parol kiritish, hujum turini, xeshlash algoritmi kabilarni tanlash imkoniyatini taqdim qiladigan GUI ga ega bo’lgan kichik dasturiy vositadan foydalanamiz.
Dastur foydalanuvchiga buzish jarayonini konfiguratsiyalash uchun imkoniyatlar yaratadi. Jumladan, parol matni tashkil qiluvchilarini tanlash imkoniyati beriladi. Foydalanuvchi parol matnini kichik harflardan, katta harflardan, hamda, raqamlardan iborat bo’ladigan qilib sozlashi mumkin. Yoki opsiyalar kombinatsiyasidan ham foydalanishni tanlash mumkin.
Dasturda ikki turdagi xeshlash algoritmlari mavjud: MD5 va SHA-2. Foydalanuvchi buzishni amalga oshirish uchun qaysi biridan foydalanishni tanlaydi va kiritish maydoniga parolni kiritadi. “Buzish” tugmasi bosilganidan keyin dastur kiritilgan parolni xeshlaydi va o’zgaruvchi sifatida saqlaydi. Keyinchalik lug’atdan olingan har bir so’z xeshlanadi va saqlab qo’yilgan xeshga nisbatan moslikka tekshiriladi. Jarayon ikki xesh qiymatlar bir-biriga mos kelmagunicha davom etadi.
Dastur qo’llab-quvvatlaydigan hujum turlari ham ikkita bo’lib, ular “Brute force” hamda lug’at.
Lug’at orqali hujumda undagi har bir so’z xeshlanib, parol xeshi bilan mos kelishi tekshiriladi. Dasturga WinEDT’dan olingan lug’at fayli ulangan bo’lib, u 118619 ta so’zdan tashkil topgan. Shunday qilib barcha so’zlardan foydalanib chiqish uchun O(n) vaqt murakkabligi talab qilinadi. Bunda n lug’atdagi so’zlar soni hisoblanadi.
“Brute force” algoritmi har bir mumkin bo’lgan kombinatsiyani qo’llab ko’radi. Bunda parolning maksimal uzunligi 8 ta belgidan ko’p bo’lmasligi talab qilinadi. Albatta, bu turdagi hujum lu’gat orqali hujumdan anchagina sekin hisoblanadi. Algoritmning vaqt murakkabligi O(mn) hisoblanadi. Bu yerda m harflar to’plamidagi harflar soni bo’lsa, n parolning uzunligi hisoblanadi. Bundan ko’rinib turibdiki, uzunlik oshgani sari dastur ishlash vaqti karrasiga ko’payib boradi. Ushbu holatni chetlab o’tishni imkoniyati kam hisoblanadi, ammo GPU yordamida parallellashtirish yordamida dasturni optimallashtirish mumkin. Lug’at orqali hujumdan farqli ravishda, “Brute force” hujumi tasodifiy yaratilgan parollarga nisbatan ham “immunitet”ga ega bo’lib, yetarlicha vaqt va resurslar sarfidan so’ng kutilgan natijaga erishish imkoniyati mavjud.
Dasturning samaradorligini tekshirib ko’rish maqsadida, parolni qanchalik tez buzilishini kuzatish uchun testlar o’tkazib ko’rildi. Ikkala hujum turi ham turli xildagi uzunlik va murakkablikdagi parollarga qarshi ishlatib ko’rildi.
Kutilganidek, MD5 xeshlari SHA-1 xeshlaridan tezroq ishlashi kuzatildi. “Brute force”ni ishlatganda farq 15%ni tashkil etdi. MD5 algoritmida xeshlar133,600.5895 x/s tezligida hisoblab chiqildi. Bu ko’rsatgich SHA-1da 116213.4901 x/s’ni tashkil etdi.
Lug’at hujumidan foydalanilganida MD5 algoritmi SHA-1’dan 9% tezroq ishladi. Soniyasiga urinishlar soni biroz balandroq bo’lib chiqdi. MD5 uchun 332,928 x/s va SHA-1 uchun 305,557 x/s natijalari qayd etildi. Lug’atdagi barcha so’zlar kompyuter xotirasiga joylab qo’yilgani xeshlash jarayoning biroz tezroq bo’lishini ta’minladi. Natijalar bilan batafsil quyidagi jadvallarda tanishish mumkin
1-jadval
Qayd etilgan natijalar qaysi hollarda va qanday turdagi parollar “buzg’unchi” dasturiy vositalar uchun qiyinchiliklar tug’dirishi haqida umumiy tasavvurga ega bo’lindi. Kuchli parollar uchun ishlatilishi kerak bo’lgan usullardan biri so’zlarni qo’shib, katta-kichik harflar bilan, hamda, turli xil belgilar qo’shib yozish usulidir. Misol tariqasida “MeningBirinchiEngKuchliParolim#”ni keltirish mumkin. Bu parol kuchliligining asosiy faktori uning katta uzunlikga ega ekanligidir. Yana bir foydali tarafi bu kabi parollar eslab qolishga oson hisoblanadi.
Parol uzunligi 8 belgidan kam bo’lmasligi kerak, lekin kompyuterlar kuchayib borgani sari bu ham muvaffaqqiyatli hujumni oldini olish uchun yetarli uzunlik bo’lmay qoldi, ayniqsa parol tahmin qilishga oson yoki lug’at so’zlaridan tashkil topgan bo’lsa. Undan tashqari parollarni tez-tez yangilab turish ham xavfsizlik nuqtai nazaridan foydali hisoblanadi.
2-jadval
Xulosa
Parolni buzish juda haqiqiy tahdiddir. Ko’rsatib o’tilgan hujumni bartaraf etish uchun foydalanish mumkin bo'lgan ko'plab usullar mavjud. Xakerlar tomonidan muvaffaqqiyatli hujumlarni oldini olish uchun foydalanuvchi bajarishi kerak bo’lgan amallar sanab o’tildi. Ikkita xeshlash algoritmi samaradorligini tadqiq etish uchun dasturiy vositadan foydalanildi va natijalar hisoboti keltirildi.
Foydalanilgan manbalar:
1. R.Madaliyev ”Axborot xavfsizligini ta’minlash” 2016-yil.
2. S.Y.Yusupov, A.X.Xakimov “Axborot xavfsizligi ma`ruza to`plami” 2018-yil.
3. S.K.G’aniyev, M.M.Karimov “Axborot xavfsizligi” kitobi. 2017-yil.
4. Infosecinstitute, http://resources.infosecinstitute.com/10-popular-password-cracking-tools/
5. Hashcat, https://hashcat.net/hashcat
6. L0phtCrack, http://www.l0phtcrack.com/learn.html
7. Aircrack-NG, http://www.aircrack-ng.org/
Do'stlaringiz bilan baham: |