作者:李美雯 / 臺灣大學計算機及資訊網路中心網路組程式設計師
106年5月13日是個看似如常的周末,殊不知網路上已掀起軒然大波,甚麼?不用開啟惡意檔案或點擊惡意連結也會中獎!一個名為「想哭WannaCry」的勒索病毒,正在肆虐全球。 據統計,此事件大約於5月10日開始頻繁攻擊,而北區ASOC中心於5月9日偵測到此漏洞被利用的資安事件,並向對外攻擊的學校開立資安單,向遭受攻擊的學校發出告警通知。但勒索病毒的感染與傳播速度非常快速,短短數日內,包含台灣在內至少有74個國家遭受攻擊。
5月15日周一上班日,統計至少150國逾20萬部電腦中毒。根據卡巴斯基實驗室的資料指出,台灣的想哭災情也進入了前四名,如圖1所示。
圖1:圖片來源轉載自https://goo.gl/pQQXV3
圖2為全球各國遭受勒索病毒攻擊的分布情形。
圖2:圖片來源截圖自 https://goo.gl/xgXiFZ
為何此次WannaCry事件會如此的嚴重呢?傳統的勒索病毒軟體大部分都是透過點擊惡意連結、郵件附檔或Adobe Flash Player等較為被動的方式散播,但是WannaCry除了以上的方法之外,還會利用Windows SMB的漏洞進行類似蠕蟲的主動式傳播行為,導致只要在區域網路中有一台主機中勒索病毒,會主動掃描區域網路中其他主機是否開啟445通訊埠,然後利用先前遭到外洩的美國NSA攻擊程式EternalBlue進行弱點滲透攻擊。
攻擊手法
駭客利用CVE-2017-0144(SMB漏洞)攻入目標主機,取得權限後下載木馬程式,並對區域網路和網際網路的任意主機進行連接埠掃描以擴大感染範圍,散播加密程式。中勒索病毒的主機也執行加密程式,使用的是RSA 2048和CBC模式AES加密文件內容,加密流程如圖3說明。
圖3:圖片參考自 https://goo.gl/vqh19I
完成文件加密動作之後,惡意程式會產生勒索之說明文檔。圖4為病毒執行與散播的手法簡單說明。
圖4:圖片參考自https://goo.gl/vqh19I
主機感染病毒之後,首先執行mssecsvc.exe ,隨機對其他主機掃描445通訊埠,接著建立tasksche.exe程式,執行檔案加密及檔案刪除。
tasksche.exe在執行檔案加密時,除了\ProgramData, \Program Files, \Program Files (x86), \Intel, \AppData\Local\Temp, \Local Settings\Temp, \WINDOWS等需要維持系統運作的系統檔案資料夾不會被加密之外,其餘的檔案都會被複製一份後加密成附檔名為 .WNRCY的檔案類型,被加密的原始檔案也將全部被刪除。
最後出現勒索的畫面,有各種語言版本如英文、俄文、簡體中文或繁體中文等等,勒索金額要價美金300元等值的比特幣,如三天內未支付贖金,金額將翻倍至600美金,如下圖5所示。
圖5:WannaCry勒索畫面
暫時性解決方案
由於勒索病毒的攻擊手法裡,包含了一項反分析機制,用以預防資安人員研究病毒的攻擊手法,而找出破解的方法。所以勒索病毒程式裡加入了一項判斷機制,利用向DNS server 查詢某網域名稱是否已註冊,藉以確認是否可以進行攻擊。例如查詢網域名稱 iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com:
1. 如果DNS server回應此網域尚未註冊,則WannaCry勒索病毒會認為是安全的,可以繼續擴散。
2. 如果DNS server回應此網域的IP位址,WannaCry病毒認定自己被放置於沙盒(Sandbox)測試環境中,便會停止攻擊與擴散行為,以防被研究人員分析破解。
由Cisco研究員分析勒索病毒的部分程式碼之中我們可以發現,如下列程式碼所示,它會自動連線至尚未註冊的網域。我們也可以從DNS查詢的狀況發現異常,如圖6所示。
編輯Views / Shared版面配置頁(C#、VB.Net)
1. 新增「_LayoutWeather」檔案,如圖六:
圖6:圖片來源轉載自https://goo.gl/Ep7kgJ
英國資安公司一位成員注意到上述情況,註冊了被發現的尚未註冊的網域名稱,無意間造成全世界的WannaCry病毒都以為自己身處於沙盒(Sandbox)的測試環境中,而遏止了病毒大規模的擴散攻擊。
如下圖7所示,我們可以發現此網域已於5/12被註冊完畢。
圖7:圖片來源轉載自https://goo.gl/Ep7kgJ
新版WannaCry
WannaCry在5/12~5/14的周末肆虐全球打響名聲之後,專家們隨即開始研究防堵方法,讓用戶們能免受勒索病毒的攻擊,但駭客們也不是省油的燈,隔沒幾天,網路上就出現了新型的變種勒索病毒。
根據卡巴斯基實驗室指出,沒有「Kill Switch」(未註冊網域)機制的WannaCry病毒已經出現在網路上,但因為檔案有毀損,並沒有辦法完整執行功能,只能說是半成品,所以不構成威脅。
建議措施
1. 開啟Windows Update更新微軟官方釋出的系統漏洞
2. 備份資料檔案(不須備份系統檔案)
3. 謹慎開啟網站連結與檔案
4. 安裝防毒軟體並維持病毒碼更新
5. 關閉主機TCP 445通訊埠(如下流程圖所示)
(1) 開啟控制台中的防火牆
(2) 點選左邊欄位的「進階設定」
(3) 點選左邊欄位的「輸入規則」,點選右邊欄位的「新增規則」
(4) 點選「連接埠」,點擊「下一步」
(5) 點選「TCP」,點選「特定本機連接埠」輸入445,點擊「下一步」
(6) 選取封鎖連線→按下一步
(7) 不需更改→按下一步
(8) 名稱輸入(如:445)→按完成
若自身沒有使用SMB的需求,也建議使用者可以到「新增/移除程式」裡面將服務給關閉,如下圖所示。
相關問題
根據卡巴斯基分析結果(如下圖所示),被WannaCry勒索病毒攻擊成功的主機幾乎都是Windows 7(所有版本合計占約98%),如圖8所示,雖然微軟已在今年3月釋出更新程式,但是因為Windows 7不像Windows 10會強制用戶系統更新,所以有許多主機因未能即時更新,遭受如0day一樣的攻擊,完全無法防禦。
圖8:圖片來源轉載自https://goo.gl/B38QXa
我們經常會看到網路上的教學資訊,教大家不要開啟Windows更新,以免主機速度會變慢。然而此次來勢洶洶的勒索病毒攻擊,或許能讓大家思考,在現今資安議題日趨嚴重的時代,安全與方便或效能間的權衡,需要用不同的角度重新檢視才行。
參考資料
�� https://zh.wikipedia.org/wiki/WannaCry
�� https://www.malwaretech.com/2017/05/how-to-accidentally-stop-a-global-cyber-attacks.html
�� http://www.appledaily.com.tw/realtimenews/article/new/20170515/1118638/
�� https://unwire.hk/2017/05/21/wannacry-victim-statistics/tech-secure/
�� http://hitcon-girls.blogspot.tw/2017/05/wanacrypt0r-ransomware.html
�� https://twcert-official-file.s3.hicloud.net.tw/TWCERTCC-MIFR-2017001.pdf
�� http://blog.talosintelligence.com/2017/05/wannacry.html
�� https://blogs.technet.microsoft.com/mmpc/2017/05/12/wannacrypt-ransomware-worm-targets-out-of-date-systems/
�� https://www.fireeye.com/blog/products-and-services/2017/05/wannacry-ransomware-campaign.html
�� https://intel.malwaretech.com/WannaCrypt.html