
FARO - दस्तावेज़ संवेदनशीलता डिटेक्टर

FARO एक उपकरण है जो किसी संगठन में दस्तावेज़ों में संवेदनशील जानकारी का पता लगाने के लिए है। यह छोटी कंपनियों और व्यक्तियों के उपयोग के लिए बनाया गया है जो अपने संगठन के अंदर अपने संवेदनशील दस्तावेज़ों को ट्रैक करना चाहते हैं, लेकिन जटिल डेटा सुरक्षा उपकरणों को कॉन्फ़िगर करने में बहुत समय और पैसा खर्च नहीं कर सकते।
FARO दस्तावेज़ों से संवेदनशीलता संकेतक (जैसे दस्तावेज़ ID, मौद्रिक राशियाँ, व्यक्तिगत ईमेल) निकालता है और दस्तावेज़ में संकेतकों की आवृत्ति और प्रकार का उपयोग करके दस्तावेज़ को संवेदनशीलता स्कोर (निम्न से उच्च) देता है।
वर्तमान में इस उपकरण की सभी कार्यक्षमता स्पेनिश भाषा में लिखे गए दस्तावेज़ों के लिए है, हालाँकि इसे आसानी से अधिक भाषाओं को कवर करने के लिए उन्नत किया जा सकता है।
यह उपकरण TEGRA R&D Cybersecurity Center द्वारा विकसित किया गया है।
परियोजना में निम्नलिखित फ़ोल्डर हैं:
faro/ : यह FARO मॉड्यूल है जिसमें मुख्य कार्यक्षमता है।config/: yaml कॉन्फ़िगरेशन फ़ाइलें यहाँ रखी जाती हैं। प्रति भाषा एक yaml फ़ाइल (साथ ही गैर-पहचानी गई भाषाओं के लिए बुनियादी कार्यक्षमता प्रदान करने के लिए एक nolanguage.yaml) और सभी भाषाओं के लिए सामान्य कॉन्फ़िगरेशन वाली एक yaml फ़ाइल config/commons.yaml।models/: यह FARO मॉडल रखने का फ़ोल्डर है।faro_detection.py: एकल फ़ाइल पर स्वतंत्र संचालन के लिए FARO का लॉन्चर।faro_spider.sh: बल्क प्रोसेसिंग के लिए स्क्रिप्ट।docker_build_faro.sh: Linux और Mac OS पर FARO Docker इमेज बनाने की स्क्रिप्ट।docker_build_faro.bat: Windows पर FARO Docker इमेज बनाने की स्क्रिप्ट।docker_run_faro.sh: Linux और Mac OS पर FARO कंटेनर चलाने की स्क्रिप्ट।docker_run_faro.bat: Windows पर FARO कंटेनर चलाने की स्क्रिप्ट।CHANGELOG: FARO परिवर्तन लॉग।FARO Docker का उपयोग करके एक स्वतंत्र कंटेनर के रूप में चल सकता है। आप स्वयं इमेज बना सकते हैं या इसे Docker Hub रिपॉजिटरी से प्राप्त कर सकते हैं।
यदि आपके सिस्टम पर Docker स्थापित और चल रहा है, तो Docker Hub से नवीनतम FARO इमेज प्राप्त करने के लिए निम्नलिखित कमांड निष्पादित करें।
docker pull gradiant/faro
Docker इमेज चलाने के लिए स्क्रिप्ट docker_run_faro.sh (Linux/Mac OS) या docker_run_faro.bat (Windows) का उपयोग करें। आप उन्हें परियोजना के मूल में या नवीनतम रिलीज़ में पा सकते हैं।
यदि आपके सिस्टम पर Docker स्थापित और चल रहा है, तो FARO इमेज बनाने के लिए निम्नलिखित करें।
Linux और Mac OS
./docker_build_faro.sh
Windows
docker_build_faro.bat
FARO कंटेनर चलाने के लिए परियोजना के मूल में कुछ स्क्रिप्ट प्रदान की गई हैं। सुविधा के लिए आप उन स्क्रिप्ट को कहीं और कॉपी और उपयोग कर सकते हैं। "output" फ़ोल्डर आपकी वर्तमान निर्देशिका के अंतर्गत बनाया जाएगा।
Linux और Mac OS
./docker_run_faro.sh <आपकी फ़ाइलों वाला फ़ोल्डर>
Windows
docker_run_faro.bat <आपकी फ़ाइलों वाला फ़ोल्डर>
हमने tika में इसके tesseract एकीकरण के माध्यम से OCR समर्थन जोड़ा है। OCR प्रक्रिया के कुछ अनुकूलन को एक env फ़ाइल के उपयोग के माध्यम से ट्वीक किया जा सकता है जिसका पथ स्क्रिप्ट को दूसरे तर्क के रूप में प्रदान किया जाना चाहिए। हमने एक टेम्पलेट के रूप में एक टिप्पणी उदाहरण यहाँ प्रदान किया है।
./docker_run_faro.sh <आपकी फ़ाइलों वाला फ़ोल्डर> <env फ़ाइल का पथ>
उदाहरण के लिए:
./docker_run_faro.sh ../data docker_faro_env_example.list
FARO वर्तमान फ़ोल्डर के अंदर एक "output" फ़ोल्डर बनाता है और निष्पादन के परिणामों को दो फ़ाइलों में संग्रहीत करता है:
output/scan.$CURRENT_TIME.csv: यह एक csv फ़ाइल है जिसमें दस्तावेज़ को दिया गया स्कोर और प्रत्येक फ़ाइल में संकेतकों की आवृत्ति होती है।filepath,score,person_position_organization,monetary_quantity,signature,personal_email,mobile_phone_number,financial_data,document_id,custom_words,meta:content-type,meta:author,meta:pages,meta:lang,meta:date,meta:filesize,meta:num_words,meta:num_chars,meta:ocr
/Users/test/code/FARO_datasets/quick_test_data/Factura_NRU_0_1_001.pdf,high,0,0,0,0,0,0,1,4,application/pdf,Powered By Crystal,1,es,,85739,219,1185,False
/Users/test/code/FARO_datasets/quick_test_data/Factura_Plancha.pdf,high,0,6,0,0,0,0,2,8,application/pdf,Python PDF Library - http://pybrary.net/pyPdf/,1,es,,77171,259,1524,True
/Users/test/code/FARO_datasets/quick_test_data/20190912-FS2019.pdf,high,0,3,0,0,0,0,1,2,application/pdf,FPDF 1.6,1,es,2019-09-12T20:08:19Z,1545,62,648,False
output/scan.$CURRENT_TIME.entity: यह एक json है जिसमें फ़ाइल से निकाले गए संकेतकों (विघटित) की सूची होती है। उदाहरण के लिए:{"filepath": "/Users/test/code/FARO_datasets/quick_test_data/Factura_NRU_0_1_001.pdf", "entities": {"custom_words": {"facturar": 3, "total": 1}, "prob_currency": {"12,0021": 1, "12,00": 1, "9,92": 1, "3,9921": 1, "3,99": 1, "3,30": 1, "15,99": 1, "13,21": 1, "1.106.166": 1, "1,00": 1, "99,00": 1}, "document_id": {"89821284M": 1}}, "datetime": "2019-12-11 14:19:17"}
{"filepath": "/Users/test/code/FARO_datasets/quick_test_data/Factura_Plancha.pdf", "entities": {"document_id": {"H82547761": 1, "21809943D": 2}, "custom_words": {"factura": 2, "facturar": 2, "total": 2, "importe": 2}, "monetary_quantity": {"156,20": 4, "2,84": 2, "0,00": 2, "159,04": 2, "32,80": 4, "191,84": 2}, "prob_currency": {"1,00": 6, "189,00": 2}}, "datetime": "2019-12-11 14:19:27"}
{"filepath": "/Users/test/code/FARO_datasets/quick_test_data/20190912-FS2019.pdf", "entities": {"document_id": {"C-01107564": 1}, "custom_words": {"factura": 1, "total": 1}, "monetary_quantity": {"3,06": 1, "0,64": 1, "3,70": 1}}, "datetime": "2019-12-11 14:19:33"}
नोट: केवल LINUX और MAC OS X
मोड को ठीक से काम करने के लिए कुछ ऑपरेटिंग सिस्टम और लाइब्रेरीज़ की आवश्यकता है
एक अलग वर्चुअल वातावरण का उपयोग करना उचित है। virtualenv के साथ वर्चुअल वातावरण बनाने के लिए।
virtualenv -p `which python3` <आपके env का नाम>
अपने टर्मिनल पर वर्चुअल वातावरण को सक्रिय करने के लिए बस टाइप करें:
source <आपके env का नाम>/bin/activate
सिस्टम को चालू और चलाने का सबसे आसान तरीका इस तरह निर्भरताएँ स्थापित करना है
pip install -r requirements.txt
निर्भरताओं की सूची निम्नलिखित है:
ये अन्य निर्भरताएँ परीक्षण के लिए उपयोग की जाती हैं:
FARO काम करने के लिए कई ML मॉडलों पर निर्भर करता है।