惡意程式鎖定物聯網 (IoT) 下手的時代已經到來;過去一年來,專門以 IoT 為目標的攻擊團隊數量已倍增。在 2015 年共有八個惡意程式系列問世,刷新 IoT 攻擊的記錄。一半以上的 IoT 攻擊來自中國和美國。另外也有大量攻擊來自俄羅斯、德國、荷蘭、烏克蘭和越南。
許多 IoT 裝置的安全性不足,成了脆弱的攻擊目標,而受害者甚至往往不知道自己已經受到感染。攻擊者現在已深知 IoT 安全措施鬆散,因此許多攻擊者在惡意程式預先編寫了許多常用及預設密碼。
對於 IoT 攻擊的預測流傳已久,其中有許多推測 IoT 攻擊可能綁架家用自動化和家用安全裝置。不過,到目前為止,攻擊的確有各種不同的形式。攻擊者趨向對受害者較不感興趣,多數攻擊者想要綁架裝置以將其加入傀儡網路,其中大多用來進行分散式阻斷服務 (DDoS) 攻擊。
單單這個月,資安廠商 Sucuri 就通報了一起由三種不同傀儡網路發動的大規模 DDoS 攻擊 (CCTV 傀儡網路、家用路由器傀儡網路和遭到入侵的網頁伺服器)。儘管在過去並不常見,但隨著連接網際網路的內嵌式裝置數量增加,對多個 IoT 平台同時發起攻擊的狀況將來可能會越來越普遍。
圖 1.各年度的新型 IoT 惡意程式系列。IoT 威脅的數量在 2015 年大幅攀升,其中許多威脅持續活躍到 2016 年
易受攻擊的裝置
大部分 IoT 惡意程式鎖定非 PC 的內嵌式裝置。多數裝置可存取網際網路,但受限於作業系統和處理能力,這些裝置可能不含任何進階安全功能。
內嵌式裝置通常的設計為隨插即用,在完成非常基本的設定流程後就會被遺忘。許多裝置沒有任何韌體更新,或是擁有者沒有執行更新,導致往往到了生命週期結束時才更換這些裝置。因此,擁有者可能不會發現這類裝置受到的任何入侵或感染,因此這對於遠端攻擊者來說,極具吸引力。
多數攻擊來自美國和中國
一項針對賽門鐵克收集 IoT 惡意程式樣本的誘捕分析發現,來自中國的 IoT 攻擊,數量最大,佔 2016 年所見攻擊的 34%。26% 的攻擊則源自美國,其次是俄羅斯 (9 %)、德國 (6%)、荷蘭 (5 %) 和烏克蘭 (5 %)。前十名還包括越南、英國、法國和南韓。
下圖顯示用於針對賽門鐵克誘捕發動攻擊的 IP 位址所在地。在某些情況下,攻擊者所用的 IP 位址可能是代理伺服器,以便隱藏他們的真實位置。
今年賽門鐵克的 IoT 誘捕中最常見的威脅是 Linux.Kaiten.B 和 Linux.Lightaidra。
圖 2.2016 年針對受監控的 IoT 誘捕的十大攻擊來源,依不重複的攻擊者數目計算
常見密碼
針對賽門鐵克誘捕的攻擊也揭露 IoT 惡意程式最常用來試圖登入裝置的密碼。結果不令人意外,root 和 admin 的字詞組合在榜上名列前茅,顯示預設密碼往往從未更改。預設的 Ubiquiti 憑證 (使用者名稱:ubnt 和密碼:ubnt) 也名列前茅。據 2016 年 5 月的報導指出,Ubiquiti 路由器中的一個早期漏洞讓鎖定內嵌式裝置的病蟲散播至上千台使用過時韌體的 Ubiquiti Networks 路由器。看來,IoT 惡意程式幕後的攻擊者,仍然是依賴未修補的 Ubiquiti 路由器來散播攻擊。繼續看排行榜,我們可以發現,Raspberry Pi 裝置預設的憑證組合 (使用者名稱: pi 和密碼:raspberry),說明專門鎖定此平台的攻擊者增加的趨勢。
Top user names |
Top passwords |
root |
admin |
admin |
root |
DUP root |
123456 |
ubnt |
12345 |
access |
ubnt |
DUP admin |
password |
test |
1234 |
oracle |
test |
postgres |
qwerty |
pi |
raspberry |
表 1.十大用於暴力攻擊 IoT 裝置的使用者名稱和密碼
IoT 惡意程式 – 常見特徵
雖然 IoT 惡意程式日趨複雜,其大多用來進行 DDoS 攻擊的事實,有助於分辨既有多種惡意程式系列中多項常見的特徵。
攻擊者往往採用直接的方式散佈惡意程式。雖然某些惡意程式變種需要手動安裝於裝置上,最常見的方法是透過開放式 Telnet 或 SSH 連接埠掃描隨機 IP 位址,再使用常見的憑證試圖暴力登入。
由於執行內嵌式裝置的 CPU 架構有很多種,IoT 惡意程式可能會嘗試隨機下載多種架構的 Bot 可執行檔,然後逐一執行,直到成功。在其他情況下,惡意程式也可能包括為既有裝置平台執行檢查並僅下載正確 Bot 二進位檔的模組。
攻擊者常用的伎倆是利用 wget 或 tftp 指令來下載 Shell 指令檔 (.sh),進而用以下載 Bot 二進位檔。在某個案例中,我們碰到一個 Shell 指令檔,其惡意程式作者利用藥品或街道名稱來區別 Bot 二進位檔與其他不同架構。
圖 3.使用 Shell 指令檔針對不同架構下載 Bot 二進位檔
Bot 二進位檔一旦執行,即會建立硬式編碼的指令與控制 (C&C) 伺服器連線,並等候來自遠端 Bot 擁有者的指令。通訊可能藉由 IRC 通道建立,惡意程式也可能包括將流向遠端 C&C 伺服器流量加密的功能。
跨平台惡意程式
攻擊者可針對多種架構輕易交叉編譯惡意程式。最常見的目標為 x86、ARM、MIPS 和 MIPSEL 平台,而攻擊者持續擴展潛在目標的數量,也針對 PowerPC、SuperH 和 SPARC 架構建立變種。如此,可能容易遭受攻擊的裝置清單便不斷增加,其中有更多的網頁伺服器、路由器、數據機、NAS 裝置、CCTV 系統、ICS 系統與其他裝置便加入了潛在目標清單。
多種 IoT 惡意程式中都可見的一項有趣功能就是能夠消滅其他程序,尤其是屬於其他已知惡意程式變種的程序。對某些較早期的變種來說,這種功能可能只是用來消除受感染裝置的潛在惡意程式競爭者。這種情況,我們認為最常見的原因是內嵌式裝置僅有非常有限的系統資源,而惡意程式嘗試確保這些資源不用與其他 CPU 或記憶體密集的程序共用。
要用更複雜的手法達到相同目的,惡意程式可能也會變更受感染裝置的 iptable 規則,僅允許特定的外部存取嘗試。這樣的改變可以有效攔截其他惡意行動者存取裝置,但也可能攔截合法的系統管理員 (遭到攔截的 telnet 連接埠)。
IoT 惡意程式系列概述
以下鎖定內嵌式裝置的惡意程式系列,都是最容易辨識且普遍的惡意程式系列:
Linux.Darlloz (又名 Zollard)
Linux.Darlloz 是一種賽門鐵克所發現的病蟲,藉由攻擊 2012 年修補的早期漏洞 PHP 'php-cgi' 資訊揭露漏洞 (CVE-2012-1823) 擴散至容易遭受攻擊的系統。四處擴散的 Darlloz 變種原先的設計僅針對 x86 晶片架構的電腦,但惡意程式的更新版本也鎖定使用 ARM、PPC、MIPS 和 MIPSEL 架構的裝置。此病蟲有趣的特徵是會掃描並刪除任何與其他 IoT 惡意程式有關聯的檔案Linux.Aidra。此外,也會嘗試攔截後者所使用的連接埠。目標裝置一旦遭 Darlloz 感染,TCP 連接埠便會開啟,以執行遠端指令。這種病蟲還會透過中斷 Telnet 流量,並終止 telnetd 程序,阻止使用者連接至受感染的裝置。
Linux.Aidra / Linux.Lightaidra
Linux.Aidra 及其最新變種 Linux.Lightaidra 是一種藉由 TCP 的 23 號連接埠的 Telnet 服務擴散的病蟲,並利用各種使用者名稱/密碼組合來登入裝置。這種病蟲會在遭到入侵的電腦或裝置上開啟後門,等待來自遠端 C&C 伺服器的指令。每一台受感染的裝置皆會加入用於執行 DDoS 攻擊的傀儡網路。由遭到 Aidra 入侵裝置發動的 DDoS 攻擊,可能是大量傳輸控制通訊協定 (TCP) 封包、使用者資料包通訊協定 (UDP) 封包,或網域名稱系統 (DNS) 要求。
Linux.Xorddos (又名 XOR.DDos)
Linux.Xorddos 會在遭到入侵的電腦或裝置上開啟後門。此威脅的名稱由來是其在惡意程式碼和 C&C 伺服器通訊中皆使用大量 XOR 加密。針對 x86 和 ARM 架構 Xorddos 皆有編譯變種。除了進行 DDoS 攻擊的主要功能外,此木馬程式的附加功能包括下載和執行檔案、移除服務,以及安裝其他模組。Xorddos 可能會連同隱藏網路流量或檔案的 Rootkit 元件一併安裝。為了在受感染的裝置上執行任何這類任務,木馬程式可能會傳送 IOCTL 要求給 Rootkit 元件。
Linux.Gafgyt (又名 GayFgt、Bashlite)
Linux.Gafgyt 通常透過成功入侵 Shellshock 漏洞 (CVE-2014-6271) 而散佈。一旦安裝後,就會淪為傀儡網路的一部分,並用於發動 DDoS 攻擊 (UDP 或 TCP 超大流量)。受 Shellshock 影響的裝置可能包括擁有使用 CGI 的網頁介面的網頁伺服器或 Linux 型路由器。Gafgyt 也具有利用常見使用者名稱/密碼組合來暴力攻擊路由器的功能,並能從受感染的裝置收集 CPU 資訊。
Linux.Ballpit (又名 LizardStresser)
Linux.Ballpit 據稱是由稱為 Lizard Squad 的攻擊團隊所建立。這種病蟲可透過 TCP 或 UDP 封包超大流量從遭到入侵的裝置發動 DDoS 攻擊。與許多其他 IoT 惡意程式系列類似,這種病蟲是透過掃描 Telnet 服務的公用 IP 位址而散佈。一旦找到合適的開放連線,Ballpit 便使用多種硬式編碼的常見使用者名稱和密碼來試圖登入。登入嘗試成功後會向 C&C 伺服器回報,Bot 用戶端便會等候攻擊者的進一步指示。
Linux.Moose
有別於許多上述 IoT 惡意程式系列,Linux.Moose 並沒有任何 DDoS 功能,且似乎較像是偵查型的惡意程式。這種病蟲首先透過掃描鄰近 IP 位址,接著利用脆弱的 Telnet 登入憑證以暴力方式登入,藉此傳播至目標 Linux 路由器和內嵌式 ARM 或 MIPS 裝置。感染後的第一階段包括竊聽遭入侵之裝置的網路流量。除了竊聽外,病蟲可能也會擷取流量、收集裝置的 CPU 資訊,並將收集的資料向遠端 C&C 伺服器回報。Moose 的其他功能包括定期檢查任何屬於競爭的 IoT 傀儡網路用戶的執行中程序,並在找到後將其消滅。根據從 C&C 伺服器收到的組態檔,病蟲也可能會變更遭入侵主機的 DNS 伺服器設定。
Linux.Dofloo (又名 AES.DDoS、Mr. Black)
Linux.Dofloo 是一種針對 x86、ARM 或 MIPS 架構的 Linux 系統的木馬程式。這種威脅又稱 AES.DDoS,因其使用 AES 演算法將與 C&C 伺服器間的通訊加密。這種木馬程式在遭入侵的裝置上開啟後門,並等待遠端攻擊者的指令。Dofloo 用於執行 DDoS 攻擊,但也可能收集遭入侵裝置的 CPU、記憶體和網路流量等資訊,並將資料回傳給攻擊者。
Linux.Pinscan / Linux.Pinscan.B (又名 PNScan)
Linux.Pinscan 是一種針對 x86、ARM、MIPS 和 MIPSEL 等不同 CPU 架構開發的木馬程式。Pinscan 可能會掃描網路區段以找尋具開放的 Port 22 裝置,並嘗試利用常見的使用者名稱和密碼以暴力方式登入。Pinscan 也可能會嘗試透過入侵漏洞來存取裝置。雖然沒有任何 DDoS 功能,不過一旦成功存取目標裝置,便可進一步下載 Linux.Kaiten 等其他惡意程式二進位檔。
Linux.Kaiten / Linux.Kaiten.B (又名 Tsunami)
Linux.Kaiten 與其新型變種Linux.Kaiten.B 是用來發動 DDoS 攻擊的木馬程式。依變種不同,Linux.Kaiten 可能會修改 /etc/init.d/rc.local 檔案以便在每次有使用者登入時執行,或修改 /etc/rc.d/rc.local file 以確保能夠在開機時執行。一旦安裝後,Kaiten 便會加入硬式編碼的 IRC 通道,並接聽來自遠端攻擊者的指令。除了發動 DDoS 攻擊外,Kaiten 也可能會消滅程序、下載並執行其他任意檔案,或假冒遭入侵裝置的 IP 位址。
Linux.Routrem (又名 Remainten、KTN-Remastered、KTN-RM)
由於 Linux.Routrem 包含 Linux.Kaiten 程式碼的許多元素,因此又稱為 KTN (Kaiten)-Remastered。一旦執行後,Routrem 便會辨識遭入侵的路由器所使用的架構,並部署正確的模組 (ARM、MIPS 或 x86)。與 Kaiten 類似,Routrem 可能會下載附加檔案、發動各種 DDoS 攻擊,或掃描鄰近開放式 Telnet 連接埠的 IP 位址。Routrem 的設計也會鎖定並感染獨立式路由器裝置,且以類似 Kaiten 的方式,透過 IRC 通道接收來自遠端攻擊者的指令。
Linux.Wifatch (又名 Ifwatch)
Linux.Wifatch 在惡意程式系列中被視為物聯網衛隊。根據其作者表示,Wifatch 的設計宗旨是為了教育目的。Wifatch 的程式碼以 Perl 程式語言撰寫,並鎖定多種不同架構-ARM、MIPS、Sh4、PowerPC 和 x86。Wifatch 不會發動 DDoS 攻擊、入侵漏洞或散佈惡意程式酬載,而且其部分硬式編碼的例行工作會嘗試改善遭入侵裝置的安全性。例如,Wifatch 可能會對系統管理員顯示有關開放式 Telnet 連接埠潛在危險的警告訊息,或留下變更密碼或更新裝置韌體的建議。Wifatch 也包括一個會嘗試尋找並消滅在相同裝置上、屬於其他已知 IoT 惡意程式系列的任何程序。
Linux.LuaBot
Linux.Luabot 是第一個以 LUA 程式語言撰寫之鎖定 ARM 架構的惡意程式。Luabot 的已知功能包括發動 DDoS 攻擊。
攻擊者蜂擁至脆弱的目標
目前的 IoT 威脅態勢顯示,要攻擊內嵌式裝置並不困難。雖然也有遇到多個入侵裝置漏洞的惡意程式變種,如 Shellshock 或 Ubiquiti 路由器的缺陷,大多數的威脅只是利用內嵌式裝置內建防禦系統的不足,以及預設的密碼設定。
DDoS 攻擊仍是 IoT 惡意程式的主要目的。隨著 IoT 迅速成長,裝置處理能力的提升將來可能會促使戰術改變,使攻擊者開發加密貨幣採擷、資訊竊取和網路偵查。
持續受到妥善保護
- 在購買前研究 IoT 裝置的能力和安全功能
- 針對您的網路使用的 IoT 裝置進行稽核
- 變更裝置的預設憑證。替裝置帳號和 Wi-Fi 網路設定高強度且獨特的密碼。不要用常見或容易猜到的密碼,例如「123456」或「password」
- 設定 Wi-Fi 網路存取 (WPA) 時使用高強度的加密方法
- 許多裝置都有各種預設開啟的服務。停用不需要的功能和服務
- 儘可能停用 Telnet 登入而改用 SSH
- 依照您的需求和安全政策修改 IoT 裝置的隱私權和安全設定
- 不需要時,停用或保護 IoT 裝置的遠端存取
- 儘可能使用有線連線而非無線連線
- 定期查看製造商網站的韌體更新
- 確保硬體停機不會使裝置處於不安全的狀態
遭到入侵的跡象
Linux.Kaiten.B file hashes
- 0e2c455eecc43561739927200fa2f999
- 3495cf3def0ca1b3ff925273654c6d12
- 5370364A609F840E690F1B594D76DD78
- a3e630449d9992dfdaab06a70ae47c6f
- c5196114810a0664b99e6a6f2e2e20b5
- fe5906a01145259150995c330d8958d7
- 134bab6eb801b561f7336ca737ebba6a
- 5073ae0ab1aac35f0df509988efbb163
- 798ab5ee311a5d632f5a4070818a5912
- ba0c40010bd4cf50378af1498c5837c1
- bfb35eed3f72ddcacf2cda658cb46c86
- d23c85297a053d295571e14caecbbe5c
Linux.Lightaidra 檔案雜湊
- 0b487f2575f1ffb7e1ab5134ee655c90
- 4a678cd990cd0c73dfdfc4deb684d519
- 5a8896889dbda11f16819d94db6209f5
- 710651c2689bedffd6ae95d7b650c033
- 878b672e727bd699d97d8bb98d15f7d1
- abaae2cc9205f68c3d573d2c1788bb25
- c29e92735a27e67b992205ec7cf7ebbb
- cf7817265fef323afa974a3e5421088e
- dd689db75d2cc6e746fef2cdf487f583
- 0b65fc502a44c357e38a4debcc5f1468
- 144865f94561a73186582f0bdb4632fc
- 577e582402d01fdf7114ec290dec41cc
- 6ac783cf08e041250e6bcfa5bbdbe78f
- a6838da1b2868cdbe7cadb7a744ecc4e
- a68b10ce6491f6e46ef5d104788c6c45
- cc9d04f3a975bb51d4cd162e00928680
- d549b2ee10cbc5381bb3784d44f61fed
- 0f13ad242a7e3556cc17b44319ce70db
- 1043ffc3fc99a8bb33804694c737003c
- 2dd9308eaec9ae33f96f2818b028a106
- 2fce69a6d7c5b14b1b6284077beb1998
- 33c2d40f656dcf80fe2db0bc6ecb6161
- 3d0094842e45b24efac4afc091933345
- 422b879ef8d6ffc286f6760d02ecf8d4
- bf6fd9a29add7e62df8c0c21b7d57d17
- e3dfdd42973da50f9e0b5776cf4a9c7f
深入閱讀
若要瞭解更多關於 IoT 裝置的安全,請閱讀相關白皮書:物聯網內的危險因子