الهندسة الاجتماعية — الاختراق الأخلاقي
الهندسة الاجتماعية - Social Engineering
ما هي؟
استغلال الثقة البشرية للحصول على معلومات أو وصول.
لماذا تنجح؟
- البشر الحلقة الأضعف
- الثقة الفطرية
- الرغبة في المساعدة
- الخوف من السلطة
أنواع الهجمات
1. Phishing
رسائل مزيفة تبدو حقيقية
2. Pretexting
انتحال شخصية (IT support مثلاً)
3. Baiting
ترك USB مصاب في موقف السيارات
4. Quid Pro Quo
"سأصلح كمبيوترك مقابل كلمة مرورك"
5. Tailgating
الدخول خلف موظف مصرّح
6. Vishing
التصيد عبر الهاتف
تقنيات التأثير (Cialdini)
1. Authority (السلطة)
"أنا من قسم IT..."
2. Urgency (الاستعجال)
"يجب أن تفعل هذا الآن!"
3. Social Proof (الدليل الاجتماعي)
"كل زملائك فعلوا هذا"
4. Liking (المحبة)
بناء علاقة ودية أولاً
5. Reciprocity (المعاملة بالمثل)
"ساعدتك، الآن ساعدني"
6. Scarcity (الندرة)
"هذا العرض لفترة محدودة"
الحماية
- التدريب والتوعية
- التحقق من الهوية
- سياسات واضحة
- ثقافة "من الآمن أن تسأل"
# تحليل هجمات الهندسة الاجتماعية
class SocialEngineeringAnalyzer:
"""
تحليل رسائل الهندسة الاجتماعية
"""
def __init__(self):
self.indicators = {
"urgency": [
"فوراً", "الآن", "عاجل", "خلال 24 ساعة",
"immediately", "urgent", "asap", "now"
],
"authority": [
"المدير", "IT", "الإدارة", "البنك", "الشرطة",
"CEO", "manager", "support", "admin"
],
"fear": [
"حسابك معرض", "تم اختراق", "سيتم إغلاق",
"suspended", "hacked", "compromised", "locked"
],
"reward": [
"فزت", "مجاناً", "هدية", "جائزة",
"won", "free", "gift", "prize", "congratulations"
],
"action": [
"انقر هنا", "تحقق الآن", "أدخل بياناتك",
"click here", "verify now", "confirm", "update"
]
}
def analyze_message(self, message):
"""
تحليل رسالة للكشف عن تقنيات SE
"""
message_lower = message.lower()
findings = {
"risk_score": 0,
"techniques_found": [],
"suspicious_elements": []
}
# فحص كل مؤشر
for technique, keywords in self.indicators.items():
for keyword in keywords:
if keyword.lower() in message_lower:
findings["techniques_found"].append(technique)
findings["suspicious_elements"].append(keyword)
findings["risk_score"] += 20
break
# تقييم إضافي
# روابط
if "http" in message_lower or "click" in message_lower:
findings["risk_score"] += 15
findings["suspicious_elements"].append("رابط محتمل")
# طلب معلومات حساسة
sensitive_words = ["password", "كلمة مرور", "رقم البطاقة", "ssn", "pin"]
for word in sensitive_words:
if word in message_lower:
findings["risk_score"] += 30
findings["suspicious_elements"].append(f"طلب: {word}")
# التقييم النهائي
if findings["risk_score"] >= 70:
findings["verdict"] = "🔴 خطر عالي - احتمال تصيد!"
elif findings["risk_score"] >= 40:
findings["verdict"] = "🟡 مشبوه - تحقق قبل التفاعل"
else:
findings["verdict"] = "🟢 يبدو عادياً - لكن ابقَ حذراً"
return findings
def print_analysis(self, message):
"""
عرض التحليل
"""
print("\n" + "=" * 60)
print(" 🔍 تحليل رسالة الهندسة الاجتماعية")
print("=" * 60)
print(f"\n الرسالة:\n {message[:100]}...")
analysis = self.analyze_message(message)
print(f"\n 📊 النتيجة: {analysis['verdict']}")
print(f" درجة الخطورة: {analysis['risk_score']}")
if analysis['techniques_found']:
print(f"\n 🎯 التقنيات المكتشفة:")
for tech in set(analysis['techniques_found']):
print(f" - {tech}")
if analysis['suspicious_elements']:
print(f"\n ⚠️ العناصر المشبوهة:")
for elem in set(analysis['suspicious_elements']):
print(f" - {elem}")
def generate_awareness_tips(self):
"""
نصائح توعوية
"""
tips = """
╔══════════════════════════════════════════════╗
║ نصائح الحماية من الهندسة الاجتماعية ║
╚══════════════════════════════════════════════╝
📧 عند استلام رسالة مشبوهة:
✓ تحقق من عنوان المرسل بدقة
✓ لا تنقر على روابط مباشرة
✓ اتصل بالجهة عبر رقمها الرسمي
✓ لا تشارك كلمات المرور أبداً
📞 عند تلقي مكالمة مشبوهة:
✓ اطلب رقم للاتصال بهم لاحقاً
✓ تحقق من هوية المتصل
✓ لا تعطِ معلومات تحت الضغط
✓ أغلق واتصل بالجهة مباشرة
👤 في الموقع الفعلي:
✓ لا تدخل أحداً خلفك
✓ تحقق من بطاقات الهوية
✓ أبلغ عن الغرباء
✓ لا تترك جهازك مفتوحاً
💡 القاعدة الذهبية:
"إذا بدا الأمر غريباً، فهو غالباً كذلك"
"من الآمن دائماً أن تسأل وتتحقق"
"""
return tips
# أمثلة
analyzer = SocialEngineeringAnalyzer()
# رسائل للاختبار
messages = [
"عزيزي العميل، تم رصد نشاط مشبوه في حسابك. يرجى النقر هنا فوراً لتأكيد هويتك وإدخال كلمة المرور لتجنب إغلاق الحساب.",
"مبروك! لقد فزت بجائزة 1000$ من شركتنا. أرسل رقم بطاقتك الآن للحصول على الجائزة مجاناً!",
"مرحباً، هذه رسالة تذكير بموعدك غداً الساعة 3 مساءً.",
]
for msg in messages:
analyzer.print_analysis(msg)
print(analyzer.generate_awareness_tips())اختبر فهمك