Original Title: Machine Learning applications for real-time detection of cyber-physical attacks on Water Distribution Systems
Source: dspace.lib.ntua.gr
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការអនុវត្តម៉ាស៊ីនរៀន (Machine Learning) សម្រាប់ការរកឃើញការវាយប្រហារតាមប្រព័ន្ធសាយប័រលើប្រព័ន្ធចែកចាយទឹកក្នុងពេលជាក់ស្តែង

ចំណងជើងដើម៖ Machine Learning applications for real-time detection of cyber-physical attacks on Water Distribution Systems

អ្នកនិពន្ធ៖ Lydia-Maria Tsiami (National Technical University of Athens)

ឆ្នាំបោះពុម្ព៖ 2020 National Technical University of Athens

វិស័យសិក្សា៖ Cybersecurity / Water Resources Engineering

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

បញ្ហា (The Problem)៖ ការធ្វើឌីជីថលនីយកម្មនៃបណ្តាញចែកចាយទឹក (WDNs) បានធ្វើឱ្យប្រព័ន្ធទាំងនេះប្រឈមនឹងការវាយប្រហារតាមប្រព័ន្ធសាយប័រ ប៉ុន្តែការអភិវឌ្ឍម៉ូដែលរកឃើញភាពមិនប្រក្រតីដែលមានភាពរឹងមាំ ត្រូវបានរារាំងដោយកង្វះទិន្នន័យប្រតិបត្តិការជាក់ស្តែង។

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

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Support Vector Data Description (SVDD)
ចំណាត់ថ្នាក់ទិន្នន័យ Support Vector Data Description
ជាម៉ូដែលងាយស្រួលយល់ និងទាមទារការកំណត់ប៉ារ៉ាម៉ែត្រតែពីរ (C និង R) សម្រាប់បង្កើតព្រំដែនចំណាត់ថ្នាក់ទិន្នន័យធម្មតា។ មានភាពខ្សោយក្នុងការទាញយកលក្ខណៈពិសេសនៃទិន្នន័យ និងផ្តល់សញ្ញាប្រកាសអាសន្នខុស (False Positives) ច្រើនពេក។ ទទួលបានលទ្ធផលអន់ក្នុងការរកឃើញភាពមិនប្រក្រតី ហើយត្រូវបានចាត់ទុកថាជាវិធីសាស្ត្រដែលមិនជោគជ័យសម្រាប់ការសិក្សានេះ។
Autoencoder (AE)
បណ្តាញសរសៃប្រសាទ Autoencoder
អាចរៀនពីទំនាក់ទំនងស្មុគស្មាញនៃទិន្នន័យ (Non-linear) ដោយមិនត្រូវការទិន្នន័យដែលរងការវាយប្រហារសម្រាប់បណ្តុះបណ្តាល និងមានភាពប្រសើរឡើងនៅពេលប្រើទិន្នន័យ Stochastic។ មានភាពរសើបខ្លាំងទៅនឹងការកំណត់កម្រិតវាយតម្លៃ (Threshold) និងមានភាពប្រែប្រួលខ្ពស់ (High Variance) ក្នុងដំណើរការនីមួយៗ។ ទទួលបានពិន្ទុ F1 មធ្យមចន្លោះពី 0.74 ដល់ 0.77 ដោយអាស្រ័យលើប្រភេទនៃទិន្នន័យបណ្តុះបណ្តាល។
Structural Convolutional Neural Networks (SCNN)
បណ្តាញសរសៃប្រសាទ SCNN សម្រាប់រចនាសម្ព័ន្ធបណ្តាញ
អាចចាប់យកទំនាក់ទំនងទាំងលំហ (Spatial) នៃបណ្តាញបំពង់ទឹក និងពេលវេលា (Temporal) ព្រមទាំងមានស្ថេរភាពខ្ពស់និងភាពប្រែប្រួលទាប។ ទាមទារឱ្យមានការបង្កើតម៉ាទ្រីសភាពជាប់គ្នា (Adjacency Matrix) ដែលទាមទារការយល់ដឹងស៊ីជម្រៅពីស្ថាបត្យកម្មនៃបណ្តាញទឹក។ ផ្តល់ដំណើរការល្អបំផុតដោយទទួលបានពិន្ទុ F1 ខ្ពស់រហូតដល់ ~0.84 និងកាត់បន្ថយការផ្តល់សញ្ញាខុសបានយ៉ាងល្អ។

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

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

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

ការសិក្សានេះប្រើប្រាស់ទិន្នន័យក្លែងធ្វើដែលផ្អែកលើបណ្តាញ C-Town ពីកម្មវិធីប្រកួតប្រជែង BATADAL ដែលជាបណ្តាញនៅបស្ចិមប្រទេស។ សម្រាប់ប្រទេសកម្ពុជា បណ្តាញទឹកមានភាពខុសគ្នាលើអត្រាលេចធ្លាយ សម្ពាធទឹក និងការគ្របដណ្តប់នៃសេនស័រ (Sensors) ដែលទាមទារឱ្យមានការប្រមូលទិន្នន័យជាក់ស្តែងក្នុងស្រុកដើម្បីឱ្យម៉ូដែលដំណើរការបានត្រឹមត្រូវ។

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

វិធីសាស្ត្រទាំងនេះពិតជាមានប្រយោជន៍ និងទាន់ពេលវេលាសម្រាប់ប្រទេសកម្ពុជា ខណៈដែលហេដ្ឋារចនាសម្ព័ន្ធកំពុងធ្វើបរិវត្តកម្មទៅរកប្រព័ន្ធឌីជីថល។

ការធ្វើសមាហរណកម្មប្រព័ន្ធ AI សម្រាប់ការរកឃើញការវាយប្រហារ នឹងធានាបាននូវនិរន្តរភាពនិងសុវត្ថិភាពនៃការផ្គត់ផ្គង់ទឹកស្អាតនៅកម្ពុជា ក្នុងយុគសម័យសេដ្ឋកិច្ចឌីជីថល។

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

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

  1. សិក្សាមូលដ្ឋានគ្រឹះនៃប្រព័ន្ធធារាសាស្ត្រ: និស្សិតត្រូវរៀនប្រើប្រាស់កម្មវិធី EPANET ដើម្បីយល់ពីរបៀបនៃការហូររបស់ទឹក សម្ពាធ និងការបង្កើតតារាងបណ្តាញ (Network Topology)។
  2. ការក្លែងធ្វើទិន្នន័យ និងការវាយប្រហារ: អនុវត្តការសរសេរកូដដោយប្រើ anySim (ក្នុង R) ដើម្បីបង្កើតតម្រូវការទឹកចៃដន្យ និងប្រើ epanetCPA (ក្នុង MATLAB) ដើម្បីក្លែងធ្វើការវាយប្រហារតាមប្រព័ន្ធសាយប័រ។
  3. អភិវឌ្ឍម៉ូដែល Deep Learning ជាមូលដ្ឋាន: ចាប់ផ្តើមសរសេរកូដបង្កើតម៉ូដែល Autoencoder សម្រាប់ការវិភាគទិន្នន័យជាស៊េរីពេលវេលា (Time-Series) ដោយប្រើប្រាស់បណ្ណាល័យ KerasPyTorch ក្នុងភាសា Python
  4. សិក្សាពី Graph Neural Networks (GNN): ស្រាវជ្រាវ និងអនុវត្ត Spatio-Temporal Graph Neural Networks (STGNN) ដើម្បីរៀនពីរបៀបបញ្ចូលទម្រង់ផែនទីបណ្តាញទឹក (Adjacency Matrix) ទៅក្នុងម៉ូដែល AI តាមរយៈ PyTorch
  5. សហការ និងអនុវត្តជាក់ស្តែងនៅកម្ពុជា: សហការជាមួយ PPWSA ឬរដ្ឋាករទឹកក្នុងស្រុក ដើម្បីប្រមូលទិន្នន័យ SCADA ជាក់ស្តែងនៃតំបន់ផ្គត់ផ្គង់តូចមួយ (DMA) យកមកសាកល្បងវាយតម្លៃកម្រិតប្រសិទ្ធភាពរបស់ម៉ូដែល។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Autoencoder វាជាប្រភេទបណ្តាញសរសៃប្រសាទដែលរៀនចម្លងទិន្នន័យបញ្ចូលទៅជាទិន្នន័យបញ្ចេញ។ នៅក្នុងការសិក្សានេះ គេប្រើវាដើម្បីរៀនពីទម្រង់ដំណើរការធម្មតានៃបណ្តាញទឹក។ ពេលមានការវាយប្រហារ ទម្រង់នោះប្រែប្រួល ធ្វើឱ្យប្រព័ន្ធបង្កើតកំហុសចម្លង (Reconstruction Error) ខ្ពស់ ដែលផ្តល់ជាសញ្ញាព្រមាន។ ដូចជាជាងចម្លងគំនូរដែលធ្លាប់តែចម្លងរូបទេសភាពធម្មតា ពេលគេឱ្យគូររូបចម្លែកខុសពីធម្មតា គាត់គូរខុសច្រើនដែលធ្វើឱ្យយើងដឹងថារូបនោះមានបញ្ហា។
Structural Convolutional Neural Networks (SCNN) ជាម៉ូដែល Deep Learning មួយប្រភេទដែលត្រូវបានរចនាឡើងដើម្បីយល់ពីទិន្នន័យដែលមានទម្រង់ជាបណ្តាញក្រាហ្វ (Graph)។ វាអាចចាប់យកទំនាក់ទំនងទាំងពេលវេលា និងទីតាំងលំហ (Spatial-temporal) ដូចជាទំនាក់ទំនងនៃសម្ពាធទឹក និងលំហូរតាមបណ្តាញបំពង់ទឹកនីមួយៗក្នុងពេលតែមួយ។ ដូចជាប្រព័ន្ធកាមេរ៉ាសុវត្ថិភាពចរាចរណ៍កម្រិតខ្ពស់ ដែលមិនត្រឹមតែមើលថាតើឡានមួយរត់លឿនប៉ុណ្ណាទេ តែមើលពីរបៀបដែលចរាចរណ៍ផ្លូវមួយជះឥទ្ធិពលដល់ផ្លូវខ្វាត់ខ្វែងផ្សេងទៀតក្នុងទីក្រុង។
Mahalanobis distance ជារង្វាស់ស្ថិតិមួយប្រើសម្រាប់គណនាចម្ងាយរវាងចំណុចទិន្នន័យមួយ ទៅកាន់ចំណុចកណ្តាលនៃរបាយទិន្នន័យរួម ដោយគិតបញ្ចូលទាំងកម្រិតប្រែប្រួលនៃទិន្នន័យ (Variance)។ នៅក្នុងការស្រាវជ្រាវនេះ វាត្រូវបានប្រើដើម្បីរង្វាស់កម្រិតនៃភាពមិនប្រក្រតីសម្រាប់ការរកឃើញការវាយប្រហារ។ ដូចជាការវាយតម្លៃភាពខុសប្លែកគ្នារបស់សត្វមួយក្បាលចេញពីហ្វូងរបស់វា ដោយមិនត្រឹមតែវាស់ចម្ងាយជាម៉ែត្រនោះទេ តែគិតថាតើជាធម្មតាហ្វូងនោះចូលចិត្តដើរនៅផ្តុំគ្នាឬនៅរាយប៉ាយ។
Support Vector Data Description (SVDD) ជាក្បួនចំណាត់ថ្នាក់ទិន្នន័យមួយប្រភេទ (One-class classification) ដែលព្យាយាមគូសបន្ទាត់ព្រំដែនជារាងស្វ៊ែរ ដើម្បីក្តោបយកចំណុចទិន្នន័យធម្មតាទាំងអស់។ ប្រសិនបើមានទិន្នន័យថ្មីណាមួយធ្លាក់នៅក្រៅរង្វង់នេះ វានឹងត្រូវចាត់ទុកជាភាពមិនប្រក្រតី ឬការវាយប្រហារ។ ដូចជាការបោះតង់សុវត្ថិភាពជារង្វង់ដើម្បីការពារហ្វូងចៀម សត្វណាដែលនៅក្រៅតង់នោះ ត្រូវបានសន្មតថាជាសត្វព្រៃកាចសាហាវ។
Stochastic demand generation ជាវិធីសាស្រ្តនៃការបង្កើតទិន្នន័យតម្រូវការទឹកសំយោគ ដោយផ្អែកលើរូបមន្តប្រូបាប៊ីលីតេ និងស្ថិតិ ដើម្បីក្លែងធ្វើភាពចៃដន្យ (Stochastic) និងភាពមិនប្រាកដប្រជានៃការប្រើប្រាស់ទឹកពិតប្រាកដរបស់មនុស្សក្នុងបណ្តាញទឹក។ ដូចជាការទស្សន៍ទាយថាមានមនុស្សប៉ុន្មាននាក់នឹងចូលហាងកាហ្វេជារៀងរាល់ម៉ោង ដោយប្រើការចាក់ឡុកឡាក់ដែលបានកំណត់ទម្ងន់ត្រឹមត្រូវតាមស្ថិតិអតិថិជនប្រចាំថ្ងៃ។
Deception attacks ជាប្រភេទនៃការវាយប្រហារតាមប្រព័ន្ធសាយប័រ ដែលហេក័រធ្វើការផ្លាស់ប្តូរទិន្នន័យពិតប្រាកដរបស់សេនស័រ (Sensors) មុនពេលវាត្រូវបានបញ្ជូនទៅកាន់ប្រព័ន្ធកណ្តាល ដើម្បីលាក់បាំងសកម្មភាពបំផ្លិចបំផ្លាញ (ដូចជាការបើកវ៉ានបញ្ចេញទឹកចោល) មិនឱ្យប្រតិបត្តិករដឹង។ ដូចជាចោរដែលចូលលួចធនាគារ ហើយយកវីដេអូចាស់ដែលអត់មានមនុស្ស ទៅចាក់បញ្ចាំងក្នុងកាមេរ៉ាសុវត្ថិភាពដើម្បីបន្លំភ្នែកសន្តិសុខកុំឱ្យមានការសង្ស័យ។
SCADA (Supervisory Control And Data Acquisition) ជាប្រព័ន្ធកុំព្យូទ័រកណ្តាលដែលប្រមូលទិន្នន័យពីសេនស័រ និងឧបករណ៍បញ្ជាផ្សេងៗពីចម្ងាយ (PLCs) ហើយប្រើទិន្នន័យទាំងនោះដើម្បីតាមដាន និងគ្រប់គ្រងប្រតិបត្តិការនៃហេដ្ឋារចនាសម្ព័ន្ធធំៗ ដូចជារោងចក្រផលិតទឹកស្អាត។ ដូចជាខួរក្បាល និងប្រព័ន្ធសរសៃប្រសាទកណ្តាលរបស់មនុស្ស ដែលទទួលសញ្ញាពីរាងកាយ ហើយបញ្ជាសាច់ដុំឱ្យធ្វើការត្រឹមត្រូវ។
Adjacency matrix ជាម៉ាទ្រីសគណិតវិទ្យាដែលត្រូវបានប្រើដើម្បីតំណាងឱ្យរចនាសម្ព័ន្ធនៃបណ្តាញក្រាហ្វ (Graph) ដែលក្នុងទីនេះតំណាងឱ្យបណ្តាញបំពង់ទឹក។ វាបង្ហាញជាលេខ 0 ឬ 1 ថាតើចំណុចពីរ (Nodes) មានការតភ្ជាប់គ្នាដោយផ្ទាល់ដែរឬទេ។ ដូចជាតារាងកត់ត្រាការហោះហើររបស់យន្តហោះ ដែលបង្ហាញសញ្ញាគ្រីសប្រសិនបើមានជើងហោះហើរតភ្ជាប់ផ្ទាល់ពីទីក្រុងមួយទៅទីក្រុងមួយទៀត។

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

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

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