October 18, 2018

Language:

តើអ្វីទៅជាការប្រកួត CTF (Capture The Flag)

តើអ្វីទៅជាការប្រកួត CTF (Capture The Flag)
ប្រែសម្រួលដោយ លោក គឺម អាន ប្រធានការិយាល័យ CamCERT

អត្ថបទមួយនេះត្រូវបានរៀបចំឡើងសម្រាប់អ្នកដែលមិនទាន់ស្គាល់ថាអ្វីទៅជា CTF ខ្ញុំនឹងពន្យល់អំពីមូលដ្ឋានគ្រឹះ នៃ CTF ដើម្បីផ្តល់ឱ្យអ្នកយល់ដឹងព័ត៌មានលម្អិត និងយល់ដឹងកាន់តែច្បាស់ អត្ថបទនេះផងដែរក៏ជាព័ត៌មានមួយសម្រាប់លើកទឹកចិត្តអ្នកឱ្យចូលរួមការប្រកួត CTF និងដើម្បីយល់ថាតើការចូលប្រកួតនេះផ្តល់អត្ថប្រយោជន៍អ្វីខ្លះ។ CTFs គឺជាព្រឹត្តិការណ៍ប្រកួតប្រជែងដែលត្រូវបានរៀបចំជាញឹកញាប់នៅតាមសន្និសីទសន្តិសុខបច្ចេកវិទ្យាគមនាគមន៍ និងព័ត៌មាន (Cybersecurity Conferences) ដោយបច្ចុប្បន្ននេះព្រឹត្តិការណ៍បែបនេះត្រូវបានគេរៀបចំកាន់តែច្រើនឡើងៗ ដែលអ្នកអាចធ្វើការចុះឈ្មោះ ប្រកួតអនឡាញតាមបណ្តាវេបសាយមួយចំនួនដូចជា ctftime, picoctf, BSides San Francisco CTF ជាដើម។

CTFs អាចត្រូវបានគេបែងចែកជាពីរប្រភេទគឺ Jeopardy Style និង Attack and Defend Style ពេលនេះខ្ញុំសូមលើកយកតែប្រភេទ Jeopardy Style ដែលវាមានភាពងាយស្រួលយល់ជាង Attack and Defend Style នៅពេលអ្នកចាប់ផ្តើមស្វែងយល់ដំបូងអំពី CTF។ ការប្រកួតប្រភេទនេះគឺមាននូវសំណួរ (Challenges) ជាច្រើនចាប់ពីកម្រិតស្រាលរហូតដល់ពិបាក ដែលតម្រូវឱ្យអ្នកចូលរួមប្រកួតត្រូវមានចំណេះដឹងច្រើនមុខដើម្បីអាចដោះស្រាយសំណួរបាន អ្នកប្រកួត CTF ត្រូវដោះស្រាយនូវសំណួរដើម្បីទទួលបាននូវ ចំលើយ ឬហៅថា “Flag” ដើម្បីទទួលបានពិន្ទុ។ ការចូលរួមប្រកួត CTF អាចចុះឈ្មោះលេងម្នាក់ឯង ឬលេងជាក្រុមដើម្បីដោះស្រាយសំណួរងាយស្រួលមួយចំនួនដោយខ្លួនឯង ឬសហការណ៍គ្នាជាក្រុមដើម្បីដោះស្រាយសំណួរដែលមានកម្រិតពិបាក (ដែលមានពិន្ទុច្រើន)។

ការប្រកួត CTF ជាទូទៅត្រូវបានកំណត់ពេលវេលា ហើយពិន្ទុត្រូវបានសរុបពេលចប់ការប្រកួត អ្នកប្រកួត ឬក្រុមដែលឈ្នះ គឺជាអ្នកដែលបានដោះស្រាយនូវសំណួរបានពិន្ទុច្រើន ដើម្បីការពារពិន្ទុរបស់គេអោយស្ថិតនៅលេខមួយក្នុងតារាងលទ្ធផល។

ខាងក្រោមនេះគឺឧទាហរណ៍ នៃតារាងពិន្ទុការប្រកួត Cyber Sea Game 2015 លើកទី១ នៅកម្ពុជា

CTF ជាញឹកញាប់ត្រូវបានគេបង្កើតសំណួរដោយផ្អែកលើឧប្បត្តិហេតុ ឬភាពងាយរងគ្រោះកំពុងតែកើតមានពិតប្រាកដ ដែលផ្តល់ឱ្យអ្នកនូវឱកាសមួយជាបទពិសោធន៍ អំពីរបៀបដែលអ្នកគួរអនុវត្តន៍ និងរៀបចំខ្លួនការពារប្រព័ន្ធរបស់អ្នកពីប្រភេទនៃការវាយប្រហារទាំងនេះ ដូច្នេះការប្រកួត CTF មិនមែនត្រឹមតែសប្បាយប៉ុណ្ណោះទេ តែអ្នកក៏អាចទទួលបានការចំណេះដឹង បទពិសោធន៍ និងជំនាញផងដែរ។

ការរៀបចំខ្លួនដើម្បីប្រកួត CTF

ប្រសិនបើអ្នកមិនធ្លាប់មានបទពិសោធន៍ ឬមិនធ្លាប់ឆ្លងកាត់ការប្រកួត CTF ពីមុនមកនោះទេសូមកុំទាន់បារម្ភ និងមានគំនិតបោះបង់ចោលការប្រកួត CTF អី ពីព្រោះគន្លឹះនៅក្នុងការវាយប្រហារ (Hacking) គឺត្រូវការភាពអត់ធ្មត់ ទោះជាពេលខ្លះ វាពិតជាពិបាកដែលអ្នកមិនសូវបានយល់អំពីការប្រកួតនេះ ប៉ុន្តែមានវិធីសាស្ត្រដែលអ្នកអាចសិក្សា និងរៀនលេងបានគឺ អ្នកត្រូវបន្តព្យាយាម និងអនុវត្តផ្ទាល់ដោយខ្លួនឯង ដើម្បីទទួលបាននូវចំណេះដឹងថ្មី (សូមតាមដានជាមួយខ្ញុំថាតើអ្នកអាចរៀនអនុវត្តបានដោយរបៀបណា?) ថាមិនត្រូវបន្តិចទៀតអ្នកអាចរកបានពិន្ទុខ្ពស់បំផុតក្នុងការជាប់លេខ១ ក៏ថាបាន ការរៀនលេង CTF អ្នកគួរចាប់ផ្តើមស្វែងរកក្រុម ឬអ្នកដែលមានចំណេះដឹង និងបទពិសោធន៍ ដើម្បីបង្ហាញពីទឹកចិត្តរបស់អ្នកក្នុងការចូលរួមប្រកួត និងសុំចែករំលែកបទពិសោធន៍របស់គេ។

ជាបទពិសោធន៍ផ្ទាល់របស់ខ្ញុំ សមាជិកនៃសហគមន៍ InfoSec តែងតែមានឆន្ទៈក្នុងការចែករំលែកចំណេះដឹងរបស់ពួកគេជាមួយអ្នកដែលចាប់អារម្មណ៍ក្នុងការព្យាយាមរៀនសូត្រ និងរីកចម្រើននៅក្នុងវិស័យនេះ ទន្ទឹមនឹងនេះ ទោះជាយ៉ាងណាក៏ដោយ មុននឹងអ្នកចង់ចង់ឱ្យគេជួយ អ្នកគួរតែជួយខ្លួនឯងជាមុនសិន ដូចជាចំណេះដឹងមូលដ្ឋាន និងស្រាវជ្រាវប្រធានបទ រួមទាំការព្យាយាមអនុវត្តន៍ដោយផ្ទាល់ខ្លួន ព្រោះថាអ្នកដែលមានជំនាញ និងបទពិសោធន៍ ដែលបានដើលើវិថី CTF នេះ គឺពួកគេបានចំណាយពេលវេលាផ្ទាល់ខ្លួនជាច្រើន ក្នុងការស្រាវជ្រាវ ហ្វឹកហាត់និងអនុវត្តន៍ផ្ទាល់ដើម្បីដោះស្រាយនូវសំណួរក្នុងព្រឹត្តិការណ៍ CTF។

ជាចុងក្រោយនេះខ្ញុំសូមណែនាំថានៅពេលដែលអ្នកត្រៀមខ្លួនចូលទៅកាន់ព្រឹត្តិការណ៍ CTF កុំភ្លេចយកកុំព្យូទ័រយួរដៃ ឬកុំព្យូទ័រផ្សេងទៀតដែលមានប្រព័ន្ធប្រតិបត្តិការ (OS) ជាមួយកម្មវិធីជាច្រើន ដែលអាចជួយអ្នកក្នុងការប្រកួត។

ប្រភេទសំណួរដែលមានក្នុង CTF ប្រភេទ Jeopardy Style

Programming
សំណួរប្រភេទនេះជាទូទៅត្រូវការចំណេះដឹងផ្នែកភាសា Programming សម្រាប់ដោះស្រាយសំណួរដើម្បីផ្តល់ឱ្យអ្នកនូវចំលើយ ដែលពេលខ្លះវារួមបញ្ចូលទាំ Programming និង ចំណេះដឹង Reverse Engineering ក្នុងការដោះស្រាយ។

Crypto
សំណួរប្រភេទនេះគឺវាពាក់ព័ន្ធទៅនឹងការធ្វើកូដនីយកម្ម (encryption) ដែលពេលខ្លះសំណួរមាននូវឯកសារមួយដែលបានធ្វើកូដនីយកម្ម ហើយអ្នកត្រូវដោះស្រាយកូដនីយកម្មនោះដើម្បីអាចមើលអក្សរដែលជាចំលើយក្នុងឯកសារនោះ មិនត្រឹមតែប៉ុណ្ណឹងទេជួនកាលជារឿយៗសំណួរអាចត្រូវបានគេបញ្ចូលប្រភេទនៃមេរោគចាប់ជំរិត (Ransomware) ដែលកំពុងតែកើតឡើងថ្មី។

Web
សំណួរប្រភេទនេះគឺជួនកាលអ្នកត្រូវស្វែងរក និងវាយប្រហារលើភាពងាយរងគ្រោះក្នុងបច្ចេកវិទ្យា web ឧទាហរណ៍ អ្នកអាចបញ្ចូល SQL ដើម្បីអាននូវចំលើយ ឬហៅថា “flag.txt” ពីតារាងក្នុង database ឬក៏វិធីសាស្ត្រ directory traversal ដើម្បីរកចំលើយ (“flag.txt”) ក្នុងវេបសាយ នៅមានវិធីជាច្រើនទៀតដូចជា cross-site scripting និង JavaScript ជាដើម។

Digital Forensics
សំណួរប្រភេទនេះ គឺវាមានភាពទូលំទូលាយ ដូចជាការបូកបញ្ជូលគ្នារវាង Forensics និង Crypto, Network Forensic, Hardware/Software Forensic… ដូចនេះ Forensics មានន័យថាជាការធ្វើកោសលវិច័យ ដើម្បីរកភស្តុតាង ឧទាហរណ៍ សំណួរអាចផ្តល់អោយអ្នកឯកសារ .txt មួយដើម្បីអោយអ្នករកភស្តុតាង (ចំលើយ) ពីក្នុងឯកសារនោះ ឬសំណួរផ្តល់អោយអ្នកនូវឯកសារ (.pacp) ដែលជាទិន្នន័យចរាចរណ៍របស់បណ្តាញ ដើម្បីឱ្យអ្នកវិភាគរកនូវឈ្មោះគណនី ពាក្សសំងាត់ ឬឯកសំខាន់ដែលបានបាត់បង់។

Binary Reversing
សំណួរប្រភេទនេះគឺពាក់ព័ន្ធទៅនឹងការធ្វើ reverse-engineering ទៅលើកម្មវិធី ប៉ុន្តែមិនមែនជាកូដដើម (source code) នោះទេ អ្នកត្រូវធ្វើការបំបែកនូវកម្មវិធីនោះ ហើយមើលទៅលើ assembly code (ត្រូវមានចំណេះដឹងភាសា assembly) ដើម្បីស្វែងយល់ថាវាដំណើរការយ៉ាងដូចម្តេច ដែលកម្មវិធីទាំងនោះអាចជាកម្មវិធីដំណើរការនៅលើ Windows ឬ Linux, កម្មវិធី Java និងកម្មវិធីផ្សេង ៗទៀត។ Binary Reversing អាចបែងចែកជាពីរគឺ ទី១ pawning: គឺជាការបំបែកនូវចំនុចខ្សោយនៃកម្មវិធីដើម្បីទទួលបានចំលើយ និងទី២ Crackme: គឺជាស្វែងរកនូវចំលើយនូវក្នុងកម្មវធី ដែលជារឿយៗកម្មវិធីនោះត្រូវមាននូវពាក្យសំងាត់ដើម្បីអាចចូលទៅបាន ដូចនេះអ្នកត្រូវការចំណេះដឹង reverse-engineering ដើម្បីស្វែងរកចំលើយដែលអាចមាននៅក្នុងប្លុក memory ជាដើម។

សរុបសេចក្ដីមក CTF គឺជាឱកាសដ៏ល្អមួយដើម្បីរៀន ជួបជុំ និងចងមិត្តភាពរវាងអ្នកដែលស្រលាញ់ចូលចិត្តផ្នែកសន្តិសុខ បច្ចេកវិទ្យាគមនាគមន៍ និងព័ត៌មាន មិនត្រឹមតែប៉ុណ្ណោះអ្នកប្រសិនបើអ្នកឈ្នះ អ្នកនឹងមានឱកាសច្រើនក្នុងការ ដែលក្រុមហ៊ុនធំៗសំលឹងឃើញពីជំនាញរបស់អ្នកហើយចង់បណ្តុះបណ្តាលអ្នកបន្ថែមក្នុងវីថីសន្តិសុខនេះ។

ខ្ញុំសង្ឃឹមថាតាមរយៈអត្ថបទមួយនេះអ្នកអាចយល់កាន់តែច្បាស់ថាអ្វីទៅជា CTF និងអត្ថប្រយោជន៍របស់វា ដូច្នេះប្រសិនបើអ្នកមិនធ្លាប់ចូលរួមព្រឹត្តិការណ៍ CTF ខ្ញុំសូមលើកទឹកចិត្តអ្នកឱ្យចូលរួម និងធ្វើការចុះឈ្មោះឱ្យបានឆាប់ដើម្បីចំណេះដឹងថ្មីៗ និងមិត្តភ័ក្រដែលស្រលាញ់ និងចូលចិត្តនូវវិស័យនេះ 🙂 ៕

វេបសាយពាក់ព័ន្ធ:
https://www.alienvault.com/blogs/security-essentials/capture-the-flag-ctf-what-is-it-for-a-newbie