⠀⠀⠀⠀⠀⠀⠀⣤⣤⣄⣀⡀⠀⠀⠀⢀⣠⣤⣤⣄⡀⠀⠀⠀⢀⣀⣠⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠸⣿⣿⡿⠿⢿⣷⡄⢠⣿⣿⣿⣿⣿⣿⡄⢀⣾⡿⠿⢿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣠⣤⡀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⠀⠀⠀⠀⠀⠀⢀⣤⣄⠀⠀⠀
⠸⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⢸⣿⡇⢸⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀
⠀⠉⠉⠁⠀⠀⠀⠀⣿⣿⠀⢸⣿⡇⠀⠉⣿⣿⣿⣿⠉⠀⢸⣿⡇⠀⣿⣿⠀⠀⠀⠀⠈⠉⠉⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣀⣈⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣁⣀⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⠿⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠃⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⣤⣤⣤⣤⣤⣤⣴⣿⣿⣿⡇⢸⣿⡿⣿⣦⣤⣤⣤⣤⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢸⣿⠋⠉⠉⠉⠉⠉⠉⢸⣿⡇⢸⣿⡇⠈⠉⠉⠉⠉⠉⠙⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢰⣿⣿⣦⠀⢰⣿⣿⣦⠀⢸⣿⡇⢸⣿⡇⠀⣰⣿⣿⡆⠀⣴⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠈⠻⠿⠋⠀⠘⣿⣿⠃⠀⢸⣿⡇⢸⣿⡇⠀⠘⣿⣿⠃⠀⠙⠿⠟⠁⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣦⣤⣼⣿⠃⠘⣿⣧⣄⣤⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠛⠁⠀⠀⠈⠛⠛⠛⠋⠀⠀⠀
⠀⠀⠀⠀⠀⠀ ⠀O C T O P I I⠀⠀⠀⠀
Copyright © 2023 RedHunt Labs Private Limited
Octopii adalah pemindai informasi yang dapat diidentifikasi secara pribadi (PII) yang menggunakan pengenalan karakter optik (OCR), daftar ekspresi reguler dan pemrosesan bahasa alami (NLP) untuk mencari lokasi yang menghadap publik untuk ID pemerintah, alamat, email dalam gambar, PDF dan dokumen.
Kebocoran PII sering diabaikan di ruang keamanan siber. Di Redd Labs, kami selalu mencari cara yang berbeda dan inovatif untuk menghasilkan solusi keamanan siber yang dibutuhkan organisasi dan layanan. Kami telah menemukan sejumlah besar organisasi yang memiliki server mereka dikonfigurasi secara tidak benar. Hal ini menyebabkan PII karyawan dan pelanggan bocor sepanjang waktu, memberikan informasi sensitif terhadap pesta berbahaya tentang asal -usul mereka, nomor ID, informasi kontak, dan lokasi mereka.
Inilah sebabnya kami dibuat Octopii, sebuah alat untuk menunjukkan dan mendeteksi betapa mudahnya mengotomatisasi penemuan dan ekstraksi PII yang bocor dan dokumen sensitif di internet.
pip install -r requirements.txt .sudo apt install tesseract-ocr -y di ubuntu atau sudo pacman -Syu tesseract di arch linux.python -m spacy download en_core_web_sm .Setelah Anda menginstal di atas, Anda siap.
Untuk menjalankan octopii, ketik
python3 octopii.py <location to scan>
Di mana <location to scan> adalah file atau direktori.
Octopii saat ini mendukung pemindaian lokal melalui jalur sistem file, URL S3 dan daftar direktori terbuka Apache. Anda juga dapat memberikan URL atau file gambar individual sebagai argumen.
Kami telah menyediakan dummy-pii/ folder yang berisi PII sampel untuk Anda uji octopii. Lewati sebagai argumen dan Anda akan mendapatkan output berikut
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"
]
}
...
File bernama output.txt dibuat, berisi output dari alat. File ini ditambahkan secara berurutan secara real-time.
Octopii menggunakan tesseract untuk pengenalan karakter optik (OCR) dan NLTK untuk pemrosesan bahasa alami (NLP) untuk mendeteksi string informasi yang dapat diidentifikasi pribadi. Ini dilakukan melalui langkah -langkah berikut:
Pemindaian Octopii untuk gambar (JPG dan PNG) dan dokumen (PDF, DOC, TXT dll). Itu mendukung 3 sumber:
Gambar terdeteksi melalui Python Imaging Library (PIL) dan terbuka dengan OpenCV. PDF dikonversi menjadi daftar gambar dan dipindai melalui OCR. Jenis file berbasis teks dibaca ke dalam string dan dipindai tanpa OCR.
Teknik Deteksi Gambar Klasifikasi Biner - Dikenal sebagai "Haar Cascade" - digunakan untuk mendeteksi wajah dalam gambar. Model kaskade pra-terlatih disediakan dalam repo ini, yang berisi data kaskade untuk digunakan OpenCV. Beberapa wajah dapat dideteksi dalam gambar PII yang sama, dan jumlah wajah yang terdeteksi dibalikkan kembali.
Gambar kemudian "digabungkan" untuk ekstraksi teks dengan langkah -langkah transformasi gambar berikut:

Karena langkah -langkah ini menghilangkan data gambar (termasuk warna dalam foto), proses pembersihan gambar ini terjadi setelah upaya deteksi wajah.
Tesseract digunakan untuk mengambil semua string teks dari gambar/file. Ini kemudian ditentukan menjadi daftar string, dibagi dengan karakter baru (' n') dan spasi (''). Teks yang kacau, seperti string null dan karakter tunggal dibuang dari daftar ini, menghasilkan daftar kata -kata potensial yang 'dipahami'.
Daftar kata -kata ini kemudian dimasukkan ke dalam fungsi pemeriksa yang sama. Fungsi ini menggunakan pencocokan pola gestalt untuk membandingkan setiap kata yang diekstraksi dari dokumen PII dengan daftar kata kunci, hadir dalam definitions.json . Cek ini terjadi sekali per pembersihan. Berapa kali satu kata dari kata kunci dihitung dan ini digunakan untuk mendapatkan skor kepercayaan diri. Ketika kata kunci definisi tertentu muncul diulang dalam pemindaian ini, definisi itu mendapatkan skor tertinggi dan dipilih sebagai kelas PII yang diprediksi.
Octopii juga memeriksa zat -zat PII sensitif seperti email, nomor telepon dan pengidentifikasi unik ID pemerintah umum menggunakan ekspresi reguler. Ini juga dapat mengekstraksi data geolokasi seperti alamat dan negara menggunakan pemrosesan bahasa alami.
Output terdiri dari yang berikut:
file_path : di mana file yang berisi PII dapat ditemukanpii_class : Jenis PII yang berisi file inicountry_of_origin : Dari mana PII ini berasal dari.identifiers : Pengidentifikasi unik, kode atau angka yang dapat digunakan untuk menargetkan individu yang disebutkan dalam PII.emails dan phone_numbers : Informasi kontak dalam file.addresses : Segala bentuk data geolokasi di PII. Ini dapat digunakan untuk melakukan triangulasi lokasi individu. Klik di sini untuk membaca tentang bagaimana Anda dapat konten ke octopii.
... dan orang lain yang tak terhitung jumlahnya
Alat ini dimaksudkan hanya untuk tujuan penelitian dan pendidikan. Red Labs dan kontributor lain untuk proyek ini tidak mengambil tanggung jawab untuk UPS berbahaya
Lisensi MIT
Hak Cipta © 2023 Rend Labs Private Limited.
Oleh Owais Shaikh