diff --git a/Privacy_Assessment/README.md b/Privacy_Assessment/README.md new file mode 100644 index 0000000..1346188 --- /dev/null +++ b/Privacy_Assessment/README.md @@ -0,0 +1,128 @@ +- زهقت من الانجليزي و وقتي ضيق اول ملفين بكفو تعرفو اني فلته (o ‵-′)ノ”(ノ﹏<。) + +# DevTools + +- مجموعة أدوات مدمجة داخل متصفحات الويب +- تستخدم لفحص وتحليل وتصحيح صفحات ومكونات الويب أثناء تشغيلها. +- توفر معلومات عن عناصر الصفحة، الشبكة، التخزين، الكوكيز، الاتصالات، وأداء الموقع. +- تساعد المطورين والباحثين الأمنيين على اكتشاف المشاكل وتحليل سلوك الموقع. + +في تقييم الخصوصية، يتم استخدام DevTools لفحص: +- Cookies: لمعرفة البيانات المخزنة في المتصفح. +- Network: لمراقبة الاتصالات والطلبات الخارجية. +- Security: للتحقق من HTTPS وشهادة TLS. +- Headers: لتحليل إعدادات الحماية الخاصة بالخادم. + +## موقع مثال + +## تحليل ملفات تعريف الارتباط (Cookies) + +تم فحص ملفات تعريف الارتباط الخاصة بالموقع باستخدام Chrome DevTools من خلال قسم Application. + +تم العثور على عدة Cookies، منها: + +| اسم Cookie | الاستخدام المتوقع | خصائص الحماية | +|---|---|---| +| APISID | ملف مرتبط بخدمات Google وتفضيلات المستخدم | Secure | +| HSID | ملف أمني مرتبط بجلسات Google | Secure + HttpOnly | +| SID | معرف جلسة/حماية | Secure | +| LOGIN_INFO | معلومات مرتبطة بتسجيل الدخول | Secure | +| PREF | تخزين تفضيلات المستخدم | Secure | +| SSID | ملف أمني للجلسة | Secure | +| _Secure-* | ملفات حماية مرتبطة بخدمات Google | Secure | + +## الملاحظات الأمنية + +- معظم ملفات Cookies تحتوي على خاصية **Secure**، وهذا يعني أنها تُرسل فقط عبر اتصال HTTPS مشفر. +- بعض الملفات تحتوي على **HttpOnly**، مما يقلل خطر سرقة ملفات Cookies بواسطة JavaScript في حال وجود ثغرة XSS. +- بعض ملفات Cookies لها مدة صلاحية طويلة (حتى عام 2027)، وهذا قد يزيد من المخاطر في حال تم اختراقها أو تسريبها. +- تم ملاحظة وجود Cookies تابعة لجهات خارجية (مثل Google)، وقد تستخدم لأغراض التتبع أو تخصيص المحتوى. + +# HTTPS + + +بعد إعادة تحميل الصفحة تم تحليل الطلبات (Requests). + +## الموارد التي تم تحميلها: + +| المورد | النوع | الملاحظات | +|---|---|---| +| styles.css | CSS | ملف تنسيق داخلي للموقع | +| search-form.css | CSS | تنسيق نموذج البحث | +| results.css | CSS | تنسيق نتائج البحث | +| video-carousel.css | CSS | تنسيق قسم الفيديو | +| images.css | CSS | تنسيق الصور | +| footer.css | CSS | تنسيق التذييل | +| common.css | CSS | تنسيقات عامة | +| Noto Kufi Arabic / Noto Naskh Arabic | Font | خطوط من Google Fonts | +| Imagemaxresdefault.jpg | Image | صورة محتوى | + +--- + +## تحليل المتتبعات (Trackers) + +خلال فحص طلبات الشبكة لم يتم العثور على خدمات تتبع مشهورة مثل: + +- Google Analytics +- Facebook Pixel +- DoubleClick + +# 3. مقارنة الخصوصية مع محركات بحث أخرى + +تمت مقارنة محرك البحث mithal.space مع محركي بحث آخرين من ناحية الخصوصية: + +| المحرك | جمع البيانات | Trackers | Cookies | مستوى الخصوصية | +|---|---|---|---|---| +| mithal.space | محدود حسب الفحص | لم يتم اكتشاف Trackers واضحة | لا توجد Cookies تتبع ظاهرة | جيد | +| DuckDuckGo | لا يقوم بتخزين سجل البحث الشخصي | لا يستخدم Trackers إعلانية | يستخدم أقل قدر ممكن من Cookies | ممتاز | +| Google Search | يجمع بيانات البحث والاستخدام لتحسين الخدمات والإعلانات | يحتوي على العديد من خدمات التتبع والتحليل | يستخدم Cookies متعددة للتخصيص والإعلانات | متوسط | + +## التحليل: + +- **mithal.space** يقدم مستوى خصوصية جيد بسبب عدم ظهور أدوات تتبع إعلانية أثناء الفحص، لكنه يعتمد على بعض الموارد الخارجية مثل Google Fonts. +- **DuckDuckGo** يعتبر أكثر خصوصية لأنه يقلل جمع بيانات المستخدم ولا يعتمد على الإعلانات الموجهة. +- **Google Search** يوفر خدمات متقدمة لكنه يعتمد بشكل كبير على جمع بيانات المستخدم لأغراض التحليل والإعلانات. + +--- + +# 4. التحسينات الأمنية المقترحة لمحرك mithal.space + +## 1. إضافة Content Security Policy (CSP) + +**الوصف:** +إضافة HTTP Header للتحكم بالمصادر المسموح تحميلها داخل الموقع. + +**الفائدة:** +- تقليل خطر هجمات XSS. +- منع تحميل Scripts غير موثوقة. + +--- + +## 2. إضافة Security Headers إضافية + +**الوصف:** +تفعيل Headers للحماية من الهجمات الشائعة. + +تشمل: + +- `Strict-Transport-Security` +- `X-Frame-Options` +- `X-Content-Type-Options` + +**الفائدة:** +- منع Clickjacking. +- إجبار استخدام HTTPS. +- منع بعض هجمات MIME sniffing. + +--- + +## 3. تقليل الاعتماد على الخدمات الخارجية + +**الوصف:** +استضافة الموارد مثل الخطوط المستخدمة حالياً من Google Fonts داخل خادم الموقع. + +**الفائدة:** +- تقليل تسريب معلومات المستخدم إلى أطراف خارجية. +- تحسين الخصوصية. +- تقليل وقت تحميل الصفحة. + diff --git a/Privacy_Assessment/methal.png b/Privacy_Assessment/methal.png new file mode 100644 index 0000000..40be120 Binary files /dev/null and b/Privacy_Assessment/methal.png differ diff --git a/Privacy_Assessment/network.png b/Privacy_Assessment/network.png new file mode 100644 index 0000000..770abff Binary files /dev/null and b/Privacy_Assessment/network.png differ diff --git a/miniSIEM/README.md b/miniSIEM/README.md new file mode 100644 index 0000000..f9651d3 --- /dev/null +++ b/miniSIEM/README.md @@ -0,0 +1,78 @@ +# هيكل المشروع + +- **Log Sources** + - تمثل مصادر السجلات (Logs) التي يجمع منها النظام البيانات. + - في هذا المشروع سيتم استخدام **3 ملفات `.log` وهمية** لتجربة النظام ومحاكاة بيئة حقيقية، ويمكن توليدها بسهولة باستخدام ChatGPT. + - أمثلة على المصادر: + - `auth.log` : محاولات تسجيل الدخول. + - `nginx.log` : طلبات خادم الويب. + - `app.log` : أخطاء التطبيق. + +--- + +- **Log Collector (Python)** + - مسؤول عن قراءة السجلات من جميع المصادر بشكل دوري. + - يجمع كل سجل (Log Entry) ويمرره إلى مرحلة التحليل دون إجراء أي قرار أمني بنفسه. + +--- + +- **Parser + Detection Rules** + - يقوم الـ Parser بتحليل كل Log واستخراج المعلومات المهمة مثل: + - عنوان IP + - الوقت + - نوع الحدث + - الرسالة + - بعد ذلك يتم تطبيق مجموعة من **قواعد الكشف (Detection Rules)** لتحديد ما إذا كان الحدث طبيعياً أو مشبوهاً. + - أمثلة على القواعد: + - أكثر من **5 محاولات تسجيل دخول فاشلة** خلال دقيقة واحدة → **Brute Force**. + - طلب يحتوي على كلمات مثل `UNION SELECT` أو `' OR 1=1` → **SQL Injection**. + - محاولة الوصول إلى `/admin` أو ملفات حساسة بشكل متكرر → **Directory Enumeration**. + - إرسال مرفق بريد إلكتروني بامتداد `.exe` أو `.bat` → **احتمال Malware**. + - عدد كبير من الطلبات من نفس عنوان IP خلال فترة قصيرة → **Suspicious Activity**. + +--- + +- **Alerts Database / File** + - عند اكتشاف حدث مشبوه، يتم إنشاء Alert يحتوي على: + - الوقت + - عنوان IP + - نوع الهجوم + - مستوى الخطورة (Low / Medium / High) + - تُحفظ التنبيهات في ملف `alerts.json` (أو قاعدة بيانات في الأنظمة الأكبر) ليتم عرضها لاحقاً. + +--- + +- **Dashboard (HTML / CSS / JavaScript)** + - واجهة رسومية تعرض التنبيهات التي اكتشفها النظام. + - تعرض معلومات مثل: + - عناوين IP المشبوهة. + - نوع الهجوم. + - مستوى الخطورة. + - وقت اكتشاف الحدث. + - يتم تحديث البيانات من ملف `alerts.json` الذي ينتجه برنامج Python. + +--- + +# تشغيل المشروع + +1. شغّل برنامج تحليل السجلات: + +```bash +python siem.py +``` + +سيقوم البرنامج بقراءة ملفات الـ Logs وتحليلها وإنشاء ملف `alerts.json`. + +2. بعد ذلك شغّل خادم HTTP لعرض لوحة التحكم: + +```bash +python -m http.server 8000 +``` + +3. افتح المتصفح وانتقل إلى: + +```text +http://localhost:8000/dashboard/ +``` + +ستظهر لوحة التحكم وتعرض جميع التنبيهات التي اكتشفها النظام. \ No newline at end of file diff --git a/miniSIEM/alerts.json b/miniSIEM/alerts.json new file mode 100644 index 0000000..418f0fe --- /dev/null +++ b/miniSIEM/alerts.json @@ -0,0 +1,32 @@ +[ + { + "time": "2026-07-27 21:59:27.947124", + "ip": "10.0.0.5", + "attack": "Brute Force Login", + "severity": "HIGH" + }, + { + "time": "2026-07-27 21:59:27.947161", + "ip": "10.0.0.5", + "attack": "Brute Force Login", + "severity": "HIGH" + }, + { + "time": "2026-07-27 21:59:27.947285", + "ip": "10.0.0.8", + "attack": "Web Attack Attempt", + "severity": "MEDIUM" + }, + { + "time": "2026-07-27 21:59:27.947295", + "ip": "10.0.0.9", + "attack": "Web Attack Attempt", + "severity": "MEDIUM" + }, + { + "time": "2026-07-27 21:59:27.947408", + "ip": "LOCAL", + "attack": "Application Error", + "severity": "LOW" + } +] \ No newline at end of file diff --git a/miniSIEM/dashboard/app.js b/miniSIEM/dashboard/app.js new file mode 100644 index 0000000..984aa92 --- /dev/null +++ b/miniSIEM/dashboard/app.js @@ -0,0 +1,33 @@ + +fetch("../alerts.json") + +.then(res=>res.json()) + +.then(data=>{ + + +let table=document.getElementById("alerts"); + + +data.forEach(alert=>{ + + +table.innerHTML += + +` +
| IP | +Attack | +Severity | + +
|---|