Web Timing Attacks ภัยเงียบจากการวัดเวลาตอบสนองของเว็บไซต์ที่แฮกเกอร์ใช้เจาะระบบ

ในโลกของความปลอดภัยทางไซเบอร์ มีเทคนิคหนึ่งที่ดูเหมือนจะเป็นเพียงทฤษฎีมาอย่างยาวนาน แต่ปัจจุบันกลับกลายเป็นเครื่องมือที่ทรงพลังสำหรับผู้ไม่หวังดี นั่นคือ Web Timing Attacks หรือการโจมตีด้วยการวัดเวลาตอบสนอง ซึ่งเป็นการวิเคราะห์ข้อมูลเชิงลึกของเว็บไซต์ผ่านการวัดระยะเวลาที่เซิร์ฟเวอร์ใช้ในการประมวลผลคำขอที่แตกต่างกัน เพื่อค้นหาจุดอ่อนที่ซ่อนอยู่

James Kettle ผู้อำนวยการฝ่ายวิจัยจาก PortSwigger บริษัทผู้เชี่ยวชาญด้านความปลอดภัยของเว็บแอปพลิเคชัน ได้นำเสนอข้อมูลที่น่าตกใจในงาน Black Hat ที่ลาสเวกัส โดยระบุว่าการโจมตีรูปแบบนี้สามารถนำมาใช้งานจริงได้และมีความเสี่ยงสูงกว่าที่เคยคาดคิด

กลไกการทำงานของ Web Timing Attacks

การโจมตีนี้จัดอยู่ในกลุ่ม Side Channel Attacks ซึ่งเป็นการดึงข้อมูลจากคุณสมบัติทางกายภาพหรือพฤติกรรมของระบบ แทนที่จะเป็นการเจาะผ่านช่องโหว่ของซอฟต์แวร์โดยตรง โดยแฮกเกอร์จะส่งคำขอไปยังเว็บไซต์และวัดเวลาที่ใช้ในการตอบกลับ หากมีความแตกต่างของเวลาเพียงเล็กน้อย ข้อมูลนั้นอาจบ่งบอกถึงโครงสร้างภายในหรือข้อผิดพลาดในการเขียนโค้ดที่มองไม่เห็นได้

การก้าวข้ามอุปสรรคด้วย HTTP/2

ปัญหาใหญ่ของการวัดเวลาคือ Network Jitter หรือความผันผวนของสัญญาณเครือข่ายที่ทำให้เวลาในการรับส่งข้อมูลไม่คงที่ ซึ่งมักทำให้ผลการวัดคลาดเคลื่อน อย่างไรก็ตาม งานวิจัยเรื่อง “Timeless Timing Attacks” ในปี 2020 ได้เสนอทางออกโดยใช้โปรโตคอล HTTP/2

ด้วยคุณสมบัติของ HTTP/2 แฮกเกอร์สามารถส่งคำขอสองรายการไปในแพ็กเก็ต TCP เดียวกัน เพื่อให้มั่นใจว่าคำขอทั้งคู่ถึงเซิร์ฟเวอร์พร้อมกัน และเนื่องจากการออกแบบของโปรโตคอลนี้ คำตอบจะถูกส่งกลับมาตามลำดับความเร็วในการประมวลผล (คำขอที่เสร็จก่อนจะถูกส่งกลับมาก่อน) ทำให้ได้ข้อมูลเวลาที่แม่นยำและเชื่อถือได้โดยไม่ต้องทราบรายละเอียดภายในของเซิร์ฟเวอร์เป้าหมาย

Image 6

ช่องโหว่ 3 ประเภทที่ถูกเปิดโปง

James Kettle ได้ทดสอบเทคนิคนี้กับเว็บไซต์จริงกว่า 30,000 แห่งที่มีโปรแกรม Bug Bounty (โครงการให้รางวัลแก่ผู้ที่ค้นพบช่องโหว่) และพบว่าสามารถใช้ตรวจจับจุดอ่อนสำคัญได้ 3 กลุ่ม ดังนี้:

  • ข้อผิดพลาดในการเขียนโค้ดที่มองไม่เห็น: การรั่วไหลของข้อมูลผ่านเวลาประมวลผลช่วยให้พบจุดบกพร่องที่นักพัฒนาทั่วไปมักมองข้าม
  • Server-side Injection: ช่องโหว่ที่เปิดโอกาสให้ผู้โจมตีส่งคำสั่งอันตรายเข้าไปในระบบ เพื่อเข้าถึงข้อมูลที่ไม่ได้รับอนุญาต
  • Misconfigured Reverse Proxies: การตั้งค่า Reverse Proxy (เซิร์ฟเวอร์ตัวกลางที่รับคำขอแทนเซิร์ฟเวอร์หลัก) ที่ผิดพลาด ซึ่งอาจทำให้แฮกเกอร์สามารถข้ามผ่าน Web Application Firewall (WAF) และเข้าถึงระบบภายในได้โดยตรง
สรุปผลกระทบและเทคนิคของ Web Timing Attacks
หัวข้อ รายละเอียด ผลกระทบ/ประโยชน์
เทคนิคหลัก วัดเวลาตอบสนองของเซิร์ฟเวอร์ผ่าน HTTP/2 ลดสัญญาณรบกวน (Network Jitter) ทำให้ผลแม่นยำ
เป้าหมายการโจมตี Reverse Proxy และการเขียนโค้ดภายใน สามารถ Bypass Firewall ของเว็บไซต์ได้
เครื่องมือที่ใช้ Param Miner (Extension ของ Burp Suite) ช่วยให้ผู้เชี่ยวชาญตรวจพบช่องโหว่ได้ง่ายขึ้น

ข้อเท็จจริงสำคัญ

  • Web Timing Attacks ไม่ใช่แค่ทฤษฎี แต่สามารถนำมาใช้โจมตีเว็บไซต์ในโลกจริงได้อย่างมีประสิทธิภาพ
  • HTTP/2 เป็นกุญแจสำคัญที่ทำให้การวัดเวลาแม่นยำขึ้นจนเกิดเทคนิค "Timeless Timing Attacks"
  • การตั้งค่า Reverse Proxy ที่ผิดพลาดเป็นช่องทางหลักที่ทำให้แฮกเกอร์ข้ามผ่านระบบป้องกัน (Firewall) ได้
  • มีการรวมฟีเจอร์เหล่านี้เข้ากับเครื่องมือ Param Miner เพื่อช่วยในการป้องกันและตรวจสอบช่องโหว่

คำถามที่พบบ่อย

Web Timing Attack คืออะไร?

คือการโจมตีทางไซเบอร์ที่ใช้วิธีวัดระยะเวลาที่เซิร์ฟเวอร์ใช้ในการประมวลผลคำขอ เพื่อวิเคราะห์หาข้อมูลลับหรือจุดอ่อนในระบบจากความแตกต่างของเวลาเพียงเล็กน้อย

Network Jitter ส่งผลอย่างไรต่อการโจมตีนี้?

Network Jitter คือความไม่คงที่ของเวลาในการส่งข้อมูลผ่านเครือข่าย ซึ่งปกติจะทำให้การวัดเวลาตอบสนองของเซิร์ฟเวอร์คลาดเคลื่อนและทำได้ยากในทางปฏิบัติ

ทำไม HTTP/2 ถึงทำให้การโจมตีนี้มีประสิทธิภาพมากขึ้น?

เพราะ HTTP/2 อนุญาตให้ส่งหลายคำขอในแพ็กเก็ตเดียวและส่งคำตอบกลับตามลำดับความเร็วในการประมวลผล ทำให้ผู้โจมตีทราบได้ทันทีว่าคำขอใดใช้เวลามากกว่ากันโดยไม่ต้องกังวลเรื่องความล่าช้าของเครือข่าย

การตั้งค่า Reverse Proxy ที่ผิดพลาดนำไปสู่อันตรายอย่างไร?

หาก Reverse Proxy ถูกตั้งค่าไม่ถูกต้อง แฮกเกอร์สามารถใช้ Timing Attack เพื่อค้นหาเส้นทางลัดที่ทำให้สามารถข้ามผ่าน Web Application Firewall (WAF) และเข้าถึงส่วนที่เปราะบางของระบบได้

เราจะป้องกันหรือตรวจหาช่องโหว่เหล่านี้ได้อย่างไร?

สามารถใช้เครื่องมืออย่าง Param Miner ซึ่งเป็นส่วนเสริมของ Burp Suite ในการสแกนหาช่องโหว่ที่เกิดจากการวัดเวลา เพื่อให้ผู้ดูแลระบบสามารถแก้ไขจุดบกพร่องก่อนที่จะถูกโจมตีจริง