Birlik 4 / 11

Kirish nazorati, identifikatsiya va maxfiy boshqaruv

Daromadlar:

  • Autentifikatsiya va avtorizatsiyani ajratish va RBAC/ABAC bilan minimal avtorizatsiyani qo'llash imkoniyati
  • Modelni foydalanuvchi kontekstida ishga tushirish orqali aralash proksi xavfidan qochish imkoniyati
  • Yashirin boshqaruv tizimi bilan API kalitlarini saqlash va aylantirish qobiliyati

AI tizimiga hujumlarning muhim qismi modelni "aldash" bilan emas, balki o'g'irlangan API kaliti yoki ortiqcha ruxsat berilgan hisob bilan boshlanadi. Ushbu xavfsizlik darajasi klassik axborot xavfsizligidan kelib chiqadi, lekin sun'iy intellekt kontekstida yangi xavflarni qo'shadi: model boshqa birovning nomidan sayohatga chaqiradi, xizmat akkaunti barcha ma'lumotlarga kiradi, kalit GitHub'ga sizib chiqadi. Ushbu bo'limda biz autentifikatsiya, avtorizatsiya (RBAC/ABAC), minimal avtorizatsiya va maxfiy boshqaruv bilan AI tizimiga kirishni qanday qisqartirishni o'rganamiz.

Autentifikatsiya va avtorizatsiya o'rtasidagi farq

Ikki atama ko'pincha chalkashib ketadi:

  • Autentifikatsiya: "Siz kimsiz?" — foydalanuvchi/xizmat haqiqatan ham ular daʼvo qilayotgan shaxs ekanligini isbotlash (parol, token, sertifikat, TIV).
  • Avtorizatsiya: "Siz nima qila olasiz?" — autentifikatsiya qilingan tomon qaysi resurs/harakatga kirishi mumkinligini aniqlash.

AI tizimlarida muhim noziklik quyidagilardan iborat: model foydalanuvchi nomidan ishlayotganda, u ushbu foydalanuvchining vakolati yoki keng xizmat hisobi bilan ishlaydi? Ikkinchisi xavfli - chunki inyeksiya bilan aldangan model xizmat hisobiga to'liq kirish huquqiga ega.

Diqqat: "Chaqirilgan deputat" muammosi: past vakolatli foydalanuvchi yuqori vakolatli modelni autsorsing orqali kira olmaydigan ma'lumotlarga bilvosita kirishadi. Model har doim o'zining keng vakolatlari doirasida emas, balki foydalanuvchining vakolatlari doirasida ishlashi kerak.

RBAC va ABAC

  • RBAC (rolga asoslangan kirishni boshqarish): Kirish foydalanuvchining roliga bog'liq. "Qo'llab-quvvatlash bo'yicha mutaxassis" roli mijozlar qaydlarini o'qiy oladi, lekin ularni o'chira olmaydi. Oddiy va umumiy.
  • ABAC (Atributga asoslangan kirishni boshqarish): Kirish atributlarga bog'liq: foydalanuvchi bo'limi, ma'lumotlarning maxfiylik yorlig'i, kunning vaqti, so'rov kelgan tarmoq. Aniqroq sozlangan, ammo murakkabroq.

Aksariyat tashkilotlar RBAC-dan boshlanadi va nozik ma'lumotlar uchun ABAC-ni chuqurlashtiradi. AI uchun asosiy qoida: model so'rov yuborgan foydalanuvchining roli/atributlari asosida o'zi chaqiradigan har bir agentni va u kiradigan har bir ma'lumotni filtrlashi kerak.

Bosqichma-bosqich: Minimal vakolatlardan foydalanish

  1. Inventarizatsiya qiling. Model qanday vositalarni chaqiradi, qanday ma'lumotlarga kirish mumkin? Ularning barchasini sanab bering.
  2. Har bir kirishni asoslang. "Ushbu yordamchiga haqiqatan ham o'chirish huquqi kerakmi?" Aks holda, uni olib tashlang.
  3. Faqat o'qish uchun standart. Model sukut bo'yicha o'qish imkoniyatiga ega bo'lishi kerak; Alohida, tor doiradagi tokenni yozish/oʻchirishni talab qiling.
  4. Foydalanuvchi kontekstini ko'chirish. Avtoulovni xizmat hisobi bilan emas, balki foydalanuvchining vakolati bilan chaqiring.
  5. Qisqa muddatli ishonchnoma. Uzoq muddatli kalitlar o'rniga qisqa muddatli, avtomatik yangilanadigan tokenlardan foydalaning.

Yashirin boshqaruv

Sir - bu API kaliti, parol, token yoki sertifikat kabi maxfiy qolishi kerak bo'lgan hisob ma'lumotlaridir. Sun'iy intellekt loyihalarida eng ko'p uchraydigan baxtsiz hodisa, model provayderining API kaliti kodga kiritilgan va versiya boshqaruviga (Git) oqib chiqishi.

To'g'ri ariza:

  • Hech qachon kalitlarni kodga kiritmang; Atrof-muhit o'zgaruvchisidan yoki maxfiy boshqaruv tizimidan (kalitlarni shifrlangan holda saqlaydigan va kirishni nazorat qiluvchi xizmat) foydalaning.
  • Aylanish: Kalitlarni muntazam ravishda yangilang (masalan, har 90 kunda); Agar siz qochqindan shubhalansangiz, darhol bekor qiling.
  • Qo'llanish doirasini qisqartirish: Har bir kalitda faqat kerakli xizmat va kerakli avtorizatsiya mavjud.
  • Audit: Kalitni kim, qachon va qayerda ishlatganligini qayd qiling.

To'rt nusxa ko'chirish shablonlari

Kirishni ko'rib chiqishni boshqarish so'rovi:

Quyidagi asboblar ro'yxatidagi har bir vosita uchun baho bering: - Bu yordamchining ishini bajarish uchun bu vosita TALAB ETILADIMI? (ha/yo'q) - Bu faqat o'qish uchunmi yoki yozish/o'chirishmi? - Ushbu vosita foydalanuvchining vakolati yoki xizmat hisobi bilan chaqiriladimi? Keraksiz yoki haddan tashqari ruxsat etilganlarini "O'CHIRISH/REDACT" deb belgilang.<tools>{{ tool_list }}</tools>

Yashirin oqishni skanerlash so'rovi:

Quyidagi kod snippetida qattiq kodlangan sir bo'lishi mumkin bo'lgan har qanday narsani toping: API kaliti, parol, token, ulanish qatori, shaxsiy kalit. Har biri uchun qator va yozing. Qiymatni javobga NUSHORLASH;maska (birinchi 4 ta belgi + ***).<code>{{ source }}</code>

Eng kam vakolatli qaror qoidasi:

Yangi vosita/kirish so'rovi kelganda, so'rang: 1. Ushbu ruxsatsiz vazifani bajarish mumkinmi? -> Ha bo'lsa: RED 2. Faqat o'qish uchun etarlimi? -> Ha bo'lsa: yozishga ruxsat bering3. Qo'llanilish doirasini bitta manbaga qisqartirish mumkinmi? -> Ha bo'lsa: darat Standart javob "yo'q"; Kirish aql bilan erishiladi.

Aylanish taqvimi eslatmasi:

Har bir sir uchun yozib oling: egasi, yaratilish sanasi, amal qilish muddati, ko'lami. 90 kundan oshgan yoki 30 kun davomida ishlatilmagan har qanday kalitni “ROTATSIYA/BEKOR QILIShga nomzod” sifatida xabar qiling.

Zaif taklif / Kuchli taklif

yomon yondashuv

Kuchli yondashuv

Model barcha ma'lumotlarga bitta xizmat hisobi bilan kiradi

Model so'rov yuborgan foydalanuvchining vakolati bilan kirishadi

API kaliti kodga kiritilgan, u hech qachon o'zgarmaydi

Asosiy maxfiy menejerda aylanish, 90 kun

Yordamchiga keng "hech narsa qilish" vakolati

Faqat o'qish uchun standart, tor yozing

Kirishlar hech qachon tekshirilmaydi

Muntazam kirishni tekshirish va bekor qilish

Uchta mini korpus

1-holat - Aralashtirilgan proksi-server ma'lumotlari sizib chiqdi. Uy yordamchisi barcha xodimlar yozuvlariga kirish huquqiga ega bo'lgan xizmat hisobi bilan ishlagan. Stajyor foydalanuvchi odatda ko'rmaydigan ma'lumotlarga "boshqaruvchining ish haqi jadvalini umumlashtiring" deb murojaat qilgan; chunki model uni foydalanuvchining emas, balki o'zining keng vakolatlari doirasida so'roq qilgan. Foydalanuvchi konteksti ko'chirish uchun sozlangandan so'ng, stajyor faqat o'zi ko'ra oladigan yozuvlarni tortib olishga muvaffaq bo'ldi.

2-holat - Otib ketgan kalit, 2 hafta ichida 190 000 TL. Ishlab chiquvchi model API kalitini yordamchi skriptga joylashtirgan va uni umumiy omborga surgan. Bot kalitni 40 daqiqada topdi va undan ikki hafta foydalandi; Hisob-kitob 190.000 liraga yetdi. Kalit maxfiy boshqaruvchiga ko'chirilganda, aylanishga ulangan va omborni skanerlash qo'shilganda, hodisa takrorlanmadi.

3-holat - Faqat o'qish uchun standart uzilishning oldini olish. DevOps yordamchisi tezkor in'ektsiya orqali "ishlab chiqarish ma'lumotlar bazasini tiklash" buyrug'ini oldi. Biroq, yordamchiga faqat o'qish uchun token berildi; yozish/oʻchirish alohida tasdiqlangan oqimda edi. Buyruq avtorizatsiya xatosi bilan rad etildi va voqea signal sifatida qayd etildi; Ma'lumotlar yo'qolmadi.

Maslahat: Yangi kirish soʻroviga standart javobingizni “yoʻq” deb belgilang. Kirish - bu asoslash orqali erishilgan narsa; Hammaga keng berib, keyin qisqartirish deyarli amalga oshirilmaydi va xavf to'planadi.

Umumiy xatolar

  • Modelni katta xizmat hisobi bilan ishga tushirish va foydalanuvchi kontekstini yo'qotish (aralash proksi-server).
  • API kalitini kodga joylashtirish va uni versiya boshqaruviga o'tkazish.
  • Tugmachalarni umuman aylantirmaslik ("ishlash, tegmang").
  • Yordamchiga sukut bo'yicha yozish/o'chirish ruxsatnomalarini berish.
  • Bir marta ruxsat berish va uni hech qachon qayta ko'rib chiqmaslik.
  • Autentifikatsiyani avtorizatsiya bilan chalkashtirib, "u tizimga kirgan, hamma narsaga kira oladi" deb faraz qilish.

Xulosa

  • Autentifikatsiya - "siz kimsiz" degan savol, avtorizatsiya - "nima qila olasiz" degan savol; AIda ikkalasi ham foydalanuvchi kontekstida ishlashi kerak.
  • Model o'zining keng vakolatiga ega emas (aralash agentlik xavfidan qochish) so'rovni yuborgan foydalanuvchining vakolati bilan ishlashi kerak.
  • RBAC bilan boshlang, nozik ma'lumotlarda ABAC bilan chuqurlashtiring; Minimal vakolatni sukut bo'yicha qiling.
  • Kodda sirlarni ko'mmang; uni maxfiy menejerda saqlang, uni toraytiring va muntazam aylanishga qo'ying.
  • Faqat o'qish uchun standart va tor yozish in'ektsiya ta'sirini sezilarli darajada cheklaydi.

Ilova vazifasi

AI yordamchingiz foydalanadigan barcha vositalar va ma'lumotlarni sanab o'ting. Har biri uchun uchta savolga javob bering: (1) Bu haqiqatan ham kerakmi? (2) Faqat o'qish uchun etarlimi? (3) U foydalanuvchi kontekstida ishlaydimi? Keyin barcha qattiq kodlangan sirlarni qidiring (yuqoridagi skanerlash orqali) va topgan har bir kalit uchun aylanish rejasini yozing. Kamida bitta keraksiz avtorizatsiyani olib tashlang.

nazorat ro'yxati

  • [ ] Model soʻrov yuborgan foydalanuvchining vakolat kontekstida ishlaydi.
  • [ ] Asbob va maʼlumotlarga kirish eng kam imtiyozlar tamoyiligacha qisqartirildi.
  • [ ] Yozish/oʻchirish faqat oʻqish uchun ajratilgan, autentifikatsiya qilingan va tor.
  • [ ] Kodda hech qanday sir ko'milmagan; U maxfiy boshqaruvchida saqlanadi.
  • [ ] Kalitlar uchun aylanish jadvali va bekor qilish tartibi mavjud.
  • [ ] Kirishlar muntazam ravishda ko'rib chiqiladi.