OWASP ហានិភ័យសន្តិសុខកំពូលទាំង ១០ | ទិដ្ឋភាពទូទៅ
មាតិកា
តើ OWASP ជាអ្វី?
OWASP គឺជាអង្គការមិនរកប្រាក់ចំណេញដែលឧទ្ទិសដល់ការអប់រំសុវត្ថិភាពកម្មវិធីគេហទំព័រ។
សម្ភារៈសិក្សា OWASP អាចចូលប្រើបាននៅលើគេហទំព័ររបស់ពួកគេ។ ឧបករណ៍របស់ពួកគេមានប្រយោជន៍សម្រាប់ការកែលម្អសុវត្ថិភាពនៃកម្មវិធីគេហទំព័រ។ នេះរួមបញ្ចូលទាំងឯកសារ ឧបករណ៍ វីដេអូ និងវេទិកា។
OWASP Top 10 គឺជាបញ្ជីដែលបង្ហាញពីកង្វល់សុវត្ថិភាពកំពូលសម្រាប់កម្មវិធីគេហទំព័រថ្ងៃនេះ។ ពួកគេផ្តល់អនុសាសន៍ថាក្រុមហ៊ុនទាំងអស់រួមបញ្ចូលរបាយការណ៍នេះនៅក្នុងដំណើរការរបស់ពួកគេដើម្បីកាត់បន្ថយហានិភ័យសុវត្ថិភាព. ខាងក្រោមនេះគឺជាបញ្ជីហានិភ័យសុវត្ថិភាពដែលមាននៅក្នុងរបាយការណ៍ OWASP Top 10 2017។
ការចាក់ SQL
ការចាក់ SQL កើតឡើងនៅពេលដែលអ្នកវាយប្រហារបញ្ជូនទិន្នន័យមិនសមរម្យទៅកាន់កម្មវិធីបណ្តាញ ដើម្បីរំខានកម្មវិធីនៅក្នុងកម្មវិធី.
ឧទាហរណ៍នៃ SQL Injection៖
អ្នកវាយប្រហារអាចបញ្ចូលសំណួរ SQL ទៅក្នុងទម្រង់បញ្ចូលដែលទាមទារឈ្មោះអ្នកប្រើធម្មតាមួយ។ ប្រសិនបើទម្រង់បញ្ចូលមិនត្រូវបានធានា វានឹងនាំឱ្យដំណើរការសំណួរ SQL ។ នេះ។ ត្រូវបានបញ្ជូន ទៅជាការចាក់ SQL ។
ដើម្បីការពារកម្មវិធីគេហទំព័រពីការបញ្ចូលកូដ សូមប្រាកដថាអ្នកអភិវឌ្ឍន៍របស់អ្នកប្រើការបញ្ចូលសុពលភាពលើទិន្នន័យដែលបានបញ្ជូនដោយអ្នកប្រើប្រាស់. សុពលភាពនៅទីនេះសំដៅលើការបដិសេធការបញ្ចូលមិនត្រឹមត្រូវ។ អ្នកគ្រប់គ្រងមូលដ្ឋានទិន្នន័យក៏អាចកំណត់ការគ្រប់គ្រងដើម្បីកាត់បន្ថយបរិមាណ ព ដែលអាច ត្រូវបានបង្ហាញ នៅក្នុងការវាយប្រហារដោយការចាក់.
ដើម្បីការពារការចាក់ SQL OWASP ណែនាំឱ្យរក្សាទិន្នន័យដាច់ដោយឡែកពីពាក្យបញ្ជា និងសំណួរ។ ជម្រើសល្អបំផុតគឺត្រូវប្រើសុវត្ថិភាព ការ API ដើម្បីទប់ស្កាត់ការប្រើប្រាស់អ្នកបកប្រែ ឬផ្ទេរទៅឧបករណ៍ធ្វើផែនទីទំនាក់ទំនងវត្ថុ (ORMs).
ការផ្ទៀងផ្ទាត់ដែលខូច
ភាពងាយរងគ្រោះនៃការផ្ទៀងផ្ទាត់អាចអនុញ្ញាតឱ្យអ្នកវាយប្រហារចូលប្រើគណនីអ្នកប្រើប្រាស់ និងសម្របសម្រួលប្រព័ន្ធដោយប្រើគណនីអ្នកគ្រប់គ្រង. ឧក្រិដ្ឋជនតាមអ៊ីនធឺណិតអាចប្រើស្គ្រីបដើម្បីសាកល្បងបន្សំពាក្យសម្ងាត់រាប់ពាន់នៅលើប្រព័ន្ធដើម្បីមើលថាតើមួយណាដំណើរការ. នៅពេលដែលឧក្រិដ្ឋជនតាមអ៊ីនធឺណិតចូល ពួកគេអាចក្លែងបន្លំអត្តសញ្ញាណអ្នកប្រើប្រាស់ ដោយផ្តល់ឱ្យពួកគេនូវព័ត៌មានសម្ងាត់.
ភាពងាយរងគ្រោះនៃការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវមាននៅក្នុងកម្មវិធីបណ្តាញដែលអនុញ្ញាតឱ្យចូលដោយស្វ័យប្រវត្តិ។ មធ្យោបាយដ៏ពេញនិយមមួយដើម្បីកែតម្រូវភាពងាយរងគ្រោះនៃការផ្ទៀងផ្ទាត់គឺការប្រើប្រាស់ការផ្ទៀងផ្ទាត់ពហុកត្តា។ ផងដែរ ដែនកំណត់អត្រាចូលអាច ត្រូវបានរួមបញ្ចូល នៅក្នុង web app ដើម្បីការពារការវាយប្រហារដោយកម្លាំង brute ។
ការបង្ហាញទិន្នន័យរសើប
ប្រសិនបើកម្មវិធីគេហទំព័រមិនការពារអ្នកវាយប្រហារដែលរសើបអាចចូលប្រើប្រាស់ និងប្រើប្រាស់ពួកវាដើម្បីទទួលបានផលប្រយោជន៍របស់ពួកគេ។ ការវាយប្រហារតាមផ្លូវគឺជាវិធីសាស្ត្រដ៏ពេញនិយមមួយសម្រាប់ការលួចព័ត៌មានរសើប។ ហានិភ័យនៃការប៉ះពាល់អាចមានតិចតួចនៅពេលដែលទិន្នន័យរសើបទាំងអស់ត្រូវបានអ៊ិនគ្រីប។ អ្នកអភិវឌ្ឍន៍គេហទំព័រគួរតែធានាថាគ្មានទិន្នន័យរសើបត្រូវបានបង្ហាញនៅលើកម្មវិធីរុករកតាមអ៊ីនធឺណិត ឬរក្សាទុកដោយមិនចាំបាច់។
អង្គភាពខាងក្រៅ XML (XEE)
ឧក្រិដ្ឋជនតាមអ៊ីនធឺណិតអាចបង្ហោះ ឬរួមបញ្ចូលខ្លឹមសារ XML ពាក្យបញ្ជា ឬកូដដែលមានគ្រោះថ្នាក់នៅក្នុងឯកសារ XML. នេះអនុញ្ញាតឱ្យពួកគេមើលឯកសារនៅលើប្រព័ន្ធឯកសារម៉ាស៊ីនមេកម្មវិធី។ នៅពេលដែលពួកគេមានសិទ្ធិចូលប្រើប្រាស់ ពួកគេអាចធ្វើអន្តរកម្មជាមួយម៉ាស៊ីនមេ ដើម្បីអនុវត្តការវាយប្រហារលើការក្លែងបន្លំការស្នើសុំខាងម៉ាស៊ីនមេ (SSRF).
ការវាយប្រហាររបស់អង្គភាពខាងក្រៅ XML អាច ត្រូវបានរារាំងដោយ អនុញ្ញាតឱ្យកម្មវិធីគេហទំព័រទទួលយកប្រភេទទិន្នន័យមិនស្មុគស្មាញដូចជា JSON ជាដើម។. ការបិទដំណើរការដំណើរការអង្គភាពខាងក្រៅ XML ក៏កាត់បន្ថយឱកាសនៃការវាយប្រហារ XEE ផងដែរ។
ការគ្រប់គ្រងការចូលដំណើរការខូច
ការគ្រប់គ្រងការចូលប្រើគឺជាពិធីការប្រព័ន្ធដែលដាក់កម្រិតអ្នកប្រើប្រាស់ដែលគ្មានការអនុញ្ញាតចំពោះព័ត៌មានរសើប។ ប្រសិនបើប្រព័ន្ធគ្រប់គ្រងការចូលដំណើរការត្រូវបានខូច អ្នកវាយប្រហារអាចរំលងការផ្ទៀងផ្ទាត់បាន។ នេះផ្តល់ឱ្យពួកគេនូវការចូលប្រើព័ត៌មានរសើប ហាក់ដូចជាពួកគេមានការអនុញ្ញាត។ ការគ្រប់គ្រងការចូលដំណើរការអាចត្រូវបានធានាដោយការអនុវត្តនិមិត្តសញ្ញាអនុញ្ញាតនៅលើការចូលរបស់អ្នកប្រើប្រាស់។ រាល់សំណើដែលអ្នកប្រើប្រាស់ធ្វើខណៈពេលដែលមានការផ្ទៀងផ្ទាត់ និមិត្តសញ្ញាអនុញ្ញាតជាមួយអ្នកប្រើប្រាស់ត្រូវបានផ្ទៀងផ្ទាត់ ដែលបង្ហាញថាអ្នកប្រើប្រាស់ត្រូវបានអនុញ្ញាតឱ្យធ្វើសំណើនោះ។
ការកំណត់រចនាសម្ព័ន្ធមិនត្រឹមត្រូវសន្តិសុខ
ការកំណត់រចនាសម្ព័ន្ធសុវត្ថិភាពមិនត្រឹមត្រូវគឺជាបញ្ហាទូទៅដែល សន្តិសុខតាមប្រព័ន្ធអ៊ីនធឺណិត អ្នកឯកទេសសង្កេតលើកម្មវិធីគេហទំព័រ។ វាកើតឡើងជាលទ្ធផលនៃបឋមកថា HTTP ដែលបានកំណត់រចនាសម្ព័ន្ធមិនត្រឹមត្រូវ ការគ្រប់គ្រងការចូលដំណើរការដែលខូច និងការបង្ហាញកំហុសដែលបង្ហាញព័ត៌មាននៅក្នុងកម្មវិធីគេហទំព័រ. អ្នកអាចកែការកំណត់សុវត្ថិភាពខុសដោយលុបមុខងារដែលមិនប្រើចេញ។ អ្នកក៏គួរជួសជុល ឬដំឡើងកំណែកញ្ចប់កម្មវិធីរបស់អ្នកផងដែរ។
ស្គ្រីបឆ្លងតំបន់បណ្តាញ (XSS)
ភាពងាយរងគ្រោះរបស់ XSS កើតឡើងនៅពេលដែលអ្នកវាយប្រហាររៀបចំ DOM API នៃគេហទំព័រដែលអាចទុកចិត្តបាន ដើម្បីប្រតិបត្តិកូដព្យាបាទនៅក្នុងកម្មវិធីរុករកតាមអ៊ីនធឺណិតរបស់អ្នកប្រើប្រាស់។. ការប្រតិបត្តិនៃកូដព្យាបាទនេះច្រើនតែកើតឡើងនៅពេលដែលអ្នកប្រើចុចលើតំណភ្ជាប់ដែលហាក់ដូចជាមកពីគេហទំព័រដែលអាចទុកចិត្តបាន។. ប្រសិនបើគេហទំព័រមិនត្រូវបានការពារពីភាពងាយរងគ្រោះ XSS នោះវាអាច ត្រូវបានសម្របសម្រួល. កូដព្យាបាទនោះ។ ត្រូវបានប្រតិបត្តិ ផ្តល់ឱ្យអ្នកវាយប្រហារចូលទៅកាន់វគ្គចូលរបស់អ្នកប្រើប្រាស់ ព័ត៌មានលម្អិតអំពីកាតឥណទាន និងទិន្នន័យរសើបផ្សេងទៀត។.
ដើម្បីទប់ស្កាត់ Cross-site Scripting (XSS) សូមប្រាកដថា HTML របស់អ្នកមានអនាម័យល្អ។ កំប៉ុងនេះ ត្រូវបានសម្រេចដោយ ជ្រើសរើសក្របខ័ណ្ឌដែលគួរឱ្យទុកចិត្តអាស្រ័យលើភាសានៃជម្រើស. អ្នកអាចប្រើភាសាដូចជា .Net, Ruby on Rails និង React JS ព្រោះវាអាចជួយញែក និងសម្អាតកូដ HTML របស់អ្នក។ ការព្យាបាលទិន្នន័យទាំងអស់ពីអ្នកប្រើប្រាស់ដែលបានផ្ទៀងផ្ទាត់ ឬមិនបានផ្ទៀងផ្ទាត់ថាមិនគួរឱ្យទុកចិត្តអាចកាត់បន្ថយហានិភ័យនៃការវាយប្រហារ XSS.
Deserialization មិនមានសុវត្ថិភាព
Deserialization គឺជាការបំប្លែងទិន្នន័យសៀរៀលពីម៉ាស៊ីនមេទៅវត្ថុមួយ។ Deserialization នៃទិន្នន័យគឺជាការកើតឡើងជាទូទៅនៅក្នុងការអភិវឌ្ឍន៍កម្មវិធី។ វាមិនមានសុវត្ថិភាពនៅពេលទិន្នន័យ ត្រូវបាន deserialized ពីប្រភពដែលមិនគួរឱ្យទុកចិត្ត។ នេះអាច សក្តានុពល បង្ហាញកម្មវិធីរបស់អ្នកចំពោះការវាយប្រហារ។ ភាពគ្មានសុវត្ថិភាពកើតឡើងនៅពេលដែលទិន្នន័យ deserialized ពីប្រភពដែលមិនគួរឱ្យទុកចិត្តនាំទៅដល់ការវាយប្រហារ DDOS ការវាយប្រហារការប្រតិបត្តិលេខកូដពីចម្ងាយ ឬការឆ្លងកាត់ការផ្ទៀងផ្ទាត់.
ដើម្បីជៀសវាងការបំភាន់ដោយអសន្តិសុខ ច្បាប់នៃមេដៃគឺមិនត្រូវទុកចិត្តលើទិន្នន័យអ្នកប្រើប្រាស់ឡើយ។ រាល់ការបញ្ចូលទិន្នន័យរបស់អ្នកប្រើគួរតែ ត្រូវបានព្យាបាល as សក្តានុពល ព្យាបាទ។ ជៀសវាងការបំផ្លាញទិន្នន័យពីប្រភពដែលមិនគួរឱ្យទុកចិត្ត។ ត្រូវប្រាកដថាមុខងារ deserialization ទៅ ត្រូវបានប្រើ នៅក្នុងកម្មវិធីបណ្តាញរបស់អ្នកមានសុវត្ថិភាព។
ការប្រើប្រាស់សមាសធាតុជាមួយនឹងភាពងាយរងគ្រោះដែលគេស្គាល់
បណ្ណាល័យ និងក្របខ័ណ្ឌបានធ្វើឱ្យវាកាន់តែលឿនក្នុងការអភិវឌ្ឍន៍កម្មវិធីគេហទំព័រដោយមិនចាំបាច់បង្កើតកង់ឡើងវិញ. នេះកាត់បន្ថយភាពច្របូកច្របល់ក្នុងការវាយតម្លៃកូដ។ ពួកគេត្រួសត្រាយផ្លូវសម្រាប់អ្នកអភិវឌ្ឍន៍ឱ្យផ្តោតលើទិដ្ឋភាពសំខាន់ៗនៃកម្មវិធី។ ប្រសិនបើអ្នកវាយប្រហាររកឃើញការកេងប្រវ័ញ្ចនៅក្នុងក្របខ័ណ្ឌទាំងនេះ រាល់មូលដ្ឋានកូដដែលប្រើប្រាស់ក្របខ័ណ្ឌនឹង ត្រូវបានសម្របសម្រួល.
អ្នកអភិវឌ្ឍន៍សមាសភាគតែងតែផ្តល់ជូននូវបំណះសុវត្ថិភាព និងការអាប់ដេតសម្រាប់បណ្ណាល័យសមាសធាតុ។ ដើម្បីជៀសវាងភាពងាយរងគ្រោះនៃសមាសភាគ អ្នកគួរតែរៀនរក្សាកម្មវិធីរបស់អ្នកឱ្យទាន់សម័យជាមួយនឹងបំណះសុវត្ថិភាពចុងក្រោយបំផុត និងការធ្វើឱ្យប្រសើរ. សមាសធាតុដែលមិនប្រើគួរតែ ត្រូវបានយកចេញ ពីកម្មវិធីដើម្បីកាត់វ៉ិចទ័រវាយប្រហារ។
ការកត់ត្រា និងការត្រួតពិនិត្យមិនគ្រប់គ្រាន់
ការកត់ត្រា និងការត្រួតពិនិត្យមានសារៈសំខាន់ក្នុងការបង្ហាញសកម្មភាពនៅក្នុងកម្មវិធីបណ្តាញរបស់អ្នក។ ការកត់ត្រាធ្វើឱ្យវាងាយស្រួលក្នុងការតាមដានកំហុស, ម៉ូនីទ័រ ការចូលរបស់អ្នកប្រើប្រាស់ និងសកម្មភាព។
ការកត់ត្រា និងការត្រួតពិនិត្យមិនគ្រប់គ្រាន់កើតឡើងនៅពេលដែលព្រឹត្តិការណ៍សំខាន់ៗសុវត្ថិភាពមិនត្រូវបានកត់ត្រា យ៉ាងត្រឹមត្រូវ. អ្នកវាយប្រហារប្រើប្រាស់វាដើម្បីអនុវត្តការវាយប្រហារលើកម្មវិធីរបស់អ្នក មុនពេលមានការឆ្លើយតបគួរឱ្យកត់សម្គាល់ណាមួយ។.
ការកត់ត្រាអាចជួយក្រុមហ៊ុនរបស់អ្នកសន្សំប្រាក់ និងពេលវេលា ពីព្រោះអ្នកអភិវឌ្ឍន៍របស់អ្នកអាចធ្វើបាន យ៉ាងងាយស្រួល ស្វែងរកកំហុស. នេះអនុញ្ញាតឱ្យពួកគេផ្តោតលើការដោះស្រាយកំហុសច្រើនជាងការស្វែងរកពួកគេ។ ជាលទ្ធផល ការចូលអាចជួយរក្សាគេហទំព័រ និងម៉ាស៊ីនមេរបស់អ្នកឱ្យដំណើរការរាល់ពេលដោយមិនឱ្យពួកគេជួបប្រទះនឹងការធ្លាក់ចុះណាមួយឡើយ.
សន្និដ្ឋាន
លេខកូដល្អមិនមែនទេ។ គ្រាន់តែ អំពីមុខងារ វានិយាយអំពីការរក្សាអ្នកប្រើប្រាស់ និងកម្មវិធីរបស់អ្នកឱ្យមានសុវត្ថិភាព. OWASP Top 10 គឺជាបញ្ជីនៃហានិភ័យសុវត្ថិភាពកម្មវិធីដ៏សំខាន់បំផុត គឺជាធនធានឥតគិតថ្លៃដ៏អស្ចារ្យសម្រាប់អ្នកអភិវឌ្ឍន៍ក្នុងការសរសេរគេហទំព័រ និងកម្មវិធីទូរស័ព្ទដែលមានសុវត្ថិភាព។. ការបណ្តុះបណ្តាលអ្នកអភិវឌ្ឍន៍លើក្រុមរបស់អ្នកដើម្បីវាយតម្លៃ និងកត់ត្រាហានិភ័យអាចសន្សំពេលវេលា និងប្រាក់របស់ក្រុមអ្នកក្នុងរយៈពេលយូរ។ ប្រសិនបើអ្នកចង់ ស្វែងយល់បន្ថែមអំពីរបៀបបណ្តុះបណ្តាលក្រុមរបស់អ្នកនៅលើ OWASP Top 10 ចុចទីនេះ។