楠木軒

國內第一個吃螃蟹的內存安全公司:如何做安全的最後一道防線?

由 秋長紅 發佈於 科技

你可能不知道,你的一舉一動總是逃不過黑客的眼睛。

不久前,馬斯克和美國宇航局 NASA 首次發射了載人火箭,創造了航天史上的又一個奇蹟。不料又被黑客盯上了,一個名為 DopplePaymer 的勒索團伙“高調”宣佈他們入侵了一家名為 DMI 的公司內網,還留下了祝賀信息挑釁。而巧合的是,這家公司正是 NASA 的一家 IT 供應商,這家公司的客户名單裏不乏全美前 100 強的公司和政府機構。

圖片來源於ZDNet

而按照黑客的慣常思維,一般做法是要企業破財免災,否則他們就會在泄密網站上公開所有文件作為報復。

一旦文件被泄露,後果怎樣,你懂的,所以企業的一般做法就是乖乖交贖金。

同期,Google 工程師統計了 2015 年以來,Chrome 穩定分支中修復級別為 "high" 或 "critical" 的 912 個安全錯誤,結果發現約 70% 是內存安全漏洞。 

但事實上,不只是 Google,內存安全漏洞是很多科技公司都頭疼的問題,微軟工程師也曾公開表示:在過去 12 年中,微軟產品的安全更新中,約有 70% 也是在解決內存安全漏洞。

隨着攻防對抗的發展,基於內存的攻擊方法越來越多,比如 UAF、DoubleFree、堆棧溢出等類型漏洞都屬於內存破壞型漏洞,我們所熟悉的心臟滴血、永恆之藍等大規模安全事件,就是內存安全漏洞引發,而內存攻擊的特性是沒有文件,所以即使企業或者組織採購了一系列安全產品,但是狡猾的攻擊者可以繞過這些安全產品。

於是,為了解決內存安全問題,技術大佬們也是日思夜想,終於被他們找到了一條新的突破點:既然攻擊者狡猾,那我們就一個也不放過,從電腦的核心開始保護。

那麼,這套內存保護系統到底是什麼?要怎麼搞呢?

故事還要從兩個安全大佬的夢想説起。

2005 年,喜歡研究計算機病毒的姚紀衞進入了一家反病毒安全公司施展抱負,2007 年便創作發佈了 LinxerUnpacker 軟件。值得一提的是,該軟件是全球首款基於反病毒虛擬機的通用脱殼軟件。

安芯網盾 CTO 姚紀衞 

2008 年又創作了 PChunter,該軟件基於國際領先的系統底層技術,同時也被國外媒體評為全球最優秀的 AntiRootkit 軟件。

彼時,姜向前在哈爾濱工程大學留校工作,主導高校信息化建設,在學校時兩人便是極要好的朋友,工作之後也一直保持着密切的交流,探討着安全行業的未來發展趨勢。

當時,殺毒軟件基本上還是利用特徵碼去匹配,時效性不高,一旦出現新病毒或變種就需要不斷把它們的特徵碼加入到病毒庫中,一來具有滯後性和被動性,二來病毒庫將越來越龐大,消耗用户內存資源,治標不治本。

所以,為了改變現狀,兩人便萌生了創業的想法。

2009 年,兩人聯合創立了一個安全實驗室,專心做殺毒引擎。沒想到第一款產品就受到了國際認可,他們開發的基於代碼動態執行分析分析的未知威脅文件檢測系統,在國際權威測評機構 VB100 的未知病毒檢測測評中獲得了全球第二的成績,併為 Google、華為等知名企業提供安全引擎。後來,受到免費殺毒軟件的衝擊,國內企業級安全引擎市場逐步萎縮。

“在第一次創業後我們兩人還是在安全行業深耕,我還是繼續專研未知病毒的檢測與防護技術,也研究了很長時間的虛擬化技術。第二次創業緣起於我們的一次游泳,當時我們聊起當前的安全產品雖多,但是企業安全防禦建設還是面臨大考。”姚紀衞介紹。

2019 年兩人再次合夥,結合兩人這十來年在安全領域的摸索和經驗,決定要繼續自己的夢想。

這一次他們的創業方向是內存安全,將未知威脅檢測和硬件虛擬化結合在一起,在系統的最後一道防線來攔截威脅。即利用內存虛擬化技術來做內存保護。

“我們敢於去做這樣的嘗試,都是基於我們在未知威脅的程序行為分析、虛擬化技術研究這方面花了很長時間去研究,並總結了一套方法論,這也是短期內難以被複制的。”姚紀衞回憶起創業初衷時如是説。

值得注意的是,內存保護技術首次提出是在 2016 年,IT 諮詢公司 Gartner 將基於非簽名方法的終端防禦技術(內存保護技術和漏洞利用阻斷技術)列為面向未來的十大信息安全技術之一,但是那時候並沒有相關的產品出現。

據瞭解,內存保護系統不僅需要了解計算機體系結構和操作系統,還需要了解安全技術。這些技術要求背後隱藏的是人才要求,內存保護系統的實現需要有信息安全和計算機系統這兩個方面的技術專家。安芯網盾團隊剛好符合這兩個要求。

姚紀衞對此解釋道:“不論威脅代碼如何變化,但是萬變不離其宗,不管攻擊方式怎麼變,最後都要落到內存讀、寫、執行上,理論上基於 CPU 指令集和內存這一層面實現的安全方案可以有效防禦所有威脅,只要盯住內存,就能發現威脅的一舉一動。”

談及內存安全產品獲得關注的原因,姚紀衞從攻防對抗的角度進行了解釋。

首先,攻擊者比之前更狡猾了,他們所使用的技術相比之前也更強大,目前有 80% 以上的攻擊者會熟練採用各式各樣工具突破層層網絡邊界防護,將惡意代碼植入到主機內存上;其次是攻擊範圍更大,典型的例子是一些黑客將惡意代碼植入之後,可以長達幾個月甚至一兩年的時間不做任何動作,在長久的潛伏之後進行攻擊,被攻擊者的業務往往遭受毀滅型的打擊,這就意味着用户需要更有效的安全方案應對威脅。

在國外,解決內存安全問題的相關內存安全產品應用已經初具規模,美國公司 Virsec 也大致在同時期發佈了內存安全產品 AMFW,2018 年美國著名 IT 雜誌 CRN將 內存保護產品評為 20 個關鍵創新熱門安全產品中的 top1 。所以這樣説來安芯網盾算是國內內存安全領域第一個吃螃蟹的公司。

各種安全產品就像一道道牆,每一道牆都是一套解決方案,不同於其他安全公司的產品,安芯網盾要做的是在最危險的地方做守衞兵,從最底層守住安全防線。

那麼,什麼是內存安全?

據姚紀衞介紹,內存安全的核心原理是從計算機的體系結構出發,任何需要 CPU 執行的代碼、處理的數據都需要經過內存進行存儲。內存安全由內存監控、程序行為監控、智能分析、系統安全增強和安全響應等構成,可阻止異常內存訪問和惡意代碼執行等攻擊行為,為計算機系統構建一個完整的內存安全環境。

守護主機的最後一道安全防線(受訪者供圖)

舉個栗子,以前敵人進攻的路徑大家是熟悉的,所以安全軟件在敵人必經點設置了路障,自然就可以攔截,但現在情況不一樣了,隨着防禦技術的升級,敵人的攻擊路徑也開始裂變,出現了多種未知威脅,對於這些未知威脅就需要全面排查,而安芯網盾做的就是在敵人入侵的最底層進行防護,實時監測內存狀態和程序行為狀態,每當敵人想要入侵時,就可以並在第一時間識別威脅且進行響應。

據最新數據,內存保護系統在未知威脅方面的攔截能力能達到 99% 。那麼,內存保護系統是如何達到高效的防護效果的?

內存上的動作傳統方法很難監控,安芯網盾的內存安全產品基於實時的程序行為監控、內存操作監控等技術實現了進程級別的內存保護,確保用户核心業務應用程序只按照預期的方式運行,不會因病毒竊取、漏洞觸發而遭受攻擊。不同於常規安全產品只運行在應用層或者系統層,安芯神甲智能內存保護系統能夠在應用層、系統層、硬件層提供有機結合的立體防護。

簡單來説,內存安全產品就是通過監控 CPU 指令、內存訪問可以監控內存代碼和數據狀態以及內存的讀、寫、執行行為,對系統行為做監控,基本可以監控系統所有的 API 調用(只要進內核就會被監控到,不進內核的 API 其實也幹不了什麼事情),還可以監控一些異常的內存數據流動,大量的行為數據可以極大的提高惡意代碼的檢出率,還能極大的規避誤報。同時,還避免了其他安全產品所面臨的兼容性問題,以及安全軟件之間的衝突問題。

除此之外,內存保護系統基於 Agent 架構,啓動相關服務和腳本即可運行,而且在運行時 CPU 佔用率不超過 5%,內存佔用率不超過 100M。而且,這款產品在運行時對客户來説幾乎是無感知的——由於實時響應的特性,用户在最後看到的只是一份報告/日誌用以定期查閲,但在系統運行過程中已經幫助客户抵禦了許多攻擊。

在內存產品的應用場景方面,姚紀衞認為,前景是十分廣闊的。

安芯網盾內存安全產品核心優勢(受訪者供圖)

結合當前的大環境來講,新基建推動信創產業提速發展,它包含了從 IT 底層基礎軟硬件到上層應用軟件的全產業鏈的安全可控。這拓寬了安芯網盾內存安全產品的應用場景和市場,目前,安芯網盾的產品已經支持 X86 和 arm 架構的 CPU,以後將逐步適配更多國產架構的 CPU。

 隨着“等保”、“關保”等政策的落地,以及新基建將信息安全提到一個新高度,不再像以往一樣先系統運行,再購買產品服務層層的打補丁。現在要求關口前移,在設計之初就統籌規劃安全。這給了新產品新技術一個大好機會,一些真正有效的預警、檢測、防禦等產品,比如內存防火牆這類創新產品也正受到越來越多 CSO 的青睞。

雷鋒網雷鋒網雷鋒網

參考資料:

【1】https://www.zdnet.com/article/chrome-70-of-all-security-bugs-are-memory-safety-issues/

【2】https://www.zdnet.com/article/ransomware-gang-says-it-breached-one-of-nasas-it-contractors/