"Zero-day" หรือ "0-day" เป็นคำที่ปรากฏอย่างแพร่หลายในแวดวงด้าน ความปลอดภัยทางไซเบอร์ (Cybersecurity) ความหมายของคำนี้ หากมองลึกไปถึงแก่นแท้ของมันแล้วก็คือ "ข้อบกพร่อง" ของซอฟต์แวร์ หรือฮาร์ดแวร์ที่ทำให้เกิดช่องโหว่ แต่ประเด็นน่าสนใจที่ตามมา คือ "ช่องโหว่ Zero-day" มันต่างจากช่องโหว่ธรรมดาทั่วไปอย่างไร ? บทความนี้เราจะมาอธิบายเรื่อง "Zero-day" เพื่อให้คุณรู้จักกับคำ ๆ นี้กันมากขึ้น
ภาพจาก : https://www.americanbanker.com/zeroday
Zero-day แปลว่า 0 วัน หากนี่เป็นวิชาภาษาอังกฤษ บทความนี้ก็คงจบแค่ในบรรทัดนี้ แต่น่าเสียหายที่มันไม่ใช่
ก่อนอื่น เรามารู้จักคำว่า "ช่องโหว่" กันก่อน จริงๆ แล้วมันคือ "ข้อบพร่อง หรือข้อผิดพลาด" ใด ๆ ก็ตามที่แฮกเกอร์สามารถใช้มันในการโจมตีระบบได้ แต่ถ้าช่องโหว่นั้นเป็นช่องโหว่ใหม่ที่เพิ่งถูกค้นพบ มันหมายความว่านักพัฒนาซอฟต์แวร์จะมีเวลาในการแก้ไขหาทางปิดช่องโหว่ดังกล่าวเหลือแค่เพียง "Zero-day" หรือ "0 วัน" เท่านั้น
การใช้คำว่า Zero-day จะมีคำที่ควบคู่ตามมาด้วย ซึ่งมีความหมายแตกต่างกัน ดังต่อไปนี้
ในความเป็นจริงแล้ว จะเรียกว่าเป็นธรรมชาติของตัวซอฟต์แวร์เลยก็ได้ ที่จะถูกค้นพบช่องโหว่ด้านความปลอดภัยให้แฮกเกอร์ใช้โจมตีอยู่เป็นประจำ เพราะภายในซอฟต์แวร์นั้นประกอบไปด้วยโค้ดคำสั่งจำนวนมากหลายล้านตัวอักษร หลายล้านบรรทัด อย่าง ชุดโปรแกรม Microsoft Office นี่ก็มีอย่างน้อย 30,000,000 บรรทัด การจะตรวจสอบจนมั่นใจได้ว่าไม่มีบรรทัดไหนเลยที่มีข้อผิดพลาดจึงเป็นไปได้ยากมาก ทางออก คือ ผู้พัฒนาจะหมั่นตรวจสอบหาช่องโหว่ภายในโค้ดเป็นระยะไปเรื่อย ๆ เพื่อออกแพทช์ปรับปรุงออกมาให้อัปเดต ตลอดระยะเวลาที่ซอฟต์แวร์ยังอยู่ในช่วงที่ได้รับการสนับสนุนอยู่
อย่างไรก็ตาม บ่อยครั้งที่ นักเจาะระบบ หรือ แฮกเกอร์ (Hacker) มักจะเป็นผู้ที่ค้นพบช่องโหว่ก่อนที่ผู้พัฒนาจะไหวตัวทัน ในช่วงเวลาดังกล่าวที่ช่องโหว่ยังเปิดโล่งโจ้งอยู่ แฮกเกอร์ก็จะสร้างโค้ดใหม่ขึ้นมาเพื่อหาประโยชน์จากช่องโหว่ดังกล่าว หรือที่เรียกกันว่าการ Exploit code
Exploit Code จะถูกใช้เป็นเหมือนใบเบิกทางในการทำอาชญากรรมไซเบอร์ได้หลากหลายวิธี อาจจะลงมือด้วยตนเอง, ส่งมัลแวร์ไปบุก, สร้างฐาน บอตเน็ต (Botnet) หรือนำช่องโหว่ไปวางจำหน่ายบน เว็บมืด (Dark Web)
เมื่อช่องโหว่เริ่มเป็นที่รู้จัก ผู้พัฒนาจะพยายามหาทางปิดช่องโหว่เพื่อหยุดการโจมตี อย่างไรก็ตาม การปิดช่องโหว่ก็ไม่ใช่เรื่องง่าย เพราะจำเป็นต้องใช้เวลาค้นคว้าว่าการโจมตีที่เกิดขึ้นได้เพราะช่องโหว่อะไร มีองค์ประกอบอะไรที่เกี่ยวข้องบ้าง ซึ่งมันอาจจะใช้เวลาไม่กี่วัน จนถึงเป็นเดือนเลยด้วยซ้ำไป กว่าที่นักพัฒนาจะสามารถพัฒนาแพทช์แก้ไขได้สำเร็จ และที่น่ากลัว คือ ไม่ใช่ว่าผู้ใช้ทุกคนที่จะยอมอัปเดตแพทช์ อาจจะด้วยความไม่รู้, ไม่สะดวก หรือไม่อยากอัปเดตก็ไม่อาจทราบได้
Zero-day Attack เกิดขึ้นเมื่อแฮกเกอร์พบช่องโหว่ในซอฟต์แวร์ หรือฮาร์ดแวร์ หลังจากสร้าง Exploit code ได้แล้ว แฮกเกอร์ก็จะเริ่มโจมตีด้วยวิธีการต่าง ๆ นา เมื่อการโจมตีเกิดขึ้น ผู้พัฒนาก็รู้สึกตัวแล้วรีบหาทางแก้ไข ทั้งหมดนี้สามารถแบ่งไทม์ไลน์ออกได้ดังนี้
ภาพจาก : https://www.indusface.com/blog/prevent-zero-day-attacks/
ผู้ที่อยู่เบื้องหลังของการทำ การโจมตีแบบ Zero-day มีอยู่หลายประเภท ขึ้นอยู่แรงจูงใจ ตัวอย่างที่พบเจอได้บ่อย ๆ ก็อย่างเช่น
ช่องโหว่นั้นสามารถเกิดขึ้นได้ทั้งในซอฟต์แวร์ และฮาร์ดแวร์ ทำให้เป้าหมายของแฮกเกอร์ที่ต้องการทำ Zero-day Exploit นั้นมีขอบเขตกว้างพอสมควร แต่ส่วนใหญ่เป้าหมายจะคล้ายคลึงกัน คือ เป็นสิ่งที่แพร่หลายมีผู้ใช้งานเป็นจำนวนมาก และสามารถใช้เป็นประตูเพื่อเปิดทางไปสู่การขโมยข้อมูลที่มีค่าได้ โดยมากก็จะประกอบไปด้วย
หัวข้อสุดท้ายก่อนจะจบบทความ เรามาร่ำลากันด้วยวิธีป้องกันตัวจาก การโจมตีแบบ Zero-day เพื่อให้ข้อมูลส่วนตัว หรือข้อมูลที่สำคัญในคอมพิวเตอร์ของเราได้รับการปกป้องไม่ให้ถูกโจมตีได้ง่าย ๆ
|
แอดมินสายเปื่อย ชอบลองอะไรใหม่ไปเรื่อยๆ รักแมว และเสียงเพลงเป็นพิเศษ |