Axborot oqimi (axborot nazariyasi) - Information flow (information theory)

Axborot oqimi ichida axborot nazariy kontekst - bu ma'lumotni a dan uzatish o'zgaruvchan o'zgaruvchiga berilgan birida jarayon. Hamma oqimlar kerakli bo'lishi mumkin emas; masalan, tizim jamoat kuzatuvchilariga sirni (qisman yoki yo'q) bermasligi kerak.[nega? ]

Kirish

Hisoblash tizimlari yordamida boshqariladigan ma'lumotlarning xavfsizligini ta'minlash so'nggi yillarda juda qiyin bo'lgan. Bugungi kunda axborotni oshkor qilishni cheklashning bir qancha usullari mavjud, masalan kirishni boshqarish ro'yxatlari, xavfsizlik devorlari va kriptografiya. Biroq, ushbu usullar tizim chiqaradigan ma'lumotlarga cheklovlar qo'yganiga qaramay, ular ma'lumotlarga nisbatan hech qanday kafolatlar bermaydilar ko'paytirish.[1] Masalan, fayl tizimlarining kirishni boshqarish ro'yxatlari fayllarga ruxsatsiz kirishni oldini oladi, ammo keyinchalik ma'lumotlar qanday ishlatilishini nazorat qilmaydi. Xuddi shu tarzda, kriptografiya xavfsiz bo'lmagan kanal orqali ma'lumot almashish uchun vositani taqdim etadi, ammo ma'lumotlarning maxfiyligi to'g'risida kafolatlar shifrlanganidan keyin beriladi.

Past darajadagi axborot oqimini tahlil qilishda har bir o'zgaruvchiga odatda xavfsizlik darajasi beriladi. Asosiy model ikkita alohida darajani o'z ichiga oladi: past va yuqori, mos ravishda ommaviy kuzatiladigan ma'lumotlar va maxfiy ma'lumotlar. Maxfiylikni ta'minlash uchun yuqori va past o'zgaruvchiga ma'lumot uzatishga yo'l qo'yilmasligi kerak. Boshqa tomondan, yaxlitlikni ta'minlash uchun yuqori o'zgaruvchilarga oqimlarni cheklash kerak.[1]

Umuman olganda, xavfsizlik darajasini a panjara panjarada faqat yuqoriga qarab oqayotgan ma'lumotlar bilan.[2]

Masalan, ikkita xavfsizlik darajasini hisobga olgan holda va (past va baland), agar bo'lsa , dan oqadi ga , dan ga va ga dan oqimlar paytida ruxsat beriladi ga emas edi.[3]

Ushbu maqola davomida quyidagi yozuvlardan foydalaniladi:

  • o'zgaruvchan (past) umumiy kuzatiladigan o'zgaruvchini bildirishi kerak
  • o'zgaruvchan (yuqori) maxfiy o'zgaruvchini bildirishi kerak

Qaerda va ning ikkita xavfsizlik darajasi panjara ko'rib chiqilmoqda.

Aniq oqimlar va yon kanallar

Axborot oqimlarini ikkita katta toifaga bo'lish mumkin. Eng soddasi - bu aniq oqim, bu erda ba'zi sirlar ommaviy ravishda kuzatiladigan o'zgaruvchiga aniq etkazilgan. Quyidagi misolda o'zgaruvchidagi sir h ommaviy kuzatiladigan o'zgaruvchiga oqadi l.

var l, hl: = h

Boshqa oqimlar yon kanal toifasi. Masalan, vaqtni hujum qilish yoki ichida quvvatni tahlil qilish hujumi, tizim maxfiy qiymatga qarab harakatni amalga oshirish uchun vaqt yoki kuch bilan mos ravishda ma'lumotni chiqaradi.

Quyidagi misolda tajovuzkor agar qiymatini chiqarsa h dastur tugashi kerak bo'lgan vaqtga to'g'ri keladi yoki yo'q:

var l, hagar h = 1 keyin    (* biroz vaqt talab qiladigan ishni bajaring *) l: = 0

Yana bir yon kanal oqimi - bu dasturni boshqarish oqimi orqali ma'lumotlarning tarqalishidan iborat bo'lgan yopiq axborot oqimi. Quyidagi dastur (to'g'ridan-to'g'ri) maxfiy o'zgaruvchining qiymatini ochib beradi h o'zgaruvchiga l. Bu holda, beri h o'zgaruvchisi mantiqiy, o'zgaruvchining barcha bitlari h oshkor qilinadi (dastur oxirida, l agar 3 bo'lsa h to'g'ri, aks holda 42 ta).

var l, hagar h = rost keyin    l: = 3boshqa    l: = 42

Aralashmaslik

Aralashmaslik - bu tajovuzkor ikkita hisoblashni, agar ular faqat maxfiy ma'lumotlari bilan farq qiladigan bo'lsa, ularning natijalaridan ajrata olmasligini talab qiladigan siyosatdir, ammo bu siyosat juda qattiq, chunki realistik dasturlarda foydalanish mumkin emas.[4] Klassik misol - foydali bo'lishi uchun ba'zi bir maxfiy ma'lumotlarni oshkor qilishi kerak bo'lgan parolni tekshiruvchi dastur: kirish parolining to'g'riligi yoki yo'qligi (shuni unutmangki, tajovuzkor dasturni bilib oladigan ma'lumot rad etadi parol - bu urinilgan parol emas yaroqli).

Axborot oqimini boshqarish

Uchun mexanizm axborot oqimini boshqarish axborot oqimi siyosatini amalga oshiradigan narsadir. Axborot oqimi siyosatini amalga oshirishning bir necha usullari taklif qilingan. Axborot oqimi yorliqlari bilan ma'lumotlarni belgilaydigan ish vaqti mexanizmlari operatsion tizim darajasida va dasturlash tili darajasida ishlatilgan. Dasturlar ichidagi axborot oqimlarini siyosat bilan muvofiqligini ta'minlaydigan statik dastur tahlillari ham ishlab chiqilgan.

Hozirgi dasturlash tillari uchun ham statik, ham dinamik tahlil ishlab chiqilgan. Shu bilan birga, dinamik tahlil texnikasi barcha bajarilish yo'llarini kuzata olmaydi va shuning uchun ham aniq va aniq bo'lishi mumkin emas. Shaxs aralashmasligini kafolatlash uchun ular maxfiy ma'lumotlarni chiqarishi mumkin bo'lgan qatllarni to'xtatadilar[5] yoki ular ma'lumot oqishi mumkin bo'lgan yangilanishlarni e'tiborsiz qoldiradilar.[6]

Dasturda axborot oqimi siyosatini tatbiq etishning eng muhim usuli bu xavfsizlik turi tizimi: ya'ni xavfsizlik xususiyatlarini ta'minlaydigan tip tizimi. Bunday tovushli tizimda, agar dastur turi tekshirilsa, u oqim siyosatiga javob beradi va shuning uchun noto'g'ri ma'lumot oqimlarini o'z ichiga olmaydi.

Xavfsizlik turi tizimi

Xavfsizlik bilan kengaytirilgan dasturlash tilida tizim turi har bir ifoda turini ham (mantiqiy yoki tamsayı kabi) va xavfsizlik yorlig'ini o'z ichiga oladi.

Quyidagi oddiy turdagi xavfsizlik tizimi [1] bu aralashuvni talab qiladi ifoda degani turi bor . Xuddi shunday, buyruq degani xavfsizlik kontekstida yozilishi mumkin .

Yaxshi terilgan buyruqlar, masalan,

.

Aksincha, dastur

noto'g'ri yozilgan, chunki u o'zgaruvchining qiymatini ochib beradi ichiga .

Qoidaga e'tibor bering Subsump qoidasi, ya'ni xavfsizlik turidagi har qanday buyruq bo'lishi mumkin . Masalan, ikkalasi ham bo'lishi mumkin va . Bu deyiladi polimorfizm yilda tip nazariyasi. Xuddi shunday, ifoda turi bu qondiradi ikkalasi ham bo'lishi mumkin va ga binoan va navbati bilan.

Deklaratsiyani bekor qilish

Ilgari ko'rsatilgandek, aralashmaslik siyosati aksariyat real dasturlarda foydalanish uchun juda qat'iydir.[7] Shu sababli, boshqariladigan ma'lumotlarning chiqarilishiga imkon beradigan bir nechta yondashuvlar ishlab chiqilgan. Bunday yondashuvlar axborotni deklaratsiyadan chiqarish deb ataladi.

Kuchli deklaratsiyadan o'tkazish, passiv tajovuzkorlar allaqachon bilganlaridan ko'ra ko'proq sirlarni o'rganish uchun faol tajovuzkor tizimni boshqarmasligi kerakligini talab qiladi.[4]

Axborotni deklaratsiyalash konstruktsiyalari to'rtta ortogonal o'lchov bo'yicha tasniflanishi mumkin: Nima ma'lumotlar chiqarildi, JSSV ma'lumotlarga kirish huquqiga ega, Qaerda ma'lumotlar e'lon qilinadi va Qachon chiqarilgan ma'lumotlar.[4]

Nima

A nima maxfiylashtirmaslik siyosati, ommaviy ravishda kuzatiladigan o'zgaruvchiga qanday ma'lumot (qisman yoki yo'q) berilishi mumkinligini nazorat qiladi.

Quyidagi kod misolida a ko'rsatilgan sirni o'chirish dan qurish.[8] Ushbu kodda o'zgaruvchining qiymati h dasturchi tomonidan ommaviy kuzatiladigan o'zgaruvchiga o'tishiga aniq ruxsat berilgan l.

var l, hagar l = 1 keyin    l: = sirni o'chirish(h)

JSSV

A JSSV deklaratsiyani bekor qilish siyosati direktorlar (ya'ni, kim) ma'lum bir ma'lumotga kira oladi. Bunday siyosat Jif kompilyatorida amalga oshirilgan.[9]

Quyidagi misol Bobga o'zgarmaydigan tarkibidagi sirini bo'lishishga imkon beradi b Elis bilan umumiy o'zgaruvchan o'zgaruvchi orqali ab.

var ab (* {Elis, Bob} *)var b (* {Bob} *)agar ab = 1 keyin    ab: = sirni o'chirish(b, {Elis, Bob}) (* {Elis, Bob} *)

Qaerda

A qayerda deklaratsiyalash siyosati ma'lumotni qaerga chiqarishni, masalan, manba kodining qaysi qatorlarida chiqarilishini boshqarish orqali tartibga soladi.

Quyidagi misolda oqim taklif qilingan qurilish.[10] Ushbu konstruktsiya oqim siyosatini oladi (bu holda Hdagi o'zgaruvchilar L o'zgaruvchilarga o'tishiga ruxsat beriladi) va berilgan oqim siyosati ostida bajariladigan buyruqni oladi.

var l, hoqim H  L yilda    l: = h

Qachon

A qachon deklaratsiya siyosati ma'lumot qachon chiqarilishini tartibga soladi. Bunday siyosatdan, masalan, to'lovdan so'ng maxfiy ma'lumotlarning boshqariladigan chiqarilishini yoki ma'lum vaqt ichida oshkor etilmasligi kerak bo'lgan shifrlangan sirlarni amalga oshiradigan dasturlarni tekshirish uchun foydalanish mumkin.

Yashirin oqimlar uchun deklaratsiyalash yondashuvlari

Shartli bajarilishi shaxsiy ma'lumotlarga asoslangan kod umumiy o'zgaruvchini yangilaganda, yopiq oqim paydo bo'ladi. Bu, ayniqsa, bir nechta qatllar ko'rib chiqilganda juda muammoli bo'ladi, chunki tajovuzkor vaqt o'tishi bilan yoki kiritilgan ma'lumot bilan qanday o'zgarishini kuzatish orqali shaxsiy o'zgaruvchini umumiy o'zgaruvchidan foydalanishi mumkin.

Achchiq yondashuv

Ishonchsiz yondashuv qiymatiga boshqa o'zgaruvchilar ta'sir ko'rsatadigan barcha o'zgaruvchilar uchun maxfiylik xususiyatini kuchaytirishdan iborat. Ushbu usul ma'lumotlarning qisman tarqalishiga olib keladi, chunki dasturning ba'zi bir holatlarida o'zgaruvchisi past, boshqalarida esa yuqori.

Hech qanday nozik yangilanish yo'q

Agar yuqori o'zgaruvchi past o'zgaruvchining qiymatiga ta'sir qilsa, hech qanday sezgir yangilanish dasturni to'xtatib qo'ymaydi, bu ma'lumotlarning tarqalishini oldini oladi. Axborot kontekstiga qaramasdan sodir bo'lishi mumkin bo'lgan so'zlarni qidirib topganligi sababli, dasturni to'xtatib qo'yishi mumkin, chunki u potentsial ma'lumotlarga ega bo'lishiga qaramay, u hech qachon ma'lumotni tashlamaydi.

Quyidagi misolda x yuqori va y past bo'ladi.

var x, yy: = noto'g'riagar h = rost keyin    y: = rostqaytish to'g'ri

Bunday holda dastur to'xtatiladi, chunki u hech qachon ma'lumot oqmasligiga qaramay, past o'zgaruvchini o'zgartirish uchun yuqori o'zgaruvchidan foydalanadi.

Ruxsat etilgan yangilanish

Ruxsat etilgan yangilanish ma'lumotlarning sızdıran o'zgaruvchilarini aniqlaydigan qo'shimcha xavfsizlik sinfini P-ni taqdim etadi. Agar High o'zgaruvchisi Low o'zgaruvchisining qiymatiga ta'sir qilsa, ikkinchisi P deb belgilanadi, agar P deb belgilangan o'zgaruvchisi Low o'zgaruvchisiga ta'sir etsa, dastur to'xtatiladi. To'xtatishni oldini olish uchun Low va P o'zgaruvchilari hech qanday ma'lumot chiqib ketmasligi uchun xususiylashtirish funktsiyasi yordamida yuqori darajaga o'tkazilishi kerak. Keyingi misollarda dastur uzluksiz ishlaydi.

Xususiylashtirish to'g'risida xulosa

Xususiylashtirish to'g'risidagi xulosalar ma'lumotlarning tarqalishi mumkin bo'lgan har qanday o'zgaruvchiga avtomatik ravishda xususiylashtirish funktsiyasini qo'llash uchun ruxsat etilgan yangilanishni kengaytiradi. Ushbu usul ko'pgina o'zgaruvchilarni o'zgartiradigan sinov paytida ishlatilishi kerak. Dastur ishlab chiqarishga kirgandan so'ng, ma'lumot sızıntısı bo'lsa, dasturni to'xtatib turish uchun ruxsat etilgan yangilanishdan foydalanish kerak va keyingi sızıntının oldini olish uchun xususiylashtirish funktsiyalari yangilanishi mumkin.

Kompyuter tizimlarida qo'llanilishi

Dasturlash tilidagi dasturlardan tashqari, OS uchun axborot oqimini boshqarish nazariyalari qo'llanildi,[11] Tarqatilgan tizimlar [12] va bulutli hisoblash.[13][14]

Adabiyotlar

  1. ^ a b v Andrey Sabelfeld va Endryu C. Mayers. Tilga asoslangan Axborot xavfsizligi. Aloqa sohasidagi tanlangan hududlar bo'yicha IEEE jurnali, 21 (1), 2003 yil yanvar.
  2. ^ Doroti Denning. Xavfsiz axborot oqimining panjara modeli. ACM aloqalari, 19 (5): 236-242, 1976.
  3. ^ Smit, Jefri (2007). "Xavfsiz axborot oqimini tahlil qilish tamoyillari". Axborot xavfsizligi sohasidagi yutuqlar. 27. Springer AQSh. 291-307 betlar.
  4. ^ a b v Andrey Sabelfeld va Devid Sands. Deklaratsiyani bekor qilishning o'lchamlari va tamoyillari. Proc-da. IEEE kompyuter xavfsizligi asoslari bo'yicha seminar, 2005 yil.
  5. ^ Tomas X. Ostin va Kormak Flanagan. Axborot oqimini samarali dinamik tahlil qilish, Proc. ACM SIGPLAN dasturlash tillari va xavfsizlik uchun tahlil qilish bo'yicha to'rtinchi seminar, ACM, 2009 yil.
  6. ^ J. S. Fenton. Xotirasiz quyi tizimlar, hisoblash. J. 17 (2): 143-147 (1974)
  7. ^ S. Zdansevich. Axborot oqimi xavfsizligini ta'minlash muammolari. Dasturlash tilidagi aralashuv va qaramlik bo'yicha seminarda (PLID'04) 2004 y.
  8. ^ A. Sabelfeld va A. C. Myers. Ajratilgan ma'lumotni chiqarish uchun model. Proc-da. Dastur xavfsizligi bo'yicha Xalqaro simpozium (ISSS) 2003 y.
  9. ^ Jif: Java ma'lumot oqimi
  10. ^ A. Almeyda Matos va G. Boudol. Deklaratsiyani bekor qilish va oshkor qilmaslik siyosati to'g'risida. Proc-da. IEEE kompyuter xavfsizligi asoslari ustaxonasi 2005 yil.
  11. ^ M. Kron, A. Yip, M. Brodskiy, N. Kliffer, M. Kaashoek, E. Koler va R. Morris. Standart OS abstraktsiyalari uchun ma'lumot oqimini boshqarish. Operatsion tizimlar bo'yicha ACM Maxsus qiziqish guruhida (SIGOPS) Operatsion tizimlar printsiplari bo'yicha simpozium 2007 y.
  12. ^ N. Zeldovich, S. Boyd-Vikitser va D. Mozieres. Tarqatilgan tizimlarni axborot oqimini boshqarish bilan ta'minlash. Tarmoq tizimlarini loyihalashtirish va joriy etish bo'yicha USENIX simpoziumida 2008 yil.
  13. ^ J. Bekon, D. Eyers, T. Paskiyer, J. Singx, I. Papagiannis va P. Pietzuch. Xavfsiz bulutli hisoblash uchun ma'lumot oqimini boshqarish. Tarmoq va xizmatlarni boshqarish bo'yicha IEEE bitimlarida 2014.
  14. ^ Paskie, Tomas; Singx, Jatinder; Eyers, Devid; Bekon, Jan (2015). "CamFlow: bulutli xizmatlar uchun boshqariladigan ma'lumotlar almashinuvi". Bulutli hisoblash bo'yicha IEEE operatsiyalari. 5 (3): 472–484. arXiv:1506.04391. Bibcode:2015arXiv150604391P. doi:10.1109 / TCC.2015.2489211.