Missed the action at the 2018 Chrome Dev Summit? Catch up with our playlist on the Google Chrome Developers channel on YouTube. Watch now.

惡意軟體入侵

這個步驟適用於遭到入侵散佈惡意軟體的網站,通常系統會在搜尋結果中顯示「這個網站可能會損害您的電腦」警告訊息。這是修復程序中涉及到最多工作的步驟之一。在這個步驟中,您將要收集一份網站上已損壞檔案的清單,以備在清理及維護您的網站時派上用場。

如果您的網站受到垃圾內容 (而不是惡意軟體) 影響,導致系統在搜索結果中為其顯示「這個網站可能已遭入侵」警告訊息,請參閱以下網頁:評估垃圾內容損害 (遭到垃圾內容入侵)

您需要:

  • 殼層/終端機管理員對於網站伺服器 (網路、資料庫、檔案) 的存取權。
  • 殼層/終端機指令知識。
  • 能在資料庫上執行 SQL 查詢。

實際行動:

準備工作

  1. 避免使用瀏覽器查看您網站上的網頁。惡意軟體常會透過瀏覽器的漏洞進行散佈,所以在瀏覽器中開啟遭惡意軟體感染的網頁,可能會使您的電腦受損。
  2. 建立一個文件,用來記錄本步驟中查到的結果。這個文件最終將 (至少) 包括每個損壞檔案的名稱/位置和受損的情況,是清理及維護您的網站的處理依據。
  3. 如有需要,可查看其他資源:
    • 觀看上方的影片即可瞭解惡意軟體的運作方式,以及如何安全調查惡意軟體。
    • 查看 Google 安全瀏覽診斷網頁,從公開資訊中得知網站是否對使用者具有潛在威脅。您可以在與下方類似的網址,查看網站的資訊狀態:
      http://www.google.com/safebrowsing/diagnostic?site=<your-site>
      例如: http://www.google.com/safebrowsing/diagnostic?site=webmastercentralblog.blogspot.com
  4. 使用 cURLWget 執行 HTTP 要求 (例如擷取網頁)。

    這些免費工具可協助診斷重新導向,甚至將推薦連結或使用者代理程式的資訊納入診斷條件。把特定推薦連結或使用者代理程式納入條件,將有助於模擬駭客的行為,因為駭客可能限制惡意內容的顯示對象,只有經由特定使用者代理程式或推薦連結瀏覽的使用者能看到惡意內容。透過這種方式,駭客不僅可以鎖定更多「真正的使用者」,還能避免網站擁有者和惡意軟體掃描器的偵測。

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

調查入侵網站的惡意軟體類型

  1. 在 Search Console 中選擇已驗證的網站,按一下 [安全性問題]。
  2. 調查「安全性問題」為您的網站列出的全部惡意軟體類別 (例如設定伺服器、植入 SQL 指令)。如需查詢特定類別所含受感染網址的詳細資訊,請按一下 [顯示詳情] (可能會顯示駭客植入的一些程式碼)。針對各個類別,將下列項目複製到您的調查文件中:
    • 「安全性問題」所列惡意軟體類別中全部的受感染網址示例。
    • 調查中找出的更多受損網頁。
    • 受感染網址的詳細資訊,例如造成的損害類型。
  3. 以下資訊可協助調查個別惡意軟體類型:

評估檔案系統損害情況

接下來,您必須登入網站的檔案系統才能進行更深入的調查。請注意,駭客可能採取的行為十分多樣,包括修改現有網頁或資料庫紀錄、建立全新且充斥垃圾資訊的網頁、撰寫在乾淨頁面上顯示垃圾資訊的函式,或是留下「後門」以便再次入侵網站或持續執行惡意工作 (這必須要刪除後門才能解決)。

如果您的網站處於上線狀態,請在這一步中將網站下線。

  1. 如果您擁有網站的完好備份,請識別哪些是備份後才建立或修改的檔案,將這些檔案加入清單以便之後進一步調查。在 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
  2. 檢查伺服器、存取和錯誤紀錄中是否有任何可疑活動,例如失敗的登入嘗試、執行指令紀錄 (特別是根指令),以及建立不明的使用者帳戶等。提醒您,駭客可能為了達成本身目的而修改這些紀錄 (您可以參考識別漏洞影片中的範例,或許會有幫助)。
  3. 檢查設定檔 (例如 .htaccess 和 httpd.conf) 的重新導向部分。駭客常會以使用者代理程式、時段或推薦連結做為觸發條件來建立重新導向。
  4. 檢查資料夾和檔案是否有權限過度寬鬆的問題。駭客竄改放寬權限的目的,是為了不讓網站擁有者發現,確保以後能夠再次入侵網站。權限高於 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 {} \;
  5. 如果您有資料庫,請使用 phpMyAdmin 之類的工具詳細調查紀錄。

後續步驟

本程序的下一個步驟是識別漏洞