Cảnh báo Viruses khi tải theme & plugin và hướng dẫn quét VirusTotal

Cảnh báo Viruses khi tải theme & plugin và hướng dẫn quét VirusTotal

1. Vì sao theme, plugin bị cảnh báo Viruses?

Có 2 trường hợp khi Theme, Plugins bị cảnh báo Viruses:

  • Theme, Plugin đã bị chèn mã độc và mã độc này bị các phần mềm AV phát hiện, mã độc này thường do hacker cài vào bản gốc của theme, plugin rồi phát tán lại trên mạng.
  • Theme, Plugin không hề có mã độc, nhưng chứa một số đoạn mã bị hiểu nhầm là Viruses.

– Những nguyên nhân chính xảy ra việc này:

*  Theme, Plugin có code Base64

Tác giả sử dụng phương thức mã hóa Base64, mã hóa Base64 là phương thức mã hóa nhằm giúp truyền tải dữ liệu trên mạng dễ dàng hơn.

Base64 trước đây chủ yếu được sử dụng trong việc mã hóa và truyền tải email vì giao thức SMTP không cho phép gởi file trực tiếp. Hiện nay Base64 đã sử dụng rộng rãi hơn: dùng mã hóa các tập tin đa phương tiện (hình ảnh, âm thanh, video,…) ứng dụng vào việc truyền tải hình ảnh trên website.

Vì hầu hết các đoạn mã độc đều được hacker dùng base64 che dấu, nên các phần mềm diệt Viruses và các công cụ check Theme/ Plugin thường ‘mẫn cảm’ với code đã mã hóa Base64 trong theme, plugin.

Thực tế, rất nhiều theme, plugin vẫn đang sử dụng base64 để mã hóa một số đoạn code vì thế mạnh của nó khi truyền tải dữ liệu trên mạng. Tuy nhiên, đôi khi các đoạn mã này bị cảnh báo nhầm là Viruses và tác giả phải chỉnh sửa lại cho vừa lòng các AV Software.

  • Trường hợp này đã từng xảy ra ở Bloom Opt-in của ElegantThemes năm 2017 (VHW từng bị nghi ngờ là bán plugin chứa mã độc cũng vì cái Bloom này).
  • Đầu năm 2018, plugin MTS Social Locker của MTS cũng gặp tình trạng tương tự và tác giả phải tung ra bản update nhanh để khách hàng an tâm sử dụng.
  • Hay cuối năm 2018, hàng loạt theme bị cảnh báo Viruses vì tích hợp Revolution Slider, nguyên nhân là Revolution Slider phiên bản 5.4.8.1 có một file JS dùng mã hóa Base64 và bị hiểu nhầm là viruses.

Tai nạn của Revolution Slider gây nhiều mệt mỏi cho các tác giả theme vì có hàng nghìn nhà phát triển tích hợp plugin nào vào theme dưới dạng Developer License.

Tất nhiên sau cảnh báo của hàng loạt người dùng vì bị báo viruses khi tải theme từ chính Server của tác giả và Themeforest, plugin Rev cũng update nhanh chóng để các nhà phát triển theme tích hợp bản để người dùng an tâm sử dụng.

Với các tác giả ‘lười’ update Themes, thì họ vẫn để Revolution Slider bản cũ và hiện nay chúng ta vẫn còn gặp tình trạng nhiều theme khi tải về bị cảnh báo viruses, như trường hợp của Schule theme đề cập ở cuối bài này.

2. False Positive vì Minify code JS

Minify là kỹ thuật ‘tối giản code’, áp dụng cho code HTML và JS rất phổ biến, minify một đoạn code là xóa các khoản trống trong code nhằm giảm size của file code, nhờ đó tăng tốc độ tải.

Kỹ thuật minify áp dụng thường xuyên khi dùng các plugin tăng tốc caching như WP-Rocket, W3 Total Cache, LiteSpeed Cache hay SwiftPerformance…

Minify JS

Minify cũng thường khiến một số đoạn code JS bị nghi là có ‘hành vi viruses’, vì khi quét virus các phần mềm AV quét nguyên file minify chứ không thể bung trở lại với các khoản trống trước khi tối ưu được.

Nếu gặp trường hợp này, tác giả phải sửa lại bằng cách thêm các phương thức xác thực giá trị – thêm các điều kiện thực thi… nói chung là nhiều trường hợp khác nhau.

Làm sao để sau khi minify, đoạn code đó không còn dấu hiệu của ‘hành vi giống virus’ nữa (xem trường hợp của Redux Framework bên dưới).

2. Một số trường hợp False Positive

Trong quá trình support Members của wpbanquyen.com, VHW Team cũng gặp các trường hợp False Positive khiến Members hoang mang và phải bỏ thời gian tìm hiểu cặn kẽ để kịp thời thông tin trấn an dư luận.

Các theme tích hợp Revolution Slider (rev slider), phiên bản 5.4.8.1 ( ra mắt ngày 5/12/2018) khi nén bị cảnh báo Trojan.

Xem kết quả Virus Total Rev Slider 5.4.8.1

Rất nhiều theme nếu chưa update bản mới từ 5/12/2018 sẽ bị cảnh báo Virus khi quét VirusTotal hoặc khi tải về từ Google Drive, vì các theme này vẫn đính kèm phiên bản Rev Slider 5.4.8.1, chứ chưa update bản mới.

Thực ra Revolution Slider 5.4.8.1 không hề có virus, vấn đề là một file JS của plugin này có sử dụng Base64 để mã hóa code, mà thủ phạm cụ thể là file này:

revslider\includes\gutenberg-blocks\assets\js\editor.blocks.js

Nó là file hỗ trợ Revolution Slider trong Gutenberg Editor, có vẻ vì cuối 2018 tác giả của Rev Slider quá vội vàng tung version mới để tương thích với Gutenberg Editor, nên đã không check kỹ code và fix lại tránh gây hiểu nhầm cho khách hàng.

Những plugin tích hợp với Developer License như Revolution Slider, Visual Composer, ConvertPlug, LayerSlider… được sử dụng rộng rãi – nhất là các theme trên Themeforest, và trong quá khứ không ít plugin này bị cảnh báo viruses gây ra nhiều thiệt hại ‘liên đới’ cho các theme có tích hợp chúng.

Riêng vấn đề của Revolution Slider 5.4.8.1, rất nhiều theme ở Themeforest ‘bị oan’, cũng vì cái file js đó, điển hình là:

  • Ronneby – một trong những theme bán chạy nhất mọi thời đại ở Themeforest – bạn có thể xem chi tiết ở phần comment support tại đây!
  • Decibel – một trong những theme Bestselling cho Music Web – xem chi tiết ở trang này.
  • Mới đây là trường hợp một Member của WPBQ không tải theme TheArk được từ Google Drive vì cảnh báo viruses (sau khi update lên latest thì đã ok).

Trường hợp gần đây nhất được một Members thông báo, là theme LMS Schule của cmsmasters, theme này dùng Framework riêng của chính cmsmasters và bản latest là từ cuối 2018.

Như bạn thấy, code gốc được tải từ tài khoản Envato Elements:

Quét viruses total ra ngay kết quả là trojan:

Link xem kết quả quét VT

Khi giải nén và chỉ test file theme schule.zip, thì không còn cảnh báo viruses, vậy đoạn code bị cảnh báo nằm ở các file đính kèm (plugins, demo, docs) trong Full package.

Khi download Full package từ Google Drive, sẽ gặp cảnh báo viruses.

Sau khi VHW Team liên hệ với tác giả, thì tác giả xác nhận Theme Schule có tích hợp Rev Slider bản 5.8.4.1, và chính plugin này khiến Full pack bị hiểu nhầm là viruses.

Update:

Tin vui là cmsmaster đã update Schule 1.0.5 lên bản mới (1.0.6) chỉ 1 ngày sau khi nhận report từ VHW Team, chủ yếu là update các plugin tích hợp, trong đó có Rev Slider.

Trường hợp của Redux Framework

Trường hợp điển hình False Positive vì Minify JS là plugin Redux Framework, một plugin cực kỳ nổi tiếng để tích hợp Option Theme nhanh.

Redux Framework thậm chí còn gây phiền hà hơn vụ Revolution Slider, vì số lượng theme nổi tiếng sử dụng Redux Framework nhiều vô kể, và vụ việc cũng được xử lý chậm hơn so với Rev Slider (có thể vì Redux Framework là plugin free, còn Rev Slider là trả phí).

Hàng loạt theme khủng mang tiếng oan có thể kể đến Porto, Total, Legenda, Education Pack…Bạn có thể tham khảo:

Nguyên nhân trong phiên bản cũ (2017) , file này được nén JS:

redux-framework/ inc/ fields/ editor/ fiel_editor.min.js

File này không hề có mã độc, quét viruses phiên bản chưa minify của nó trong cùng thư mục không hề bị cảnh báo viruses:

redux-framework/ inc/ fields/ editor/ fiel_editor.js

Khi minify (bỏ khoản trống trong code) thì một đoạn mã sẽ gây hiểu nhầm vì hành vi khá giống với quá trình tự động của các đoạn mã trojan. Cụ thể file bị cảnh báo là:

redux-framework/ inc/ fields/ editor/ fiel_editor.min

Mục đích tích hợp TinyEditor vào theme option. File cũ:

setTimeout(
function() {
for ( var i = 0; i < tinymce.editors.length; i++ ) {
redux.field_objects.editor.onChange( i );
}
}, 1000
);

File mới:

setTimeout(
function() {
if (typeof(tinymce) !== ‘undefined’) {
for ( var i = 0; i < tinymce.editors.length; i++ ) {
redux.field_objects.editor.onChange( i );
}
}
}, 1000
);

Phiên bản mới – Redux Framework đã thêm điều kiện if (typeof(timymce) !==’undefined’) { … } trước khi thực hiện vòng lặp for, việc này giúp khi nén code, file này không còn bị hiểu nhầm là Virus nữa!

C.Kinh nghiệm Quét Virus Themes & Plugins

Bình thường nến bạn dùng theme bằng cách tải trực tiếp từ tác giả, WP Repository hoặc theme Marketplaces uy tín như Themeforest, TemplateMonter…thì khả năng bị chèn mã độc rất thấp – trừ các tác giả không có tiếng tăm gì hoặc sản phẩm ít người dùng và review trên WP Repository.

Lưu ý, ở đây nói về code chứa mã độc chứ không phải khẳng định về độ an toàn bảo mật của theme, plugin, vì không có theme, plugin nào an toàn tuyệt đối.

Bạn chỉ thật sự cần quét viruses theme, plugin nếu tải chúng từ bên thứ 3, tức là mua từ các trang Reseller (mua đi bán lại) hoặc ‘nhắm mắt’ tải từ các trang chia sẻ free trên mạng hay được share lại bởi ‘bạn bè xã hội’.

Lúc này, công cụ quét Virus tốt nhất chính là VirusTotal – một dịch vụ quét viruses hàng đầu thế giới với việc sử dụng tất cả các phần mềm diệt viruses nổi tiếng toàn thế giới.

VirusTotal không chỉ quét file và cảnh báo viruses mà còn lưu lại thông tin file & kết quả quét, để nếu ai đó quét lại file đó lần thứ 2, kết quả cũ sẽ hiển thị liền mà không cần phải quét lại.

Lưu ý trước khi quét VirusTotal:

  1. File nén không được đặt password, vì VT không thể giải nén để quét bên trong
  2. Không quét một đường dẫn tải file, vì VT không thể tải file đó về rồi quét, ví dụ bạn upload file lên Google Drive, Zippyshare hay Mega.nz rồi quét đường dẫn trên VT, thường kết quả luôn OK vì thực sự VT chỉ quét cái trang chứa link chứ không hề quét file trong link đó.

False Postive trên VirusTotal

Vì sử dụng tất cả các AV Software kiểu liên hiệp quốc nên VT ngoài các phần mềm chất lượng của Avast, Avira, BigDefender, Microsoft, Yandex, Kaspersky, Symantec, McAfee… thì còn có các trình duyệt viruses kém hơn như Rising, Jiaming (China), hay BKAV của VN.

Các công cụ Rising, Jiaming, BKAV có tỉ lệ cảnh báo nhầm viruses cao hơn nhiều so với các công cụ khác, đặc biệt là với theme, plugin có dùng mã hóa Base64.

Như trường hợp mới đây BKAV đơn phương tuyên bố Newspaper by Tagdiv có ‘1 con’ virus dù nó được tải về trực tiếp từ Themeforest bởi người mua theme:

Khi gặp cảnh báo có 1 viruses (thường là Trojan hay Webshell) từ một trong các phần mềm kể trên, bạn cứ bình tĩnh nhé!

Trường hợp nghiêm trọng khi cảnh báo Viruses từ VT

Với các theme, plugin có chèn mã độc thực sự, thì thường VirusTotal sẽ check được từ 2 ‘con’ viruses trở lên, và nhiều phần mềm cùng đưa ra cảnh báo viruses.

Lúc này tỉ lệ ‘nhiễm mã độc’ thực sự của theme và plugin đó rất cao. Bạn không nên dùng chúng và nếu sản phẩm đó tải trực tiếp từ tác giả hay Themeforest, WP Repository … thì hãy liên hệ ngay các bên liên quan để làm rõ vấn đề.

VirusTotal không check được hoàn toàn

VirusTotal chỉ có tác dụng giúp phát hiện các theme, plugin bị chèn mã độc nếu các loại mã độc này có trên Database của các công cụ quét viruses. Có 2 thứ mà VT không giúp chúng ta được:

  • Quét bad links: các link xấu trỏ đến các trang spam, trang lừa đảo, web đen… khi chèn vào theme, plugin và đưa lên nội dung Website thì nó sẽ khiến Google đưa Website vào blacklist, bị phạt và không thể rank được. Chưa kể nó còn cảnh báo người dùng site chúng ta nguy hiểm độc hại để họ không vào. VT hầu như không quét được các link này.
  • Quét backdoor ‘tinh vi’: hacker luôn là kẻ đi trước, và các phần mềm AV đi sau để giải quyết các vấn đề mà hacker đã làm, vì vậy luôn có các đoạn mã độc mới mà trình duyệt Viruses chưa có trong dữ liệu cũng chưa dự đoán được hành vi của nó. Nên VT không phải lúc nào cũng phát hiện được 100% malware trong code – nhất là các loại mã độc backdoor – cho phép hacker thâm nhập vào Website âm thầm.

Be the first to comment

Leave a Reply

Your email address will not be published.


*