⠀⠀⠀⠀⠀⠀⠀⣤⣤⣄⣀⡀⠀⠀⠀⢀⣠⣤⣤⣄⡀⠀⠀⠀⢀⣀⣠⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠸⣿⣿⡿⠿⢿⣷⡄⢠⣿⣿⣿⣿⣿⣿⡄⢀⣾⡿⠿⢿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣠⣤⡀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠀⠀⠀
⠸⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀
⠀⠉⠉⠁⠀⠀⠀⠀⣿⣿⠀⢸⣿⡇⠀⠉⣿⣿⣿⣿⠉⠀⢸⣿⡇⠀⣿⣿⠀⠀⠀⠀⠈⠉⠉⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣀⣈⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣁⣀⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⠿⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠃⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⣤⣤⣤⣤⣤⣤⣴⣿⣿⣿⡇⢸⣿⡿⣿⣦⣤⣤⣤⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢸⣿⠋⠉⠉⠉⠉⠉⠉⢸⣿⡇⢸⣿⡇⠈⠉⠉⠉⠉⠉⠙⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢰⣿⣿⣦⠀⢰⣿⣿⣦⠀⢸⣿⡇⢸⣿⡇⠀⣰⣿⣿⡆⠀⣴⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠈⠻⠿⠋⠀⠘⣿⣿⠃⠀⢸⣿⡇⢸⣿⡇⠀⠘⣿⣿⠃⠀⠙⠿⠟⠁⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣦⣤⣼⣿⠃⠘⣿⣧⣄⣤⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠛⠁⠀⠀⠈⠛⠛⠛⠋⠀⠀⠀
⠀⠀⠀⠀⠀⠀ ⠀O C T O P I I⠀⠀⠀⠀
Copyright © 2023 RedHunt Labs Private Limited
OCTOPII ist ein persönlich identifizierbarer Informationen (PII), der optische Charaktererkennung (OCR), reguläre Ausdruckslisten und natürliche Sprachverarbeitung (NLP) verwendet, um öffentlich ausgerichtete Standorte für staatliche ID, Adressen, E-Mails in Bildern, PDFs und Dokumenten zu durchsuchen.
PII -Lecks werden im Cybersicherheitsraum oft übersehen. Bei Redd Labs suchen wir immer nach verschiedenen und innovativen Möglichkeiten, um Cybersicherheitslösungen zu finden, die Organisationen und Dienstleistungen benötigen. Wir sind auf eine beträchtliche Anzahl von Organisationen gestoßen, die ihre Server falsch konfigurieren lassen. Dies führt dazu, dass Mitarbeiter- und Kunden -PII ständig auslaufen und böswillige Parteien vertrauliche Informationen über ihre Ursprünge, ID -Nummern, Kontaktinformationen und ihren Standort erhalten.
Aus diesem Grund werden wir Octopii erstellt, ein Werkzeug, 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 unter Arch Linux.python -m spacy download en_core_web_sm .Sobald Sie die oben genannten installiert haben, sind Sie alle festgelegt.
Tippen
python3 octopii.py <location to scan>
Wobei <location to scan> eine Datei oder ein Verzeichnis ist.
OCTOPII unterstützt derzeit lokales Scannen über Dateisystempfad, S3 -URLs und Apache Open -Verzeichnislisten. Sie können auch einzelne Bild -URLs oder Dateien als Argument angeben.
Wir haben einen dummy-pii/ -ordner bereitgestellt, der Probe PII enthält, mit dem Sie Octopii testen können. Geben Sie es als Argument über und Sie erhalten die folgende Ausgabe
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"
]
}
...
Eine Datei namens output.txt wird erstellt, die Ausgabe aus dem Tool enthält. Diese Datei wird nacheinander in Echtzeit angehängt.
Octopii verwendet Tesseract für die optische Charaktererkennung (OCR) und NLTK für die Verarbeitung natürlicher Sprache (NLP), um Zeichenfolgen persönlicher identifizierbarer Informationen zu erkennen. Dies geschieht über die folgenden Schritte:
Octopii scannt nach Bildern (JPG und PNG) und Dokumenten (PDF, DOC, TXT usw.). Es unterstützt 3 Quellen:
Bilder werden über die Python Imaging Library (PIL) erkannt und mit openCV geöffnet. PDFs werden in eine Liste von Bildern konvertiert und über OCR gescannt. Textbasierte Dateitypen werden in Zeichenfolgen gelesen und ohne OCR gescannt.
Eine Binärklassifizierungsbild -Erkennungstechnik - bekannt als "Haar Cascade" - wird verwendet, um Gesichter in Bildern zu erkennen. In diesem Repo wird ein vorgebildetes Kaskadenmodell bereitgestellt, das Kaskadendaten für die Verwendung von OpenCV enthält. Innerhalb desselben PII -Bildes können mehrere Gesichter erkannt werden, und die Anzahl der erkannten Gesichter wird wieder aufgenommen.
Die Bilder werden dann für die Textextraktion mit den folgenden Bildtransformationsschritten "cleiert":

Da diese Schritte Bilddaten (einschließlich Farben in Fotografien) entfernen, erfolgt dieser Bildreinigungsprozess nach der Versuchserkennung.
Tesseract wird verwendet, um alle Textzeichenfolgen aus einem Bild/einer Datei zu schnappen. Es wird dann in eine Liste von Strings tokenisiert, die durch Newline -Zeichen (' n') und Spaces ('') geteilt werden. Versteckte Text wie null -Saiten und einzelne Zeichen werden aus dieser Liste verworfen, was zu einer "verständlichen" Liste potenzieller Wörter führt.
Diese Liste von Wörtern wird dann in eine ähnliche Überprüfungsfunktion eingespeist. Diese Funktion verwendet das Gestaltmuster -Matching, um jedes aus dem PII -Dokument extrahierte Wort mit einer Liste von Schlüsselwörtern zu vergleichen, die in definitions.json vorhanden sind. Diese Prüfung erfolgt einmal pro Reinigung. Die Häufigkeit, mit der ein Wort aus den Schlüsselwörtern gezählt wird und dies verwendet wird, um eine Vertrauensbewertung abzuleiten. Wenn die Schlüsselwörter einer bestimmten Definition in diesen Scans wiederholt erscheinen, erhält diese Definition die höchste Punktzahl und wird als vorhergesagte PII -Klasse ausgewählt.
Octopii prüft auch sensible PII -Substitionen wie E -Mails, Telefonnummern und allgemeine ID -ID -ID -ID -Kennungen mit regelmäßigen Ausdrücken. Es kann auch Geolokationsdaten wie Adressen und Länder mithilfe der Verarbeitung natürlicher Sprache extrahieren.
Die Ausgabe besteht aus den folgenden:
file_path : wobei die Datei mit PII enthältpii_class : Die Art der PII enthält diese Dateicountry_of_origin : Wo aus dieser PII stammt.identifiers : Einzigartige Kennungen, Codes oder Zahlen, die verwendet werden können, um die in der PII erwähnten Person abzuzielen.emails und phone_numbers : Kontaktinformationen in der Datei.addresses : Jede Form von Geolokationsdaten in der PII. Dies kann verwendet werden, um den Standort einer Person zu triangulieren. Klicken Sie hier, um zu lesen, wie Sie in Octopii in Kontakt stehen können.
... und unzählige andere
Dieses Tool ist nur für Forschungs- und Bildungszwecke gedacht. Rote Labors und andere Mitwirkende dieses Projekts übernehmen keine Verantwortung für böswillige UPS
MIT -Lizenz
Copyright © 2023 Rend Labs Private Limited.
Von Owais Shaikh