Web defacement เป็นอีกหนึ่งมหันตภัยร้ายทางไซเบอร์ที่หลาย ๆ บริษัทยังคงกังวล และหวาดกลัว ซึ่งถูกโจมตีโดยพวกแฮกเกอร์ซึ่งทำการเบรคเว็บเซิร์ฟเวอร์ และทำการยึดเว็บไซต์โดยใช้เทคนิคเช่น phishing การเขียนสคริปต์ข้ามไซต์ และการแอบเขียน code เป็นต้น เป้าหมายการโจมตีหลัก ๆ จะเป็บเว็บไซต์ที่เกี่ยวกับศาสนา รัฐบาล ธนาคาร หรือการเงิน และองค์กรใหญ่ ๆ

ในปัจจุบันก็ยังไม่มี Software Hardware หรือแม้แต่ Solution ใด ๆ ที่จะป้องกันได้ 100% จากปัญหานี้ แต่ว่ายังมีมาตรการที่สามารถป้องกัน หรือบรรเทาปัญหาได้

โดยความนี้จะมานำเสนอ 5 วิธีที่จะช่วยป้องกันและบรรเทาปัญหา Web defacement

1. ตรวจสอบระบบความปลอดภัยอย่างสม่ำเสมอ

Checking web defacement

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

2. ป้องกันตัวเองจากการโจมตี SQL

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

หลาย ๆ เว็บ หรือ application นำผู้ใช้ป้อนข้อมูลจากแบบฟอร์ม และใส่ข้อมูลผู้ใช้งานเข้า SQL โดยตรงด้วย application ตัวอย่างต่อไปนี้จะเป็น Case study ในเชิงลบเมื่อแฮกเกอร์สมารถเข้าถึง email ลีด ได้อย่างง่ายดายที่จะโจมตี SQL 

$result = $mysqli->query(‘SELECT email, userid FROM members WHERE email = “‘.$email.’”)’;

protect SQL form web defacement

คุณสามารถป้องกันง่าย ๆ โดยใช้วิธีผูกตัวแปลไว้บน libraries อนุญาตให้คุณผูกกับตัวแปรภายในคำสั่ง SQL เช่นในตัวอย่าง PHP นี้

$stmt = $mysqli->prepare(“SELECT email, userid FROM members WHERE email = ?;”);

$stmt->bind_param(“s”, $email);

$stmt->execute();

วิธีนี้เวิร์คเพราะว่าค่าพารามิเตอร์จะถูกรวมเข้ากับคำสั่งที่คอมไพล์ไม่ใช่สตริง SQL โดยการระบุพารามิเตอร์ (โดยใช้?) คุณจะบอกเอ็นจิ้นฐานข้อมูลว่าควรกรองอะไรแต่วิธีป้องกันที่ดีที่สุดคือหลีกเลี่ยงการเจน SQL แบบ dynamically ลงไปใน code

นอกจากนี้ยังมีที่อื่นที่ต้องตรวจการป้อนข้อมูลได้แก่

  • จำกัดการป้อนข้อมูลเฉพาะอักขระที่ยอมรับได้: เช่น ตัวอักษรในฟิลด์ตัวเลข?
  • รายการที่อนุญาต: เช่น / [a-zA-Z0-9] {0,20} /, ชุดของค่าที่เป็นไปได้ (ถ้ามี)
  • ตรวจสอบความยาว: เช่น 10 หลักสำหรับเขตข้อมูล 4 หลักปี?

3. ป้องกันตัวเองจากการโจมตี Cross-Site Scripting (XSS)

เมื่อแฮกเกอร์พยายามผ่าน scripting code เข้ามาในเว็บเพื่อที่จะรัน code ที่ไม่สามารถระบุตัวตนได้บนเว็บไซต์ มันจะฝัง scripting code ที่สามารถแสดงการกระทำที่ไม่สามารถระบุตัวตนได้ประกอบด้วย เปลี่ยนหน้าตาของเว็บเพจ ขโมย Session Cookies ของผู้ใช้งานในเว็บ หรือถูกโจมตีแบบ XSS

เพื่อที่จะป้องกัน XSS Attacks คุณต้องป้องกันผู้ใช้งานจากการใส่ code ผ่านเว็บฟอร์ม ซึ่งหนึ่งในวิธีแก้ไขที่ดีที่สุดคือ เข้ารหัสเอาท์พุทอย่างถูกต้อง

  • Encode HTML Output 
  • ถ้าข้อมูลมาจากผู้ใช้ ฐานข้อมูล หรือไฟต์
  • ประสิทธิภาพแม้จะไม่ 100% แต่ก็สามารถปิดช่องโหว่ได้มากที่สุดเท่าที่เป็นไปได้
  • Encode URL Output
  • ถ้าเกิดว่ามีเงื่อนไข URl กลับมา

การตรวจสอบ input เป็นสิ่งที่สำคัญ เช่นเดียวกับป้องกัน SQL อีกทั้งยังปลอดภัยมากขึ้นด้วยคำสั่งพิเศษเช่น < > ” ‘ and =. เป็นต้น

Cross-Site-Scripting-XSS Web defacement

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

ยังมีอีกทางนึงที่ดีเช่นเดียวกันนั่นคือใช้ Web Application Firewalls (WAF) เพราะมันสามารถเช็คได้ว่ามี input อะไรที่เป็นอันตราย สามารถ fiter output ที่เป็นอันตราย และบล็อกคำขอที่น่าส่งสัยได้

4. ใช้เครื่องมือตรวจสอบและตรวจจับ Web defacement

การโจมตีเว็บไซต์ทำให้ส่งผลกระทบต่อองค์กรด้วยการใช้เวลาที่สั่นในการสร้างความเสียหาย เครื่องมือที่สามารถตรวจสอบ และแจ้งเตือนเมื่อมีเคสเกิดขึ้นเป็นหนึ่งใน Solution ที่ดีที่จะตรวจจับทุก defacement และการแจ้งเตือนต่าง ๆ หรือไม่ก็เหตุการณ์ที่ไม่สามารถระบุตัวตนได้บนเว็บของคุณได้ แต่ต้องแน่ใจว่าเครื่องมือที่ใช้ หรือการกำหนดค่านั้นจะสามารถแจ้งเตือน หรือ monitoring ได้อย่างมีประสิทธิภาพ ทั้งแบบเต็มเว็บไซต์ และบางส่วนที่เกี่ยวข้องกับ HTML รวมถึงไฟต์ภาพต่างๆด้วย

5. ตั้งทีมเตรียมพร้อมรับมือกับเหตุการณ์ที่จะเกิดขึ้น

หากเว็บไซต์เกิดถูกลบขึ้นมา เราจะทำยังงัยกันดีล่ะ ? เครื่องมือที่ใช้แจ้งเตือนก็เพียงแค่ทำให้รู้ว่าเว็บไซต์กำลังถูกโจมตีนะ แต่ไม่ได้ตอบโต้กลับเพราะฉะนั้นจะต้องมีมาตรการตอบโต้ และทำให้แน่ใจว่าคุณมีบุคคลากรที่เหมาะสมสำหรับการแก้ไขปัญหา Web defacement ทีมเทคนิคจะมีผู้จัดการด้านความปลอดภัยทางไซเบอร์ นักพัฒนาเว็บ / นักพัฒนาเว็บ และทีมงานเว็บเซิร์ฟเวอร์ ซึ่งทำให้การสื่อสารเป็นสิ่งที่สำคัญการเพื่อรักษาชื่อเสียงให้กับองค์กร

เพื่อความปลอดภัย เว็บเซิร์ฟเวอร์ที่ถูกโจมตีควรใช้ช่องทางออฟไลน์ในการสื่บสวน ปละหาหลักฐานอย่างละเอียด บางทีแฮกเกอร์อาจจะเจาะลึกไปยังแอพพลิเคชั่นเซิร์ฟเวอร์ หรือ database เป็นต้น นอกจากนี้บริษัทยังสามารถเตรียมการแลดูรักษาเว็บเพจ หรือใช้ Restoner ซึ่งเป็นการสร้างแบบจำลองการแก้ไขปัญหาหากเว็บถูกโจมตี

สรุป Website defacement ส่งผลกระทบทำให้ข้อมูลที่มีค่า และความเป็นส่วนตัวของผู้ใช้งาน สูญเสียเงินเป็นจำนวนมากรวมทั้งเวลาอีกด้วย เพราะฉะนั้นกันไว้ดีกว่าแก้จะดีที่สุด นอกจากนี้ควรที่จะ backup file หากเหตุเหตุการณ์ที่ไม่คาดคิดขึ้น และเตรียมขอความช่วยเหลือจากบริษัทที่ให้บริการด้านความปลอดภัยที่มีความชำนาญเพื่อสามารถตรวจจับ และกู้คืนข้อมูลได้อย่างทันท้วงที

Updateข้อมูลด้านCyber Securityได้ก่อนใครที่นี้ !!