軟件開發人員喜歡重用代碼,黑客也不例外。雖然安全研究人員常認為不同的惡意軟件出自不同的黑客之手,然而現實卻是,大多數新型惡意軟件開發者重復利用了大量現有惡意軟件的源代碼,并在此基礎上進行修改或添加新功能(可能來自公開發布的漏洞和工具)。
重用、修改的工具將更“有用”既然其它人已經有現成的工作解決方案可供使用,自己為何還要白費力氣做重復的工作?雖然惡意軟件代碼重用可以使基于簽名的檢測方法在某些情況下更有效,但時常會為攻擊者騰出時間執行其它躲避檢測和提升攻擊效率的工作,從而開發出更危險的成品。
黑客開發惡意軟件時重用代碼有多種原因:
首先,這樣做可以節約時間;
其次,復制拷貝代碼可以為開發人員騰出更多時間專注其它領域,例如逃避檢測,掩蓋歸因等;
第三,在某些情況下,有時也許只有通過一種方法才能達到目的,例如利用漏洞。
黑客還傾向于重用成功率高的有效攻擊策略,例如社會工程、惡意宏、魚叉式網絡釣魚等。
惡意軟件被重用、改進的現象普遍Check Point研究人員今年10月發現Reaper(又被稱為IoTroop)僵尸網絡。Reaper就是黑客重用并改進現有惡意軟件的最佳例子,它借用了Mirai僵尸網絡的基礎代碼。Reaper的開發人員似乎將Mirai僵尸網絡作為平臺構建更有效的利用方式并發起攻擊。Reaper在Mirai源代碼的基礎上新增已知物聯網的漏洞利用,并使用LUA編程語言,其攻擊復雜程度遠遠超出簡單的DDoS攻擊。
今年早些時候,黑客組織“影子經紀人”(Shadow Brokers)公開了從NSA竊取得來的漏洞利用源代碼,其中包含幾個針對Windows SMB文件共享服務的0Day漏洞。1個月之內,攻擊者就重新利用了泄露的源代碼,將勒索軟件變成WannaCry和NotPetya這類勒索蠕蟲。 從這些新型勒索軟件變種可以看出,攻擊者迅速重用新的攻擊手段,并帶來破壞性后果。
去年,土耳其安全研究人員出于教育的目的發布了兩款開源勒索軟件變種:EDA2和Hidden-Tear。不出所料,攻擊者很快使用源代碼創建自己的勒索軟件,包括RANSOM_CRYPTEAR、Magic Ransomware和KaoTear。這些變種大多數使用相同的基本加密過程,只對勒索信、命令與控制連接稍作修改,以及在某些情況下會修改傳播程序。這說明黑客如何快速重用公開的源代碼謀取自身的利益。
而近期,維基解密將逐步曝光Vault-8-CIA文件,CIA的眾多黑客工具的源代碼將被公開,其中不乏可武器化黑客工具,這或許又將促進一波兒黑客世界的技術更新。
重用普通的攻擊方式黑客并非只在開發惡意軟件時重用其它源代碼,他們還會盡可能地重用普通的攻擊方法。腳本小子依賴預先構建好的工具和攻擊方法來彌補自身欠缺的知識。像Rapid7 Metasploit框架這類工具最合適安全研究人員進行滲透測試,但同時也備受腳本小子厚愛。Rapid7并不是唯一面臨這種難題的制造商,整個滲透測試行業為安全研究人員提供開發的工具同時也會被犯罪分子利用。由于安全研究人員需要這類工具進行測試,因此此類工具仍有市場
高效的攻擊方式被重用的可能性更大。雖然微軟努力削弱宏功能,但攻擊者仍在大肆利用惡意宏。攻擊者繼續將惡意宏作為傳送惡意軟件的主要方式,因為說服受害者運行宏是件易事。
代碼重用趨勢近期內仍會繼續,公開代碼例子有:
EDA2勒索軟件的開發者聲稱,他公開是代碼是為了傳授惡意軟件的工作原理。
Mirai僵尸網絡的開發人員因攻擊變得聲名狼藉而選擇“退場”之時也公開了代碼。
攻擊者將會繼續利用他人的成果發起更有效、更具破壞性的攻擊。只要有效的漏洞利用代碼被公開,攻擊者仍將重用漏洞利用,就如同WannaCry和NSA永恒之藍0Day漏洞。