
AutomationML-आधारित इंजीनियरिंग डेटा का उपयोग करके स्वचालित सुरक्षा जोखिम पहचान
यह प्रोटोटाइप निम्नलिखित दो प्रकाशनों में प्रस्तुत विधियों को लागू करता है:
मूलतः, यह AutomationML (AML) कलाकृतियों के आधार पर सुरक्षा जोखिम स्रोतों (अर्थात, खतरे और कमजोरियाँ) और हमले के परिणामों के प्रकारों की पहचान करता है। जोखिम पहचान प्रक्रिया के परिणामों का उपयोग साइबर-भौतिक आक्रमण ग्राफ उत्पन्न करने के लिए किया जा सकता है, जो बहु-चरणीय साइबर हमलों का मॉडल बनाते हैं जो संभावित रूप से भौतिक क्षति का कारण बनते हैं। इसके अलावा, उत्पाद की गुणवत्ता को प्रभावित करने वाले हमलों के कैस्केडिंग प्रभावों और परिणामों की पहचान की जाती है।
यह प्रोटोटाइप ETFA 2019 पेपर "Interpreting OWL Complex Classes in AutomationML based on Bidirectional Translation" के लिए AML और OWL के बीच द्विदिश अनुवाद के कार्यान्वयन के एक फोर्क किए गए संस्करण पर निर्भर करता है, जो Hua और Hein द्वारा लिखा गया है।
रिपॉजिटरी को क्लोन करें, प्रोजेक्ट्स को संकलित करें, और aml_owl का एक एप्लिकेशन बंडल असेंबल करें:
$ cd aml_models
$ mvn clean compile install
$ cd ../aml_io
$ mvn clean compile install
$ cd ../aml_owl
$ mvn clean compile install assembly:single
इस रिपॉजिटरी को क्लोन करें, एप्लिकेशन बेस डायरेक्टरी बनाएँ (आमतौर पर उपयोगकर्ता की होम डायरेक्टरी में स्थित), और amlsec-base-dir में स्थित फ़ाइलों और असेंबल किए गए AML2OWL JAR (aml_owl/target/ में स्थित) को वहाँ रखें।
AMLsec बेस डायरेक्टरी और AML2OWL JAR का पथ कॉन्फ़िगरेशन फ़ाइल में क्रमशः baseDir और amlToOwlProgram कुंजियों का उपयोग करके सेट किया जाना चाहिए।
Apache Jena Fuseki को स्थापित और प्रारंभ करें:
$ java -jar <path_to_apache-jena-fuseki-X.Y.Z>/fuseki-server.jar --update
यदि आप QualSec चलाना चाहते हैं, तो आपको LoLA - A Low Level Petri Net Analyzer स्थापित करना होगा।
अंत में, sbt का उपयोग करके ऐप बनाएँ और प्रारंभ करें।
$ sbt "runMain org.sba_research.worker.Main -q"
क्रमशः AMLsec और QualSec चलाने के लिए फ़्लैग -s और -q का उपयोग करें।
कार्यान्वित विधियाँ AML लाइब्रेरीज़ के माध्यम से महसूस किए गए एक सिमैंटिक सूचना मैपिंग तंत्र का उपयोग करती हैं। इन AML सुरक्षा एक्सटेंशन लाइब्रेरीज़ और AML गुणवत्ता एक्सटेंशन लाइब्रेरीज़ को AML फ़ाइलों में आयात करके इंजीनियरिंग परियोजनाओं में आसानी से पुन: उपयोग किया जा सकता है।
फिर से, यदि आप IEEE TDSC पेपर में प्रस्तुत विधि के प्रोटोटाइप को निष्पादित करना चाहते हैं, तो -s फ़्लैग का उपयोग करें।
दूसरी ओर, -q फ़्लैग, IEEE TII पेपर में प्रस्तुत विधि से मेल खाता है।
इस प्रोटोटाइप की क्षमताओं को केस स्टडीज़ (AMLsec, QualSec) में प्रदर्शित किया गया है। इस प्रोटोटाइप को ज्यों का त्यों चलाने से नॉलेज बेस (Fuseki के माध्यम से एक्सेस किया जा सकता है) तैयार होगा, जिसमें जोखिम पहचान प्रक्रिया के परिणाम और केस स्टडी के परिणाम शामिल हैं।
इसके अलावा, यदि आप प्रोटोटाइप को डिफ़ॉल्ट केस स्टडी और -s फ़्लैग के साथ चलाते हैं, तो निम्नलिखित छांटा गया साइबर-भौतिक आक्रमण ग्राफ बनाया जाएगा:
प्रोटोटाइप Akka फ्रेमवर्क का उपयोग करता है और कई नोड्स के बीच जोखिम पहचान कार्यभार वितरित करने में सक्षम है। Akka वितरित श्रमिक नमूना का उपयोग टेम्पलेट के रूप में किया गया था।
कई नोड्स के साथ क्लस्टर चलाने के लिए (-q फ़्लैग के साथ उदाहरण):
$ sbt "runMain org.sba_research.worker.Main cassandra -q"
$ sbt "runMain org.sba_research.worker.Main 2551 -q"
$ sbt "runMain org.sba_research.worker.Main 3001 -q"
$ sbt "runMain org.sba_research.worker.Main 5001 3 -q"
यदि आप नोड्स को अलग-अलग मशीनों पर चलाते हैं, तो आपको कॉन्फ़िगरेशन फ़ाइल में Akka सेटिंग्स को अनुकूलित करना होगा।
प्रदर्शन मूल्यांकन के दौरान प्राप्त माप और लॉग फ़ाइलें अनुरोध पर उपलब्ध हैं।
यदि आप अपने शोध में इस प्रोटोटाइप का उपयोग करते हैं, तो कृपया हमारे IEEE TDSC 2020 या IEEE TII 2022 प्रकाशन को उद्धृत करने पर विचार करें। पेपरों के BibTeX प्रविष्टियों (TDSC, TII) का स्वतंत्र रूप से उपयोग करें।
लेखक OntoPLC का प्रारंभिक संस्करण प्रदान करने के लिए Yameng An को धन्यवाद देना चाहेंगे।