
# به کارگیری گراف‌های دانش هوش مصنوعی برای ادغام کنترل‌های امنیتی، سیاست‌ها و شواهد

در دنیای به‌سرعت در حال تحول امنیت SaaS، تیم‌ها با ده‌ها چارچوب—[SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2)، [ISO 27001](https://www.iso.org/standard/27001)، [PCI‑DSS](https://www.pcisecuritystandards.org/pci_security/)، [GDPR](https://gdpr.eu/) و استانداردهای خاص صنعتی—مقابله می‌کنند، در حالی که پرسشنامه‌های امنیتی بی‌پایانی از سوی مشتریان، حسابرسان و شرکای تجاری دریافت می‌کنند. حجم عظیم کنترل‌های همپوشان، سیاست‌های تکراری و شواهد پراکنده، یک **مسئله انزواهای دانشی** ایجاد می‌کند که هم زمان هزینه و زمان‌بر است.

ورودی **گراف دانش مبتنی بر هوش مصنوعی** می‌باشد. با تبدیل artefacts‌های پراکنده انطباق به یک شبکه زنده و قابل پرس‌وجو، سازمان‌ها می‌توانند به‌صورت خودکار کنترل مناسب را پیدا کنند، شواهد دقیق را بازیابی کنند و پاسخ‌های دقیق پرسشنامه را در چند ثانیه تولید کنند. این مقاله مفاهیم، بلوک‌های فنی و گام‌های عملی برای تعبیه گراف دانش در پلتفرم Procurize را بررسی می‌کند.

---

## چرا روش‌های سنتی ناکافی هستند

| نقطه درد | روش متعارف | هزینه پنهان |
|------------|---------------------|-------------|
| نقشه‌برداری کنترل | صفحات گسترده دستی | ساعات تکرار در هر ربع |
| دریافت شواهد | جستجوی پوشه + قوانین نام‌گذاری | اسناد گمشده، عدم هماهنگی نسخه‌ها |
| سازگاری بین چارچوب‌ها | فهرست‌های جداگانه برای هر چارچوب | پاسخ‌های ناسازگار، نتایج حسابرسی |
| گسترش به استانداردهای جدید | کپی‑پیست سیاست‌های موجود | خطای انسانی، ردپای شکسته |

حتی با مخازن اسناد قدرتمند، عدم وجود **روابط معنایی** باعث می‌شود تیم‌ها بارها همان سؤال را با فرمулиاسیون‌های کمی متفاوت برای هر چارچوب پاسخ دهند. نتیجه یک حلقه بازخورد ناکارآمد است که معاملات را متوقف و اعتماد را تضعیف می‌کند.

---

## گراف دانش مبتنی بر هوش مصنوعی چیست؟

گراف دانش یک **مدل داده مبتنی بر گراف** است که در آن موجودیت‌ها (گره‌ها) توسط روابط (یال‌ها) به یکدیگر متصل می‌شوند. در زمینه انطباق، گره‌ها می‌توانند نمایانگر:

* **کنترل‌های امنیتی** (مثلاً «رمزبندی در حالت استراحت»)
* **سندهای سیاستی** (مثلاً «سیاست نگهداری داده‌ها نسخه 3.2»)
* **آرایه‌های شواهد** (مثلاً «لاگ‌های گردش کلید AWS KMS»)
* **الزامات قانونی** (مثلاً «نیازمندی 3.4 PCI‑DSS»)

هوش مصنوعی دو لایه حیاتی اضافه می‌کند:

1. **استخراج و لینک‌سازی موجودیت‌ها** – مدل‌های زبان بزرگ (LLM) متن‌های سیاستی، فایل‌های پیکربندی ابری و لاگ‌های حسابرسی را اسکن کرده و به‌صورت خودکار گره‌ها و روابط پیشنهادی را ایجاد می‌کنند.
2. **استدلال معنایی** – شبکه‌های گراف عصبی (GNN) لینک‌های گمشده را استنتاج، تضادها را شناسایی و هنگام به‌روزرسانی استانداردها، پیشنهادهای اصلاحی می‌دهند.

نتیجه یک **نقشه زنده** است که با هر بار بارگذاری سیاست یا شواهد جدیدی، تکامل می‌یابد و پاسخ‌های فوری و زمینه‑آگاهی را فراهم می‌کند.

---

## نمای کلی معماری اصلی

در زیر یک نمودار مرمید سطح‑بالا از موتور انطباق فعال با گراف دانش داخل Procurize آمده است.

```mermaid
graph LR
    A["Raw Source Files"] -->|LLM Extraction| B["Entity Extraction Service"]
    B --> C["Graph Ingestion Layer"]
    C --> D["Neo4j Knowledge Graph"]
    D --> E["Semantic Reasoning Engine"]
    E --> F["Query API"]
    F --> G["Procurize UI"]
    G --> H["Automated Questionnaire Generator"]
    style D fill:#e8f4ff,stroke:#005b96,stroke-width:2px
    style E fill:#f0fff0,stroke:#2a7d2a,stroke-width:2px
```

* **Raw Source Files** – سیاست‌ها، پیکربندی به‌صورت کد، آرشیو لاگ‌ها و پاسخ‌های قبلی پرسشنامه.  
* **Entity Extraction Service** – خط لولهٔ مبتنی بر LLM که کنترل‌ها، مراجع و شواهد را برچسب‌گذاری می‌کند.  
* **Graph Ingestion Layer** – استخراج‌ها را به گره‌ها و یال‌ها تبدیل می‌کند و نسخه‌بندی را مدیریت می‌نماید.  
* **Neo4j Knowledge Graph** – به‌دلیل تضمین‌های ACID و زبان پرس‑و‑جویی Cypher انتخاب شده است.  
* **Semantic Reasoning Engine** – مدل‌های GNN را برای پیشنهاد لینک‌های از دست رفته و هشدارهای تضاد به کار می‌گیرد.  
* **Query API** – نقطهٔ انتهایی GraphQL برای جست‌وجوهای زمان‑واقعی.  
* **Procurize UI** – کامپوننت فرانت‑اند که هنگام نوشتن پاسخ‌ها، کنترل‌ها و شواهد مرتبط را به‌صورت بصری نشان می‌دهد.  
* **Automated Questionnaire Generator** – نتایج پرس‌وجو را برای پر‑کردن خودکار پرسشنامه‌های امنیتی مصرف می‌کند.

---

## راهنمای گام‑به‑گام پیاده‌سازی

### 1. فهرست‌برداری از تمام artefactهای انطباق

ابتدا همه منبع‌ها را فهرست کنید:

| نوع artefact | مکان معمول | مثال |
|--------------|------------|------|
| سیاست‌ها | Confluence, Git | `security/policies/data-retention.md` |
| ماتریس کنترل‌ها | Excel, Smartsheet | `SOC2_controls.xlsx` |
| شواهد | S3 bucket, internal drive | `evidence/aws/kms-rotation-2024.pdf` |
| پرسشنامه‌های گذشته | Procurize, Drive | `questionnaires/2023-aws-vendor.csv` |

متادیتا (مالک، تاریخ بازبینی آخر، نسخه) برای لینک‌سازی‌های بعدی ضروری است.

### 2. استقرار سرویس استخراج موجودیت‌ها

1. **انتخاب LLM** – OpenAI GPT‑4o، Anthropic Claude 3 یا مدل LLaMA روی‑محل.  
2. **مهندسی پرامپت** – پرامپت‌هایی طراحی کنید که خروجی JSON داشته باشد شامل فیلدهای `entity_type`، `name`، `source_file` و `confidence`.  
3. **زمان‌بندی اجرا** – با Airflow یا Prefect پردازش فایل‌های جدید/به‌روزشده را به‌صورت شبانه برنامه‌ریزی کنید.

> **نکته:** از یک *دیکشنری موجودیت* سفارشی استفاده کنید که نام‌های استاندارد کنترل‌ها (مانند «دسترسی – کمینه‌ترین امتیاز») را پیش‌بارگذاری کند تا دقت استخراج افزایش یابد.

### 3. واردسازی به Neo4j

```cypher
UNWIND $entities AS e
MERGE (n:Entity {uid: e.id})
SET n.type = e.type,
    n.name = e.name,
    n.source = e.source,
    n.confidence = e.confidence,
    n.last_seen = timestamp()
```

ایجاد روابط به‌صورت پویا:

```cypher
MATCH (c:Entity {type:'Control', name:e.control_name}),
      (p:Entity {type:'Policy', name:e.policy_name})
MERGE (c)-[:IMPLEMENTED_BY]->(p)
```

### 4. افزودن استدلال معنایی

* یک **شبکه گراف عصبی** روی زیرمجموعهٔ برچسب‌خورده‌ای که روابط شناخته‌شده دارند، آموزش دهید.  
* مدل را برای پیش‌بینی یال‌های `EVIDENCE_FOR`، `ALIGNED_WITH` یا `CONFLICTS_WITH` به‌کار بگیرید.  
* یک کار شبانه برای علامت‌گذاری پیش‌بینی‌های با اطمینان بالا برای بازبینی انسانی تنظیم کنید.

### 5. نمایان‌سازی API پرس‌وجو

```graphql
query ControlsForRequirement($reqId: ID!) {
  requirement(id: $reqId) {
    name
    implements {
      ... on Control {
        name
        policies { name }
        evidence { name url }
      }
    }
  }
}
```

این API به UI اجازه می‌دهد **اتمام خودکار** فیلدهای پرسشنامه را با کشف کنترل مناسب و پیوست شواهد مربوطه انجام دهد.

### 6. یکپارچه‌سازی با سازنده پرسشنامه Procurize

1. دکمهٔ **«جستجوی گراف دانش»** را در کنار هر فیلد پاسخ اضافه کنید.  
2. هنگام کلیک، UI شناسهٔ نیازمندی را به GraphQL API می‌فرستد.  
3. نتایج، متن پاسخ را پر می‌کند و فایل‌های PDF شواهد را به‌صورت خودکار ضمیمه می‌کند.  
4. تیم می‌تواند هنوز ویرایش یا نظر اضافه کند، اما پایهٔ کار در ثانیه‌ها تولید می‌شود.

---

## مزایای دنیای واقعی

| متریک | قبل از گراف دانش | بعد از گراف دانش |
|--------|-------------------|-------------------|
| مدت زمان متوسط تکمیل پرسشنامه | ۷ روز | ۱.۲ روز |
| زمان جستجوی دستی شواهد برای هر پاسخ | ۴۵ دقیقه | ۳ دقیقه |
| تعداد سیاست‌های تکراری در چارچوب‌ها | ۱۲ فایل | ۳ فایل |
| نرخ یافته‌های حسابرسی (نواقص کنترل) | ۸٪ | ۲٪ |

یک استارت‑آپ متوسط SaaS گزارش داد که **۷۰٪** زمان دوره بازبینی امنیتی خود را پس از استقرار گراف کاهش داده است؛ که این منجر به بستن سریع‌تر معاملات و افزایش قابل‌ملاحظه‌ای در اعتماد شرکای تجاری شد.

---

## بهترین روش‌ها و خطرات

| بهترین روش | چرا مهم است |
|-------------|--------------|
| گره‌های نسخه‌بندی شده | یک زمان‌سنج `valid_from` / `valid_to` برای هر گره نگهداری کنید. |
| بازبینی انسانی در حلقه | لبۀ با اطمینان پایین را برای تأیید دستی پرچم‌دار کنید. |
| کنترل‌های دسترسی بر روی گراف | از مجوزهای مبتنی بر نقش (RBAC) در Neo4j استفاده کنید. |
| یادگیری مستمر | روابط اصلاح‌شده را به مجموعه آموزشی GNN بازگردانید. |

**خطاهای رایج**

* **وابستگی بیش از حد به استخراج LLM** – PDFs خام اغلب شامل جداولی هستند که LLMها به‌درستی تفسیر نمی‌کنند؛ بنابراین از OCR و پارسرهای مبتنی بر قواعد تکمیل کنید.  
* **پُربار گراف** – ایجاد گره‌های غیرقابل کنترل عملکرد را کاهش می‌دهد؛ سیاست‌های حذف برای artefactهای منقضی پیاده کنید.  
* **نادیده گرفتن حاکمیت** – بدون مدل واضح مالکیت داده، گراف می‌تواند به «جعبهٔ سیاه» تبدیل شود؛ نقش استیور داده‌های انطباق را تعریف کنید.

---

## مسیرهای آینده

1. **گراف‌های فدرال مشترک بین سازمان‌ها** – به‌اشتراک‌گذاری نگاشت‌های کنترل‑شواهد به صورت ناشناس با شرکا، در حالی که حفظ حریم خصوصی داده‌ها تضمین می‌شود.  
2. **به‌روزرسانی خودکار بر پایه قوانین** – ورودی مستقیم اصلاحات رسمی استانداردها (مثل ISO 27001:2025) و اجازه دادن به موتور استدلال برای پیشنهاد به‌روزرسانی سیاست‌ها.  
3. **رابط پرس‌و‌جو مبتنی بر زبان طبیعی** – اجازه به تحلیل‌گران امنیتی برای نوشتن «شواهد مربوط به کنترل‌های رمزگذاری که الزامات GDPR ماده ۳۲ را برآورده می‌کند» و دریافت نتایج فوری.

با نگاه کردن به انطباق به عنوان **یک مسئله دانش شبکه‌ای**، سازمان‌ها به سطح جدیدی از چابکی، دقت و اعتماد در هر پرسشنامهٔ امنیتی که با آن مواجه می‌شوند، دست می‌یابند.

---

## موارد مرتبط

- [چارچوب امنیت سایبری NIST – نگاشت به ISO و SOC 2](https://www.nist.gov/cybersecurity-framework)  
- [شبکه‌های گرافی برای تکمیل گراف دانش (arXiv)](https://arxiv.org/abs/2003.00764)