Har qanday taraqqiy etgan jamiyat hayotida axborotning ahamiyati uzluksiz ortib bormoqda - bet 8

|
Har qanday taraqqiy etgan jamiyat hayotida axborotning ahamiyati uzluksiz ortib bormoqda
|
bet | 8/18 | Sana | 12.01.2024 | Hajmi | 1,81 Mb. | | #135841 |
Bog'liq Har qanday taraqqiy etgan jamiyat hayotida axborotning ahamiyatiо‘zaro autentifikatsiyaning mavjudligi. Ushbu xususiyat autentifikatsion almashinuv taraflari o‘rtasida ikkiyoqlama autentifikatsiyaning zarurligini aks ettiradi;
hisoblash samaradorligi. Protokolni bajarishda zarur bo‘lgan amallar soni;
kommunikatsion samaradorlik. Ushbu xususiyat autentifikatsiyani bajarish uchun zarur bo‘lgan xabar soni va uzunligini aks ettiradi;
uchinchi tarafning mavjudligi. Uchinchi tarafga misol tariqasida simmetrik kalitlami taqsimlovchi ishonchli servemi yoki ochiq kalitlami taqsimlash uchun sertifikatlar daraxtini amalga oshiruvchi servemi ko‘rsatish mumkin;
xavfsizlik kafolati asosi. Misol sifatida nullik bilim bilan isbotlash xususiyatiga ega bo‘lgan protokollami ko‘rsatish mumkin;
sirni saqlash. Jiddiy kalitli axborotni saqlash usuli ko‘zda tutiladi [16].
DOS (Denial-of-service) tarmoq hujumning bu turi xizmat qilishdan voz kechish hujumi deb nomlanadi. Bunda hujum qiluvchi legal foydalanuvchilarning tizim yoki xizmatdan foydalanishiga to‘sqinlik qilishga urinadi. Tez-tez bu hujumlar infratuzilma resurslarini xizmatga ruxsat so‘rovlari bilan to‘lib toshishi orqali amalga oshiriladi. Bunday hujumlar alohida xostga yo‘naltirilgani kabi butun tarmoqqa ham yo‘naltirilishi mumkin. Hujumni amalga oshirishdan oldin obyekt to‘liq o‘rganilib chiqiladi, ya’ni tarmoq hujumlariga qarshi qo‘llanilgan himoya vositalarining zaifligi yoki kamchliklari, qanday operatsion tizim o‘rnatilgan va obyekt ish faoliyatining eng yuqori bo‘lgan vaqti. Quyidagilarni aniqlab va tekshirish natijalariga asoslanib, maxsus dastur yoziladi. Keyingi bosqichda esa yaratilgan dastur katta mavqega ega bo‘lgan serverlarga yuboriladi. Serverlar o‘z bazasidagi ro‘yxatdan o‘tgan foydalanuvchilarga yuboradi. Dasturni qabul qilgan foydalanuvchi ishonchli server tomonidan yuborilganligini bilib yoki bilmay dasturni o‘rnatadi. Aynan shu holat minglab hattoki, millionlab kompyuterlarda sodir bo‘lishi mumkin. Dastur belgilangan vaqtda barcha kompyuterlarda faollashadi va to‘xtovsiz ravishda hujum qilinishi mo‘ljallangan obyektning serveriga so‘rovlar yuboradi. Server tinimsiz kelayotgan so‘rovlarga javob berish bilan ovora bo‘lib, asosiy ish faoliyatini yurgiza olmaydi. Server xizmat qilishdan voz kechib qoladi [1].
Xizmat qilishdan voz kechish hujumidan himoyalanishning eng samarali yo‘llari quyidagilar:
tarmoqlararo ekranlar texnologiyasi (Firewall);
IPsec protokoli.
Tarmoqlararo ekran ichki va tashqi perimetrlarning birinchi himoya qurilmasi hisoblanadi. Tarmoqlararo ekran axborot-kommunikatsiya texnologiya (AKT)larida kiruvchi va chiquvchi ma’lumotlarni boshqaradi va ma’lumotlarni filtrlash orqali AKT himoyasini ta’minlaydi, belgilangan mezonlar asosida axborot tekshiruvini amalga oshirib, paketlarning tizimga kirishiga qaror qabul qiladi.
1.5-rasm. DOS hujum tashkillashtirish jarayoni
Tarmoqlararo ekran tarmoqdan o‘tuvchi barcha paketlarni ko‘radi va ikkala (kirish, chiqish) yo‘nalishi bo‘yicha paketlarni belgilangan qoidalar asosida tekshirib, ularga ruxsat berish yoki bermaslikni hal qiladi. Shuningdek, tarmoqlararo ekran ikki tarmoq orasidagi himoyani amalga oshiradi, ya’ni himoyalanayotgan tarmoqni ochiq tashqi tarmoqdan himoyalaydi. Himoya vositasining quyida sanab o‘tilgan qulayliklari, ayniqsa, paketlarni filtrlash funksiyasi DOS hujumiga qarshi himoyalanishning samarali vositasidir. Paket filtrlari quyidagilarni nazorat qiladi:
fizik interfeys, paket qayerdan keladi;
manbaning IP-manzili;
qabul qiluvchining IP-manzili;
manba va qabul qiluvchi transport portlari.
Tarmoqlararo ekran ba’zi bir kamchiliklari tufayli Dos hujumidan to‘laqonli himoyani ta’minlab bera olmaydi:
loyihalashdagi xatoliklar yoki kamchiliklar — tarmoqlararo ekranlarning har xil texnologiyalari himoyalana-yotgan tarmoqqa bo‘ladigan barcha suqilib kirish yo‘llarini qamrab olmaydi;
Amalga oshirish kamchiliklari — har bir tarmoqlararo ekran murakkab dasturiy (dasturiy-apparat) majmua ko‘rinishida ekan, u xatoliklarga ega. Bundan tashqari, dasturiy amalga oshirish sifatini aniqlash imkonini beradigan va tarmoqlararo ekranda barcha spetsifikatsiyalangan xususiyatlar amalga oshirilganligiga ishonch hosil qiladigan sinov o‘tkazishning umumiy metodologiyasi mavjud emas;
Qo‘llashdagi (ekspluatatsiyadagi) kamchiliklar — tarmoqlararo ekranlarni boshqarish, ularni xavfsizlik siyosati asosida konfiguratsiyalash juda murakkab hisoblanadi va ko‘pgina vaziyatlarda tarmoqlararo ekranlarni noto‘g‘ri konfiguratsiyalash hollari uchrab turadi. Sanab o‘tilgan kamchiliklarni IPsec protokolidan foydalangan holda bartaraf etish mumkin. Yuqoridagilarni umumlashtirib, tarmoqlararo ekranlar va IPsec protokolidan to‘g‘ri foydalanish orqali DOS hujumidan yetarlicha himoyaga ega bo‘lish mumkin.
SQL ineksiya tahdidi ma’lumotlar bazasiga tegishli bo‘lgan tahdid bo‘lib, SQL so‘rovlarga taqiqlangan belgilarni kiritish va buning natijasida ma’lumotlar
bazasida boshqa natija olishga qaratilgan. Bu tahdid turi eng ko‘p uchraydigan tahdid turi bo‘lib, uning hajmi yildan – yilga ortib bormoqda. Sodda misol. Bu tahdidni tushunish uchun quyidagi sodda hayotiy misolni keltiraylik. “Alining otasi onasiga Aliga 100$ pul berish kerakligini yozib maktub qoldirdi.” Bu gapni SQL so‘rovi shaklida ifodalansa quyidagicha bo‘ladi: “cho‘ntagimdan 100$ OL VA HAMMASINI BER ALIGA”.
Qoldirilgan maktubni Alining akasi Vali ko‘rib qoldi. Vali bo‘lg‘usi xaker bo‘lganligi uchun, qoldirilgan maktubga “YOKI VALIGA” deb qo‘shib qo‘yadi.
Ona kelib maktubni oladi va kecha Aliga pul berganligi uchun pulni Valiga beradi. Bu SQL ineksiya tahdidiga bir hayotiy misol. Ona qoldirilgan maktubni filterlamaslik natijasida pulni Valiga berib yubordi.
1.6-rasm. DOS hujum tashkillashtirish jarayoni
SQL ineksiyaning 5 ta asosiy sinfi mavjud:
UNION query SQL injection. Ushbu tur ineksiyaning klassik ko‘rinish bo‘lib, bundan so‘rov “UNION ALL SELECT” dan takshil topgan bo‘ladi. Bu turdagi ineksiya SELECT dagi natija to‘g‘ridan – to‘g‘ri qaytarilganda yuzaga keladi.
Error-based SQL injection. Bu holda skaner tekshirish davomida zaif belgini almashtirish yoki qo‘shgan vaqtda yuzaga keladi va ma’lumotlarni boshqarish tizimlarida xatolik yuz berganda foydalaniladi.
Stacked queries SQL injection. Bu turdagi ineksiyada SELECT komandasidan tashqari buyruqlar (INSERT yoki DELETE) foydalanilgan holda va HTTP so‘rovlarini tekshirish jarayonida nuqtali vergul (;) bilan almashtirish sodir bo‘lganda yuzaga keladi.
Boolean-based blind SQL injection. Ushbu turdagi ineksiya “ko‘r” ineksiya deb atalib, ma’lumotlar bazasidan zaiflik yaqqol ko‘rinmagan holda foydalaniladi. Bunda sintaktik to‘g‘ri bo‘lgan so‘rovlarni kiritish orqali qaytarilgan mantiqiy javobga asoslanib natija aniqlanadi.
Time-based blind SQL injection. Bu to‘liq “ko‘r” ineksiya bo‘lib, unda so‘rovda quyi so‘rov kiritiladi va bu so‘rov ma’lumotlar ba’zasini boshqarish tizimining ishini bir muncha to‘xtatib turadi (SLEEP() yoki BENCHMARK()).
Bu tahdid asosan taqiqlangan belgilarni tekshirmaslik natijasida kelib chiqadi. Quyida ushbu zaiflikni o‘z ichiga olgan SQL so‘rovi keltirilgan:
statement = "SELECT * FROM users WHERE name = ‘" + userName + "‘;"
Bu so‘rovga asosan aynan kerakli foydalanuvchi nomi ma’lumotlar bazasidan qidirilmoqda. Agar bu so‘rov buzg‘unchi tomonidan userName o‘rniga ‘ OR ‘1’=‘1 kiritilsa, quyidigi so‘rov hosil bo‘ladi:
SELECT * FROM users WHERE name = ‘‘ OR ‘1’=‘1’;
Natijada ma’lumotlar bazasidan barcha foydalanuvchilar to‘g‘risidagi ma’lumotlar chiqariladi. Bu erda quyidagi taqiqlangan belgilar birikmasidan ham foydalanish mumkin.
‘ OR ‘1’=‘1’ --
‘ OR ‘1’=‘1’ ({
‘ OR ‘1’=‘1’ /*
Bu tahdidlarni oldini olishda kiruvchi so‘rov maxsus belgilarga tekshirilishi kerak. Ammo, bu so‘rovlarni kundan-kunga yangi turlari kelib chiqmoqda.
So‘rovlarni SQL ineksiyaga zaifligini tekshirish.
1. buning uchun ma’lumot bazasi yaratib, unda sodda jadvallar yaratamiz. Masalan, “news” nomli jadval yaratib unga “id” nomli ustun qo‘shing. Quyidagi sodda so‘rov jadvaldan berilgan id tegishli ma’lumotni qaytaradi.
$id = $_GET[‘id’];
$query = "SELECT * FROM news WHERE id=$id";
Ushbu so‘rov SQL ineksiyaga tekshirilmagan bo‘lib, uni tekshirish uchun quyidagi so‘rovni kiritamiz:
sqlinj/index1.php?id=1’
agar ushbu buyruq kiritilganda xatolik yuz bersa demak zaiflik mavjud bo‘ladi. Xatolik yuz bersa demak zaiflikga qarshi tekshirilgan yoki xatolikni ko‘rsatish o‘chirib qo‘yilgan.
2. qator kiritilganda mavjud xatolikni aniqlash uchun ham yuqoridagi kabi so‘rovni qator tipidagi ustun uchun kiritish zarur.
$user = $_GET[‘user’];
$query = "SELECT * FROM news WHERE user=‘$user’";
Quyidagi so‘rovni kiritish orqali uni aniqlash mumkin:
sqlinj/index1.php?user=hacker’
3. SQL tilida kommentariyaga olish “--” belgisi bilan amalga oshiriladi. Ushbu belgini oldidan va orqasidan probel bo‘lishi zarur. URL manzillarda probel “%20” kabi ifodalanadi.
SELECT * FROM news WHERE user=‘hacker’ -- blablabla
URL da ifodasi
sqlinj/index1.php?user=hacker’%20--%20 blablabla
4. UNION buyrug‘idan foydalanish orqali maydonlar sonini bilish mumkin.
sqlinj/index1.php?id=1 UNION SELECT 1,2
xatolik
sqlinj/index1.php?id=1 UNION SELECT 1,2,3
xatolik yuq demak ustunlar soni 3 ga teng.
5. GROUP BY dan foydalangan holda ustunlar sonini aniqlash.
sqlinj/index1.php?id=1 GROUP BY 2
|
| |