環球創業頻道導航欄_fororder_WechatIMG203

    滾動   |   環球快訊   |   環球專訪   |   政策解讀   |   會員頁面   

馮登國:網絡攻防對抗中的軟體安全主要技術挑戰與進展

2021-04-07 11:36:50  來源:中央廣電總臺國際在線  責編:韓東林

  國際在線消息:4月7日,由中國軟體行業協會主辦的2021中國軟體産業年會在北京舉行,大會以"數字經濟新時代——軟體産業賦能高品質發展"為主題,瞄準産業變革和時代發展趨勢,滌蕩思想與共識,匯聚知識與力量,展示中國軟體産業新成果。

  大會現場,中國科學院院士馮登國作題為“網絡攻防對抗中的軟體安全主要技術挑戰與進展”的精彩演講。

  以下是現場實錄全文:

  馮登國:尊敬的廖湘科院士,各位領導、各位專家、各位來賓大家上午好!大家都講軟體是信息技術的靈魂,那麼網絡空間對抗最關鍵的就是軟體的對抗,因此我今天報告的題目是網絡攻防對抗中的軟體安全問題,主要談談主要技術挑戰與進展。進展這部分工作主要結合國內外的情況談談我這個團隊所做的工作,這樣稍微聚焦一下。   

  信息對抗24小時都在進行,大家可能看過《反恐24小時》第八季,有可能室內的安全監控系統被劫持,也有可能工業控制系統被控制,更有可能核潛艇通訊系統被劫持,還有航空管制系統被控制,以及無人機控制系統被劫持等等。這些表現都是説明信息對抗24小時都在進行。高級持續性危險攻擊,就是我們講的APT攻擊是由組織實施,高技術資源支撐的高隱蔽性、高破壞性攻擊,是當前網絡攻擊對抗的最前沿,也是國家重大的戰略需求。比如説境外的情報機構可以利用國家背景的高技術手段,有組織的駭客團夥,由於高價值情報以及經濟利益的驅動都可能通過突破傳統的防禦體系,破壞國家關鍵基礎設施等。   

  先講兩個典型的事例。

  第一個是RSA SecurID泄漏的事件。我們看到在右邊是我們通過防火牆隔離出來的局域網,左邊是外網,它主要有這麼四步:第一步通過發送惡意郵件。

  第二步是通過利用已知的CVE漏洞進行後的植入,來獲取控制指令。

  第三步是通過入侵RSA開發用的伺服器獲取所要的資料包括口令,包括RSA SecurID的信息,通過獲得的信息對其它系統進行訪問和攻擊。   

  另外一個駭客團隊遭受攻擊的事件。這個團隊的總部在意大利的一個軟體開發商,它依託政府後臺大力研發銷售監控軟體,被受用戶爭議,在2015年7月份這個團隊早有了大型數據的攻擊洩露事件。這個事件泄漏了公司大量的重要資料和代碼,包括漏洞以及它的利用,內部項目的會議資料等等,這兩個典型事件表明,軟體的攻擊24小時都在進行。有組織的攻擊利用各種技術對抗現有的華為體系是攻擊的關鍵,也是難點。技術的對抗手段來説不斷發展,包括未知漏洞的利用,像代碼通用攻擊這些技術手段在發展。同時我們的防禦技術也是從檢測、分析、追蹤幾個角度進行防禦。即便是這樣,像我們的國際頂級的RSA公司,國際頂級的攻擊團隊,像國家頂級的NSA下面的組織仍然受到攻擊。   

  軟體既是攻防對抗的主要目標,也是攻防實現的主要手段。在漏洞完成過程來看,發現軟體漏洞,評估軟體漏洞是否能夠利用是一方面。另外一方面我們從攻擊實施的過程來看,利用漏洞執行攻擊代碼,組合多種手段實施攻擊任務,99%軟體漏洞都是無法利用的,要完整分析一個軟體漏洞也是非常耗時的,一個專業人員需要1-4周的時間。軟體安全分析能力是制約攻防能力的關鍵因素,主要工作是分析漏洞是否可利用、分析漏洞具體該如何利用。還有分析軟體或其運行過程是否包含惡意行為。   

  軟體的複雜性,對軟體安全分析提出了嚴峻挑戰。我們看看主要有這些挑戰,首先是軟體大規模化的發展,像win7代碼量達到5千萬行,win10代碼量達到10億行。還有軟體功能協同越來越複雜,OpenOffice而有200多個共享庫,IE、EDGE等瀏覽器多進程協同運行。三是軟體生態環境的多樣化,包括虛擬化、雲計算等各類技術的應用以及軟體開發模式、分發模式的變化,都帶來了複雜性。四是軟體存在的問題及其可能的利用方式越來越多樣化。包括棧溢出漏洞、堆溢出漏洞、信息洩露漏洞、邏輯漏洞等等這些都是可以利用的。   

  當前基於人工智能技術是解決軟體安全問題的重要思路。這方面已經有大量的工作,目前正在部署大量的工作。尤其我們最近看到像美國的(英文)計劃部署了這方面很多的任務。

  首先第一個工作就是在2015年出現的,就是基於十進位網絡的二進位程式的函數邊界識別工作,主要是通過二進位函數邊界的字節序列模式進行訓練,形成函數邊界的識別能力。主要分兩步:第一步是程式每一個字節one-hot形式編碼為下量,函數邊界字節做標記。第二步是基於循環的函數邊界開始和結束位置進行訓練。  第二步,2017年出現的,主要基於神經網絡的函數類型聲明識別這方面的工作。這方面的工作,這個方法主要包括三大步,第一步是函數類型聲明相關數據向量化,主要基於word2vec模型。第二個是基於循環的網絡模型對函數進行訓練學習。包括函數的參數的個數識別和函數個數參數類型的識別。第三步基於訓練得到的模型進行預測。這是2017年出現的工作。   

  第三步是物聯網固件中已知漏洞的搜索,出現在2016年。主要是借鑒圖像搜索識別方法中圖片向量華的思路,主要包括四個步驟:第一步提取函數CFG信息(指令信息、圖結構信息),二是聚類形成碼利用的是Kmeans,第三類是碼書加函數CFG轉化向量,四是基於高危向量的距離對詳細的函數進行查找。主要由Lhash的演算法做這件事情。這些工作表明人工智能技術解決網絡安全問題是可行的思路,也是重要的思路。   

  自動化攻防的代表出現在DARPA網絡空間挑戰賽,2016年出現。原來看到用人類和機器人進行象棋比賽,網絡環境下進行對抗的決賽有沒有可能。2016年8月份,美國國防部的DARPA計劃支持了網絡空間的挑戰賽。這個參賽團隊主要打造“自動攻擊防禦系統”,在無人干預條件下相互競爭查找漏洞,生成利用攻擊敵方以及部署補丁抵禦敵方的攻擊。這個比賽充分展現了美國網絡攻擊對抗發展的戰略,主要是以智慧化軟體分析為基礎的自動化網絡公關。大部分團隊基於代碼分析、污點分析、符號執行等程式分析方法來打造自動分析系統。自動攻防在學術界的研究早已開始,2008年出現了補丁比較法。這個方案主要通過對比二進位補丁程式,提取所修復的脆弱條件,實現原程式的軟體漏洞自動利用。   

  第二階段就是2011年-2013年、2014年這個期間出現面向控制流的方向,通過優化後的符號執行遍歷程式的可能路徑,並由此尋找脆弱點以及生成利用樣本。第三個是通過分析記憶體錯誤所影響的區域,自動構造能夠進行敏感數據的樣板。   

  總結來看面向高級威脅,尤其是APT攻擊的威脅,軟體安全面臨的主要技術挑戰有這麼幾個方面:   

  一是軟體安全性檢測與評估非常困難。面向複雜、大規模的軟體如何快速、準確的檢測軟體安全隱患、評估危害,這是一個非常困難的問題。雖然做了大量的工作,但是這個工作是永無止境的工作。   

  第二個方面是環境構建與攻擊防禦,這個對層出不窮的攻擊手段創新和千變萬化的計算環境,如何構建安全可信的計算環境進而構建主動防禦能力也是一個非常困難的問題。   

  第三個方面是有組織攻擊檢測與分析難,針對APT攻擊等高級威脅的高對抗性特點,如何提高攻擊的發展能力、機理分析能力和追蹤溯源能力,這些工作也都是值得進一步深入研究的一些工作。在圍繞這幾個方面,國內外做了很多工作,包括我們國外的,包括我們國內科研單位和企業做了非常多工作,我主要結合當前企業發展的技術優勢,我主要介紹我們團隊在這三個方面的工作。    軟體安全檢測與評估方面,這方面的工作的確非常難,大家在往前走推進這方面技術的進步。我們對一處漏洞的檢測主要針對危害嚴重,廣泛存在的堆溢出漏洞提出一套基於輸入主動構造的堆溢出挖掘方案。基於數據流分析與動態符號執行方法,通過構造輸入、直接驗證堆溢出漏洞的存在,實現了堆溢出的挖掘與PoC主動構造能力,這個成果發表在USNIX Security2017的會議上。   

  堆溢出漏洞的挖掘主要做兩方面的工作:一是驗證已知漏洞,修改PoC文件中漏洞相關內容,測試驗證了相關已知漏洞,特別是word中的CVE-2014-1761漏洞路徑之後,又找出一個溢出漏洞實現了更全面的漏洞挖掘能力這是一方面。另外一方面主要是挖掘未知的漏洞,挑選具有代表性的種子文件,在不到一個月的時間內挖掘未知漏洞有47個,涵蓋了像Word、MediaPlayer等多種商業軟體,做了這樣的工作。   

  我們在記憶體漏洞的挖掘方面主要是基於靜態程式分析、符號執行及模糊測試,通過靜態標記,動態構造輸入逼近標記點,驗證記憶體漏洞的存在,實現了記憶體漏洞的挖掘與PoC主動構造的能力,這個成果主要發表在RAID 2015這些會議上。累計挖掘了包括Wnidows而內核高位漏洞在內的未知漏洞有39個,我們也驗證了已修復的漏洞,獲得了CVE漏洞編號14個。這個工具可以支持Wnidows和Linux系統,涵蓋內核、多媒體處理等多種軟體。可以發現多種類型漏洞:堆/棧溢出漏洞等等,這個估計可以做這些工作。   

  這個就是在進展的時候,在自動化攻防進展的時候提到一個工作就是軟體漏洞的多樣性利用生成主動是自動化利用生成,我們提出一個系統工具是PolyAEG,這是我們2013年公開的,在當時來説是國內最早的漏洞制度利用的一個方案。主要是從攻擊者的角度尋找漏洞利用的途徑,並針對潛在的攻擊路徑構造不同的多樣性的利用樣本。這是我們在下面這個圖就是它的總體架構和原理示意圖。我們實現了對真實漏洞的多樣性,全自動利用,最多生成4000多種利用方式,每個漏洞樣本生成是10分鐘左右,我們看到有一個是4724個這樣的利用方式。   

  另外在堆溢出漏洞的可利用性評估做了一些工作,比如已知含有堆溢出漏洞的二進位程式以及可觸發漏洞的PoC條件下,量化該漏洞的危害程度,給出評估指標、系統平臺、評估方案來做這件事情。這個成果也主要是通過著下面幾個步驟進行利用。這個工作在完成實驗驗證之後,比現在看到的微軟一個工具,它做了9個堆溢出樣本的實驗,我們5個可利用是一樣的,但是後面4個可以確定下來它的狀態,這是我們工具的優越性。    同時這方面在國內參加的一些基於AI智慧的攻防獲得優異的成績。   

  下面介紹一下可信環境構建與攻擊防禦方面的工作。首先可信計算的本原出發點就是要扼制漏洞、控制漏洞、拒絕漏洞的防禦,從主動的方式來做。我們主要是基於軟體的方式secure enclave體系架構我們提出叫SecTEE。這個架構與別人的架構不同點在於主要是可以防止物理攻擊,比如説板級物理攻擊、以及冷啟動攻擊這是最大的不同,這個工作實際上後來我們發表在(英文)2019的會議上,提出了這樣的架構可以主動來防禦病毒的入侵,漏洞的攻擊、利用。   

  我們利用這個工作針對工控領域,這是大家比較關注的領域,也出了一套系統,這套系統最大的特點就是有三個:一是晶片級的安全保障,二是白名單防護機制,三是實時報警與監控具有這樣的功能來實施防範,這些指標晶片是毫秒級的,白名單是微秒級,可以滿足工控毫秒級的相應需求,我們用的過程中可實際部署的。   

  第三個方面是攻擊檢測與機理分析,這是一個非常難的問題,我們在這方面也做了一些工作,我們提出一套系統,給起了一個名字叫金剛惡意軟體智慧分析系統,這個系統是我們目前國內唯一在硬體層採集數據分析的動態系統,也得到了一些應用。最關鍵的技術是基於指令級異常的未知惡意軟體檢測方法,主要在破壞行為的最後階段,我們這個工具實際可以在漏洞觸發就可以介入,粒度更細,檢測能力得到提升,這是我們做的實驗結果。    最後講一下網絡對抗攻防是高技術的對抗,需要高技術手段的支撐。一方面是需求牽引,聚焦實際需求,直面實際問題,不能閉門造車,提高科研效率的關鍵。攻防對抗更是應時刻根據技術的發展,應用環境的變化、對手能力的提升而不斷調整我們的思路。    第二是持續的堅持,高難度的公關工作都需要持續,深入研究既需要科學工作者的執著,也需要組織的信任和支持。軟體安全人才相對培養週期長,門檻高,需要長時間的培育,我的報告到這裡,謝謝!

  (聲明:所有會議實錄均為現場速記整理,未經演講者審閱,國際在線登載此文出於傳遞更多信息之目的,並不意味著贊同其觀點或證實其描述。)

分享到:

國際在線版權與信息産品內容銷售的聲明:

1、“國際在線”由中國國際廣播電臺主辦。經中國國際廣播電臺授權,國廣國際在線網絡(北京)有限公司獨家負責“國際在線”網站的市場經營。

2、凡本網註明“來源:國際在線”的所有信息內容,未經書面授權,任何單位及個人不得轉載、摘編、複製或利用其他方式使用。

3、“國際在線”自有版權信息(包括但不限于“國際在線專稿”、“國際在線消息”、“國際在線XX消息”“國際在線報道”“國際在線XX報道”等信息內容,但明確標注為第三方版權的內容除外)均由國廣國際在線網絡(北京)有限公司統一管理和銷售。

已取得國廣國際在線網絡(北京)有限公司使用授權的被授權人,應嚴格在授權範圍內使用,不得超範圍使用,使用時應註明“來源:國際在線”。違反上述聲明者,本網將追究其相關法律責任。

任何未與國廣國際在線網絡(北京)有限公司簽訂相關協議或未取得授權書的公司、媒體、網站和個人均無權銷售、使用“國際在線”網站的自有版權信息産品。否則,國廣國際在線網絡(北京)有限公司將採取法律手段維護合法權益,因此産生的損失及為此所花費的全部費用(包括但不限于律師費、訴訟費、差旅費、公證費等)全部由侵權方承擔。

4、凡本網註明“來源:XXX(非國際在線)”的作品,均轉載自其它媒體,轉載目的在於傳遞更多信息,豐富網絡文化,此類稿件並不代表本網贊同其觀點和對其真實性負責。

5、如因作品內容、版權和其他問題需要與本網聯繫的,請在該事由發生之日起30日內進行。