安全套接層協議(SSL)和它的後繼者傳輸層安全協議(TLS)都是設計來提供客戶端和伺服器之間有著安全加密的連線。為了進一步地進行身份驗證和加密,伺服器必須提供憑證。通過這過程,伺服器可以直接有效地證明其身份。
使用 SSL 連線,雙方可以確保通訊的有效性和安全性。這對某些服務來說非常有用,像是網路銀行、電子郵件、社群網路,它們需要建立安全通道來交換客戶端和伺服器間的資訊。
不幸的是,這項技術也成為了兩面刃。Android 惡意軟體現在會利用 SSL 來隱藏自身行為並且逃避偵測。
使用 SSL 伺服器
SSL伺服器已經成為Android惡意軟體的目標。惡意軟體可以使用下列三種之一的伺服器。
1.不知名自行管理伺服器 – 要使用不知名的自行管理SSL伺服器,惡意軟體作者需要建立自己的TrustManager(可以決定接受憑證)和 SSLSocket讓其惡意應用程式信任該伺服器憑證。建立自己的TrustManager和SSLSocker是必要的,因為惡意軟體伺服器憑證通常並沒有預設包含在Android作業系統中。這樣做通常需要更多的精力:當伺服器或網域變更時(通常是為了應對防毒偵測),SSL連線在驗證過程中可能會失敗。惡意軟體作者必須更新憑證和客戶端應用程式以重新建立連線。此外,使用自行簽發的憑證和固定的伺服器會被資安公司輕易而快速地偵測。所以只有少數惡意軟體利用這種方式也就並不令人驚訝。 繼續閱讀