ได้เข้าฟังบรรยายสาธารณะเรื่อง กระบวนการแสวงหาและพิสูจน์พยานหลักฐานดิจิทัลเชิงเทคนิค (กิตติพงษ์ ปิยะวรรณโณ) ที่จัดโดย เครือข่ายพลเมืองเน็ต ไอลอว์ และ ศูนย์ทนายความเพื่อสิทธิมนุษยชน มีคำศัพท์เทคนิคหลายคำที่คาดว่าผู้ร่วมฟังบรรยายที่ไม่มีพื้นความรู้น่าจะแอบสงสัยอยู่บ้างว่ามันเป็นอย่างไรกันแน่
ในช่วงหนึ่งของการบรรยาย ผู้บรรยายพูดถึงเรื่อง วิธีการกระทำความผิด ซึ่งมีหัวข้อย่อยดังนี้
- Social Hacking
- Brute Force Attack
- Distributed Denied of Service (DDoS)
- Sniffing
- SQL Injection
- Cross Site Scripting (XSS)
- Session Hijacking
- Man in the Middle
Social Hacking
เป็นกระบวนการกระทำความผิด โดยอาศัยความไม่รอบคอบ ความไม่รู้ทางเทคนิคของผู้ใช้งาน หรือที่ผู้บรรยายใช้คำว่า Human Error เป็นช่องทางในการกระทำความผิด ยกตัวอย่างเช่น การสร้างหน้าเว็บไซต์ปลอม ที่หลอกให้เหยื่อกรอกชื่อผู้ใช้ และรหัสผ่าน ในแบบฟอร์มหลุมพรางที่เตรียมไว้
Brute Force Attack
เป็นกระบวนการทดลองสุ่มรหัสผ่านไปเรื่อยๆ เช่น ผู้กระทำความผิดตั้งสมมติฐานว่าเหยื่อสร้างรหัสผ่านเป็นตัวเลข จำนวน 4 ตัว ก็จะทำการทดลองรหัสตั้งแต่หมายเลข 0000, 0001, 0002 ไปจนถึง 9999 จนกว่าจะสามารถโจมตีได้ในที่สุด ซึ่งการทำงานในลักษณะนี้ มักใช้ Robot ในการทำงาน และมักใช้โจมตีเครื่องคอมพิวเตอร์แม่ข่าย
Distributed Denied of Service (DDoS)
เป็นการเข้าใช้งานพร้อมกันในปริมาณมหาศาล จนทำให้ระบบไม่สามารถตอบสนองความต้องการได้ และหยุดการทำงานไปในที่สุด หากจะยกตัวอย่างให้เห็นภาพได้ชัดเจนมากขึ้น เช่น เว็บไซต์แห่งหนึ่ง มีความสามารถรองรับปริมาณคนเข้าชมเว็บไซต์ได้สูงสุด 500 requests ต่อวินาที หากมีการเข้าใช้งานมากกว่านี้ระบบจะทำงานช้าลง จนถึงขั้นหยุดทำงาน และไม่ตอบสนองกลับมา
โดยปกติแล้ว แต่ละ request จะมีขั้นตอนการทำงาน (1) รับข้อมูล request (2) แปลผลและเรียกใช้คำสั่ง SQL (3) ส่งข้อมูล ในรูปแบบเว็บเพจ กลับออกไปให้ผู้ใช้ ซึ่งการทำ DDoS ฝ่ายผู้กระทำความผิดไม่ประสงค์จะรับข้อมูลใด เพียงแค่ส่ง request เข้ามาในปริมาณมาก เพื่อตั้งใจให้ระบบทำงานหนักและหยุดทำงานในที่สุด
Sniffing
กระบวนการ Sniffing คือการแฝงตัวเข้าไปอยู่ในระบบเน็ตเวิร์ค แล้วคอยดักข้อมูลการจราจร ว่ามีใครเปิดเว็บไซต์อะไร หรือส่งข้อความอะไร ภายในเครือข่ายที่แฝงตัวอยู่ ซึ่งอาจจะมีชื่อผู้ใช้ และรหัสผ่าน ติดมาด้วย ทั้งนี้การดักข้อมูล Sniffing จะเกิดขึ้นกับเว็บไซต์ที่ไม่ได้ใช้งานการเข้ารหัส (HTTPS)
SQL Injection
ในปัจจุบันการสร้างเว็บไซต์จะประกอบด้วยข้อมูล 2 ส่วน ได้แก่ (1) ส่วนโครงสร้างเว็บไซต์ ความสวยงามต่างๆ และ (2) ส่วนของฐานข้อมูล ซึ่งการทำงานร่วมกับฐานข้อมูล จะต้องใช้คำสั่ง SQL (Structured Query Language) ในการทำงาน สำหรับคำสั่ง SQL เป็นโครงสร้างคำสั่งพื้นฐาน เช่น Select, Insert, Update หรือ Delete จากตารางข้อมูลที่กำหนดไว้ ซึ่งในบางครั้ง ผู้จัดสร้างเว็บไซต์เขียนแบบฟอร์มสำหรับรับข้อมูลไม่รัดกุมเพียงพอ อาจเกิดความพยายามส่งคำสั่ง SQL แทรกเข้าไปในระบบ
ตัวอย่างเช่น การกรอกฟอร์ม ชื่อผู้ใช้ และรหัสผ่าน เพื่อเข้าใช้งานเว็บไซต์ โดยทั่วไปจะมีชุดคำสั่งอยู่เบื้องหลัง เช่น
SELECT * FROM user WHERE username='admin' AND password='password'
ความหมายของคำสั่งข้างต้น คือการเรียกดูข้อมูล ว่ามีชื่อผู้ใช้และรหัสผ่าน ตามที่ผู้ใช้งานกรอกมาหรือไม่ และถ้าหากลองเปลี่ยนคำว่า password เป็น something' or '1' = '1 จะได้เป็นชุดคำสั่งใหม่ ดังนี้
SELECT * FROM user WHERE username='admin' AND password='something' or '1' = '1'
ซึ่งในลักษณะนี้ ผู้สร้างเว็บไซต์จะต้องระวัง ไม่อนุญาตให้มีการใส่เครื่องหมายพิเศษ ลงในช่องกรอก ชื่อผู้ใช้ หรือ รหัสผ่าน เพื่อเข้ามาโจมตีระบบ เป็นต้น การกระทำ SQL Injection จะสามารถขยายไปถึงการกระทำผิดในลักษณะอื่นต่อไป
Cross Site Scripting (XSS)
เป็นการฝังคำสั่งอันตรายจากเว็บไซต์ภายนอก โดยอาศัยช่องโหว่ของการเรียกใช้งาน JavaScript ในเว็บไซต์ ซึ่งโดยปกติ JavaScript เข้ามาช่วยเติมความสามารถให้กับหน้าเว็บไซต์ เช่นการอัพเดทข้อมูลใหม่ๆ โดยที่ผู้ใช้งานไม่ต้องกดปุ่ม Reload หรือการแก้ไขข้อมูลโดยไม่ต้องโหลดข้อมูลทั้งหน้าเว็บ แต่ด้วยความยืดหยุ่นของคำสั่ง JavaScript ทำให้ระบบอนุญาตให้เรียกโค้ดคำสั่งจากเว็บไซต์ภายนอก เพื่อความสะดวกในการทำงาน ซึ่งหากผู้กระทำความผิด สามารถส่งคำสั่ง JavaScript เข้ามาในเว็บไซต์ผ่านทางช่องพิมพ์ข้อความ หรือ สามารถเข้าถึงตัวโครงสร้างเว็บไซต์ เมื่อผู้ใช้งานเรียกเปิดหน้าเว็บไซต์ที่มีโค้ดอันตรายก็จะดำเนินการตามคำสั่งอันตรายที่เตรียมไว้ได้ทันที
Session Hijacking
โดยทั่วไป การเข้าใช้งานเว็บไซต์ หลังจากใส่ข้อมูลชื่อผู้ใช้ และ รหัสผ่าน ได้ถูกต้อง ระบบจะมีการสร้างชุดข้อมูล (Session) ขึ้นมา เก็บอยู่ในเว็บเบราว์เซอร์ เพื่อใช้เป็นคำสั่งอ้างอิงในการเข้าใช้งาน โดยตัวคำสั่ง Session จะถูกลบทิ้ง เมื่อผู้ใช้งานลงชื่ออกจากระบบ (Log out) ทั้งนี้ หากมีผู้ไม่ประสงค์ดี สามารถเข้ามาอยู่ในระบบเครือข่าย แล้วทำการดักข้อมูล (Sniffing) ก็อาจจะได้ข้อมูล Session โดยไม่จำเป็นต้องรู้ รหัสผ่าน แล้วนำไปสวมสิทธิ เข้าใช้งานแทนผู้ใช้งานที่แท้จริงต่อไป
Man in the Middle
แปลความแบบตรงตัวคือ บุคคลตรงกลาง ในที่นี้คือระหว่างผู้ใช้งาน กับเว็บไซต์ปลายทาง การทำความผิดลักษณะนี้จะทำตัวเองเหมือนเว็บไซต์ ที่ผู้ใช้ต้องการเข้าใช้งาน ซึ่งอาจเกิดขึ้นได้ในหลายลักษณะ เช่น การโจมตีเครือข่าย DNS (Domain Name System ระบบเก็บข้อมูลชื่อโดเมน เพื่อแปลงเป็นหมายเลข IP ประจำเครื่องเซิร์ฟเวอร์ที่เก็บข้อมูล) เพื่อเปลี่ยนหมายเลข IP ของเว็บไซต์จริง ไปยังเครื่องที่ปลอมแปลงขึ้นมา หรืออาจจะใช้วิธีปลอมแปลงใบรองรับ HTTPS เพื่อดักข้อมูลที่ผ่านเข้ามา ทั้งนี้ผู้ใช้งานสามารถสังเกตจากคำเตือนในเบราเซอร์ และควรหลีกเลี่ยงไม่ควรใช้งาน จนกว่าจะปลอดภัย