⠀⠀⠀⠀⠀⠀⠀⣤⣤⣄⣀⡀⠀⠀⠀⢀⣠⣤⣤⣄⡀⠀⠀⠀⢀⣀⣠⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠸⣿⣿⡿⠿⢿⣷⡄⢠⣿⣿⣿⣿⣿⣿⡄⢀⣾⡿⠿⢿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣠⣤⡀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠀⠀⠀
⠸⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀
⠀⠉⠉⠁⠀⠀⠀⠀⣿⣿⠀⢸⣿⡇⠀⠉⣿⣿⣿⣿⠉⠀⢸⣿⡇⠀⣿⣿⠀⠀⠀⠀⠈⠉⠉⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣀⣈⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣁⣀⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⠿⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠃⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⣤⣤⣤⣤⣤⣤⣴⣿⣿⣿⡇⢸⣿⡿⣿⣦⣤⣤⣤⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢸⣿⠋⠉⠉⠉⠉⠉⠉⢸⣿⡇⢸⣿⡇⠈⠉⠉⠉⠉⠉⠙⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢰⣿⣿⣦⠀⢰⣿⣿⣦⠀⢸⣿⡇⢸⣿⡇⠀⣰⣿⣿⡆⠀⣴⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠈⠻⠿⠋⠀⠘⣿⣿⠃⠀⢸⣿⡇⢸⣿⡇⠀⠘⣿⣿⠃⠀⠙⠿⠟⠁⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣦⣤⣼⣿⠃⠘⣿⣧⣄⣤⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠛⠁⠀⠀⠈⠛⠛⠛⠋⠀⠀⠀
⠀⠀⠀⠀⠀⠀ ⠀O C T O P I I⠀⠀⠀⠀
Copyright © 2023 RedHunt Labs Private Limited
OctoPII es un escáner de información de identificación personal (PII) que utiliza el reconocimiento de caracteres ópticos (OCR), las listas de expresiones regulares y el procesamiento del lenguaje natural (PNL) para buscar ubicaciones de orientación pública para identificación gubernamental, direcciones, correos electrónicos en imágenes, pdfs y documentos.
Las fugas de PII a menudo se pasan por alto en el espacio de ciberseguridad. En Redd Labs, siempre buscamos formas diferentes e innovadoras de crear soluciones de seguridad cibernética que las organizaciones y los servicios necesitan. Nos hemos encontrado con un número sustancial de organizaciones que tienen sus servidores configurados incorrectamente. Esto hace que el empleado y el cliente PII se filtraran todo el tiempo, dando a las partes maliciosas información confidencial sobre sus orígenes, números de identificación, información de contacto y su ubicación.
Es por eso que somos creados OctoPII, una herramienta para demostrar y detectar lo fácil que es automatizar el descubrimiento y la extracción de PII filtrados y documentos sensibles en Internet.
pip install -r requirements.txt .sudo apt install tesseract-ocr -y en Ubuntu o sudo pacman -Syu tesseract en Arch Linux.python -m spacy download en_core_web_sm .Una vez que haya instalado lo anterior, estará listo.
Para ejecutar el octopii, el tipo
python3 octopii.py <location to scan>
Donde <location to scan> es un archivo o un directorio.
OCTOPII actualmente admite escaneo local a través de la ruta del sistema de archivos, las URL S3 y los listados de directorio de apertura Apache. También puede proporcionar URL o archivos de imágenes individuales como argumento.
Hemos proporcionado una carpeta dummy-pii/ que contiene PII de muestra para que pruebe Octopii. Pasarlo como argumento y obtendrá la siguiente salida
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"
]
}
...
Se crea un archivo llamado output.txt , que contiene salida de la herramienta. Este archivo se agrega a secuencialmente en tiempo real.
OctoPII utiliza Tesseract para el reconocimiento de caracteres ópticos (OCR) y NLTK para el procesamiento del lenguaje natural (PNL) para detectar las cadenas de información identificable personal. Esto se hace a través de los siguientes pasos:
Escanes Octopii para imágenes (JPG y PNG) y documentos (PDF, DOC, TXT, etc.). Admite 3 fuentes:
Las imágenes se detectan a través de Python Imaging Library (PIL) y están abiertas con OpenCV. Los PDF se convierten en una lista de imágenes y se escanean a través de OCR. Los tipos de archivos basados en texto se leen en cadenas y se escanean sin OCR.
Una técnica de detección de imágenes de clasificación binaria, conocida como "Cascada de Haar", se utiliza para detectar caras dentro de las imágenes. Se suministra un modelo en cascada previamente capacitado en este repositorio, que contiene datos de cascada para que OpenCV se use. Se pueden detectar múltiples caras dentro de la misma imagen PII, y el número de caras detectadas se vuelve a meter.
Las imágenes se "aclazan" para la extracción de texto con los siguientes pasos de transformación de la imagen:

Dado que estos pasos eliminan los datos de la imagen (incluidos los colores en las fotografías), este proceso de limpieza de imágenes ocurre después de la detección de la cara del intento.
Tesseract se usa para obtener todas las cadenas de texto de una imagen/archivo. Luego se toca en una lista de cuerdas, dividida por el carácter de Newline (' n') y los espacios (''). El texto confuso, como las cuerdas null y los caracteres individuales, se descartan de esta lista, lo que resulta en una lista "inteligible" de posibles palabras.
Esta lista de palabras se alimenta a una función de verificador similar. Esta función utiliza la coincidencia de patrones de gestalt para comparar cada palabra extraída del documento PII con una lista de palabras clave, presentes en definitions.json . Esta verificación ocurre una vez por limpieza. El número de veces que se cuenta una palabra de las palabras clave y esto se usa para obtener un puntaje de confianza. Cuando las palabras clave de una definición particular aparecen repetidas en estos escaneos, esa definición obtiene la puntuación más alta y se elige como la clase PII predicha.
Octopii también busca sustancias sensibles de PII como correos electrónicos, números de teléfono e identificadores únicos de identificación del gobierno comunes utilizando expresiones regulares. También puede extraer datos de geolocalización como direcciones y países que utilizan el procesamiento del lenguaje natural.
La salida consta de lo siguiente:
file_path : donde se puede encontrar el archivo que contiene PIIpii_class : el tipo de PII Este archivo contienecountry_of_origin : de dónde se origina este PII.identifiers : identificadores, códigos o números únicos que pueden usarse para apuntar al individuo mencionado en el PII.emails y phone_numbers : información de contacto en el archivo.addresses : Cualquier forma de datos de geolocalización en el PII. Esto puede usarse para triangular la ubicación de un individuo. Haga clic aquí para leer sobre cómo puede contener a Octopii.
... e innumerables otros
Esta herramienta está destinada únicamente a fines educativos y de investigación. Red Labs y otros contribuyentes a este proyecto no asumen responsabilidades para UPS maliciosos
Licencia de MIT
Copyright © 2023 Rend Labs Private Limited.
Por Owais Shaikh