Files
presentation-slides/VULNERABILITY_NOTIFICATION_SOP.md

224 lines
10 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# شیوه‌نامهٔ اطلاع‌رسانی هفتگی آسیب‌پذیری‌ها
سند دائمی برای تولید/به‌روزرسانی فایل‌های `Vulnerabilities_Notification_YYYY-MM-DD.xlsx` در همین مخزن.
عامل AI باید این سند را مبنا بگیرد مگر کاربر صریحاً خلاف آن را بگوید.
---
## 1. هدف
هر هفته از روی **آخرین نسخهٔ اکسل**، فایل جدید با تاریخ روز ساخته شود و محتوای خبرنامهٔ همان هفته (SANS NewsBites یا @RISK یا منبع اعلام‌شده) در همان ساختار جانمایی شود.
---
## 2. ورودی‌های لازم از کاربر
کاربر در هر درخواست باید این‌ها را بدهد (یا در پیام بچسباند):
| مورد | مثال |
|------|------|
| فایل قالب (آخرین نسخه) | `@Vulnerabilities_Notification_2026-08-09.xlsx` |
| متن کامل خبرنامه / منبع | NewsBites Vol.x Num.y یا @RISK Vol.x Num.y |
| تاریخ هدف (اگر غیر از امروز) | اختیاری؛ پیش‌فرض = تاریخ روز سیستم |
اگر محدودهٔ محتوا مبهم باشد:
- **NewsBites** → curated (داستان‌ها + KEV + CVEهای صریح + ADV تجمیعی برای بسته‌های بدون لیست کامل ID)
- **@RISK RECENT CVEs** → یک ردیف به ازای هر CVE ID مگر کاربر خلاف بگوید
---
## 3. نام‌گذاری و تاریخ
1. قالب را کپی کن به: `Vulnerabilities_Notification_YYYY-MM-DD.xlsx` (تاریخ میلادی امروز یا تاریخ اعلام‌شده)
2. در شیت‌ها:
- میلادی: `YYYY/MM/DD`
- شمسی: با تقویم پارسی همان روز (مثلاً `1405/05/18`)
3. منبع ثابت نمونه:
- NewsBites: `SANS NewsBites Vol.XX Num.YY / ISC / Vendor Advisory / CISA KEV`
- @RISK: `SANS @RISK Vol.XX Num.YY / ISC / Vendor Advisory / CISA KEV`
### مهلت اقدام (پیش‌فرض)
| شدت / وضعیت | مهلت شمسی |
|-------------|-----------|
| KEV یا Critical | تاریخ گزارش + ۳ روز |
| High | تاریخ گزارش + ۷ روز |
| Medium / Low | تاریخ گزارش + ۱۴ روز |
---
## 4. ساختار شیت‌ها (بدون تغییر ستون‌ها)
شیت‌ها به ترتیب قالب:
1. `Summary`
2. `Vulnerabilities` (۲۹ ستون فارسی؛ هدر را عوض نکن)
3. `Assets`
4. `Tracking`
5. `MessageTemplates`
6. `_Lists`
7. `Notification`
### ستون‌های کلیدی `Vulnerabilities`
`ردیف` · `تاریخ_اطلاع‌رسانی` · `منبع` · `لایه_دسته‌بندی` · `Vendor` · `محصول_سرویس` · `مولفه_آسیب‌پذیر` · `CVE_Advisory` · `CVSS` · `سطح_شدت` · `وضعیت_بهره‌برداری` · `نوع_آسیب‌پذیری` · `توضیح_اثر` · `نسخه‌های_تحت_تاثیر` · `دارایی_داخلی_مرتبط` · `مالک_دارایی` · `اینترنتی_است` · `حساسیت_خدمت` · `قابلیت_بهره‌برداری_در_سازمان` · `ATTACK_Technique` · `IOC_موجود` · `اقدام_اصلاحی` · `راهکار_موقت` · `نیاز_به_Downtime` · `مسئول_اقدام` · `مهلت_اقدام` · `وضعیت_پیگیری` · `لینک_مرجع` · `توضیحات_تکمیلی`
### قواعد محتوا
- `توضیح_اثر` / `اقدام_اصلاحی` / `راهکار_موقت` / مالک و مسئول: **فارسی**
- Vendor / Product / CVE / URL / مقادیر انگلیسی ثابت: **انگلیسی**
- `وضعیت_پیگیری`: پیش‌فرض `Open`
- `وضعیت_بهره‌برداری`:
- `KEV` فقط برای CVEهای داخل CISA KEV
- در غیر این صورت `Under Review`
- در صورت شواهد بهره‌برداری فعال در خبر: `Active Exploitation Suspected`
- `Assets`: یک Asset منطقی به ازای هر محصول/خانواده
- `Tracking`: یک ردیف به ازای هر یافته (CVE یا ADV)
- ردیف‌های دادهٔ هفتهٔ قبل را پاک کن؛ فقط هدر/قالب بماند
- پس از نوشتن، ردیف‌های خالی/باقی‌ماندهٔ UsedRange قدیمی را هم پاک کن
---
## 5. سطح شدت (CVSS و استثنا)
| CVSS | سطح |
|------|------|
| ≥ 9.0 | Critical |
| 7.0 8.9 | High |
| 4.0 6.9 | Medium |
| < 4.0 | Low |
استثناها:
- **KEV** حتی با CVSS پایین‌تر → حداقل `High` (مثل Cisco FMC با CVSS 5.3)
- CVSS=0 با KEV یا اثر بحرانی در متن → قضاوت Critical/High
- موارد «NO CUSTOMER ACTION REQUIRED» → شدت عملیاتی `Low` با اقدام پایش
ترتیب ردیف‌ها در `Notification` و ترجیحاً در `Vulnerabilities`: ابتدا KEV، بعد Critical، بعد High، بعد Medium/Low.
---
## 6. رنگ‌بندی `Notification` (خوانا)
| سطح | RGB | Excel Color (BGR) |
|-----|-----|-------------------|
| Critical | (255, 199, 206) قرمز روشن | 13551615 |
| High | (255, 194, 102) نارنجی | 6734591 |
| Medium | (255, 255, 153) زرد | 10092543 |
| Low | سفید | 16777215 |
| هدر | (68, 114, 196) + فونت سفید | 12874308 |
رنگ‌ها را بعد از هر بازنویسی و بعد از اعمال فونت، دوباره روی ردیف‌های داده اعمال کن.
---
## 7. فونت و تراز (دائمی)
| نوع متن | فونت | اندازه |
|--------|------|--------|
| فارسی (کاراکتر عربی/فارسی) | `B Mitra` | 12 |
| انگلیسی/لاتین (CVE، Vendor، URL، CVSS، Critical/High/Open/KEV، …) | `Times New Roman` | 10 (= ۱۲ ۲) |
- همه سلول‌های استفاده‌شده در شیت‌های محتوا: **وسط‌چین** (`xlCenter = -4108`) افقی و عمودی
- سلول مختلط فارسی+انگلیسی: پایه `B Mitra` 12
- شیت‌های مشمول: `Summary`, `Vulnerabilities`, `Assets`, `Tracking`, `Notification`, `MessageTemplates`
---
## 8. دسته‌بندی (`لایه_دسته‌بندی`)
از مقادیر موجود در `_Lists` استفاده کن؛ در صورت نیاز مقدار جدید را به `_Lists` اضافه کن.
نمونه‌های رایج:
- `Security Appliance` · `Security Appliance / SD-WAN`
- `OS` · `OS / Network` · `OS / Network Service` · `OS / Virtualization` · `OS / Kernel`
- `OT / ICS` · `Hardware / Firmware`
- `Service / Web` · `Service / SIEM` · `Service / VoIP`
- `Application / RMM` · `Application / AI` · `Application / Middleware` · `Application / CI-CD`
- `Application / Microsoft` · `Application / Healthcare` · `Application / Retail` · `Application / Ads`
- `Package / JS` · `Package / Library` · `Package / Hosting`
- `DevOps / Infra` · `Cloud / PaaS`
- `Process / Governance` · `Process / Awareness`
- `Network / SD-WAN` · `API / Framework`
شناسهٔ غیر-CVE: `ADV-...-YYYY-MM` (یا مشابه الگوی نسخهٔ قبل).
---
## 9. خروجی‌های جانبی
### Summary
شمارش‌ها را از دادهٔ واقعی پر کن: Total / Critical / High / Medium / Low / KEV / Active Exploitation / Internet-facing / Actions Due &lt; 72h / Open / In Progress / Mitigated / Patched.
### MessageTemplates
دو قالب:
1. `پیام رسمی کامل` — موضوع، جمع یافته‌ها، اولویت KEV، سایر اولویت‌های سازمانی، نام فایل پیوست
2. `پیام کوتاه گروه` — خلاصهٔ یک‌پاراگرافی برای گروه
---
## 10. چرخهٔ اجرا (الگوریتم عامل)
```text
1) خواندن آخرین اکسل قالب و مسلط شدن به ساختار
2) Clone → Vulnerabilities_Notification_<امروز>.xlsx
3) Clear ردیف‌های داده قدیم (Vulnerabilities/Assets/Tracking/Notification)
4) استخراج یافته‌ها از خبرنامه + نگاشت لایه/شدت/KEV
5) پر کردن Vulns + Assets + Tracking
6) پر کردن Notification (با رنگ) + Summary + MessageTemplates + _Lists
7) اعمال فونت B Mitra/TNR و وسط‌چین روی همه شیت‌های محتوا
8) باز‌اعمال رنگ Notification/Summary پس از فونت
9) وریفای: پوشش IDها، دسته‌بندی نمونه، فونت/تراز، خوانایی فارسی
10) حذف فایل‌های موقت: _build / _inspect / _tmp* / _fix* / _verify* / _font_check*
```
ابزار پیش‌فرض در این محیط: **Excel COM + PowerShell** (اگر Python/openpyxl نبود). متون فارسی را از JSON با UTF-8 بخوان، نه از here-string خراب‌شونده در `.ps1`.
---
## 11. چک‌لیست وریفای
- [ ] تعداد یافته‌ها = موارد توافق‌شدهٔ خبرنامه (Missing=0 / Extra=0)
- [ ] هر یافته در `Tracking` و رنگ درست در `Notification`
- [ ] لایه‌های کلیدی (KEV، OT، Cisco، Microsoft، …) صحیح
- [ ] هدر فارسی = B Mitra 12 · CVE = Times New Roman 10 · effect فارسی = B Mitra 12
- [ ] `HorizontalAlignment = -4108`
- [ ] متن فارسی بدون mojibake
- [ ] تاریخ میلادی/شمسی هماهنگ
- [ ] هیچ فایل موقت `_...` باقی نمانده
---
## 12. الگوی درخواست کاربر (کپی‌پیست)
```text
طبق شیوه‌نامهٔ اطلاع‌رسانی هفتگی آسیب‌پذیری‌ها عمل کن.
قالب: @Vulnerabilities_Notification_YYYY-MM-DD.xlsx
منبع: <NewsBites|@RISK> Vol.x Num.y — تاریخ <میلادی>
محدوده: <curated NewsBites | همه CVEهای RECENT CVEs>
متن خبرنامه:
<paste>
خروجی: تاریخ امروز، رنگ/فونت/تراز طبق شیوه‌نامه، وریفای کامل، حذف فایل موقت.
```
---
## 13. خارج از محدوده (مگر دستور صریح)
- تغییر ساختار ستون‌ها یا حذف شیت‌ها
- commit/push بدون درخواست کاربر
- نوشتن exploit / PoC
- باز کردن مسیرهای ignoreشدهٔ mono-repo طبق قوانین workspace
---
*نسخهٔ شیوه‌نامه: 2026-08-09 — هم‌راستا با قالب `Vulnerabilities_Notification_2026-08-09.xlsx`*