開發人員都會回收使用程式碼 – 畢竟如果沒有問題就不用改了。這也是開放原始碼如此受歡迎及有價值的原因 – 不需要從頭開發全新的程式碼,開發人員可以利用現有的開放原始碼,並且可以根據自己的需求來改寫。
不幸的是,不僅軟體開發商和其他白帽公司會這麼做 – 駭客也會回收並重新利用過去運作良好的舊漏洞攻擊碼來製造全新的威脅。更糟的是,這些被回收使用的惡意攻擊結合新且複雜的感染手法讓其變得更加難以防範。
大多數新的惡意軟體並不新
從各種關於新惡意軟體的統計數據中,很容易就會認定網際網路和聯網設備都充斥著惡意威脅。事實上,G Data報導在2017年第一季就發現了2,200萬個新惡意軟體。換句話說,這代表幾乎每4秒就會發現一個新惡意威脅。
雖然有相當數量的惡意軟體可供駭客選擇是真的,但其中有許多並不完全是新的。
“2017年第一季發現了2,200萬個新惡意軟體樣本。”
Secplicity指出:“其中有大部分就像是科學怪人一樣由各種程式碼拼湊而成,可能來自現有的惡意軟體或公開的漏洞和工具。”
就這樣,駭客利用現成的程式碼和功能再並加上特製功能來做出新的惡意軟體。
為甚麼要回收使用?
有好幾個理由會讓駭客選擇重複或回收使用。首先這節省了許多時間。不必為基本功能來撰寫新的程式碼,使用已知可行的程式碼更快更容易。而且就如安全分析師Marc Laliberte所指出,利用這方法節省的時間可以讓網路犯罪分子將注意力放在更重要的事情上。
“如果有人已經開發了可行的解決方案,就無須再多此一舉去重新開發”Laliberte寫道。“透過盡可能地複製程式碼,讓惡意軟體作者有更多時間專注在其他地方,如躲避偵測和避免歸因。”
除了重複使用程式碼來節省時間外,許多網路犯罪分子還會重複使用常見的威脅功能,因為它們已經經過時間證明能夠成功。這也是為什麼會出現無數的勒索病毒、魚叉式網路釣魚和其他攻擊的變種。
讓程式碼可供使用:惡意軟體和漏洞攻擊套件
對駭客來說,因為有惡意軟體和漏洞攻擊套件等可用來源,要取得和重複使用程式碼也變得相當簡單。這些攻擊套件打包整合了各種威脅和程式碼,並常會在地下市場出售或託管在被入侵的網站上。
比方說,Sensors Tech Forum作者Milena Dimitrova報導指出,研究人員檢視了66,000個網址和7,800多個網路釣魚工具後發現有兩個攻擊套件被放在超過30個被入侵的主機上。
除了出售攻擊套件外,一些駭客還提供後門套件,讓其他網路犯罪分子可以連上之前被入侵的主機。
科學怪人式的惡意軟體可能很難纏。
重複使用的例子
讓我們來看看一些駭客從其他惡意軟體作者借用程式碼的例子:
- Reaper和Mirai:Laliberte指出這是重複使用程式碼最好的例子之一,Mirai殭屍網路是個相當強大且成功的惡意威脅。Reaper利用了Mirai的基本程式碼,但是強化Mirai漏洞攻擊和發作模式來打造出新的威脅。
“Reaper對Mirari程式碼所做的補充包括主動攻擊已知的IoT漏洞及使用LUA程式語言,可以做出DDoS以外更加複雜的攻擊”Laliberte寫道。
- WannaCry和NotPetya:這是個有意思的例子,駭客利用了駭客團體Shadow Brokers的成果。Shadow Brokers從NSA竊取並發布了包括數個攻擊Microsoft Windows檔案共享服務零時差漏洞的原始碼。駭客將這原始碼用於破壞性的WannaCry和NotPetya勒索病毒攻擊活動。
- Carbanak和Silence Trojan:正如前面所討論,駭客不只會重複使用部分的程式碼,也喜歡重複使用過去運作良好的感染技術和機制。Dimitrova指出這正是在Carbanak和Silence Trojan所發生的事情。
當研究人員發現Silence Trojan(讓駭客可以存取銀行內部網路並錄影以更加了解員工如何使用合法軟體)時,他們注意到這攻擊手法很熟悉。Silence Trojan和之前所發現的Carbanak都使用相同作法,可以從錄得的影片中學習以盡可能地賺更多的錢而不會被員工或安全系統注意到。
重複使用威脅已然出現
根據趨勢科技2018年報告的預測,這樣重複使用威脅的作法不會很快就消失。事實上,專家預測被用來散播電子郵件和網頁型垃圾郵件的感染技術將會重新出現用來散播假新聞。
2018資安預測報告指出:“從寄送釣魚郵件給外交部到公然使用文件詆毀當局,有問題的內容可以自由散播來引發爭議,甚至造成真正的抗議活動。有著地下市場現成可用的工具和服務,進行政治操作的攻擊活動將會繼續進行抹黑戰術並意圖操弄公眾的看法。即將到來的瑞典大選也可能不會倖免於試圖影響投票結果的假新聞攻擊。”
這讓駭客變得比以前更有能力造成破壞。因為現在地下市場就有現成可用的惡意威脅,駭客不再需要特定的程式能力 – 他們只要去購買預先做好的惡意威脅,稍作修改以減少被偵測機會後就可以重複使用。
使用舊感染功能來製作新威脅會做出危險的惡意軟體。
防止新和舊威脅
由於新威脅將會繼續重複使用之前的攻擊手法,所以組織必須採取適當措施來保護自己的商譽、軟硬體投資和關鍵資料:
- 使用多層次安全防護:應該要有多重的保護系統阻擋在公司IT資產和惡意份子之間。
- 限制自動化功能:Dimitrova指出,限制甚至停用某些自動化系統功能可能會有幫助,設定這類型服務在執行前會先提示需要管理員權限。這樣對在單機或整個網路上所發生的活動可以有更全面的了解。
- 確保安裝修補程式:舊攻擊會成功通常是因為系統未針對已知漏洞進行足夠快速的更新修補。當更新發佈時,最好盡快安裝修補程式。
- 提供對當前威脅的教育訓練:整個公司的使用者和相關人員都必須接受目前熱門威脅的教育訓練。員工可以成為另一層的安全保障,幫助防止網路釣魚和社交工程等常見手法對組織造成影響。