مقدمة في اختبار اختراق الذكاء الاصطناعي

ديناميكيات الفريق الأحمر مقابل الفريق الأزرق

2 دقيقة للقراءة

يتطلب أمن الذكاء الاصطناعي الفعال التعاون بين المهاجمين (الفريق الأحمر) والمدافعين (الفريق الأزرق). يعزز هذا التعاون العدائي الوضع الأمني العام من خلال دورات التحسين المستمر.

أدوار الفريق

┌─────────────────────────────────────────────────────────────┐
│                    هيكل فريق الأمان                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   ┌───────────────┐           ┌───────────────┐            │
│   │ الفريق الأحمر │    ضد     │ الفريق الأزرق │            │
│   │   (الهجوم)   │◄─────────►│   (الدفاع)   │            │
│   ├───────────────┤           ├───────────────┤            │
│   │ • إيجاد الثغرات│           │ • إصلاح الثغرات│            │
│   │ • الهجوم     │           │ • الكشف      │            │
│   │ • الاستغلال  │           │ • الاستجابة  │            │
│   │ • الإبلاغ    │           │ • التقوية    │            │
│   └───────────────┘           └───────────────┘            │
│                         │                                   │
│                         ▼                                   │
│              ┌───────────────────┐                         │
│              │  الفريق البنفسجي  │                         │
│              │    (التعاون)     │                         │
│              ├───────────────────┤                         │
│              │ • مشاركة النتائج │                         │
│              │ • تمارين مشتركة  │                         │
│              │ • تحسين الطرفين  │                         │
│              └───────────────────┘                         │
└─────────────────────────────────────────────────────────────┘

نهج الفريق البنفسجي

يفضل الأمن الحديث "الفريق البنفسجي" - التعاون النشط بين الأحمر والأزرق:

from dataclasses import dataclass, field
from datetime import datetime
from typing import List, Optional
from enum import Enum

class FindingSeverity(Enum):
    CRITICAL = "critical"  # حرج
    HIGH = "high"  # عالي
    MEDIUM = "medium"  # متوسط
    LOW = "low"  # منخفض
    INFO = "informational"  # معلوماتي

@dataclass
class SecurityFinding:
    """
    اكتشاف مشترك بين الفرق الحمراء والزرقاء.
    """
    id: str
    title: str
    severity: FindingSeverity
    description: str
    attack_vector: str
    affected_systems: List[str]
    discovered_at: datetime
    discovered_by: str  # عضو الفريق الأحمر

    # حقول استجابة الفريق الأزرق
    remediation_status: str = "open"
    remediation_owner: Optional[str] = None
    remediation_notes: str = ""
    resolved_at: Optional[datetime] = None

    def time_to_remediate(self) -> Optional[float]:
        """حساب الساعات من الاكتشاف إلى الحل."""
        if self.resolved_at:
            delta = self.resolved_at - self.discovered_at
            return delta.total_seconds() / 3600
        return None

@dataclass
class PurpleTeamSession:
    """
    جلسة تعاونية بين الفرق الحمراء والزرقاء.
    """
    session_id: str
    date: datetime
    red_team_members: List[str]
    blue_team_members: List[str]
    findings_reviewed: List[SecurityFinding] = field(default_factory=list)
    action_items: List[str] = field(default_factory=list)

    def generate_summary(self) -> dict:
        severity_counts = {}
        for finding in self.findings_reviewed:
            sev = finding.severity.value
            severity_counts[sev] = severity_counts.get(sev, 0) + 1

        return {
            "session_id": self.session_id,
            "total_findings": len(self.findings_reviewed),
            "by_severity": severity_counts,
            "action_items": len(self.action_items),
            "participants": len(self.red_team_members) + len(self.blue_team_members)
        }

الجدول الزمني للإفصاح المسؤول

المرحلة الإطار الزمني الأنشطة
الاكتشاف اليوم 0 الفريق الأحمر يجد الثغرة
التقرير الأولي اليوم 0-1 التوثيق وإخطار الفريق الأزرق
الفرز اليوم 1-3 الفريق الأزرق يقيّم الخطورة
المعالجة اليوم 3-30 الفريق الأزرق ينفذ الإصلاح
التحقق اليوم 30+ الفريق الأحمر يؤكد عمل الإصلاح

إطار الاتصال

from enum import Enum
from typing import List

class CommunicationChannel(Enum):
    SECURE_CHAT = "secure_chat"  # دردشة آمنة
    ENCRYPTED_EMAIL = "encrypted_email"  # بريد مشفر
    TICKET_SYSTEM = "ticket_system"  # نظام التذاكر
    EMERGENCY_CALL = "emergency_call"  # اتصال طوارئ

@dataclass
class DisclosureProtocol:
    """
    كيف يتواصل الفريق الأحمر مع الفريق الأزرق.
    """
    channels: List[CommunicationChannel]
    encryption_required: bool = True
    max_disclosure_delay_hours: int = 24

    def select_channel(self, severity: FindingSeverity) -> CommunicationChannel:
        """اختيار القناة المناسبة بناءً على الخطورة."""
        if severity == FindingSeverity.CRITICAL:
            return CommunicationChannel.EMERGENCY_CALL
        elif severity == FindingSeverity.HIGH:
            return CommunicationChannel.SECURE_CHAT
        else:
            return CommunicationChannel.TICKET_SYSTEM

# مثال على البروتوكول
protocol = DisclosureProtocol(
    channels=[
        CommunicationChannel.EMERGENCY_CALL,
        CommunicationChannel.SECURE_CHAT,
        CommunicationChannel.TICKET_SYSTEM,
    ],
    encryption_required=True,
    max_disclosure_delay_hours=24
)

# اكتشاف حرج - استخدم قناة الطوارئ
finding = SecurityFinding(
    id="VULN-2025-001",
    title="استخراج محث النظام عبر هجوم متعدد الأدوار",
    severity=FindingSeverity.CRITICAL,
    description="يمكن استخراج محث النظام الكامل في 5 أدوار",
    attack_vector="multi_turn_escalation",
    affected_systems=["customer-chatbot"],
    discovered_at=datetime.now(),
    discovered_by="alice@redteam.com"
)

channel = protocol.select_channel(finding.severity)
print(f"استخدم {channel.value} للاكتشاف {finding.severity.value}")

اختبار الاختراق المستمر

النهج الأكثر فعالية هو المستمر، وليس الاختبار لمرة واحدة:

الأسبوع 1-2: التقييم الأولي
الأسبوع 3-4: الفريق الأزرق يعالج
الأسبوع 5: إعادة اختبار المشاكل المُصلحة
الأسبوع 6+: المراقبة المستمرة
(تكرار الدورة كل ربع سنة)

رؤية أساسية: الفرق الحمراء التي تعمل مع (وليس ضد) الفرق الزرقاء تنتج نتائج أمنية أفضل. الهدف هو تحسين المؤسسة، وليس "الفوز."

في الوحدة التالية، سنُعد بيئة اختبار الاختراق الخاصة بك بأدوات احترافية. :::

اختبار

الوحدة 1: مقدمة في اختبار اختراق الذكاء الاصطناعي

خذ الاختبار