
Ein KI-gestützter Scanner für personenbezogene Daten (PII).
⠀⠀⠀⠀⠀⠀⠀⣤⣤⣄⣀⡀⠀⠀⠀⢀⣠⣤⣤⣄⡀⠀⠀⠀⢀⣀⣠⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠸⣿⣿⡿⠿⢿⣷⡄⢠⣿⣿⣿⣿⣿⣿⡄⢀⣾⡿⠿⢿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣠⣤⡀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠀⠀⠀
⠸⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀
⠀⠉⠉⠁⠀⠀⠀⠀⣿⣿⠀⢸⣿⡇⠀⠉⣿⣿⣿⣿⠉⠀⢸⣿⡇⠀⣿⣿⠀⠀⠀⠀⠈⠉⠉⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣀⣈⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣁⣀⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⠿⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠃⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⣤⣤⣤⣤⣤⣤⣴⣿⣿⣿⡇⢸⣿⡿⣿⣦⣤⣤⣤⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢸⣿⠋⠉⠉⠉⠉⠉⠉⢸⣿⡇⢸⣿⡇⠈⠉⠉⠉⠉⠉⠙⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢰⣿⣿⣦⠀⢰⣿⣿⣦⠀⢸⣿⡇⢸⣿⡇⠀⣰⣿⣿⡆⠀⣴⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠈⠻⠿⠋⠀⠘⣿⣿⠃⠀⢸⣿⡇⢸⣿⡇⠀⠘⣿⣿⠃⠀⠙⠿⠟⠁⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣦⣤⣼⣿⠃⠘⣿⣧⣄⣤⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠛⠁⠀⠀⠈⠛⠛⠛⠋⠀⠀⠀
⠀⠀⠀⠀⠀⠀ ⠀O C T O P I I⠀⠀⠀⠀
Copyright © 2023 RedHunt Labs Private Limited
Octopii ist ein Scanner für personenbezogene Daten (PII), der optische Zeichenerkennung (OCR), reguläre Ausdrücke und Natural Language Processing (NLP) nutzt, um in Bildern, PDFs und Dokumenten nach offiziellen Ausweisen, Adressen, E-Mails usw. zu suchen.
PII-Lecks werden im Bereich der Cybersicherheit oft übersehen. Bei RedHunt Labs sind wir stets auf der Suche nach neuen und innovativen Wegen, um Cybersicherheitslösungen zu entwickeln, die Organisationen und Dienste benötigen. Wir sind auf eine beträchtliche Anzahl von Organisationen gestoßen, deren Server falsch konfiguriert sind. Dadurch gelangen ständig Mitarbeiter- und Kunden-PII nach außen, was böswilligen Parteien sensible Informationen über deren Herkunft, Ausweisnummern, Kontaktdaten und Standort liefert.
Deshalb haben wir Octopii entwickelt – ein Tool, um zu demonstrieren und zu erkennen, wie einfach es ist, die Entdeckung und Extraktion von durchgesickerten PII und sensiblen Dokumenten im Internet zu automatisieren.
pip install -r requirements.txt.sudo apt install tesseract-ocr -y auf Ubuntu oder sudo pacman -Syu tesseract auf Arch Linux.python -m spacy download en_core_web_sm.Sobald du die oben genannten Schritte abgeschlossen hast, kannst du loslegen.
Um Octopii auszuführen, gib Folgendes ein:
python3 octopii.py <zu scannender Ort>
wobei <zu scannender Ort> eine Datei oder ein Verzeichnis ist.
Octopii unterstützt derzeit lokales Scannen über Dateisystempfade, S3-URLs und Apache-Open-Directory-Listenings. Du kannst auch einzelne Bild-URLs oder -Dateien als Argument übergeben.
Wir haben einen Ordner dummy-pii/ mit Beispiel-PII bereitgestellt, den du zum Testen von Octopii verwenden kannst. Übergib ihn als Argument und du erhältst folgende Ausgabe:
owais@artemis ~ $ python3 octopii.py dummy-pii/
Suche nach 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"
]
}
Suche nach 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"
]
}
...
Es wird eine Datei namens output.txt erstellt, die die Ausgabe des Tools enthält. Diese Datei wird in Echtzeit sequenziell ergänzt.
Octopii verwendet Tesseract für die optische Zeichenerkennung (OCR) und NLTK für die Verarbeitung natürlicher Sprache (NLP), um Zeichenfolgen mit personenbezogenen Daten zu erkennen. Dies erfolgt in den folgenden Schritten:
Octopii scannt nach Bildern (jpg und png) sowie Dokumenten (pdf, doc, txt usw.). Es unterstützt 3 Quellen:
Bilder werden mittels Python Imaging Library (PIL) erkannt und mit OpenCV geöffnet. PDFs werden in eine Liste von Bildern konvertiert und per OCR gescannt. Textbasierte Dateitypen werden als Zeichenketten eingelesen und ohne OCR gescannt.
Eine binäre Klassifikations-Bilderkennungstechnik – bekannt als „Haar-Kaskade“ – wird verwendet, um Gesichter in Bildern zu erkennen. In diesem Repository wird ein vortrainiertes Kaskadenmodell bereitgestellt, das Kaskadendaten für OpenCV enthält. Mehrere Gesichter können im selben PII-Bild erkannt werden, und die Anzahl der erkannten Gesichter wird zurückgegeben.
Bilder werden dann für die Textextraktion „gereinigt“, und zwar mit den folgenden Bildtransformationen:

Da diese Schritte Bilddaten (einschließlich Farben in Fotos) entfernen, findet dieser Bildreinigungsprozess nach dem Versuch der Gesichtserkennung statt.
Tesseract wird verwendet, um alle Textzeichenfolgen aus einem Bild/einer Datei zu extrahieren. Diese werden dann in eine Liste von Zeichenfolgen tokenisiert, getrennt durch Zeilenumbrüche (\n) und Leerzeichen ( ). Verstümmelter Text wie null-Zeichenfolgen und einzelne Zeichen werden aus dieser Liste entfernt, sodass eine „verständliche“ Liste potenzieller Wörter entsteht.
Diese Liste von Wörtern wird dann in eine Ähnlichkeitsprüffunktion eingespeist. Diese Funktion verwendet Gestalt-Mustervergleich, um jedes aus dem PII-Dokument extrahierte Wort mit einer Liste von Schlüsselwörtern zu vergleichen, die in definitions.json enthalten sind. Diese Prüfung erfolgt einmal pro Reinigung. Die Anzahl der Vorkommen eines Wortes aus der Schlüsselwortliste wird gezählt und zur Ableitung eines Konfidenzwerts verwendet. Wenn die Schlüsselwörter einer bestimmten Definition in diesen Scans wiederholt auftreten, erhält diese Definition die höchste Punktzahl und wird als vorhergesagte PII-Klasse ausgewählt.
Octopii prüft auch auf sensible PII-Teilzeichenfolgen wie E-Mails, Telefonnummern und eindeutige Kennungen gängiger amtlicher Ausweise mittels regulärer Ausdrücke. Es kann auch Geodaten wie Adressen und Länder mithilfe der Verarbeitung natürlicher Sprache extrahieren.
Die Ausgabe besteht aus Folgendem:
file_path: Wo die Datei mit den PII zu finden istpii_class: Die Art der in dieser Datei enthaltenen PIIcountry_of_origin: Woher diese PII stammt.identifiers: Eindeutige Kennungen, Codes oder Nummern, die verwendet werden könnten, um die in den PII genannte Person zu identifizieren.emails und phone_numbers: Kontaktinformationen in der Datei.addresses: Jegliche Form von Geodaten in den PII. Diese können verwendet werden, um den Standort einer Person zu triangulieren.Hier klicken, um zu erfahren, wie du zu Octopii beitragen kannst.
...und unzählige andere
Dieses Tool ist ausschließlich für Forschungs- und Bildungszwecke gedacht. RedHunt Labs und andere Mitwirkende an diesem Projekt übernehmen keine Verantwortung für die missbräuchliche Verwendung dieses Tools.
Copyright © 2023 RedHunt Labs Private Limited.
Von Owais Shaikh