អំពី OWASP
Open Web Application Security Project ឬ OWASP គឺជាអង្គការមិនរកប្រាក់កំរ៉ៃអន្ដរជាតិមួយដែលបានជួយគាំទ្រដល់ សុវត្ថិភាពលើគេហទំព័រ (Web Application Security)។ គោលការណ៍ស្នូលមួយរបស់ OWASP គឺថាឯកសារទាំងអស់របស់ពួកគេអាចរកបានដោយសេរី មិនគិតថ្លៃ និងងាយស្រួលស្វែងរកនៅលើគេហទំព័ររបស់ពួកគេដែលអាចឱ្យអ្នកទាំងអស់គ្នាអាចបង្កើនសុវត្ថិភាពលើគេហទំព័ររបស់ពួកគេ។ ទិន្ធន័យដែលពួកគេផ្តល់ជូនរួមមាន ឯកសារ កម្មវិធី វីដេអូនិងវេទិកា។
គម្រោងដែលគេស្គាល់ច្រើនជាងគេ និងច្បាស់បំផុតរបស់ពួកគេគឺ OWASP Top 10 ។
តើអ្វីជា OWASP Top 10?
OWASP Top 10 គឺជារបាយការណ៍ដែលបានធ្វើឱ្យទាន់សម័យជាទៀងទាត់ដែលរៀបរាប់អំពីការព្រួយបារម្ភខាងសន្តិសុខសម្រាប់សុវត្ថិភាពលើគេហទំព័រ (Web Application Security) ដែលផ្តោតលើហានិភ័យសំខាន់បំផុតទាំង 10 ។ របាយការណ៍នេះត្រូវបានដាក់បញ្ចូលគ្នាដោយក្រុមអ្នកជំនាញការសន្តិសុខមកពីទូទាំងពិភពលោក។ OWASP ចាត់ទុក Top 10 ជាឯកសារសំរាប់ការយល់ដឹងហើយពួកគេផ្តល់អនុសាសន៍ឱ្យក្រុមហ៊ុនទាំងអស់ធ្វើ
កិច្ចសហប្រតិបត្តិការ និងផ្ញើរបាយការណ៍ទៅក្នុងប្រពន្ធ័របស់ដំណើរការរបស់ពួកគេ ដើម្បីកាត់បន្ថយហានិភ័យសុវត្ថិភាពលើគេហទំព័រ។
ខាងក្រោមនេះគឺជាហានិភ័យសន្តិសុខដែលបានរាយការណ៍នៅក្នុងរបាយការណ៍ OWASP Top 10 ឆ្នាំ 2017:
1. Injection
ការវាយប្រហារ Injection កើតឡើងនៅពេលទិន្នន័យដែលមិនល្អ (bad code)ត្រូវបានបញ្ជូនទៅអ្នកបកប្រែកូដ(Interpreter) តាមរយៈធាតុបញ្ចូលសំណុំបែបបទ(Form) ឬការបញ្ជូនទិន្នន័យផ្សេងទៀតទៅកាន់កម្មវិធីគេហទំព័រ។ ឧទាហរណ៍ អ្នកវាយប្រហារអាចបញ្ចូលកូដ SQL ទៅកាន់សំណុំបែបបទ (Form) ដែលគេរំពឹងថា វាជាប្រភេទដែលត្រូវបញ្ជូលបានតែតួរអក្សរ (Text) ប៉ុណ្នេាះ ដូចជា Username ជាដើម ។ ប្រសិនបើការបញ្ចូលទាំងនោះមិនត្រូវបាន គេបញ្ជាក់ (Validation) យ៉ាងត្រឹមត្រូវនោះទេ កូដ SQLដែលអ្នកវាយប្រហារបានបញ្ជូលនឹងត្រូវបានផ្ញើទៅកាន់មាស៊ីនមេដើម្បីប្រតិតបត្តិ ហើយនឹងមានលទ្ធផលនៅក្នុងកូដ SQL ដែលវានឹងមានផលប៉ះពាល់ដល់ គេហទំព័រ ឫក៏មាស៊ីនមេរបស់យើង។ នេះត្រូវបានគេស្គាល់ថាជា ការវាយប្រហារតាម SQL Injection។
ការវាយប្រហារតាម Injection អាចការពារបានតាមរយៈការធ្វើឱ្យមានបញ្ជាក់ធ្វើឱ្យមានសុពលភាព (Validation) និងធ្វើការសំអាត(Clean) លើទិន្នន័យដែលបានដាក់ស្នើ ឫបញ្ជូលដោយអ្នកប្រើប្រាស់។ ការធ្វើឱ្យមានសុពលភាពមានន័យថាការច្រានចោលនៃទិន្នន័យដែលគួរអោយសង្ស័យខណៈពេលដែលសំអាតសំដៅលើការជម្រះចោលផ្នែកដែលសង្ស័យលើទិន្នន័យ។
2. Broken Authentication
ភាពងាយរងគ្រោះនៅក្នុង ប្រព័ន្ធផ្ទៀងផ្ទាត់ (Login Authentication) អាចផ្តល់លទ្ធភាពឱ្យអ្នកវាយប្រហារចូលគណនីអ្នកប្រើ និងរហូតដល់មានសមត្ថភាពក្នុងការជ្រាតចូលប្រព័ន្ធទាំងមូលដោយប្រើគណនីរបស់អ្នកគ្រប់គ្រង។ ឧទាហរណ៍អ្នកវាយប្រហារអាចយកបញ្ជីដែលមានឈ្មោះអ្នកប្រើជាច្រើន និង ពាក្យសម្ងាត់រាប់ពាន់ដែលបានទទួលពីការវាយប្រហារផ្សេងៗជាច្រើនកន្លែង (ឫក៏វាជាពាក្យសំងាត់ដែលពេញនិយមដែលអ្នកទាំងអស់គ្នាចូលចិត្តប្រើ) ហើយប្រើស្គ្រីប (Script)ដើម្បីសាកល្បងបន្សំពត៏មានទាំងនោះទៅលើប្រព័ន្ធចូល (Login) ដើម្បីមើលថាតើពត៏មានណាមួយដែលត្រូវត្រូវ។ ឫក៏វាអាចជា ឈ្មោះអ្នកប្រើនិង ពាក្យសម្ងាត់លំនាំដើម ដែលអ្នកគ្រប់គ្រងមិនបានផ្លាស់ប្ដូរ ពេលតំឡើងប្រពន្ធ័របស់ពួកគេ។
យុទ្ធសាស្រ្តមួយចំនួនដើម្បីកាត់បន្ថយភាពងាយរងគ្រោះ គឺតំរូវអោយមានការប្រើបាស់ Two Factor Authentication (2FA) ក៏ដូចជាការកំណត់ចំនួននៃការព្យាយាមចូលប្រពន្ធ័ (Login Rate Limit)។ គួរប្រើប្រាស់ពាក្យសំងាត់ដែលខ្លាំងនិងស្មុគស្មាញ ហើយនឹងជៀសវាសប្រើ ពត៏មានលំនាំដើម។
3. Sensitive Data Exposure
ប្រសិនបើវេបសាយរបស់អ្នកមិនការពារទិន្នន័យសំខាន់ ដូចជាព័ត៌មានហិរញ្ញវត្ថុនិងពាក្យសម្ងាត់នេាះទេ អ្នកវាយប្រហារអាចចូលដំណើរការយកទិន្នន័យនោះ (ទិន្នន័យដែលត្រូវបានផ្ទុក ឫក៏ទិន្នន័យដែលកំពុងតែចល័ត) ទៅធ្វើរឿងផ្សេងៗ ហើយអាចប្រើប្រាស់វាសម្រាប់គោលបំណងដែលមិនមិនល្អណាមួយ។ វិធីសាស្រ្តដ៏ពេញនិយមមួយសម្រាប់លួចព័ត៌មាន គឺការប្រើការវាយប្រហារតាម man-in-middle-attack ដែលអ្នកគ្រប់គ្រងមិនបានប្រើបាស់ HTTPS ដើម្បីការពារ។
ហានិភ័យទិន្នន័យអាចត្រូវបានបង្រួមជាអប្បបរមា ដោយធ្វើការអ៊ិនគ្រីប (Encrypt)ទិន្នន័យសំខាន់ទាំងអស់ ក៏ដូចជាការបិទដំណើរការCache*** ព័ត៌មានសំខាន់ណាមួយ។ លើសពីនេះទៀតអ្នកគ្រប់គ្រង គួរតែយកចិត្តទុកដាក់ដើម្បីធានាថាពួកគេមិនចាំបាច់រក្សាទុកទិន្នន័យសំខាន់ណាមួយឡើយ ដូចជាលេខធនាគាររបស់អ្នកប្រើប្រាស់ជាដើម។
***Cache គឺជាការអនុវត្តនៃការរក្សាទិន្នន័យជាបណ្តោះអាសន្នសម្រាប់ការប្រើឡើងវិញ។ ឧទាហរណ៍កម្មវិធីរុករកបណ្ដាញ ជាញឹកញាប់នឹងផ្ទុកទំព័របណ្ដាញដូច្នេះប្រសិនបើអ្នកប្រើប្រាស់បើកទំព័រដដែលទ នេាះកម្មវិធីរុករកមិនចាំបាច់ទៅយកទំព័រពីអ៊ីនធឺណិតទេ វានឹងត្រួតពិនិត្យនិងយកទិន្នន័យចេញពី Cache។
4. XML External Entities (XEE)
នេះគឺជាការវាយប្រហារប្រឆាំងនឹងកម្មវិធីគេហទំព័រដែលញែក (Parse) ការបញ្ចូលរបស់ XML ។ ការបញ្ចូលនេះអាចតាម External Entity ដោយប៉ុនប៉ងទាញយកភាពងាយរងគ្រោះ (Vulnerability) នៅក្នុងParser។ External Entity នៅក្នុងបរិបទនេះសំដៅទៅលើអង្គភាពផ្ទុកជាច្រើន។ ឧបករណ៍ញែក XML (Parser) អាចត្រូវបានចម្លងទៅក្នុងការបញ្ជូនទិន្នន័យ ទៅអង្គភាពខាងក្រៅដែលគ្មានការអនុញ្ញាត ដែលអាចចម្លងទិន្នន័យសំខាន់ដោយផ្ទាល់ទៅអ្នកវាយប្រហារ។ វាប្រហែលជាពិបាកយល់បន្ដិចនៅពេលដែលយើងនិយាយអំពី XXE ត្រឹមតែប៉ុន្មានបន្ទាត់នេះ។ យើងនឹងព្យាយាមបញ្ចេញអត្ថបទស៊ីជំរៅផ្សេងទៀតអំពីបញ្ហានេះ។
មធ្យោបាយល្អបំផុតដើម្បីការពារការវាយប្រហារ XXE គឺត្រូវមានកម្មវិធីគេហទំព័រដែលទទួលយកប្រភេទទិន្នន័យជាXMLតិចបំផុត និងព្យាយាមប្រើបាស់ JSON ឬយ៉ាងហោចណាស់ដើម្បីជួសជុល XML Parser និងបិទការប្រើប្រាស់External Entity របស់ XML ។

