1. Java qanday ishlaydi


Xizmatni blokirovka qilish


Download 33.11 Kb.
bet2/3
Sana21.06.2023
Hajmi33.11 Kb.
#1639183
1   2   3
Xizmatni blokirovka qilish
Natijada, foydalanuvchining ishi qisman yoki to'liq bloklanadi va brauzer hatto o'chirib qo'yilishi mumkin. Mana bunday "hujum" uchun mumkin bo'lgan variantlarning to'liq ro'yxati:
Protsessorni ma'nosiz harakatlar bilan yuklash;
barcha bo'sh xotirani to'ldirish;
muhim tizim sinflarini olish.
"Maxfiy" kanallar
Ushbu kanallar sizga hatto himoya tizimi (xavfsizlik devorlari) orqali ham ma'lumot olish imkonini beradi. Brauzerda "maxfiy" kanallarning mavjudligi uni juda xavfli qiladi. Quyidagi applet harakatlaridan "maxfiy" kanal sifatida foydalanish mumkin:
serverning SMTP porti orqali pochta jo'natish (bundan tashqari, pochta applet bilan ishlaydigan foydalanuvchi nomidan yuboriladi);
· "xaker" uchun zarur bo'lgan ma'lumotlar parametr sifatida uzatiladigan mavjud bo'lmagan URL manzilni qidirish so'rovi;
· mavjud bo'lmagan manzilga kirishga urinish (kataloglar ketma-ketligi kerakli ma'lumotlarni o'z ichiga olishi mumkin).
Appletlarga ma'lum ma'lumotlar
Ushbu ma'lumot bilan siz keyinchalik u tomonidan "hack" uchun ishlatilishi mumkin bo'lgan ba'zi ma'lumotlarni olishingiz mumkin. Ushbu ma'lumot hatto yuqorida tavsiflangan yashirin kanallar orqali xavfsizlik devorlari orqali uzatilishi mumkin. Appletlar odatda quyidagi tizim ma'lumotlarini bilishadi:
Tizim vaqti
operatsion tizimning nomi va versiyasi;
protsessor arxitekturasi.
Yuklab olinadigan appletlarning kuchi va mijoz tizimining himoyasi o'rtasidagi muvozanatni saqlash juda qiyin. Taklif etilayotgan echimlarni ma'lum platformadan mustaqil ravishda amalga oshirish mumkin emas, bu Java dasturlarining mutlaq portativligi talabiga ziddir.
3. JDK 1.2 xavfsizlik modeli
Java texnologiyasi uchta guruhga bo'linadigan bir qator xavfsizlik liniyalarini taqdim etadi:
tilning ishonchliligi;
dasturlarni qabul qilish va yuklanishini nazorat qilish;
dasturlarning bajarilishini nazorat qilish.
Java statik va dinamik boshqaruvlar orqali xavfsizlikni ta'minlaydi. Yana bir Java - bu avtomatik xotira boshqaruvi bo'lib, u "osilib turgan" ko'rsatkichlarning ko'rinishini yo'q qiladi.
Java-da dasturlarni qabul qilish va yuklash ustidan nazorat ko'p bosqichli. Birinchidan, dasturiy ta'minot komponentlari elektron imzo bilan ta'minlanishi mumkin, bu ularning yaxlitligi va haqiqiyligini nazorat qilish imkonini beradi. Ikkinchidan, bayt-kod tekshiruvi qabul qilingan ma'lumotlarning formatini umumiy tekshirishdan tashqari, quyidagi noto'g'ri harakatlar yo'qligiga ishonch hosil qilishga harakat qiladi:
Soxta ko'rsatkichlar (masalan, arifmetik amal natijasida ko'rsatgich olish);
sinf komponentlariga kirish huquqlarining buzilishi;
yaroqsiz parametrlar to'plamiga ega ob'ektlarni chaqirish usullari;
Yaroqsiz turdagi konvertatsiya
stekning to'lib ketishi yoki charchashi.
Dasturning bajarilishini nazorat qilishni ikki darajaga bo'lish mumkin. Pastroq darajada, Java Virtual mashinasi massivning ko'payishi va shunga o'xshash noto'g'ri xatti-harakatlarga ruxsat bermaydi. Yuqori darajada xavfsizlik menejeri tanlangan xavfsizlik siyosatini amalga oshirish uchun mazmunli kirish tekshiruvlarini amalga oshiradi.
Agar guruhlar va darajalarga bo'linishni davom ettiradigan bo'lsak, Java xavfsizligining quyidagi ikki jihatini ajratib ko'rsatish foydali bo'ladi:
ish vaqti Java muhitini va apparat va dasturiy platforma resurslarini zararli dasturlardan himoya qilish;
· sub'ektlarning amaliy qatlam resurslariga kirishini farqlash.
Java-da xavfsizlik choralarining asosiy maqsadi Java muhitini zararli dasturlardan himoya qilishdir. Ushbu maqsadga erishish uchun "qum qutisi" ( sandbox ) kontseptsiyasi taklif qilindi - potentsial ishonchsiz dasturlar ishlaydigan yopiq muhit. Bular tarmoq orqali qabul qilingan appletlar hisoblangan. Barcha "mahalliy" kodlar (ya'ni mahalliy kompyuterda joylashgan dasturlar) mutlaqo ishonchli deb hisoblangan va Java virtual mashinasida mavjud bo'lgan hamma narsa unga mavjud edi.
Sandbox cheklovlari mahalliy fayl tizimiga kirishni cheklash, applet manbasidan (applet olingan xostdan) tashqari barcha xostlar bilan tarmoq aloqasi va hokazolarni o'z ichiga oladi. Bunday cheklovlar bilan xavfsizlik umuman ta'minlanadi, ammo appletlarning ishlashi uchun deyarli hech qanday yo'l yo'q.
Ushbu muammoni qandaydir tarzda hal qilish uchun applet distribyutori tomonidan qo'yilgan elektron imzo tushunchasi joriy etildi. Java mashinasi o'zining xavfsizlik siyosatiga muvofiq distribyutorlarni va shunga mos ravishda ularning appletlarini ikki toifaga ajratadi - ishonchli va ishonchsiz. Ishonchli appletlar huquqlar bo'yicha "mahalliy" kod bilan tenglashtirilgan.
Uchta asosiy tushunchalar paydo bo'ldi:
Dasturning manbasi
qonun va ko'plab huquqlar;
· Xavfsizlik siyosati.
Dasturning manbasi juftlik (universal resurs lokatori -- URL, dastur tarqatuvchilari) tomonidan aniqlanadi. URL manzili mahalliy fayl tizimidagi faylga yoki uzoq tizimdagi manbaga ishora qilishi mumkin.
Huquq - bu mavhum tushuncha bo'lib, uning ortida odatdagidek Java-da sinflar va ob'ektlar mavjud. Ko'pgina hollarda huquq ikki belgilar qatori, manba nomi va harakat bilan belgilanadi. Misol uchun, resurs fayl bo'lishi mumkin va faoliyat o'qish bo'lishi mumkin.
Xavfsizlik siyosati manba va undan olingan dasturlarning huquqlari o'rtasidagi yozishmalarni belgilaydi. "Native" dasturlari xavfsizlik nuqtai nazaridan hech qanday imtiyozlarga ega emas va ularga nisbatan siyosat har qanday bo'lishi mumkin.
Aslida, quyidagi xususiyatlarga ega zamonaviy operatsion tizimlar va ma'lumotlar bazasini boshqarish tizimlari uchun an'anaviy bo'lgan kirish huquqlari mexanizmi mavjud:
· Kirish predmeti foydalanuvchi emas, balki dasturning manbasidir. Biroq, rasmiy ravishda shuni hisoblash mumkinki, dasturni bajarish jarayonida uning manbasi bo'ladi;
· Resurs egasi (egasi) huquqlarini o'zgartirishi mumkin bo'lgan tushunchasi mavjud emas; ikkinchisi faqat xavfsizlik siyosati bilan belgilanadi.
JDK 1.2 da xavfsizlik modeli
4. Java tilining kriptografik arxitekturasi
Kriptografiyasiz kuchli autentifikatsiya, yaxlitlikni nazorat qilish va maxfiylik mumkin emas.
Java Kriptografiya Arxitekturasi (JCA) quyidagi xizmatlarni taqdim etish uchun mo'ljallangan:
elektron imzoni sozlash/tekshirish;
hash funktsiyasini hisoblash;
ommaviy/maxfiy kalit juftlarini yaratish;
Ochiq kalitlarning haqiqiyligini tasdiqlovchi sertifikatlarni yaratish;
ishonchli sheriklarning kalitlari va sertifikatlarini saqlash;
kalitlarni yashirin tuzilishga ega bo'lgan tasvirdan umumiy tushuniladigan tasvirga aylantirish va aksincha;
kriptografik algoritmlar parametrlarini yaratish;
(psevdo) tasodifiy sonlarni yaratish;
nosimmetrik shifrlash;
umumiy kalit materialni ishlab chiqish.
Bundan tashqari, kriptografik arxitektura quyidagi texnologik talablarga javob berishi kerak:
algoritmlardan va ularni amalga oshirishdan mustaqillikni ta'minlash;
amalga oshirishning o'zaro muvofiqligini ta'minlash;
· algoritmlar to'plamining kengaytirilishi va ularni amalga oshirishni ta'minlash.
Har bir xizmat bir nechta algoritmlar bilan ta'minlanishi mumkin, ularning har biri o'z navbatida bir nechta ilovalarga ega bo'lishi mumkin. Например, для вычисления хэш-функции предназначены алгоритмы MD5/SHA-1 (равно как и российский ГОСТ "Функция хэширования"), для выработки и проверки электронной подписи -- алгоритмы RSA/DSA, российский ГОСТ "Процедуры выработки и проверки электронной цифровой подписи" va hokazo.
Xizmatlarning dasturlash interfeysi ularning funksionalligini algoritm jihatdan mustaqil shaklda aks ettirish uchun mo'ljallangan. Amalga oshirishni belgilash uchun kriptografik xizmat ko'rsatuvchi provayder tushunchasi - dasturni o'z ichiga olgan paket yoki paketlar guruhidan foydalaniladi. Ilova mavjud bo'lganlar orasidan algoritmlar va xizmat ko'rsatuvchi provayderlarni tanlash imkoniyatiga ega.
Xizmatlar ro'yxatidagi oxirgi ikkita element (simmetrik shifrlash va umumiy kalitlash) AQSh eksport cheklovlariga bo'ysunadi, shuning uchun ular boshqa sanab o'tilgan xizmatlardan farqli o'laroq, alohida mahsulot bo'lgan kengaytma (Java Cryptography Extension, JCE) sifatida qadoqlangan. .
Kriptografik xizmatlar, algoritmlar va amalga oshirish ierarxiyasi
5. Xavfsizlik mexanizmlarini ob'ekt tashkil etish
java applet himoyasi kriptografik
JDK 1.2 da xavfsizlik mexanizmlari to'rtta asosiy paketga va uchta kengaytma paketiga ajratilgan. Mana ulardan ba'zilari
· java.security -- xavfsizlik mexanizmlari uchun asosni tashkil etuvchi interfeyslar va sinflarni o'z ichiga oladi. Bunga yuqorida ko'rib chiqilgan kirishni boshqarish vositalari, shuningdek kriptografik vositalar, masalan, elektron imzoni ishlab chiqish, xesh funktsiyasini hisoblash va boshqalar kiradi.
· java.security.interfaces -- RSA va DSA kalitlarini yaratish vositalari.
· javax.crypto -- simmetrik shifrlash uchun interfeys va sinflar.
Eng konseptual jihatdan muhim interfeyslar va sinflar java.security paketida joylashgan .

Download 33.11 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling