LINE Taiwan Security Meetup – BECKS #3

資訊安全向來是 LINE 最重視的環節之一,LINE 持續致力於推廣各種安全增強策略。作為我們資訊安全的工作的一部分,今年 (2019) 起我們定期於韓國、日本、台灣三地聯合舉辦 BECKS.IO – Security Meetup,邀請各國資安研究者參加,讓全球各區域的資安研究者透過這個聚會進行更多交流。這次很榮幸能邀請到 GrayLab 負責人,同時也是 LINE Security 團隊負責人 – Beist 從韓國來到台灣,參加本次 BECKS meetup,透過 keynote 表達 LINE 致力於與台灣資訊安全社群建立良好關係的承諾。

而在技術講座的部分,本次 meetup 共包含兩個講座,第一個講座,由來自日本的講者分享使用 EICAR 測試引擎測試 Windows Defender 的經驗 ; 而第二個講座,由台灣的講者分享在程式碼供應鏈中找出惡意 payload 的過程。

AvOracle: New Attack Vector Against AntiVirus / Ryo Ichikawa & Ryota Shiga

第一場講座的講師是 Ryo Ichikawa 與 Ryota Shiga。Ryo Ichikawa 是 TokyoWesterns CTF 團隊的創辦人,而 Ryota Shiga 除了是 TokyoWesterns 團隊成員,也是 LINE security engineer.透過本場講座,他們分享了使用 EICAR 測試文件、測試防毒軟體的經驗。防毒軟體透過審核檔案權限、指令執行,以及分析各種內容來保護我們的電腦。如果防毒軟體發現惡意內容,它將阻止該內容以保護用戶。而如果防毒軟體也可以使用各種內容分析器充當 Oracle 呢? 這便是 AvOracle 的基礎,由防毒軟體與 oracle 組成。

Ryo 與 Ryota 藉由觸發 EICAR 測試文件 false positive 反應的經驗,分享測試防毒軟體檢測規則的過程。EICAR 測試文件與其他已識別簽名相似,因此,合格的病毒掃描程序對於 EICAR 文件的反應,與對真實病毒的反應相同。但是,並非所有設定正確的病毒掃描程序都可以檢測到 EICAR 文件。EICAR 測試字串為:

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

而 Windows Defender (Windows Defender Antivirus)  是 Microsoft Windows 強大的反惡意軟體套件,甚至能夠阻絕 “ Invoke-Mimikatz” 與許多命令提示字元中的字串。Ryo 和 Ryota 在研究中發現 Windows Defender 可以透過以下方式,對於包括 EICAR 測試文件在內的潛在惡意軟體做出回應,回應的方式包括:

  • 檢查可疑文件的內容中是否包含惡意數據
  • 更改權限以防止用戶讀取可疑文件
  • 以 null byte 替換惡意部分
  • 刪除整個檔案

在研究 Windows Defender 的過程中,Ryo 和 Ryota 發現 Alexei Bulazel Black 於 Hat 2018 發表的研究 “Windows Offender:Reverse Engineering Windows Defender’s Antivirus Emulator”。以 Bulazel 的研究為基礎,Ryo 和 Ryota 重新建立了該過程,並觸發 Windows Defender 的回應,他們採用的方法是使用 EICAR 測試字串以找出關鍵字母。結合字串 “EICA” + 字母 “ x” 中的第一個字母,可以測試出該字母是否為 “ R”。事實證明,Windows Defender 將檢測該字母是否合適,但是每個字母的 ASCII 碼需要經過 256 次嘗試。因此,便採用二進位搜索以加速該過程,並於最終獲得 oracle。此外,利用 Bitwise XOR 的特性,可以在同一個 HTML 中取得秘密字串的位置,用以確認 HTML 中 secret arbitrary 位置上的字母,是否與目標字母相符。

在介紹完研究背景與 Windows Defender 運作機制後,Ryo 和 Ryota 總結,即使對於 Windows Defender,內容審核員也可以充當 Oracle的 角色。同時,Windows Defender 對於潛在的病毒保持高度警戒,但它也可能導致新型的攻擊。

Supply Chain Attack & Modern APT Malware / Bletchley Chen & Inndy Lin

第二部分的講座,由 Cysession 資安研究人員:Bletchley Chen 與 Inndy Lin 分享如何調查 APT 攻擊和用於執行 APT 攻擊的工具。他們首先解釋了為什麼軟體的 “供應鏈” 會成為常見的攻擊目標,執行軟體時,程式碼的 “供應鏈” 包含許多元件。這些元件可能會受到各種形式的攻擊。例如,許多開發人員會從 Stack Overflow 複製不安全的程式碼,因此 Stack Overflow 便可能成為易受攻擊的程式碼來源。由於易受攻擊的程式碼可能會被其他 library 所使用,因此某些駭客會發佈有用但也有害的 library 來散播惡意程式碼,用戶很難確保每個 library 都是安全的。

而編譯器則可能使用帶有惡意軟體標記的 Xcode 工具,來感染由受影響的編譯器所編譯的 iOS 應用。此外,在大多數組織不斷加強其資訊安全性的同時,其合作夥伴或供應鏈之間最脆弱的鏈接,卻可能成為惡意軟體的攻擊目標。 Inndy 與 Bletchley 也說明,另一種常見的 APT 策略,是藉由合成正常的程式進行惡意攻擊,攻擊者通常會透過混入合法應用程式的方式,以避免被資安機制檢測到。接著,講者介紹 Shadow Hammer 和 WebStorage APT 攻擊的概念。攻擊者將惡意程式碼注入了合法程序,但修補後的程序仍具有合法證書。在這種情況下,該程式只有一小部分被修改,而大多數程式碼保持不變,因而很少被防病毒程序檢測到。

面對各式各樣的威脅和惡意軟體,該如何有效地發現惡意 payload? 在研究發現攻擊者可能使用編譯器生成 shell 程式碼,以及 shell 程式碼對於 file-less 攻擊的作用後,Inndy 和 Bletchley 分享了他們的調查原則:observe -> conceive threat hypothesis -> investigate -> check hypothesis -> revise hypothesis -> confirm hypothesis。將其應用於 APT 調查過程時,步驟則包括:malware analysis -> threat hunting -> threat intelligence -> threat investigation -> feedback。講者強調,找出整體攻擊的 storyline 比找出單個惡意軟體更為重要。同時,也強調找出威脅的重要性,提醒開發者應主動並定期調查系統中是否已受到攻擊,積極採取行動,根據可能的攻擊類型和攻擊順序做出判斷。

活動小結

今晚的活動是本年度第三次的 BECKS.IO 聚會,除了透過講座為與會者提供最新的安全趨勢及案例研究之外,我們的目標是為來自各個國家和地區的安全專業人員,提供一個交流想法與經驗的平台,並衷心希望本活動所產生的動能,能為整體資安領域注入更多力量。

立即 follow「BECKS」活動訊息,就能收到第一手 Meetup 活動最新消息的推播通知。▼

「BECKS」活動專頁:https://becks.io

關於「LINE 開發社群計畫」

LINE 今年年初在台灣啟動「LINE 開發社群計畫」,將長期投入人力與資源在台灣舉辦對內對外、線上線下的開發者社群聚會、徵才日、開發者大會等,預計全年將舉辦 30 場以上的活動。歡迎讀者們持續回來查看最新狀況。詳情請看 2019 年LINE 開發社群計畫活動時程表 (持續更新)https://engineering.linecorp.com/zh-hant/blog/line-taiwan-developer-relations-2019-plan/)

徵才訊息

《LINE 強力徵才中!》與我們一起 Close the Distance 串聯智慧新世界 >> 詳細職缺訊息

Related Post