Qoidaning tuzilishi
Detektor ma’lum shartga mos hodisani ajratadi. Masalan, bir foydalanuvchi uchun qisqa vaqt ichidagi ko‘p login xatosi tekshiruvga sabab bo‘lishi mumkin. Faqat umumiy kunlik sonni hisoblash bir paytdagi urinishlar bilan uzoq davrni aralashtiradi.
To‘g‘ri guruhlash
User, manba IP, ilova va vaqt oynasini vazifaga qarab tanlang. IP umumiy NAT bo‘lishi mumkin. Xizmat akkaunti va odatiy foydalanuvchi turli bazaviy holatga ega. Quyidagi Counter soddalashtirilgan sanash; production’da vaqt oynasi va hajm cheklovi talab qilinadi.
Aniqlikni o‘lchang
False positive — zararsiz holatni shubhali deb belgilash. False negative — xavfli holatni o‘tkazish. Yorliqlangan sintetik data bilan precision/recall’ni o‘lchab, chegarani asoslang. Detektor xulosasi ayblov emas; triage uchun signal.
Python’da ko‘rib chiqamiz
from collections import Counter
events = ["ali", "vali", "ali", "ali", "vali"]
counts = Counter(events)
alerts = sorted(user for user, count in counts.items() if count >= 3)
print(",".join(alerts))Misolni
Mustaqil mashq
Hodisalarga timestamp qo‘shib 5 daqiqalik oyna tuzing. Oddiy foydalanuvchining parol unutishi uchun false positive misolini yozing. Test data’ni real logdan emas, o‘zingiz yarating.