
التعرف الآلي على مخاطر الأمان باستخدام بيانات الهندسة المستندة إلى AutomationML
يطبق هذا النموذج الأولي الأساليب المقدمة في المنشورين التاليين:
في جوهره، يحدد مصادر مخاطر الأمن (أي التهديدات والثغرات) وأنواع عواقب الهجوم بناءً على قطع أثرية من AutomationML (AML). يمكن استخدام نتائج عملية تحديد المخاطر لإنشاء رسوم بيانية للهجمات السيبرانية-الفيزيائية، والتي تصمم الهجمات السيبرانية متعددة المراحل التي قد تؤدي إلى أضرار مادية. علاوة على ذلك، يتم تحديد التأثيرات المتتالية وعواقب الهجمات التي تؤثر على جودة المنتج.
يعتمد هذا النموذج الأولي على نسخة مفروعة من تنفيذ الترجمة ثنائية الاتجاه بين AML وOWL لورقة ETFA 2019 "Interpreting OWL Complex Classes in AutomationML based on Bidirectional Translation" من قبل 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 وJAR المجمّع لـ AML2OWL (الموجود في aml_owl/target/) هناك.
يجب تعيين الدليل الأساسي لـ AMLsec ومسار JAR لـ AML2OWL في ملف التكوين باستخدام المفتاحين 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"
استخدم العلامات -s و -q لتشغيل AMLsec و QualSec، على التوالي.
تستخدم الأساليب المنفذة آلية رسم خرائط دلالية للمعلومات تتحقق من خلال مكتبات AML. يمكن إعادة استخدام [مكتبات ملحقات أمان AML] هذه(https://github.com/sbaresearch/amlsec/tree/master/aml-libs/amlsec) و [مكتبات ملحقات جودة AML] (https://github.com/sbaresearch/amlsec/tree/master/aml-libs/amlqual) بسهولة في المشاريع الهندسية عن طريق استيرادها إلى ملفات AML.
مرة أخرى، إذا كنت ترغب في تنفيذ النموذج الأولي للطريقة المقدمة في ورقة IEEE TDSC، استخدم العلامة -s.
أما العلامة -q فتقابل الطريقة المقدمة في ورقة IEEE TII.
يتم عرض قدرات هذا النموذج الأولي في دراسات حالة (AMLsec, QualSec). سيؤدي تشغيل هذا النموذج الأولي كما هو إلى إنتاج قاعدة المعرفة (يمكن الوصول إليها عبر Fuseki)، والتي تتضمن أيضًا نتائج عملية تحديد المخاطر، ونتائج دراسة الحالة.
علاوة على ذلك، إذا قمت بتشغيل النموذج الأولي مع [دراسة الحالة الافتراضية] ((https://github.com/sbaresearch/amlsec/blob/master/amlsec-base-dir/case-study/CaseStudy_A.aml)) والعلامة -s، فسيتم إنشاء الرسم البياني للهجوم السيبراني-الفيزيائي المقتطع التالي:
يستخدم النموذج الأولي إطار [Akka] (https://akka.io/) وهو قادر على توزيع عبء عمل تحديد المخاطر بين عدة عقد. تم استخدام [عينة العمال الموزعين لـ Akka] (https://github.com/akka/akka-samples/tree/2.6/akka-sample-distributed-workers-scala) كنموذج.
لتشغيل الكتلة بعدة عقد (أمثلة باستخدام العلامة -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] (https://doi.org/10.1109/TDSC.2020.3033150) أو [IEEE TII 2022] (https://doi.org/10.1109/tii.2022.3193119). لا تتردد في استخدام إدخالات BibTeX الخاصة بالأوراق (TDSC, TII).
يود المؤلفون أن يشكروا Yameng An على توفير النسخة الأولية من OntoPLC.