Chapterبەش 6 · Lectureوانە 6.1

Where Vulnerabilities Come Fromخاڵە لاوازەکان لە کوێوە دێن

The three main sources of weak points in systems and networks — coding errors (with the buffer overflow explained step by step), outdated and unmaintained software, and misconfigurations — and how each is reduced: code reviews, secure coding and WAFs; patch management and scanners; audits, hardening guides and least privilege. Then how vulnerabilities are named and rated (CWE, CVE, CVSS, KEV) and where the three sources appear in the OWASP Top 10:2025.

سێ سەرچاوە سەرەکییەکەی لە سیستەم و — هەڵەی کۆدنووسین ( هەنگاو بە هەنگاو ڕوون کراوەتەوە)، کۆن و چاودێرینەکراو و — و چۆن هەریەکەیان کەم دەکرێتەوە: ، و WAF؛ و ؛ ، ڕێبەرەکانی و . پاشان چۆن ناو دەنرێن و هەڵدەسەنگێنرێن (CWE، CVE، CVSS، KEV) و سێ سەرچاوەکە لە کوێی :⁦2025⁩دا دەردەکەون.

21 min read23 خولەک خوێندنەوە · 20 stepsهەنگاو

What you will learnچی فێر دەبیت

  • Name the three main sources of vulnerabilities and give an example of each.
  • Explain what a buffer and a buffer overflow are, and why memory-safe languages prevent it.
  • Choose the right mitigation for a coding error, outdated software or a misconfiguration.
  • Read a vulnerability's CWE, CVE, CVSS and KEV information.
  • سێ سەرچاوە سەرەکییەکەی ناو ببەیت و بۆ هەریەکەیان نموونەیەک بهێنیتەوە.
  • ڕوونی بکەیتەوە و چین و بۆچی زمانە پارێزەرەکانی ڕێگەی لێ دەگرن.
  • کەمکردنەوەی گونجاو بۆ هەڵەیەکی کۆدنووسین، کۆن یان هەڵبژێریت.
  • زانیارییەکانی CWE، CVE، CVSS و KEVـی بخوێنیتەوە.

Where weak points come fromخاڵە لاوازەکان لە کوێوە دێن

Lecture 4 is called System and Network Vulnerabilities: A Comprehensive Guide. You already know what a vulnerability is: a weakness in software, hardware or settings that an attacker can use (see Vulnerability: the weak point). This lesson asks the next question: where do these weaknesses come from? The lecture names three main sources.

ناوی وانەی چوارەم سیستەم و : ڕێبەرێکی گشتگیرـە. پێشتر دەزانیت چییە: لاوازییەک لە ، یان ڕێکخستنەکاندا کە دەتوانێت بەکاری بهێنێت (سەیری خاڵی لاواز: شوێنی لاواز بکە). ئەم وانەیە پرسیاری دواتر دەکات: ئەم لاوازییانە لە کوێوە دێن؟ وانەکە سێ سەرچاوەی سەرەکی ناو دەبات.

Diagram of a house with three doors. Door 1, 'Coding errors', is a badly built door: mistakes in the program's own code, such as buffer overflows, SQL injection and XSS. Door 2, 'Outdated software', has an old lock that everyone knows how to open: unpatched and unmaintained programs. Door 3, 'Misconfigurations', is simply left open: default passwords, open databases and unneeded ports. Under each door a green label names its fix: secure coding and reviews; patching and scanning; audits, hardening and least privilege.وێنەی خانوویەک بە سێ دەرگاوە. دەرگای 1، «هەڵەی کۆدنووسین»، دەرگایەکی خراپ دروستکراوە: هەڵە لە کۆدی خودی بەرنامەکەدا، وەک سەرڕێژبوونی بافەر، تێخزاندنی SQL و XSS. دەرگای 2، «نەرمەواڵەی کۆن»، قفڵێکی کۆنی هەیە کە هەمووان دەزانن چۆن دەکرێتەوە: بەرنامەکانی پینەنەکراو و چاودێرینەکراو. دەرگای 3، «ڕێکخستنە هەڵەکان»، بە سادەیی کراوە بەجێ هێڵراوە: تێپەڕەوشە بنەڕەتییەکان، بنکەدراوەکانی کراوە و پۆرتەکانی ناپێویست. لە ژێر هەر دەرگایەک نیشانەیەکی سەوز چارەسەرەکەی ناو دەبات: کۆدنووسینی پارێزراو و پێداچوونەوە؛ پینە و پشکنین؛ پشکنینی ئاسایش، بەهێزکردنی سیستەم و بنەمای کەمترین مۆڵەت.
Three doors into a system: bad code, old software, wrong settings — and the fix for each.سێ دەرگا بۆ ناو سیستەمێک: کۆدی خراپ، کۆن، — و چارەسەری هەریەکەیان.CêIT
A house with three weak doorsخانوویەک بە سێ دەرگای لاوازەوە

Imagine a house. One door was built badly by the carpenter: that is a coding error. One door still has a lock model that every thief in town knows how to open, because the owner never changed it: that is outdated software. And one door is simply left unlocked: that is a misconfiguration. The thief does not care which door it is; he needs only one.

خانوویەک بهێنە بەرچاوت. دەرگایەکیان دارتاشەکە بە خراپی دروستی کردووە: ئەمە هەڵەی کۆدنووسینـە. دەرگایەکی تر هێشتا جۆرە قفڵێکی هەیە کە هەموو دزێکی شار دەزانێت چۆن بیکاتەوە، چونکە خاوەنەکەی هەرگیز نەیگۆڕیوە: ئەمە کۆنـە. دەرگایەکی تریش بە سادەیی قفڵ نەکراوە: ئەمە ـە. دزەکە گرنگی پێ نادات کام دەرگایە؛ تەنها یەکێکی پێویستە.

Where the analogy stops workingسنووری ئەم نموونەیە

A house has a few doors; a company has thousands of programs, devices and settings, and new 'doors' appear with every update and every new server.

خانوو چەند دەرگایەکی هەیە؛ کۆمپانیایەک هەزاران ، ئامێر و ڕێکخستنی هەیە و لەگەڵ هەموو و هەموو نوێدا «دەرگای» نوێ دروست دەبن.

Quick checkپشکنینی خێراA router still uses the password printed on its box. Which door is that? هێشتا ئەو بەکار دەهێنێت کە لەسەر قوتووەکەی چاپ کراوە. ئەمە کام دەرگایە؟

Door 1: coding errorsدەرگای 1: هەڵەی کۆدنووسین

Programmers are human. A missing check in one line of code can let an attacker read data, change data or even run their own commands on the computer. The lecture calls coding errors a major source of vulnerabilities and gives three examples: buffer overflow, SQL injection and cross-site scripting.

مرۆڤن. نەبوونی پشکنینێک لە یەک دێڕی کۆددا دەتوانێت ڕێگە بە بدات بخوێنێتەوە، بیگۆڕێت یان تەنانەت فەرمانەکانی خۆی لەسەر جێبەجێ بکات. وانەکە هەڵەی کۆدنووسین بە سەرچاوەیەکی سەرەکیی دادەنێت و سێ نموونە دەهێنێتەوە: ، و .

SQL injection and XSS both happen when a program treats a visitor's input as code. They have their own lesson: Injection attacks. The next two screens explain the first example, the buffer overflow, which is a different kind of mistake: a mistake about memory.

و هەردووکیان کاتێک ڕوو دەدەن کە سەردانیکەرێک وەک کۆد مامەڵە بکات. وانەی تایبەتی خۆیان هەیە: هێرشەکانی تێخزاندن. دوو پەڕەی داهاتوو یەکەم نموونە ڕوون دەکەنەوە، ، کە جۆرێکی ترە لە هەڵە: هەڵەیەک دەربارەی .

Quick checkپشکنینی خێراWhat do SQL injection and XSS have in common? و چییان هاوبەشە؟

Door 1: coding errorsدەرگای 1: هەڵەی کۆدنووسین

What is a buffer?بافەر چییە؟

Definitionپێناسە

A fixed-size area of where a program keeps data for a short time while it reads, processes or moves it; writing more than it can hold causes a . In logic circuits, a buffer is also a gate whose output equals its input, used to strengthen a signal or drive many inputs.

ناوچەیەکی بە قەبارەیەکی دیاریکراو کە بەرنامەیەک تێدا هەڵدەگرێت بۆ ماوەیەکی کورت، لە کاتی خوێندنەوە، کارلەسەرکردن یان گواستنەوەیدا؛ نووسینی زیاتر لە توانای بافەرەکە دروست دەکات. لە بافەر گەیتێکیشە کە دەرچوونەکەی یەکسانە بە هاتنەناوەکەی، بۆ بەهێزکردنی سیگناڵێک یان بۆ گەیاندنی بە چەندین هاتنەناو بەکار دێت.

A buffer is like a container or a box in the computer's memory where data is kept for a short time while it is being processed or moved. Each box is made for a fixed amount of information: for example, room for exactly 8 letters of a name.

وەک قاپ یان سندووقێک وایە لە کە تێدا بۆ ماوەیەکی کورت هەڵدەگیرێت لە کاتێکدا کاری لەسەر دەکرێت یان دەگوازرێتەوە. هەر سندووقێک بۆ بڕێکی دیاریکراو لە دروست کراوە: بۆ نموونە جێگەی ڕێک 8 پیتی ناوێک.

Tea glasses on a trayئیستیکانی چا لەسەر سینی

In a tea house, a tray has room for 8 glasses, and the next tray belongs to another table. If the waiter tries to put 10 glasses on the first tray, 2 of them end up on the neighbour's tray — and the neighbours suddenly have tea they never ordered.

لە چایخانەیەکدا، سینییەک جێگەی 8 ئیستیکانی تێدایە و سینییەکەی تەنیشتی هی مێزێکی ترە. ئەگەر چایچییەکە هەوڵ بدات ⁦10⁩ ئیستیکان لەسەر سینییە یەکەمەکە دابنێت، دووانیان دەکەونە سەر سینیی دراوسێکە — و دراوسێکان لەناکاو چایەکیان هەیە کە هەرگیز داوایان نەکردبوو.

Where the analogy stops workingسنووری ئەم نموونەیە

A waiter would see the problem; a computer program without a length check does not, and it silently overwrites whatever is stored next to the buffer.

چایچی کێشەکە دەبینێت؛ کە درێژی ناپشکنێت نایبینێت و بە بێدەنگی هەرچییەک لە تەنیشت هەڵگیرابێت دەیسڕێتەوە.

An animation of computer memory. A row of 8 boxes is the buffer for a name; next to it, buffer B holds the value OK. First the name SHILAN (6 letters) is written and fits, with room to spare. Then the 10-letter name DILANKARIM is written with no length check: the first 8 letters fill the buffer, and the last 2 letters, I and M, spill into buffer B, which now says IM instead of OK. In the last frame the program checks the length first, refuses the 10-letter name, and B still says OK.
An animation of computer memory. A row of 8 boxes is the buffer for a name; next to it, buffer B holds the value OK. First the name SHILAN (6 letters) is written and fits, with room to spare. Then the 10-letter name DILANKARIM is written with no length check: the first 8 letters fill the buffer, and the last 2 letters, I and M, spill into buffer B, which now says IM instead of OK. In the last frame the program checks the length first, refuses the 10-letter name, and B still says OK.
A buffer overflow: two letters too many change the memory next door. A length check stops it.: دوو پیتی زیادە تەنیشت دەگۆڕن. پشکنینی درێژی ڕێگەی لێ دەگرێت.CêIT
Quick checkپشکنینی خێراA buffer has room for 8 characters and a program writes 12 into it without checking. What happens to the last 4? جێگەی 8 هەیە و بەبێ پشکنین ⁦12⁩ی تێدا دەنووسێت. 4ـی کۆتایی چییان بەسەر دێت؟

Door 1: coding errorsدەرگای 1: هەڵەی کۆدنووسین

Buffer overflows and memory safetyسەرڕێژبوونی بافەر و پاراستنی بیرگە

Definitionپێناسە

A programming mistake in which a program writes more into a fixed-size memory area (a buffer) than it can hold, so the extra data spills into nearby memory. Attackers can use it to crash the program or to run their own code.

هەڵەیەکی بەرنامەسازییە کە تێیدا بەرنامەیەک زیاتر دەنووسێتە ناو بەشێکی بیرگەی قەبارە-جێگیر (بافەر) لەوەی جێی دەبێتەوە، بۆیە دراوە زیادەکە دەڕژێتە ناو بیرگەی تەنیشتییەوە. دەتوانن بەکاری بهێنن بۆ تێکدانی بەرنامەکە یان جێبەجێکردنی کۆدی خۆیان.

The lecture explains the danger: writing more data than a buffer can handle allows attackers to overwrite memory and execute malicious code. The memory next to a buffer may hold other data (a price, a user's role) or information that tells the program where to go next. An attacker who controls what spills over can change that information and make the computer run code of the attacker's choice.

وانەکە مەترسییەکە ڕوون دەکاتەوە: نووسینی زیاتر لەوەی توانای هەیە ڕێگە بە دەدات بسڕنەوە و کۆدی زیانبەخش جێبەجێ بکەن. ئەو بەشەی کە لە تەنیشت دەکرێت تری تێدا بێت (نرخێک، ڕۆڵی ) یان ئەو بە دەڵێت دواتر بۆ کوێ بچێت. کە کۆنترۆڵی ئەوە بکات چی دەڕژێتە دەرەوە، دەتوانێت ئەو بگۆڕێت و وا بکات ئەو کۆدە جێبەجێ بکات کە خۆی هەڵیبژاردووە.

Quick checkپشکنینی خێراWhy can a buffer overflow be worse than a simple crash?بۆچی دەکرێت لە وەستانێکی سادەی خراپتر بێت؟

Buffer OverflowAaron Yoo · Englishئینگلیزی · 117K viewsبینین · 4.8K likesلایک

With simple drawings: what a buffer is, how too much data overwrites the memory next to it, the damage and the defences.

بە وێنەی سادە: چییە، چۆن زیاد لە پێویست بەسەر تەنیشتیدا دەنووسرێت، زیانەکان و ڕێگاکانی بەرگری.

Whole video (5:57): buffer overflow, solution and damage.

هەموو ڤیدیۆکە ⁦(5:57)⁩: ، چارەسەرەکەی و زیانەکانی.

Door 1: coding errorsدەرگای 1: هەڵەی کۆدنووسین

Why it still happens: memory-safe languagesبۆچی هێشتا ڕوو دەدات: زمانە پارێزەرەکانی بیرگە

Why is this still common? Languages such as C and C++ let a program write anywhere in memory and leave the checking to the programmer. CISA and partner agencies (The Case for Memory Safe Roadmaps, December 2023) report that about 70% of the vulnerabilities Microsoft gave CVE IDs to between 2006 and 2018, and about 70% of those in Google's Chromium browser project, were memory-safety problems.

بۆچی ئەمە هێشتا باوە؟ زمانەکانی وەک C و ⁦C++⁩ ڕێگە دەدەن لە هەر شوێنێکی بنووسێت و پشکنینەکە بۆ جێ دەهێڵن. CISA و دەزگا هاوبەشەکانی (⁦The Case for Memory Safe Roadmaps⁩، کانوونی یەکەمی ⁦2023⁩) ڕاپۆرت دەدەن کە نزیکەی ⁦70%⁩ـی Microsoft کە لە نێوان ⁦2006⁩ و ⁦2018⁩دا ناسنامەی پێدرا، هەروەها نزیکەی ⁦70%⁩ـی ئەوانەی پرۆژەی Chromiumـی Google، کێشەی پاراستنی بوون.

A memory-safe language checks every position for you. Here is the same mistake in Python, one of the memory-safe languages CISA lists (with C#, Go, Java, Rust and Swift): instead of overwriting the neighbour, Python stops with an error.

زمانێکی پارێزەری هەموو شوێنێک لە جیاتی تۆ دەپشکنێت. ئەمە هەمان هەڵەیە لە Pythonـدا، یەکێک لەو زمانانەی کە CISA وەک پارێزەری دەیانژمێرێت (لەگەڵ ⁦C#⁩، Go، Java، Rust و Swift): لە جیاتی سڕینەوەی دراوسێکە، Python بە هەڵەیەک ڕادەوەستێت.

Ten letters into a buffer of eight, in a memory-safe languageدە پیت بۆ ناو بافەرێکی هەشتی، لە زمانێکی پارێزەری بیرگەداbounds.pyPYTHONType in a terminalلە تێرمیناڵدا بینووسە
buffer = [" "] * 8              # room for exactly 8 letters
name = "DILANKARIM"             # 10 letters: 2 too many

for i, letter in enumerate(name):
    buffer[i] = letter          # Python checks every position
    print(i, "".join(buffer))
Explain the codeڕوونکردنەوەی کۆدەکە
Lineدێڕی 1

A list with exactly 8 places: our 'buffer'.

بە ڕێک 8 شوێن: «».

Lineدێڕی 5

Python checks the position on every write. Position 8 does not exist, so it raises IndexError instead of writing into the neighbouring memory.

Python لە هەموو نووسینێکدا شوێنەکە دەپشکنێت. شوێنی 8 بوونی نییە، بۆیە لە جیاتی نووسین لە دراوسێدا IndexError دەدات.

Quick checkپشکنینی خێراWhy does the Python program stop with IndexError instead of overflowing?بۆچی Pythonـەکە بە IndexError ڕادەوەستێت لە جیاتی سەرڕێژبوون؟

how can memory safe code STOP HACKERS?Low Level · Englishئینگلیزی · 137K viewsبینین · 5.4K likesلایک

Why C lets a program write anywhere in memory, and how a memory-safe language such as Rust stops the same bugs at compile time.

بۆچی C ڕێگە بە دەدات لە هەر شوێنێکی بنووسێت و چۆن زمانێکی پارێزەری وەک Rust هەمان لە کاتی کۆمپایلکردندا دەگرێت.

Whole video (7:43): memory bugs in C and how memory-safe code prevents them.

هەموو ڤیدیۆکە ⁦(7:43)⁩: لە Cـدا و چۆن کۆدی پارێزەری ڕێگەیان لێ دەگرێت.

Door 1: coding errorsدەرگای 1: هەڵەی کۆدنووسین

Defences against memory errorsبەرگری لە هەڵەکانی بیرگە

  • Check every length before copying data into a buffer (bounds checking).
  • Prefer memory-safe languages for new code; CISA asks software makers to publish plans for moving to them.
  • Keep compiler and operating-system protections switched on: modern systems make the leftover memory errors much harder to exploit.
  • Test with unexpected input, for example very long names (fuzzing), and install updates, because most memory bugs are fixed by patches.
  • هەموو درێژییەک بپشکنە پێش کۆپیکردنی بۆ ناو (پشکنینی سنوور).
  • زمانی پارێزەری هەڵبژێرە بۆ کۆدی نوێ؛ CISA داوا لە دروستکەرانی دەکات پلانی گواستنەوە بۆ ئەو زمانانە بڵاو بکەنەوە.
  • پاراستنەکانی و داگیرساو بهێڵەرەوە: سیستەمە نوێکان بەکارهێنانی ئەو هەڵانەی کە هێشتا چاک نەکراون زۆر قورستر دەکەن.
  • بە چاوەڕواننەکراو تاقی بکەرەوە، بۆ نموونە ناوی زۆر درێژ، هەروەها دابمەزرێنە، چونکە زۆربەی هەڵەکانی بە چاک دەکرێن.
Quick checkپشکنینی خێراA program in C copies names into a fixed buffer. Which change stops the overflow at its cause? کە بە C نووسراوە ناوەکان کۆپی دەکاتە ناو جێگیر. کام گۆڕانکاری لە سەرچاوەکەیدا ڕێگە لە سەرڕێژبوونەکە دەگرێت؟

Door 1: coding errorsدەرگای 1: هەڵەی کۆدنووسین

Mitigating coding errorsکەمکردنەوەی هەڵەکانی کۆدنووسین

The lecture lists three defences. They work best together:

وانەکە سێ بەرگری دەژمێرێت. پێکەوە باشترین کار دەکەن:

DefenceبەرگریWhat it meansواتای چییەLimitسنوور
Regular code reviews بەردەوامDetailed reviews by security-minded colleagues find mistakes early, while the code is still being written.پێداچوونەوەی ورد لەلایەن هاوکارانێکەوە کە بیر لە دەکەنەوە هەڵەکان زوو دەدۆزنەوە، کاتێک هێشتا کۆدەکە دەنووسرێت.People get tired and miss things; combine reviews with automatic tools such as SAST and DAST scanners.خەڵک ماندوو دەبن و شت لەبیر دەکەن؛ پێداچوونەوە لەگەڵ ئامرازی خۆکاری وەک سکانەرەکانی SAST و DAST تێکەڵ بکە.
Secure coding practicesپەیڕەوکردنی Follow tested rules: check every input, use parameterised queries, escape output, never trust lengths.ڕێسای تاقیکراوە پەیڕەو بکە: هەموو بپشکنە، بەکار بهێنە، دەرچوون پاک بکەرەوە، هەرگیز متمانە بە درێژی مەکە.Rules help only if every programmer knows them; training is part of the fix.ڕێساکان تەنها ئەوکات یارمەتی دەدەن کە هەموو بیانزانێت؛ ڕاهێنان بەشێکە لە چارەسەرەکە.
Web application firewall (WAF)بەکارهێنانی ⁦(WAF)⁩A filter in front of a web application that blocks traffic that looks like known attacks, such as SQL injection and XSS.پاڵاوتەیەک لە بەردەم کە ئەو هاتوچۆیە ڕادەگرێت کە لە ناسراو دەچێت، وەک و .It does not fix the code, and clever attacks can slip past it. It is an extra layer, not a replacement for correct code.کۆدەکە چاک ناکات و زیرەک دەتوانن لێی دەرباز ببن. چینێکی زیادەیە، نەک جێگرەوەی کۆدی دروست.
Quick checkپشکنینی خێراA company puts a WAF in front of its shop website. Is the SQL injection bug in its code now fixed?کۆمپانیایەک WAFێک لە بەردەم فرۆشگاکەی دادەنێت. ئایا باگی لە کۆدەکەیدا ئێستا چاک بووە؟

Door 1: coding errorsدەرگای 1: هەڵەی کۆدنووسین

OWASP: guidance, not a productOWASP: ڕێنمایی، نەک بەرهەم

Quick checkپشکنینی خێراWhat is OWASP?OWASP چییە؟

Door 2: outdated softwareدەرگای 2: نەرمەواڵەی کۆن

When a vulnerability in a program becomes known, its maker publishes a fix called a patch. From that day, attackers know the weakness too — and every computer that has not installed the patch is an easy target. The lecture calls outdated software a major security risk and names two forms:

کاتێک لە دەناسرێت، دروستکەرەکەی چارەسەرێک بڵاو دەکاتەوە کە پێی دەگوترێت . لەو ڕۆژەوە لاوازییەکە دەزانن — و هەموو کە دانەمەزراندبێت ئامانجێکی ئاسانە. وانەکە کۆن بە گەورەی ناو دەبات و دوو شێوەی دەژمێرێت:

  • Unpatched vulnerabilities: outdated operating systems, web browsers and applications can contain known vulnerabilities that attackers can exploit. 'Unpatched' means the weakness has been found but the fix has not been installed yet.
  • Unmaintained applications: programs and plugins that nobody supports any more ('unmaintained': not kept in good condition) are at higher risk, because new holes are found and never fixed.
  • پینەنەکراو: ، و کە کۆن بوون دەکرێت ناسراویان تێدا بێت کە دەتوانن بەکاریان بهێنن. «پینەنەکراو» واتە لاوازییەکە دۆزراوەتەوە بەڵام چارەسەرەکەی هێشتا دانەمەزراوە.
  • : ئەو و چیتر کەس پشتگیرییان ناکات («چاودێرینەکراو»: لە دۆخێکی باشدا نەهێڵدراوەتەوە) زیاتریان هەیە، چونکە کونی نوێیان تێدا دەدۆزرێتەوە و هەرگیز چاک ناکرێن.
Quick checkپشکنینی خێراWhat does 'unpatched' mean?«پینەنەکراو» واتای چییە؟

Door 2: outdated softwareدەرگای 2: نەرمەواڵەی کۆن

Real examples: WannaCry, Windows 10 and Log4jنموونەی ڕاستەقینە: WannaCry، ⁦Windows 10⁩ و ⁦Log4j⁩

Real examples: in May 2017 the WannaCry worm infected computers worldwide through a Windows flaw that Microsoft had patched two months earlier (see WannaCry). And on 14 October 2025 Microsoft ended support for Windows 10: PCs still running it no longer get security fixes, unless they are enrolled in Microsoft's Extended Security Updates (ESU) programme — for home users until 12 October 2027, for organisations for at most three years, paid year by year.

نموونەی ڕاستەقینە: لە ئایاری ⁦2017⁩دا WannaCry سەرانسەری جیهانی تووش کرد؛ لە ڕێگەی کێشەیەکی Windowsـەوە چووە ژوورەوە کە Microsoft دوو مانگ پێشتر بۆ دەرکردبوو (سەیری WannaCry بکە). هەروەها لە ⁦14⁩ـی تشرینی یەکەمی ⁦2025⁩دا Microsoft پشتگیریی ⁦Windows 10⁩ـی ڕاگرت: ئەو هێشتا بەکاری دەهێنن چیتر چاککردنەوەی وەرناگرن، مەگەر لە بەرنامەی ⁦Extended Security Updates⁩ـی ⁦(ESU) Microsoft⁩ـدا تۆمار کرابن — بۆ بەکارهێنەرانی ماڵەوە تا ⁦12⁩ـی تشرینی یەکەمی ⁦2027⁩ و بۆ ڕێکخراوەکان لانی زۆر سێ ساڵ کە ساڵ بە ساڵ پارەی دەدرێت.

Quick checkپشکنینی خێراWhy was Log4Shell so hard for many companies to fix?بۆچی چاککردنی ⁦Log4Shell⁩ بۆ زۆر کۆمپانیا ئەوەندە قورس بوو؟

Apache Log4j: The Exploit that Almost Killed the InternetInto the Shadows · Englishئینگلیزی · 379K viewsبینین · 13K likesلایک · Partبەشی 0:45–3:52 (ofلە 15:40)

Log4Shell (2021): one flaw in a common logging library exposed huge numbers of systems until they were patched.

⁦Log4Shell (2021)⁩: یەک لە باوی نووسینی ژمارەیەکی زۆر سیستەمی خستە بەر تا کران.

Plays 0:45-3:52, the chapter "The Exploit": how Log4Shell was found, who was exposed, and why one small, forgotten library put so many systems at risk.

لە ⁦0:45⁩ تا ⁦3:52⁩ پەخش دەبێت، بەشی «⁦The Exploit⁩»: ⁦Log4Shell⁩ چۆن دۆزرایەوە، کێ لە بوو، هەروەها بۆچی بچووک و لەبیرکراو ئەوەندە سیستەمی خستە بەر .

Door 2: outdated softwareدەرگای 2: نەرمەواڵەی کۆن

Mitigating outdated softwareکەمکردنەوەی مەترسیی نەرمەواڵەی کۆن

  • Regular patch management: install updates and patches promptly, especially for known, serious vulnerabilities. Use tools that automate updates where possible, so nothing depends on someone remembering.
  • Vulnerability scanners: tools that find outdated components and check that every system has the latest security patches. They are explained in Finding and rating vulnerabilities.
  • Know what you run (added): keep a list of every program, device and library. You cannot patch what you do not know you have.
  • Replace what is unmaintained (added): plan to move away from software that has reached the end of its support.
  • بەردەوام: و لە کاتی خۆیدا دابمەزرێنە، بەتایبەتی بۆ ناسراو و جددی. لە هەر شوێنێک بکرێت ئامرازێک بەکار بهێنە کە خۆکار بکات، بۆ ئەوەی هیچ شتێک پشت بە بیرهاتنەوەی کەسێک نەبەستێت.
  • : ئامرازگەلێک کە پارچە کۆنەکان دەدۆزنەوە و دەپشکنن ئایا هەموو سیستەمێک دوایین هەیە. لە دۆزینەوە و هەڵسەنگاندنی خاڵە لاوازەکان ڕوون کراونەتەوە.
  • بزانە چی بەکار دەهێنیت (زیادکراو): لیستێکی هەموو ، ئامێر و ڕابگرە. ناتوانیت شتێک بکەیت کە نازانیت هەتە.
  • ئەوەی چاودێری ناکرێت بیگۆڕە (زیادکراو): پلان دابنێ بۆ وازهێنان لە هەر کە پشتگیرییەکەی کۆتایی هاتووە.

How a patch is tested, prioritised and rolled out across a whole organisation is the subject of The vulnerability lifecycle and patching.

چۆنیەتیی تاقیکردنەوە، ڕیزبەندیکردن و بڵاوکردنەوەی لە سەرانسەری ڕێکخراوێکدا بابەتی سووڕی ژیانی خاڵی لاواز و پینەـە.

Quick checkپشکنینی خێراA scanner reports that a web server runs a version with a known, fixed vulnerability. What is the right first step? ڕاپۆرت دەدات کە وەشانێک بەکار دەهێنێت کە ناسراو و چاککراوی تێدایە. هەنگاوی یەکەمی دروست چییە؟

Door 3: misconfigurationsدەرگای 3: ڕێکخستنە هەڵەکان

A system can have perfect, fully patched code and still be wide open because of its settings. The lecture calls misconfigurations a common vulnerability and gives three examples:

سیستەمێک دەتوانێت کۆدێکی تەواو و بە تەواوی پینەکراوی هەبێت و هێشتا بەهۆی ڕێکخستنەکانییەوە بە تەواوی کراوە بێت. وانەکە بە باو ناو دەبات و سێ نموونە دەهێنێتەوە:

MisconfigurationWhy it is dangerousبۆچی مەترسیدارەExampleنموونە
Unrestricted database accessدەستڕاگەیشتنی بێسنوور بە Anyone who reaches the database can read, change or steal sensitive data.هەر کەسێک بگاتە دەتوانێت هەستیار بخوێنێتەوە، بگۆڕێت یان بیدزێت.A customer database left reachable from the internet with no password; cloud storage shared with "everyone". کڕیاران کە لە بەبێ دەتوانرێت پێی بگەیت؛ شوێنی هەڵگرتنی هەوری کە لەگەڵ «هەمووان» هاوبەش کراوە.
Default credentials بنەڕەتیFactory usernames and passwords such as admin/admin are published in manuals; attackers try them first.ناوی و کارگە وەک ⁦admin/admin⁩ لە ڕێبەرەکاندا بڵاو کراونەتەوە؛ یەکەم جار ئەوانە تاقی دەکەنەوە.Cameras and routers with factory passwords, taken over in their thousands by botnets.کامێرا و بە کارگەوە کە بە هەزاران لەلایەن بۆتنێتەکانەوە دەگیرێن.
Unnecessary open ports and services و خزمەتگوزارییە کراوە ناپێویستەکانEvery running service listens on a network port (a numbered door). Each one that is not needed is one more way in.هەموو خزمەتگوزارییەکی کارا لەسەر گوێ دەگرێت (دەرگایەکی ژمارەدار). هەر یەکێک کە پێویست نەبێت ڕێگایەکی ترە بۆ چوونە ژوورەوە.An old file-sharing or remote-desktop service left open to the internet "just in case".خزمەتگوزارییەکی کۆنی هاوبەشکردنی فایل یان کە «بۆ دڵنیایی» بۆ کراوە بەجێ هێڵراوە.
Quick checkپشکنینی خێراWhy are factory passwords such as admin/admin so dangerous?بۆچی کارگەی وەک ⁦admin/admin⁩ ئەوەندە مەترسیدارن؟

Door 3: misconfigurationsدەرگای 3: ڕێکخستنە هەڵەکان

Fewer open doors: the attack surfaceدەرگای کراوەی کەمتر: ڕووبەری هێرش

The owner's note on open ports gives the rule in one line: turn off servers and services you do not need. Fewer open doors means a smaller attack surface — the total of all the ways an attacker could try to get in.

تێبینیی خاوەنی کۆرسەکە دەربارەی کراوە یاساکە لە یەک دێڕدا دەڵێت: ئەو و خزمەتگوزارییانەی پێویستت پێیان نییە بیانکوژێنەرەوە. دەرگای کراوەی کەمتر واتە بچووکتر — کۆی هەموو ئەو ڕێگایانەی کە دەتوانێت بۆ چوونە ژوورەوە تاقییان بکاتەوە.

Quick checkپشکنینی خێراWhich change makes a server's attack surface smaller?کام گۆڕانکاری بچووکتر دەکات؟

Door 3: misconfigurationsدەرگای 3: ڕێکخستنە هەڵەکان

Mitigating misconfigurationsکەمکردنەوەی ڕێکخستنە هەڵەکان

  • Security audits and configuration reviews: regular checks of settings find mistakes before attackers do. Compare each system with a written standard, not with memory.
  • Hardening guides: step-by-step lists of secure settings for a product. The best known are the free CIS Benchmarks, written by experts by consensus, with more than 100 guides for operating systems, cloud services, network devices and server software; vendors also publish their own security baselines.
  • Least privilege principle: give users only the minimum access their job needs. If an account is stolen, the attacker gets only that little. The principle is explained in Least privilege.
  • Change every default password on the day a device is installed (added), and use long, unique passwords stored in a password manager (see Passwords, MFA and access control).
  • و پێداچوونەوەی ڕێکخستن: پشکنینی بەردەوامی ڕێکخستنەکان هەڵەکان دەدۆزنەوە پێش ئەوەی بیاندۆزنەوە. هەر سیستەمێک بەراورد بکە بە ستانداردێکی نووسراو، نەک بە بیرەوەری.
  • ڕێبەرەکانی : لیستی هەنگاو بە هەنگاوی ڕێکخستنە سەلامەتەکان بۆ بەرهەمێک. ناسراوترینیان ⁦CIS Benchmarks⁩ـی بێبەرانبەرە کە پسپۆڕان بە ڕێککەوتن نووسیویانە، زیاتر لە ⁦100⁩ ڕێبەر بۆ ، خزمەتگوزارییە هەورییەکان، ئامێرەکانی و ؛ دروستکەرانیش بنەمای خۆیان بڵاو دەکەنەوە.
  • : تەنها کەمترین دەستڕاگەیشتن بدە بە کە کارەکەیان پێویستی پێیەتی. ئەگەر هەژمارێک بدزرێت، تەنها ئەو کەمەی دەست دەکەوێت. بنەماکە لە بنەمای کەمترین مۆڵەت ڕوون کراوەتەوە.
  • هەموو بگۆڕە هەر لەو ڕۆژەی ئامێرەکە دادەمەزرێت (زیادکراو)، هەروەها درێژ و تاک بەکار بهێنە کە لە هەڵگیراون (سەیری تێپەڕەوشەکان، MFA و کۆنترۆڵی دەستڕاگەیشتن بکە).
The checklist at the pharmacyلیستی پشکنین لە دەرمانخانە

A good pharmacist does not trust memory: every evening she follows the same written checklist — fridge temperature, locked cabinet, alarm on. A hardening guide is that checklist for a server, and an audit is the manager checking that it was really followed.

دەرمانسازێکی باش متمانە بە بیرەوەری ناکات: هەموو ئێوارەیەک هەمان لیستی نووسراو پەیڕەو دەکات — پلەی گەرمیی سەلاجە، کابینەی قفڵدراو، ئاگادارکەرەوەی داگیرساو. ڕێبەری ئەو لیستەیە بۆ و بەڕێوەبەرەکەیە کە دەپشکنێت ئایا بە ڕاستی پەیڕەو کراوە.

Where the analogy stops workingسنووری ئەم نموونەیە

A pharmacy checklist rarely changes; hardening guides are updated with every new product version, so audits must use the current guide.

لیستی دەرمانخانە بە دەگمەن دەگۆڕێت؛ ڕێبەرەکانی لەگەڵ هەموو وەشانێکی نوێی بەرهەمدا نوێ دەکرێنەوە، بۆیە دەبێت ڕێبەری ئێستا بەکار بهێنن.

Quick checkپشکنینی خێراA new intern needs to read the product list. Which access follows least privilege?ڕاهێنراوێکی نوێ پێویستی بە خوێندنەوەی لیستی بەرهەمەکانە. کام دەستڕاگەیشتن لەگەڵ دەگونجێت؟

Kinds, names and scores: CWE, CVE, CVSS and KEVجۆر، ناو و نمرە: CWE، CVE، CVSS و KEV

Security people around the world use four public lists to talk about vulnerabilities precisely. Each answers a different question:

خەڵکی لە سەرانسەری جیهاندا چوار لیستی گشتی بەکار دەهێنن بۆ ئەوەی بە وردی باسی بکەن. هەریەکەیان وەڵامی پرسیارێکی جیاواز دەداتەوە:

ListلیستQuestion it answersوەڵامی چ پرسیارێک دەداتەوەLearn moreزیاتر
What kind of mistake is it? (e.g. CWE-787 out-of-bounds write, CWE-89 SQL injection)چ جۆرە هەڵەیەکە؟ (بۆ نموونە ⁦CWE-787⁩ نووسینی دەرەوەی سنوور، ⁦CWE-89⁩ )This screenئەم پەڕەیە
Which exact flaw, in which product? One ID per vulnerability, e.g. CVE-2017-5638.کام کێشەی دیاریکراو، لە کام بەرهەمدا؟ یەک ناسنامە بۆ هەر ، وەک ⁦CVE-2017-5638⁩.CVE: one name for each vulnerabilityCVE: یەک ناو بۆ هەر خاڵێکی لاواز
How severe is it in general? A score from 0.0 to 10.0 (version 4.0 since November 2023).بە گشتی چەند توندە؟ نمرەیەک لە ⁦0.0⁩ تا ⁦10.0⁩ (وەشانی ⁦4.0⁩ لە تشرینی دووەمی ⁦2023⁩ـەوە).CVSSنمرەی CVSS
Is it being exploited in real attacks right now?ئایا ئێستا لە بەکار دەهێنرێت؟Which one first?کامیان یەکەم؟
Quick checkپشکنینی خێراTwo different products each have a SQL injection flaw. What do their records share?دوو بەرهەمی جیاواز هەریەکەیان کێشەیەکی هەیە. تۆمارەکانیان چییان هاوبەشە؟

Kinds, names and scores: CWE, CVE, CVSS and KEVجۆر، ناو و نمرە: CWE، CVE، CVSS و KEV

One flaw's ID card: CVE-2017-5638ناسنامەی کێشەیەک: ⁦CVE-2017-5638⁩

Put together, they make an 'ID card'. Here is the card of the flaw behind the Equifax breach, from the US National Vulnerability Database (NVD):

ئەگەر پێکەوە دابنرێن، «ناسنامەیەک» دروست دەکەن. ئەمە ناسنامەی ئەو کێشەیەیە کە لە پشت دزەکردنەکەی Equifaxـەوە بوو، لە ( نیشتیمانیی ئەمریکا):

FieldخانەValueنرخ
CVE IDناسنامەی CVECVE-2017-5638
ProductبەرهەمApache Struts 2 (file-upload part), fixed in versions 2.3.32 and 2.5.10.1 on 7 March 2017⁦Apache Struts 2⁩ (بەشی )، لە وەشانەکانی ⁦2.3.32⁩ و ⁦2.5.10.1⁩دا لە 7ـی ئاداری ⁦2017⁩دا چاک کرا
Kind (CWE)جۆر ⁦(CWE)⁩CWE-755: improper handling of exceptional conditions — the program reacted wrongly to an unusual upload request⁦CWE-755⁩: مامەڵەی هەڵە لەگەڵ بارودۆخی نائاسایی — بە هەڵە وەڵامی داواکارییەکی نائاسایی بارکردنی دایەوە
Severity (CVSS 3.1, NVD)توندی (⁦CVSS 3.1⁩، NVD)9.8 — Critical: an attacker on the internet could run commands, no password needed⁦9.8⁩ — زۆر مەترسیدار: لە دەیتوانی فەرمان جێبەجێ بکات، بەبێ پێویستی بە
Exploited (KEV)بەکارهێنراو ⁦(KEV)⁩Yes — exploited in the wild from March 2017; listed in KEV since the catalogue began in November 2021بەڵێ — لە ئاداری ⁦2017⁩ـەوە لە بەکار هێنرا؛ لە تشرینی دووەمی ⁦2021⁩ـەوە کە لیستەکە دەستی پێکرد لە KEVـدایە
Quick checkپشکنینی خێراThe Struts flaw has CVSS 9.8 and is listed in KEV. What does the KEV listing add?کێشەی Struts نمرەی ⁦CVSS 9.8⁩ـی هەیە و لە KEVـدایە. بوونی لە KEVـدا چی زیاد دەکات؟

The three doors in the OWASP Top 10:2025سێ دەرگاکە لە OWASP Top 10:⁦2025⁩دا

The OWASP Top 10:2025 is the current list of the most critical web-application risks. Its full list and how scanners use it are in The OWASP Top 10. Here is where this lesson's three doors appear on it:

:⁦2025⁩ لیستی ئێستای گرنگترین . لیستە تەواوەکەی و ئەوەی چۆن بەکاری دەهێنن لە OWASP Top 10ـدان. ئەمە ئەو شوێنانەیە کە سێ دەرگاکەی ئەم وانەیە تێیدا دەردەکەون:

DoorدەرگاOWASP Top 10:2025 categoriesپۆلەکانی ⁦OWASP Top 10:2025⁩Example from this lessonنموونە لەم وانەیە
Door 1: coding errorsدەرگای 1: هەڵەی کۆدنووسینA05 Injection; A10 Mishandling of Exceptional Conditions⁦A05 Injection⁩ (واتە )؛ ⁦A10 Mishandling of Exceptional Conditions⁩ (مامەڵەی هەڵە لەگەڵ بارودۆخی نائاسایی)SQL injection, XSS; the Struts flaw (CWE-755) that mishandled an unusual request، ؛ کێشەی ⁦Struts (CWE-755)⁩ کە بە هەڵە مامەڵەی لەگەڵ داواکارییەکی نائاسایی کرد
Door 2: outdated softwareدەرگای 2: کۆنA03 Software Supply Chain Failures⁦A03 Software Supply Chain Failures⁩ (شکستەکانی زنجیرەی دابینکردنی )Unmaintained libraries and late patching — OWASP itself cites Struts CVE-2017-5638 and Log4Shell چاودێرینەکراو و دواکەوتوو — خودی OWASP نموونەی ⁦Struts CVE-2017-5638⁩ و ⁦Log4Shell⁩ دەهێنێتەوە
Door 3: misconfigurationsدەرگای 3: A02 Security Misconfiguration; A01 Broken Access Control⁦A02 Security Misconfiguration⁩ ( )؛ ⁦A01 Broken Access Control⁩ ( شکاو)Default accounts, unneeded ports and services, cloud storage open to everyone; too much accessهەژماری بنەڕەتی، و خزمەتگوزاریی ناپێویست، شوێنی هەڵگرتنی هەوری کە بۆ هەمووان کراوەیە؛ دەستڕاگەیشتنی زۆر
Quick checkپشکنینی خێراA company's web app uses an old library with a known flaw. Which OWASP 2025 category is that? کۆمپانیایەک کۆن بە کێشەیەکی ناسراوەوە بەکار دەهێنێت. ئەمە کام پۆلی ⁦OWASP 2025⁩ـە؟

Common mistakesهەڵە باوەکان

MistakeهەڵەWhy it is wrongبۆچی هەڵەیەBetterباشتر
"We have a WAF, so our code is safe."«WAFمان هەیە، بۆیە کۆدەکەمان سەلامەتە.»A WAF filters known patterns; the bug is still in the code.WAF شێوازە ناسراوەکان دەپاڵێوێت؛ باگەکە هێشتا لە کۆدەکەدایە.Fix the code; keep the WAF as an extra layer.کۆدەکە چاک بکە؛ WAF وەک چینێکی زیادە بهێڵەرەوە.
"Our software is new, so it has no vulnerabilities."« نوێیە، بۆیە هیچ نییە.»New code has bugs too, and it is built from libraries that may be old.کۆدی نوێش باگی هەیە و لە دروست کراوە کە لەوانەیە کۆن بن.Review, test and scan new code; track its libraries.پێداچوونەوە، تاقیکردنەوە و پشکنینی کۆدی نوێ بکە؛ بەدواداچوون بۆ بکە.
"The device works, so the default settings must be fine."«ئامێرەکە کار دەکات، بۆیە ڕێکخستنە بنەڕەتییەکان دەبێت باش بن.»Defaults are made for easy setup, not for security; default passwords are public.ڕێکخستنە بنەڕەتییەکان بۆ دامەزراندنی ئاسان دروست کراون، نەک بۆ ؛ ئاشکران.Change default passwords and follow a hardening guide on day one.هەر لە ڕۆژی یەکەمەوە بگۆڕە و ڕێبەرێکی پەیڕەو بکە.
"Open ports do not matter if nobody knows the address."« کراوە گرنگ نین ئەگەر کەس ناونیشانەکە نەزانێت.»Automated tools sweep the whole internet all the time; hiding is not protection.ئامرازە خۆکارەکان هەموو کاتێک هەموو دەپشکنن؛ شاردنەوە پاراستن نییە.Close what you do not need; protect what must stay open.ئەوەی پێویستت پێی نییە دایبخە؛ ئەوەی دەبێت کراوە بمێنێتەوە بیپارێزە.
"A CVE ID tells me how dangerous a flaw is."«ناسنامەی CVE پێم دەڵێت کێشەیەک چەند مەترسیدارە.»A CVE is only a name. Severity comes from CVSS; active exploitation from KEV.CVE تەنها ناوێکە. توندی لە CVSSـەوە دێت؛ بەکارهێنانی ئێستاش لە KEVـەوە.Read the score, the KEV status and your own exposure together.نمرەکە، دۆخی KEV و ئاشکرابوونی سیستەمەکەی خۆت پێکەوە بخوێنەرەوە.

Exercisesڕاهێنانەکان

ExerciseڕاهێنانSort the findingsدۆزراوەکان پۆلێن بکە

An audit of a small online shop, Shilan Shop, finds six problems. For each, name the door (coding error, outdated software, misconfiguration) and one fix. (a) The admin page still accepts admin/admin. (b) The search box lets a visitor add SQL to the query. (c) The web server runs a version with a patch released six months ago. (d) The customer database accepts connections from the whole internet. (e) A shop plugin has had no updates for four years. (f) A program written in C copies a delivery address into a fixed buffer without checking its length.

پشکنینێک بۆ فرۆشگایەکی بچووکی ئۆنلاین، ⁦Shilan Shop⁩، شەش کێشە دەدۆزێتەوە. بۆ هەریەکەیان دەرگاکە (هەڵەی کۆدنووسین، کۆن، ) و یەک چارەسەر ناو ببە. (أ) پەڕەی بەڕێوەبەر هێشتا ⁦admin/admin⁩ وەردەگرێت. (ب) خانەی گەڕان ڕێگە بە سەردانیکەر دەدات SQL زیاد بکاتە . (ج) وەشانێک بەکار دەهێنێت کە شەش مانگ پێش ئێستا بۆ دەرچووە. (د) کڕیاران پەیوەندی لە هەموو وەردەگرێت. (هـ) فرۆشگاکە چوار ساڵە هیچ نەبووە. (و) کە بە C نووسراوە ناونیشانی گەیاندن بەبێ پشکنینی درێژی کۆپی دەکاتە ناو جێگیر.

Show answerوەڵامەکە پیشان بدە
FindingدۆزراوەDoorدەرگاFixچارەسەر
(a)Misconfiguration (default credentials) ( بنەڕەتی)Change the password at once; add MFA for the admin page.یەکسەر بگۆڕە؛ MFA بۆ پەڕەی بەڕێوەبەر زیاد بکە.
(b)Coding error (SQL injection)هەڵەی کۆدنووسین ()Use parameterised queries; a WAF can help meanwhile. بەکار بهێنە؛ تا ئەو کاتە WAF دەتوانێت یارمەتی بدات.
(c)Outdated software (unpatched) کۆن (پینەنەکراو)Test and install the patch; automate future updates. تاقی بکەرەوە و دایبمەزرێنە؛ داهاتوو خۆکار بکە.
(d)Misconfiguration (unrestricted database access) (دەستڕاگەیشتنی بێسنوور بە )Allow connections only from the shop's own server; least privilege for its account.تەنها ڕێگە بە پەیوەندی لە خودی فرۆشگاکەوە بدە؛ بۆ هەژمارەکەی.
(e)Outdated software (unmaintained) کۆن (چاودێرینەکراو)Replace the plugin with a maintained one, or remove it. بە یەکێکی چاودێریکراو بگۆڕە، یان لایببە.
(f)Coding error (buffer overflow)هەڵەی کۆدنووسین ()Check the length before copying; ideally rewrite that part in a memory-safe language.پێش کۆپیکردن درێژییەکە بپشکنە؛ باشترە ئەو بەشە بە زمانێکی پارێزەری بنووسرێتەوە.
ExerciseڕاهێنانThe overflowing nameناوە سەرڕێژبووەکە

A buffer for a first name has room for 8 letters, and the buffer right after it holds a two-letter status OK. A program written without length checks stores the name KARWANSOR. What is stored in the status buffer afterwards, and what would Python do with the same mistake?

بۆ ناوی یەکەم جێگەی 8 پیتی هەیە و ڕێک دوای ئەو دۆخێکی دوو پیتیی OK هەڵدەگرێت. کە بەبێ پشکنینی درێژی نووسراوە ناوی KARWANSOR هەڵدەگرێت. دواتر چی لە دۆخەکەدا هەڵگیراوە و Python بە هەمان هەڵە چی دەکات؟

Hintئاماژە

Count the letters first. Only the letters beyond the 8th spill over.

سەرەتا پیتەکان بژمێرە. تەنها ئەو پیتانەی دوای هەشتەم دەڕژێنە دەرەوە.

Show answerوەڵامەکە پیشان بدە

KARWANSOR has 9 letters. The first 8, KARWANSO, fill the name buffer; the 9th letter R overwrites the first letter of the status, which becomes RK. Python checks every position, so writing the 9th letter would stop with IndexError and the status would stay OK.

KARWANSOR 9 پیتی هەیە. 8ـی یەکەم، KARWANSO، ناوەکە پڕ دەکەنەوە؛ پیتی نۆیەم R یەکەم پیتی دۆخەکە دەسڕێتەوە کە دەبێتە RK. Python هەموو شوێنێک دەپشکنێت، بۆیە نووسینی پیتی نۆیەم بە IndexError ڕادەوەستێت و دۆخەکە OK دەمێنێتەوە.

ExerciseڕاهێنانRead an ID cardناسنامەیەک بخوێنەرەوە

NVD's record for Heartbleed says: CVE-2014-0160; CWE-125 (out-of-bounds read); CVSS 3.1 base score 7.5, High; listed in KEV. Explain in one sentence what each of the four parts tells a defender.

تۆماری NVD بۆ Heartbleed دەڵێت: ⁦CVE-2014-0160⁩؛ ⁦CWE-125⁩ (خوێندنەوەی دەرەوەی سنوور)؛ نمرەی بنەڕەتیی ⁦CVSS 3.1⁩ بریتییە لە ⁦7.5⁩، بەرز؛ لە KEVـدایە. بە یەک ڕستە ڕوونی بکەرەوە هەر یەکێک لەم چوار بەشە چی بە بەرگریکارێک دەڵێت.

Show answerوەڵامەکە پیشان بدە
  • CVE-2014-0160: the exact flaw (in OpenSSL), so every tool and advisory talks about the same thing.
  • CWE-125: the kind of mistake — reading beyond a buffer — so programmers know what to look for elsewhere.
  • CVSS 7.5 High: in general it is serious (secret data can leak over the network), though not in the Critical band.
  • KEV: attackers have really used it, so systems that still have it must be patched first.
  • ⁦CVE-2014-0160⁩: کێشە دیاریکراوەکە (لە OpenSSLـدا)، بۆ ئەوەی هەموو ئامراز و ئاگادارییەک باسی هەمان شت بکەن.
  • ⁦CWE-125⁩: جۆری هەڵەکە — خوێندنەوەی دەرەوەی — بۆ ئەوەی بزانن لە شوێنی تردا بەدوای چیدا بگەڕێن.
  • ⁦CVSS 7.5⁩ بەرز: بە گشتی جددییە ( نهێنی دەتوانێت بە دزە بکات)، هەرچەندە لە ئاستی زۆر مەترسیداردا نییە.
  • KEV: بە ڕاستی بەکاریان هێناوە، بۆیە ئەو سیستەمانەی هێشتا هەیانە دەبێت یەکەم جار پینە بکرێن.

Summary and reviewپوختە و پێداچوونەوە

  • Weak points come through three doors: coding errors, outdated software and misconfigurations.
  • A buffer is a fixed-size box in memory; writing too much into it overwrites the memory next door and can let attackers run code. Memory-safe languages check every position.
  • Coding errors are reduced by code reviews, secure coding (OWASP guidance) and, as an extra layer only, a WAF.
  • Outdated software (unpatched or unmaintained) is fixed by regular, automated patch management, vulnerability scanning and knowing what you run.
  • Misconfigurations — open databases, default credentials, unneeded ports — are fixed by audits, hardening guides such as CIS Benchmarks, and least privilege.
  • CWE names the kind of mistake, CVE the exact flaw, CVSS its severity and KEV whether it is exploited now.
  • لە سێ دەرگاوە دێن: هەڵەی کۆدنووسین، کۆن و .
  • سندووقێکی قەبارە-جێگیرە لە ؛ نووسینی زیاد تێیدا تەنیشت دەسڕێتەوە و دەتوانێت ڕێگە بە بدات کۆد جێبەجێ بکەن. زمانە پارێزەرەکانی هەموو شوێنێک دەپشکنن.
  • هەڵەکانی کۆدنووسین بە ، (ڕێنماییەکانی OWASP) و، تەنها وەک چینێکی زیادە، WAF کەم دەکرێنەوە.
  • کۆن (پینەنەکراو یان چاودێرینەکراو) بە بەردەوام و خۆکار، و زانینی ئەوەی بەکاری دەهێنیت چاک دەکرێت.
  • — کراوە، بنەڕەتی، ناپێویست — بە ، ڕێبەرەکانی وەک ⁦CIS Benchmarks⁩ و چاک دەکرێن.
  • CWE ناوی جۆری هەڵەکەیە، CVE کێشە دیاریکراوەکە، CVSS توندییەکەی و KEV ئەوەی ئایا ئێستا بەکار دەهێنرێت.
Review questionsپرسیارەکانی پێداچوونەوە
Why is a misconfiguration possible even in perfect code?بۆچی ڕێکخستنی هەڵە تەنانەت لە کۆدێکی تەواویشدا دەکرێت ڕوو بدات؟

Because the danger is in how the system is set up — who can reach it, which passwords and services are on — not in the code.

چونکە مەترسییەکە لە چۆنیەتیی ڕێکخستنی سیستەمەکەدایە — کێ دەگاتێی، کام و خزمەتگوزارییانە داگیرساون — نەک لە کۆدەکەدا.

Name two of the memory-safe languages CISA lists.دوو لەو زمانە پارێزەرانەی بیرگە ناو ببە کە CISA دەیانژمێرێت.

Any two of C#, Go, Java, Python, Rust and Swift.

هەر دووان لە ⁦C#⁩، Go، Java، Python، Rust و Swift.

What is the difference between a CVE and a CWE?جیاوازیی نێوان CVE و CWE چییە؟

A CVE identifies one real flaw in one product; a CWE names the type of mistake, shared by many flaws.

CVE یەک کێشەی ڕاستەقینە لە یەک بەرهەمدا دەناسێنێت؛ CWE ناوی جۆری هەڵەکەیە کە زۆر کێشە تێیدا هاوبەشن.

Lesson complete!وانەکە تەواو بوو!

Well done. Review the key terms, then go on to the next lesson.دەستخۆش. سەیرێکی زاراوە سەرەکییەکان بکەرەوە، پاشان بڕۆ بۆ وانەی داهاتوو.

Key termsزاراوە سەرەکییەکان

Next lessonوانەی داهاتوو

Case Studies: Equifax, Colonial Pipeline and Capital Oneلێکۆڵینەوەی ڕووداو: Equifax، ⁦Colonial Pipeline⁩ و ⁦Capital One⁩

References and further readingسەرچاوەکان و خوێندنەوەی زیاتر

This lecture is a first edition. The Kurdish text and terminology are waiting for review by Kurdish IT teachers.ئەم وانەیە چاپی یەکەمە. دەقە کوردییەکە و زاراوەکانی چاوەڕێی پێداچوونەوەی مامۆستایانی کوردی بواری IT ن.