
ماسح ضوئي للمعلومات الشخصية القابلة للتحديد (PII) مدعوم بالذكاء الاصطناعي.
⠀⠀⠀⠀⠀⠀⠀⣤⣤⣄⣀⡀⠀⠀⠀⢀⣠⣤⣤⣄⡀⠀⠀⠀⢀⣀⣠⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠸⣿⣿⡿⠿⢿⣷⡄⢠⣿⣿⣿⣿⣿⣿⡄⢀⣾⡿⠿⢿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣠⣤⡀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠀⠀⠀
⠸⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀
⠀⠉⠉⠁⠀⠀⠀⠀⣿⣿⠀⢸⣿⡇⠀⠉⣿⣿⣿⣿⠉⠀⢸⣿⡇⠀⣿⣿⠀⠀⠀⠀⠈⠉⠉⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣀⣈⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣁⣀⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⠿⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠃⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⣤⣤⣤⣤⣤⣤⣴⣿⣿⣿⡇⢸⣿⡿⣿⣦⣤⣤⣤⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢸⣿⠋⠉⠉⠉⠉⠉⠉⢸⣿⡇⢸⣿⡇⠈⠉⠉⠉⠉⠉⠙⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢰⣿⣿⣦⠀⢰⣿⣿⣦⠀⢸⣿⡇⢸⣿⡇⠀⣰⣿⣿⡆⠀⣴⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠈⠻⠿⠋⠀⠘⣿⣿⠃⠀⢸⣿⡇⢸⣿⡇⠀⠘⣿⣿⠃⠀⠙⠿⠟⠁⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣦⣤⣼⣿⠃⠘⣿⣧⣄⣤⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠛⠁⠀⠀⠈⠛⠛⠛⠋⠀⠀⠀
⠀⠀⠀⠀⠀⠀ ⠀O C T O P I I⠀⠀⠀⠀
حقوق الطبع محفوظة © 2023 RedHunt Labs Private Limited
Octopii هو ماسح ضوئي للمعلومات الشخصية القابلة للتحديد (PII) يستخدم التعرف البصري على الأحرف (OCR) وقوائم التعبيرات النمطية ومعالجة اللغة الطبيعية (NLP) للبحث في المواقع العامة عن الهويات الحكومية والعناوين والبريد الإلكتروني وغيرها في الصور وملفات PDF والمستندات.
غالبًا ما يتم التغاضي عن تسريبات المعلومات الشخصية (PII) في مجال الأمن السيبراني. في RedHunt Labs، نبحث دائمًا عن طرق مختلفة ومبتكرة لتقديم حلول أمن سيبراني تحتاجها المؤسسات والخدمات. لقد واجهنا عددًا كبيرًا من المؤسسات التي لديها خوادمها مهيأة بشكل غير صحيح. يتسبب هذا في تسرب المعلومات الشخصية للموظفين والعملاء طوال الوقت، مما يمنح الأطراف الخبيثة معلومات حساسة حول أصولهم وأرقام هوياتهم ومعلومات الاتصال وموقعهم.
لهذا السبب أنشأنا Octopii، وهي أداة لتوضيح واكتشاف مدى سهولة أتمتة اكتشاف واستخراج المعلومات الشخصية المسربة والمستندات الحساسة على الإنترنت.
pip install -r requirements.txt.sudo apt install tesseract-ocr -y على Ubuntu أو sudo pacman -Syu tesseract على Arch Linux.python -m spacy download en_core_web_sm.بمجرد تثبيت ما سبق، تصبح جاهزًا.
لتشغيل Octopii، اكتب
python3 octopii.py <الموقع المراد مسحه>
حيث <الموقع المراد مسحه> هو ملف أو مجلد.
يدعم Octopii حاليًا المسح المحلي عبر مسار نظام الملفات، وعناوين URL لـ S3، وقوائم الدليل المفتوح Apache. يمكنك أيضًا توفير عناوين URL لصور فردية أو ملفات كوسيطة.
لقد قمنا بتوفير مجلد dummy-pii/ يحتوي على معلومات شخصية (PII) نموذجية لاختبار Octopii بها. قم بتمريره كوسيطة وستحصل على المخرجات التالية
owais@artemis ~ $ python3 octopii.py dummy-pii/
جارٍ البحث عن معلومات شخصية في dummy-pii/dummy-drivers-license-nebraska-us.jpg
{
"file_path": "dummy-pii/dummy-drivers-license-nebraska-us.jpg",
"pii_class": "رخصة قيادة نبراسكا",
"country_of_origin": "الولايات المتحدة",
"faces": 1,
"identifiers": [],
"emails": [],
"phone_numbers": [
"4000002170"
],
"addresses": [
"نبراسكا"
]
}
جارٍ البحث عن معلومات شخصية في dummy-pii/dummy-PAN-India.jpg
{
"file_path": "dummy-pii/dummy-PAN-India.jpg",
"pii_class": "رقم الحساب الدائم",
"country_of_origin": "الهند",
"faces": 0,
"identifiers": [],
"emails": [],
"phone_numbers": [],
"addresses": [
"الهند"
]
}
...
يتم إنشاء ملف باسم output.txt، يحتوي على مخرجات الأداة. يتم إلحاق هذا الملف بشكل تسلسلي في الوقت الفعلي.
يستخدم Octopii Tesseract للتعرف البصري على الأحرف (OCR) و NLTK لمعالجة اللغة الطبيعية (NLP) للكشف عن سلاسل المعلومات الشخصية القابلة للتحديد. يتم ذلك عبر الخطوات التالية:
يقوم Octopii بمسح الصور (jpg و png) والمستندات (pdf, doc, txt وغيرها). وهو يدعم 3 مصادر:
يتم اكتشاف الصور عبر مكتبة التصوير بلغة Python (PIL) ويتم فتحها باستخدام OpenCV. يتم تحويل ملفات PDF إلى قائمة من الصور ومسحها ضوئيًا عبر OCR. تتم قراءة أنواع الملفات النصية إلى سلاسل ويتم فحصها بدون OCR.
يتم استخدام تقنية اكتشاف الصور الثنائية التصنيف - المعروفة باسم "Haar cascade" - لكشف الوجوه داخل الصور. يتم توفير نموذج cascade مدرب مسبقًا في هذا المستودع، والذي يحتوي على بيانات cascade لاستخدامها مع OpenCV. يمكن اكتشاف وجوه متعددة داخل نفس صورة المعلومات الشخصية، ويتم إرجاع عدد الوجوه المكتشفة.
يتم بعد ذلك "تنظيف" الصور لاستخراج النص باستخدام خطوات تحويل الصورة التالية:

نظرًا لأن هذه الخطوات تزيل بيانات الصورة (بما في ذلك الألوان في الصور الفوتوغرافية)، فإن عملية تنظيف الصورة هذه تحدث بعد محاولة كشف الوجه.
يستخدم Tesseract لاستخراج جميع سلاسل النص من صورة/ملف. ثم يتم تحويلها إلى رمزية كقائمة من السلاسل، مفصولة بأحرف السطر الجديد ('\n') والمسافات (' '). يتم التخلص من النص المشوش، مثل السلاسل الفارغة null والأحرف الفردية من هذه القائمة، مما ينتج قائمة 'مفهومة' من الكلمات المحتملة.
ثم يتم تغذية قائمة الكلمات هذه إلى دالة فحص التشابه. تستخدم هذه الدالة مطابقة الأنماط الغشتالتية (Gestalt pattern matching) لمقارنة كل كلمة مستخرجة من مستند المعلومات الشخصية مع قائمة من الكلمات الرئيسية، الموجودة في definitions.json. يتم هذا الفحص مرة واحدة لكل عملية تنظيف. يتم حساب عدد مرات ظهور الكلمة من قائمة الكلمات الرئيسية ويستخدم هذا لاشتقاق درجة ثقة. عندما تظهر كلمات رئيسية لتعريف معين بشكل متكرر في هذه الفحوصات، يحصل هذا التعريف على أعلى درجة ويتم اختياره كفئة المعلومات الشخصية المتوقعة.
يقوم Octopii أيضًا بالتحقق من السلاسل الفرعية الحساسة للمعلومات الشخصية مثل البريد الإلكتروني وأرقام الهواتف ومعرفات الهوية الحكومية الشائعة باستخدام التعبيرات النمطية. يمكنه أيضًا استخراج بيانات الموقع الجغرافي مثل العناوين والبلدان باستخدام معالجة اللغة الطبيعية.
تتكون المخرجات مما يلي:
file_path: مكان العثور على الملف الذي يحتوي على المعلومات الشخصيةpii_class: نوع المعلومات الشخصية التي يحتويها هذا الملفcountry_of_origin: مصدر هذه المعلومات الشخصيةidentifiers: معرفات أو رموز أو أرقام فريدة قد تستخدم لاستهداف الفرد المذكور في المعلومات الشخصيةemails و phone_numbers: معلومات الاتصال في الملفaddresses: أي شكل من بيانات الموقع الجغرافي في المعلومات الشخصية. قد يستخدم لتحديد موقع الفرد.اضغط هنا لقراءة كيفية المساهمة في Octopii.
...وآخرون كثيرون
هذه الأداة مخصصة لأغراض البحث والتعليم فقط. شركة RedHunt Labs والمساهمون الآخرون في هذا المشروع لا يتحملون أي مسؤولية عن الاستخدام الخبيث لهذه الأداة.
حقوق الطبع محفوظة © 2023 RedHunt Labs Private Limited.
بواسطة Owais Shaikh