Original Title: Anomaly Detection for Industrial Control Systems Through Totally Integrated Automation Portal Project History
Source: doi.org/10.22667/JOWUA.2022.09.30.004
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការរកឃើញភាពមិនប្រក្រតីសម្រាប់ប្រព័ន្ធគ្រប់គ្រងឧស្សាហកម្មតាមរយៈប្រវត្តិគម្រោងនៃ Totally Integrated Automation (TIA) Portal

ចំណងជើងដើម៖ Anomaly Detection for Industrial Control Systems Through Totally Integrated Automation Portal Project History

អ្នកនិពន្ធ៖ Laura Hartmann, Steffen Wendzel

ឆ្នាំបោះពុម្ព៖ 2022, Journal of Wireless Mobile Networks, Ubiquitous Computing, and Dependable Applications (JoWUA)

វិស័យសិក្សា៖ Cybersecurity

១. សេចក្តីសង្ខេបប្រតិបត្តិ (Executive Summary)

បញ្ហា (The Problem)៖ ការស្រាវជ្រាវនេះដោះស្រាយបញ្ហាសុវត្ថិភាពសាយប័រនៅក្នុងប្រព័ន្ធគ្រប់គ្រងឧស្សាហកម្ម (ICS) ដោយផ្តោតលើការស្វែងរកនិងទប់ស្កាត់ការវាយប្រហារលួចលាក់ដោយចេតនា និងកំហុសរបស់បុគ្គលិកដែលអាចធ្វើឱ្យខូចខាតដល់ម៉ាស៊ីនរោងចក្រ។

វិធីសាស្ត្រ (The Methodology)៖ អ្នកស្រាវជ្រាវបានវិភាគទិន្នន័យប្រវត្តិគម្រោងដែលមានស្រាប់ ដើម្បីបង្កើតវិធីសាស្ត្ររកឃើញភាពមិនប្រក្រតី ដោយរួមបញ្ចូលការប្រើប្រាស់ក្បួន Heuristics និងក្បួនដោះស្រាយម៉ាស៊ីនរៀន (Machine Learning)។

លទ្ធផលសំខាន់ៗ (The Verdict)៖

២. ការវិភាគលើប្រសិទ្ធភាព និងដែនកំណត់ (Performance & Constraints)

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Combined Heuristics (Timing and Size)
ក្បួនសន្និដ្ឋានផ្អែកលើការរួមបញ្ចូលពេលវេលា និងទំហំផ្ទុក
ងាយស្រួលក្នុងការបកស្រាយលទ្ធផល និងអាចអនុវត្តការចង្អុលបង្ហាញ (Clustering) ឆ្លងកាត់គម្រោងជាច្រើនដោយមិនតម្រូវឱ្យមានការបែងចែកដាច់ដោយឡែក។ អត្រានៃការរកឃើញការវាយប្រហារលួចលាក់ (Stealthy attacks) នៅមានកម្រិតទាបនៅឡើយ ហើយអាចបង្កើតការព្រមានខុស (False Positives) ច្រើន។ ទទួលបានកម្រិតយល់ដឹង AUC ចន្លោះពី ០.៦២៤ ទៅ ០.៨៩៩ អាស្រ័យលើប្រភេទនៃសេណារីយ៉ូវាយប្រហារ។
k-Nearest-Neighbor (kNN) Classifier
ចំណាត់ថ្នាក់ក្បួនដោះស្រាយ k-Nearest-Neighbor (kNN)
ផ្តល់លទ្ធផលនិងភាពសុក្រឹតខ្ពស់ជាងក្បួន Heuristics ធម្មតាយ៉ាងខ្លាំងក្នុងការកំណត់អត្តសញ្ញាណភាពមិនប្រក្រតី។ ទាមទារកម្លាំងកុំព្យូទ័រខ្ពស់ក្នុងការគណនាសម្រាប់ទិន្នន័យធំៗ ហើយតម្រូវឱ្យមានការចាត់ថ្នាក់ដាច់ដោយឡែកសម្រាប់គម្រោងនីមួយៗ (Segmentation per project)។ ទទួលបានកម្រិតយល់ដឹង AUC ខ្ពស់រហូតដល់ចន្លោះពី ០.៩៦០ ទៅ ០.៩៩៧ សម្រាប់សេណារីយ៉ូវាយប្រហារផ្សេងៗ។
Decision Tree Classifier (REPTree)
ចំណាត់ថ្នាក់មែកធាងការសម្រេចចិត្ត (Decision Tree)
មានដំណើរការលឿនជាងមុនសម្រាប់ទិន្នន័យដែលមានទំហំធំ និងមិនសូវរងឥទ្ធិពលពីទិន្នន័យខុសប្រក្រតីខ្លាំង (Outliers) ឡើយ។ មានប្រសិទ្ធភាពខ្ពស់ក្នុងការរាប់ចំនួនប្លុកកូដ។ អាចផ្តល់លទ្ធផលព្រមានខុស (False alarms) ប្រសិនបើមានការផ្លាស់ប្តូរចំនួនប្លុកកូដស្របច្បាប់ក្នុងបរិមាណច្រើនភ្លាមៗ។ ទទួលបានកម្រិតយល់ដឹង AUC ចំនួន ០.៩៩៦ ក្នុងការចាត់ថ្នាក់ទិន្នន័យប្លុក (DataBlocks និង ProgramBlocks) ថាប្រក្រតី ឬមិនប្រក្រតី។

ការចំណាយលើធនធាន (Resource Cost)៖ ការស្រាវជ្រាវនេះទាមទារការប្រើប្រាស់កម្មវិធីកុំព្យូទ័រ និងទិន្នន័យប្រវត្តិគម្រោងជាក់ស្តែងក្នុងទំហំមធ្យម ទៅ ធំ ដើម្បីដំណើរការនិងសាកល្បងម៉ូដែល។

៣. ការពិនិត្យសម្រាប់បរិបទកម្ពុជា/អាស៊ីអាគ្នេយ៍

ភាពលំអៀងនៃទិន្នន័យ (Data Bias)៖

ការសិក្សានេះពឹងផ្អែកទាំងស្រុងលើសំណុំទិន្នន័យដែលទទួលបានពីរោងចក្រផលិតរថយន្តតែមួយគត់នៅប្រទេសអាល្លឺម៉ង់ ដែលមានកាលវិភាគការងារ និងស្តង់ដារប្រតិបត្តិការច្បាស់លាស់។ សម្រាប់ប្រទេសកម្ពុជា ទម្លាប់នៃការធ្វើការ ម៉ោងផ្លាស់ប្តូរវេនការងារ (Shift working hours) និងកម្រិតនៃការប្រើប្រាស់ស្វ័យប្រវត្តិកម្មក្នុងរោងចក្រអាចមានភាពខុសគ្នា ដែលទាមទារឱ្យមានការសិក្សាបង្កើតទិន្នន័យគោល (Baseline) ថ្មីមុនពេលយកមកអនុវត្ត។

លទ្ធភាពនៃការអនុវត្ត (Applicability)៖

ទោះបីជាមានភាពខុសគ្នានៃបរិបទរោងចក្រក៏ដោយ វិធីសាស្ត្រនេះមានសារៈប្រយោជន៍ខ្ពស់សម្រាប់វិស័យឧស្សាហកម្មនៅកម្ពុជា ដែលកំពុងបោះជំហានទៅកាន់បដិវត្តន៍ឧស្សាហកម្ម ៤.០ (Industry 4.0)។

ជារួម ការអនុវត្តប្រព័ន្ធរកឃើញភាពមិនប្រក្រតីនេះ នឹងជួយពង្រឹងសន្តិសុខសាយប័រសម្រាប់ហេដ្ឋារចនាសម្ព័ន្ធសំខាន់ៗរបស់កម្ពុជា ដោយកាត់បន្ថយហានិភ័យទាំងពីការវាយប្រហារពីខាងក្រៅ និងកំហុសដោយចេតនាពីបុគ្គលិកខាងក្នុង។

៤. ផែនការសកម្មភាពសម្រាប់និស្សិត (Actionable Roadmap)

ដើម្បីអនុវត្តតាមការសិក្សានេះ និស្សិតគួរអនុវត្តតាមជំហានខាងក្រោម៖

  1. សិក្សាមូលដ្ឋានគ្រឹះនៃប្រព័ន្ធគ្រប់គ្រងឧស្សាហកម្ម: ស្វែងយល់ពីស្ថាបត្យកម្មនៃប្រព័ន្ធ ICS និងការដំណើរការរបស់ឧបករណ៍ PLC ជាពិសេសការប្រើប្រាស់កម្មវិធីសរសេរកូដប្រព័ន្ធដូចជា TIA Portal ដើម្បីដឹងពីទីតាំងផ្ទុកទិន្នន័យ Metadata។
  2. ប្រមូល និងរៀបចំទិន្នន័យ: ប្រើប្រាស់ភាសាសរសេរកូដ Python ដើម្បីទាញយកទិន្នន័យកំណត់ត្រាពីឯកសារប្រវត្តិគម្រោង (Backup និង Archive) ដូចជាពេលវេលាបង្កើត (Timestamps) និងទំហំផ្ទុក (Memory Size)។
  3. កំណត់ទិន្នន័យគោល (Baseline Definition): ធ្វើការវិភាគលើទម្លាប់ការងាររបស់អ្នកសរសេរកូដ (PLC Programmers) នៅក្នុងរោងចក្រនីមួយៗ ដើម្បីកំណត់ពេលវេលាធ្វើការស្របច្បាប់ និងទំហំនៃការកែប្រែទិន្នន័យដែលចាត់ទុកថាធម្មតា។
  4. អនុវត្តម៉ូដែលម៉ាស៊ីនរៀន (Machine Learning Implementation): ប្រើប្រាស់ឧបករណ៍ Weka ឬបណ្ណាល័យ Python ដូចជា scikit-learn ដើម្បីបង្វឹកម៉ូដែល kNN និង Decision Tree លើសំណុំទិន្នន័យដែលបានរៀបចំ ដើម្បីកំណត់ភាពត្រឹមត្រូវក្នុងការរកឃើញភាពមិនប្រក្រតី។
  5. ការដាក់ពង្រាយ និងត្រួតពិនិត្យ (Deployment): បង្កើតយន្តការស្វ័យប្រវត្តិដើម្បីវិភាគទិន្នន័យរាល់ពេលមានការផ្ទុកទិន្នន័យ Backup ថ្មីទៅក្នុងប្រព័ន្ធគ្រប់គ្រងកំណែ (Versioning tool) ដូចជា versiondog ដើម្បីផ្តល់ការព្រមានទាន់ពេលវេលា។

៥. វាក្យសព្ទបច្ចេកទេស (Technical Glossary)

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Industrial Control Systems (ICS) ប្រព័ន្ធកុំព្យូទ័រ និងបណ្តាញដែលត្រូវបានប្រើប្រាស់សម្រាប់គ្រប់គ្រង ត្រួតពិនិត្យ និងបញ្ជាដំណើរការម៉ាស៊ីនដោយស្វ័យប្រវត្តិនៅក្នុងរោងចក្រឧស្សាហកម្ម ដូចជារោងចក្រផលិតរថយន្ត ឬហេដ្ឋារចនាសម្ព័ន្ធថាមពល។ ប្រៀបដូចជាខួរក្បាល និងប្រព័ន្ធសរសៃប្រសាទរបស់រោងចក្រ ដែលប្រាប់ម៉ាស៊ីននីមួយៗពីអ្វីដែលត្រូវធ្វើ។
Totally Integrated Automation (TIA) Portal កម្មវិធីកុំព្យូទ័រ (Software) របស់ក្រុមហ៊ុន Siemens ដែលវិស្វករប្រើសម្រាប់សរសេរកូដ កំណត់រចនាសម្ព័ន្ធ និងគ្រប់គ្រងឧបករណ៍ដែលបញ្ជាម៉ាស៊ីននៅក្នុងរោងចក្រ។ វាកត់ត្រារាល់ប្រវត្តិ និងបំរែបំរួលកូដទាំងអស់។ ប្រៀបដូចជាផ្ទាំងតេឡេបញ្ជាកណ្តាល (Control Room) ដែលវិស្វករប្រើដើម្បីគូរផ្លូវ និងដាក់បញ្ជាឱ្យរ៉ូបូតធ្វើការ។
Programmable Logic Controller (PLC) កុំព្យូទ័រខ្នាតតូចពិសេសដែលត្រូវបានរចនាឡើងសម្រាប់ប្រើក្នុងរោងចក្រ ដើម្បីអានទិន្នន័យពីសេនស័រ (Sensors) និងបញ្ជាម៉ាស៊ីន (Actuators) តាមកូដបញ្ជាដែលគេបានសរសេរបញ្ចូលទៅក្នុងវា។ ប្រៀបដូចជាមេការត្រួតពិនិត្យផ្ទាល់នៅកន្លែងធ្វើការ ដែលចាំមើលសភាពការណ៍ និងប្រាប់កម្មករឱ្យបើកឬបិទម៉ាស៊ីន។
Anomaly Detection ដំណើរការនៃការប្រើប្រាស់ក្បួនគណិតវិទ្យា ឬម៉ាស៊ីនរៀន ដើម្បីស្វែងរកទិន្នន័យ សកម្មភាព ឬព្រឹត្តិការណ៍ដែលខុសប្រក្រតីពីទម្លាប់ធម្មតា ដែលអាចជាសញ្ញានៃការវាយប្រហារសាយប័រ ឬកំហុសបច្ចេកទេស។ ប្រៀបដូចជាឆ្មាំយាមទ្វារដែលស្គាល់មុខអ្នកភូមិទាំងអស់ ហើយនឹងឃាត់សួរភ្លាមៗបើមានជនចម្លែក ឬអ្នកភូមិដើរចូលក្នុងម៉ោង២រំលងអធ្រាត្រខុសពីទម្លាប់ធម្មតា។
Heuristics វិធីសាស្ត្រដោះស្រាយបញ្ហាដោយផ្អែកលើការសន្និដ្ឋានកម្រិតមូលដ្ឋាន ច្បាប់ (Rules) ឬបទពិសោធន៍ជាក់ស្តែង ដើម្បីវាយតម្លៃយ៉ាងលឿនថាតើទិន្នន័យណាមួយគួរឱ្យសង្ស័យ (ផ្អែកលើពេលវេលា និងទំហំផ្ទុក) ដោយមិនបាច់ពឹងផ្អែកលើម៉ូដែលស្មុគស្មាញពេក។ ប្រៀបដូចជាការពាក់អាវភ្លៀងនៅពេលឃើញមេឃងងឹតស្រទុំខ្លាំង ដោយមិនចាំបាច់រង់ចាំមើលការព្យាករណ៍អាកាសធាតុផ្លូវការ។
Stealthy attacks ការវាយប្រហារសាយប័រដែលត្រូវបានរៀបចំឡើងយ៉ាងប្រុងប្រយ័ត្ន ដើម្បីបង្កប់ខ្លួនឱ្យស្រដៀងនឹងសកម្មភាពស្របច្បាប់ធម្មតារបស់បុគ្គលិករោងចក្រ ដោយមានគោលបំណងចៀសវាងការចាប់បានពីប្រព័ន្ធការពារ ឬអ្នកត្រួតពិនិត្យ។ ប្រៀបដូចជាចោរដែលបន្លំខ្លួនពាក់ឯកសណ្ឋានជាបុគ្គលិកក្រុមហ៊ុន ដើរចូលទៅលួចរបស់របរនៅពេលថ្ងៃដោយគ្មានអ្នកណាចាប់អារម្មណ៍។
k-Nearest-Neighbor (kNN) ក្បួនដោះស្រាយម៉ាស៊ីនរៀន (Machine Learning Algorithm) ដែលចាត់ថ្នាក់ទិន្នន័យថ្មីមួយ ដោយប្រៀបធៀបវាទៅនឹងទិន្នន័យចាស់ៗដែលនៅក្បែរវាបំផុតចំនួន k (ឧ. ៣ ធាតុ) ដើម្បីសន្និដ្ឋានថាវាជាទិន្នន័យធម្មតា ឬជាទិន្នន័យវាយប្រហារ។ ប្រៀបដូចជាការទាយអត្តចរិតរបស់មនុស្សម្នាក់ ដោយមើលទៅលើមិត្តភក្តិជិតស្និទ្ធបំផុតចំនួន ៣ នាក់របស់គាត់ (បើមិត្តគាត់ជាមនុស្សល្អ គាត់ក៏ទំនងជាមនុស្សល្អដែរ)។
Area Under Curve (AUC) រង្វាស់វាយតម្លៃសមត្ថភាពរបស់ម៉ូដែលម៉ាស៊ីនរៀន ដែលបង្ហាញពីកម្រិតនៃភាពត្រឹមត្រូវក្នុងការបែងចែករវាងទិន្នន័យធម្មតា និងទិន្នន័យមិនប្រក្រតី (ពិន្ទុកាន់តែខិតជិត ១.០ មានន័យថាម៉ូដែលកាន់តែពូកែក្នុងការបែងចែក)។ ប្រៀបដូចជាពិន្ទុប្រឡងបញ្ចប់ឆមាសរបស់សិស្ស ដែលពិន្ទុ ១០០ (ឬ ១.០) បង្ហាញថាសិស្សនោះចេះបែងចែកខុសនិងត្រូវដាច់ស្រឡះល្អឥតខ្ចោះ។

៦. ប្រធានបទពាក់ព័ន្ធ (Further Reading)

អត្ថបទដែលបានបោះពុម្ពនៅលើ KhmerResearch ដែលទាក់ទងនឹងប្រធានបទនេះ៖

ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖