Bosh sahifa Wiki CWE

CWE

CWE — software va hardware’da uchraydigan umumiy zaiflik sabablarini tasniflaydigan ochiq ro‘yxat. To‘liq nomi Common Weakness Enumeration. CWE konkret productdagi bitta security bugni emas, shunday buglar paydo bo‘lishiga olib keladigan weakness turini ifodalaydi.

Masalan, ma’lum web applicationdagi SQL Injection uchun CVE bo‘lishi mumkin. Uning umumiy weakness turi esa SQL queryda maxsus elementlarni noto‘g‘ri boshqarishga oid CWE bilan bog‘lanadi.

CWE vazifasi

CWE security muammolarini yagona terminologiya bilan ifodalashga yordam beradi.

U:

  • developerlar uchun weakness turini tushuntiradi;
  • code scanner natijalarini tasniflaydi;
  • security trainingga asos beradi;
  • CVE recordlarini weakness bilan bog‘laydi;
  • secure design va reviewga yo‘nalish beradi;
  • turli vendor tool natijalarini solishtiradi.

CWE ro‘yxati faqat web zaifliklari bilan cheklanmaydi.

Weakness va vulnerability

Weaknessdesign, implementation, configuration yoki hardware’dagi xato turi.

Vulnerability — real product yoki tizimda exploit qilinishi mumkin bo‘lgan konkret holat.

Masalan:

CWE → xato turi
CVE → ma’lum productdagi konkret zaiflik

Bitta CWE ko‘plab CVE’lar bilan bog‘lanishi mumkin.

CWE identifikatori

Har entry odatda raqamli ID bilan belgilanadi:

CWE-79
CWE-89
CWE-22

ID entry’ni aniq reference qilishga yordam beradi.

Entry nomi, tavsifi, consequence, mitigation, example va relationshiplarni o‘z ichiga olishi mumkin.

Abstraksiya darajalari

CWE entrylari turli abstraksiya darajasida bo‘ladi.

Yuqori darajadagi entry umumiy weakness oilasini ifodalaydi.

Past darajadagi entry esa aniqroq implementation xatosini ko‘rsatadi.

Security report imkon qadar tekshirilgan va yetarlicha aniq CWE’ni tanlashi kerak.

Pillar

Pillar juda umumiy, yuqori darajadagi weakness tushunchasi.

U katta weakness oilalarini guruhlashga yordam beradi.

Pillar odatda code fix uchun yetarli darajada aniq emas.

U taxonomy va relationship tuzilmasida ishlatiladi.

Class

Class texnologiya yoki tildan nisbatan mustaqil umumiy weakness turini ifodalaydi.

Masalan, inputni noto‘g‘ri boshqarish yoki access control’dagi umumiy xato.

Classdan pastroq entrylar implementationga yaqinlashadi.

Base va Variant

Base ma’lum resource, behavior yoki technology kontekstida aniq weaknessni ifodalashi mumkin.

Variant esa ma’lum language, framework yoki implementationdagi yanada konkret ko‘rinish.

Scanner imkon qadar real topilmaga mos darajani tanlaydi.

Category

Category bir xil mavzu yoki maqsadga oid entrylarni guruhlaydi.

Category o‘zi texnik weakness bo‘lmasligi mumkin.

Masalan, ma’lum platforma, lifecycle bosqichi yoki security yo‘nalishidagi entrylar bir category ichida ko‘rsatilishi mumkin.

View

CWE View ro‘yxatni ma’lum auditoriya yoki maqsad bo‘yicha ko‘rsatadi.

Masalan:

  • research;
  • development;
  • architectural concepts;
  • ma’lum standard bilan mapping.

Bir entry bir nechta view ichida ko‘rinishi mumkin.

Relationship

CWE entrylari orasida:

  • ChildOf;
  • ParentOf;
  • PeerOf;
  • CanAlsoBe;
  • Requires;
  • StartsWith;
  • FollowedBy

kabi relationshiplar bo‘lishi mumkin.

Bu weaknesslar qanday bog‘langanini va qaysi biri umumiyroq ekanini ko‘rsatadi.

Chain

Ayrim zaifliklar bitta weakness emas, ketma-ket xatolar natijasida paydo bo‘ladi.

Masalan:

input validation xatosi
→ path traversal
→ sensitive file disclosure

Bunday ketma-ketlik weakness chain sifatida ifodalanishi mumkin.

Composite

Composite bir nechta weaknessning birgalikdagi kombinatsiyasini ifodalaydi.

Ularning har biri alohida mavjud bo‘lishi mumkin, lekin xavf aynan kombinatsiya orqali kuchayadi.

Bu root cause tahlilida muhim.

CWE Top 25

CWE Top 25 keng tarqalgan va ta’siri yuqori software weaknesslarni ko‘rsatadigan davriy ro‘yxat.

U secure coding training va prioritetlash uchun foydali.

Lekin Top 25ga kirmagan weakness xavfsiz degani emas.

Application threat modeli va texnologiyasi alohida baholanadi.

Scanner natijasi

SAST, DAST yoki boshqa scanner topilmaga CWE ID biriktirishi mumkin.

Bu mapping:

  • avtomatik va taxminiy bo‘lishi;
  • juda umumiy entry tanlashi;
  • false positivega tegishli bo‘lishi

mumkin.

Security engineer topilmaning real root cause’ini tekshiradi.

Secure development

CWE requirement va coding standardga aylantirilishi mumkin.

Masalan:

  • injection weaknesslar uchun parameterized query;
  • memory weaknesslar uchun safe API;
  • access control weaknesslar uchun object-level check;
  • path weaknesslar uchun canonicalization va allowlist.

CWE faqat xato nomi emas, prevention uchun reference vazifasini bajaradi.

CVE bilan bog‘lanish

CVE recordga tegishli CWE mapping qo‘shilishi mumkin.

Bu:

  • qaysi weakness ko‘p CVE yaratishini ko‘rish;
  • trainingni prioritetlash;
  • root cause trendini kuzatish;
  • vendor qualityni tahlil qilish

imkonini beradi.

Mapping noma’lum yoki yetarli ma’lumot bo‘lmasa umumiy entry ishlatilishi mumkin.

Mapping sifati

Security findingga CWE biriktirish faqat reportni chiroyli ko‘rsatish uchun emas. Juda umumiy Improper Input Validation entry’si asl root cause’ni yashirishi mumkin. Juda aniq variant esa yetarli evidence bo‘lmasa noto‘g‘ri bo‘ladi. Mapping source code, data flow va exploit sharti bilan tasdiqlanadi.

Trend tahlili

Tashkilot vaqt bo‘yicha qaysi CWE oilalari takrorlanayotganini kuzatishi mumkin. Masalan, access control yoki injection topilmalari ko‘paysa faqat alohida buglarni tuzatish emas, framework, coding standard va trainingni yangilash kerak. Bu defectlarni release’dan oldin kamaytirishga yordam beradi.

Hardware CWE

CWE faqat software bilan cheklanmaydi. Hardware design, debug interface, privilege va cryptographic implementationga oid weaknesslar ham tasniflanadi. Hardware fix ko‘pincha firmware, microcode yoki yangi revision talab qilishi mumkin.

Bog‘liq tushunchalar

Common Weakness Enumeration, CVE, Vulnerability, Software weakness, CWE Top 25, Category, View, Pillar, Class, Root cause, Secure coding