KavLabs
خانهبلاگ
KavLabs

یادداشت‌هایی از ذهن‌های کاوشگر، برای ذهن‌های کنجکاو

پرهام·پرهام·زال·زال·
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
نوشته‌هادسته‌بندی‌هاجستجوی پیشرفتهلاگ تغییرات

©۲٬۰۲۶ KavLabs — تمام حقوق محفوظ است

ساخته‌شده با عشق توسط پرهام و زال

واژه‌نامه
۰۴ اسفند ۱۴۰۴OWASP Top 10متوسطزبان: فارسی

کامپوننت‌های آسیب‌پذیر و قدیمی(N/A)

متوسطنسخه انگلیسی

استفاده از کتابخانه‌ها، فریم‌ورک‌ها و نرم‌افزارهایی که دارای آسیب‌پذیری‌های شناخته شده هستند یا به‌روزرسانی نشده‌اند.

اوسپکتابخانهآپدیتdependency

کامپوننت‌های آسیب‌پذیر چیه؟

خلاصه در یه جمله: وقتی از کتابخانه‌ها و فریم‌ورک‌های قدیمی یا باگ‌دار استفاده می‌کنی، هکر از باگ‌های اون‌ها استفاده می‌کنه!

فرض کن می‌خوای خونه بسازی. به جای اینکه خودت آجر بسازی، از کارخونه آجر می‌خری. اگه کارخونه آجر معیوب داده باشه، خونه تو هم ضعیف می‌شه! تو برنامه‌نویسی هم همینطوره — از کتابخانه‌های دیگران استفاده می‌کنی. اگه اون‌ها باگ داشته باشن، برنامه تو هم باگ داره .

چرا این اتفاق می‌افته؟

۱. آپدیت نمی‌کنی: یه کتابخانه استفاده می‌کنی، دو سال آپدیتش نمی‌کنی. تو این دو سال ۱۰ تا آسیب‌پذیری کشف شده!

۲. Dependencyهای زیاد: یه کتابخانه نصب می‌کنی، اون ۵۰ تا کتابخانه دیگه نیاز داره. تو نمی‌دونی اون ۵۰ تا چی‌ان و آسیب‌پذیرن یا نه!

۳. کتابخانه‌های نامعتبر: از کتابخانه‌هایی استفاده می‌کنی که معروف نیستن، نگهداری نمی‌شن، یا حتی مخرب‌ان!

مثال واقعی:

Log4Shell (2021): یه کتابخانه به اسم Log4j (برای لاگ کردن در جاوا) یه باگ وحشتناک داشت. میلیون‌ها برنامه از این استفاده می‌کردن. هکرها راحت می‌تونستن کد دلخواهشون رو اجرا کنن! فقط چون یه کتابخانه آپدیت نشده بود .

Equifax (2017): یه شرکت بزرگ اعتبارسنجی، از یه کتابخانه قدیمی Apache Struts استفاده می‌کرد. باگش رو می‌دونستن ولی آپدیت نکردن. ۱۴۷ میلیون نفر داده‌شون دزدیده شد!

چرا برای امنیت مهمه؟

چون شماره ۶ OWASP Top 10 2021 هست! تو دنیای امروز، ۸۰-۹۰٪ کد برنامه‌ها از کتابخانه‌های دیگه‌ست. اگه اون‌ها آسیب‌پذیر باشن، برنامه تو هم آسیب‌پذیره. برای همین Dependency Scanning و آپدیت منظم مهمه.


منابع و مراجع

  • owasp.org/Top10/A06_2021-Vulnerable_and_Outdated_Components
  • cwe.mitre.org/data/definitions/1104.html