⠀⠀⠀⠀⠀⠀⠀⣤⣤⣄⣀⡀⠀⠀⠀⢀⣠⣤⣤⣄⡀⠀⠀⠀⢀⣀⣠⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠸⣿⣿⡿⠿⢿⣷⡄⢠⣿⣿⣿⣿⣿⣿⡄⢀⣾⡿⠿⢿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣠⣤⡀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠀⠀⠀
⠸⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀
⠀⠉⠉⠁⠀⠀⠀⠀⣿⣿⠀⢸⣿⡇⠀⠉⣿⣿⣿⣿⠉⠀⢸⣿⡇⠀⣿⣿⠀⠀⠀⠀⠈⠉⠉⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣀⣈⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣁⣀⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⠿⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠃⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⣤⣤⣤⣤⣤⣤⣴⣿⣿⣿⡇⢸⣿⡿⣿⣦⣤⣤⣤⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢸⣿⠋⠉⠉⠉⠉⠉⠉⢸⣿⡇⢸⣿⡇⠈⠉⠉⠉⠉⠉⠙⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢰⣿⣿⣦⠀⢰⣿⣿⣦⠀⢸⣿⡇⢸⣿⡇⠀⣰⣿⣿⡆⠀⣴⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠈⠻⠿⠋⠀⠘⣿⣿⠃⠀⢸⣿⡇⢸⣿⡇⠀⠘⣿⣿⠃⠀⠙⠿⠟⠁⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣦⣤⣼⣿⠃⠘⣿⣧⣄⣤⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠛⠁⠀⠀⠈⠛⠛⠛⠋⠀⠀⠀
⠀⠀⠀⠀⠀⠀ ⠀O C T O P I I⠀⠀⠀⠀
Copyright © 2023 RedHunt Labs Private Limited
OctopII est un scanner d'informations personnellement identifiable (PII) qui utilise la reconnaissance optique des caractères (OCR), les listes d'expression régulière et le traitement du langage naturel (PNL) pour rechercher des emplacements accessibles au public pour l'ID du gouvernement, les adresses, les e-mails dans les images, les PDF et les documents.
Les fuites PII sont souvent négligées dans l'espace de cybersécurité. Chez Redd Labs, nous recherchons toujours des façons différentes et innovantes de proposer des solutions de cybersécurité dont les organisations et les services ont besoin. Nous avons rencontré un nombre important d'organisations qui ont leurs serveurs configurés de manière incorrecte. Cela fait que les employés et les clients PII fuisent tout le temps, donnant aux parties malveillantes des informations sensibles sur leurs origines, leurs numéros d'identification, leurs coordonnées et leur emplacement.
C'est pourquoi nous sommes créés OctopII, un outil pour démontrer et détecter à quel point il est facile d'automatiser la découverte et l'extraction des PII divulgués et des documents sensibles sur Internet.
pip install -r requirements.txt .sudo apt install tesseract-ocr -y sur ubuntu ou sudo pacman -Syu tesseract sur arch linux.python -m spacy download en_core_web_sm .Une fois que vous avez installé ce qui précède, vous êtes prêt.
Pour exécuter Octopii, Type
python3 octopii.py <location to scan>
Où <location to scan> est un fichier ou un répertoire.
OctopII prend actuellement en charge la numérisation locale via le chemin du système de fichiers, les URL S3 et les listes de répertoires Open Apache. Vous pouvez également fournir des URL ou des fichiers individuels comme argument.
Nous avons fourni un facteur dummy-pii/ contenant un échantillon PII pour que vous puissiez tester les poulpes. Passer comme argument et vous obtiendrez la sortie suivante
owais@artemis ~ $ python3 octopii.py dummy-pii/
Searching for PII in dummy-pii/dummy-drivers-license-nebraska-us.jpg
{
"file_path": "dummy-pii/dummy-drivers-license-nebraska-us.jpg",
"pii_class": "Nebraska Driver's License",
"country_of_origin": "United States",
"faces": 1,
"identifiers": [],
"emails": [],
"phone_numbers": [
"4000002170"
],
"addresses": [
"Nebraska"
]
}
Searching for PII in dummy-pii/dummy-PAN-India.jpg
{
"file_path": "dummy-pii/dummy-PAN-India.jpg",
"pii_class": "Permanent Account Number",
"country_of_origin": "India",
"faces": 0,
"identifiers": [],
"emails": [],
"phone_numbers": [],
"addresses": [
"INDIA"
]
}
...
Un fichier nommé output.txt est créé, contenant la sortie de l'outil. Ce fichier est annexé à séquentiellement en temps réel.
OctopII utilise Tesseract pour la reconnaissance optique des caractères (OCR) et le NLTK pour le traitement du langage naturel (NLP) pour détecter les chaînes d'informations identifiables personnelles. Cela se fait via les étapes suivantes:
OctopII scannes pour images (JPG et PNG) et documents (PDF, Doc, TXT, etc.). Il prend en charge 3 sources:
Les images sont détectées via Python Imaging Library (PIL) et sont ouvertes avec OpenCV. Les PDF sont convertis en une liste d'images et sont scannés via OCR. Les types de fichiers textuels sont lus dans les chaînes et sont scannés sans OCR.
Une technique de détection d'image de classification binaire - connue sous le nom de "cascade Haar" - est utilisée pour détecter les visages dans les images. Un modèle de cascade pré-formé est fourni dans ce dépôt, qui contient des données en cascade à utiliser OpenCV. Plusieurs faces peuvent être détectées dans la même image PII, et le nombre de faces détectés est réactivé.
Les images sont ensuite "clôturées" pour l'extraction de texte avec les étapes de transformation d'image suivantes:

Étant donné que ces étapes éliminent les données de l'image (y compris les couleurs sur les photographies), ce processus de nettoyage d'image se produit après la détection du visage.
Tesseract est utilisé pour saisir toutes les chaînes de texte à partir d'une image / fichier. Il est ensuite tokenisé en une liste de chaînes, divisé par le caractère newline (' n') et les espaces (''). Le texte brouillé, tel que les chaînes null et les personnages uniques est jeté à partir de cette liste, ce qui se traduit par une liste «intelligible» de mots potentiels.
Cette liste de mots est ensuite introduite dans une fonction de vérification similaire. Cette fonction utilise la correspondance du modèle GESTALT pour comparer chaque mot extrait du document PII avec une liste de mots clés, présents dans definitions.json . Ce chèque se produit une fois par nettoyage. Le nombre de fois un mot des mots clés est compté et cela est utilisé pour dériver un score de confiance. Lorsque les mots clés d'une définition particulière apparaissent répétés dans ces analyses, cette définition obtient le score le plus élevé et est choisi comme classe PII prévue.
OctopII vérifie également les sous-traits PII sensibles tels que les e-mails, les numéros de téléphone et les identificateurs uniques d'identification du gouvernement commun à l'aide d'expressions régulières. Il peut également extraire des données de géolocalisation telles que les adresses et les pays en utilisant le traitement du langage naturel.
La sortie se compose des éléments suivants:
file_path : où le fichier contenant PII peut être trouvépii_class : le type de pii ce fichier contientcountry_of_origin : d'où provient ce PII.identifiers : identificateurs, codes ou nombres uniques qui peuvent être utilisés pour cibler l'individu mentionné dans le PII.emails ET phone_numbers : coordonnées dans le fichier.addresses : Toute forme de données de géolocalisation dans le PII. Cela peut être utilisé pour trianguler l'emplacement d'un individu. Cliquez ici pour lire comment vous pouvez la contitution aux OctopII.
... et d'innombrables autres
Cet outil est destiné à des fins de recherche et d'éducation uniquement. Red Labs et autres contributeurs à ce projet ne prennent aucune responsabilité pour les UPS malveillants
Licence MIT
Copyright © 2023 Rend Labs Private Limited.
Par Owais Shaikh