NDSS 2021 论文泛读
會議論文列表:https://dblp.uni-trier.de/db/conf/ndss/ndss2021.html
只挑了幾個感興趣的session過了一遍,還是發現了不少有意思的文章。
文章目錄
- 程序分析
- 模糊測試
- 側信道
- 智能家居
- 軟件防御
- 嵌入式安全
- 可信計算
程序分析
Towards Measuring Supply Chain Attacks on Package Managers for Interpreted Languages.
簡介:qualitative assessment!(定性評估)
包管理器在現代軟件開發過程中起到很重要的作用。他們可以讓開發者復用第三方庫,最小化代碼庫,簡化軟件構建的流程等等。然而,最近的報告顯示,包管理器會被攻擊者利用來發布惡意軟件,造成嚴重的安全威脅。比如,npm里的一個一周能有百萬次下載的包(eslint-scope),被發現會偷取開發者的憑據。
本文提出了一個comparative的框架去定性評估解釋器語言里的包管理器的功能和安全特征。基于量化評估,采用了知名的程序分析技術(元數據、靜態、動態分析)去研究registry abuse。剛開始發現了339個新的惡意包。包管理器的維護者確認了其中278個(82%),其中3個有超過10萬次下載。對于這些包,作者申請了CVE,來幫助大家把這些惡意的包移出去。
鏈接:https://www.ndss-symposium.org/ndss-paper/towards-measuring-supply-chain-attacks-on-package-managers-for-interpreted-languages/
Processing Dangerous Paths - On Security and Privacy of the Portable Document Format.
簡介:pdf危險性分析。怎么分析攻擊的能力,值得學習!
PDF是一種標準的文檔格式。我們會很經常的從不可信的渠道獲取到pdf并打開,比如email的附件,網上下載的。本文主要是對惡意PDF的能力做了深入的分析。本文不是針對實現上的bug,而是通過在pdf文件結構里系統性地識別危險的路徑來濫用pdf標準的合法特性。這些危險路徑會導致攻擊。作者將其分為四類:(1)拒絕服務攻擊(2)信息泄露攻擊(3)數據操縱(Data manipulation)(4)代碼執行。分析了28個處理PDF的應用程序的結果表明,其中26個都存在至少導致一種攻擊的路徑。最后基于PDF特征提出了一種防御策略。
鏈接:https://www.ndss-symposium.org/ndss-paper/processing-dangerous-paths-on-security-and-privacy-of-the-portable-document-format/
XDA: Accurate, Robust Disassembly with Transfer Learning.
簡介:遷移學習和反匯編的結合。
在去掉符號表的二進制里去反匯編是很困難的。現有的反匯編方法依賴啟發式或者簡單的模式匹配來粗略的反匯編,但這些方法都不怎么準確,尤其是在存在編譯器優化的情況下。
本文提出了一種基于遷移學習的反匯編框架XDA,能夠學習機器碼里的上下文依賴,并且實現準確和魯棒性強的反匯編。XDA設計了一種自監督的學習任務。這個任務的輸出是字節嵌入(byte embedding),編碼了機器碼里的復雜上下文關系。這個embedding,后面還可以再優化,用于后續的反匯編任務里去。
實驗主要針對兩個反匯編任務,包括恢復函數邊界和匯編指令。測試集主要采用SPEC CPU 2017,SPEC CPU 2006和BAP語料。測試的二進制由GCC,ICC,MSVC在windows和linux平臺上編譯,包含超過4種優化。XDA分別在恢復函數邊界和匯編指令的任務上達到了99.0%和99.7%的F1 Score。開源于:https://github.com/CUMLSec/XDA
鏈接:https://www.ndss-symposium.org/ndss-paper/xda-accurate-robust-disassembly-with-transfer-learning/
Shadow Attacks: Hiding and Replacing Content in Signed PDFs.
簡介:不利用漏洞的攻擊
PDF里的數字簽名用來保證他們內容的真實性和完整性。2019年的一篇論文里發現了很多PDF查看器實現的解析文件的漏洞。這些漏洞可以被利用來修改pdf的內容而不需要驗證簽名。然后pdf查看器軟件的產商采取了一些措施來防止這些攻擊。
這篇文章提出了一種新的攻擊,叫做shadow attacks。這種攻擊可以繞過現有的防御機制,并且破壞數字簽名的pdf的完整性。這種攻擊不利用實現上的漏洞,而是利用pdf里標準的特性來實現。實驗結果表明,29個pdf查看器里有16個都會被shadow attack攻破。
鏈接:https://www.ndss-symposium.org/ndss-paper/shadow-attacks-hiding-and-replacing-content-in-signed-pdfs/
KUBO: Precise and Scalable Detection of User-triggerable Undefined Behavior Bugs in OS Kernel.
簡介:內核未定義行為漏洞的檢測。如何在內核級別的代碼量上實現較高精度的靜態分析?
未定義行為(Undefined Behavior, UB)的bug在很多用底層語言C/C++實現的軟件中存在。尤其是需要和硬件交互的OS內核,存在很多這樣的bug。在用戶空間觸發UB也能構造利用,造成OS的安全和可靠性issue。前人的工作犧牲了準確性換取擴展性,導致有很多高誤報。
文章提出了一種新的靜態UB的檢測方法,叫做KUBO,能夠同時兼具高準確性和整個內核的擴展性。KUBO針對的是能夠在用戶空間輸入觸發的UB bug。KUBO的高準確性是基于UB觸發路徑和條件的驗證得到的。擴展性是基于高效的過程間分析(能夠按需地遍歷整個調用鏈)最后找到了23個未知的高危UB漏洞。誤報率僅僅27.5%,比最先進的91%要好得多。
鏈接:https://www.ndss-symposium.org/ndss-paper/kubo-precise-and-scalable-detection-of-user-triggerable-undefined-behavior-bugs-in-os-kernel/
Bringing Balance to the Force: Dynamic Analysis of the Android Application Framework.
簡介:引入動態分析測試安卓應用框架
安卓應用框架在保護用戶隱私數據和系統完整性上起到很重要的作用。因此,它成了許多工作研究的對象。這些工作揭露了許多安全問題,包括文檔不完整、權限重分配、訪問控制的不一致性。然而,前面的工作都是基于靜態分析。靜態分析存在很多不確定性。為了打破這種不平衡的局面,文章在應用框架里加入了動態分析。最后結果說明加入動態分析還是很有必要的。
鏈接:https://www.ndss-symposium.org/ndss-paper/bringing-balance-to-the-force-dynamic-analysis-of-the-android-application-framework/
SymQEMU: Compilation-based symbolic execution for binaries.
簡介:提高符號執行的性能
基于編譯的符號執行能夠極大地提高符號執行的性能。但是需要源碼。本文提出一種新的基于編譯的符號執行,而不需要源碼,它是基于qemu實現的。實驗結果表明他比現在的S2E,QSYM都要好。在一些benchmark上,甚至比SymCC還要好。甚至在經常測試的庫libarchive里發現了一個未知的漏洞。
鏈接:https://www.ndss-symposium.org/ndss-paper/symqemu-compilation-based-symbolic-execution-for-binaries/
TASE: Reducing Latency of Symbolic Execution with Transactional Memory.
簡介:減少符號執行的延遲
本文提出了TASE,使用交易型內存來減少符號執行的延遲。只有當執行遇到了符號化的值時,符號執行解釋器才會啟動。當不再遇到符號化的值時,再切換為普通執行。本文工作的創新點是分期支付檢查value是否是符號化的代價,并且使用硬件支持的交易型內存來實現普通執行,就可以沒有影響地切換。實驗發現,TASE對于時延敏感的應用很有效,比如client-server應用里驗證用戶的行為。
鏈接:https://www.ndss-symposium.org/ndss-paper/tase-reducing-latency-of-symbolic-execution-with-transactional-memory/
Refining Indirect Call Targets at the Binary Level.
簡介:識別間接跳轉目標。
應用細粒度的CFI對于提升軟件安全很重要。然而,對于商業的二進制,構造高精度的控制流圖是很困難的。因為沒有源碼級的信息,比如符號,類型來幫助識別間接跳轉。缺少源碼信息使得分析間接跳轉的目標變得很難。指向分析或許是個解決方法,但目前沒有二進制級別的指向分析框架來識別間接跳轉目標。Value-Set Analysis在二進制上是最先進的指向分析框架,但是不能擴展到大型程序里。因此,文章提出了BPA這個框架,采用多種分析技術,包括塊內存模型、內存訪問分析。結果表明,BPA比現有工具的精度提高了34.5%,并且沒有引入漏報(false negative)
鏈接:https://www.ndss-symposium.org/ndss-paper/refining-indirect-call-targets-at-the-binary-level/
模糊測試
PGFUZZ: Policy-Guided Fuzzing for Robotic Vehicles.
簡介:自動駕駛里的fuzzer
自動駕駛交通工具(Robotic Vehicles,RV)成為了現代系統里的很重要的部分,比如自動送快遞服務,公共交通,環境監控等等。盡管他們已經應用到了很多地方,但是安全問題限制了他們更廣的應用。大部分針對RV的工作主要是提出防御機制來抵御語法bug,輸入驗證bug和外部傳感器欺騙攻擊。這篇文章提出了PGFUZZ,一種policy-guided的模糊測試框架,可以驗證RV是否遵守已確定的安全和功能策略。PGFUZZ通過時間邏輯表達式來表達確定的策略。時間邏輯表達式是用時間約束來表示,并且作為fuzz分析系統的導向指標。更具體的說,每次生成輸入,都會朝著返回策略的狀態更近一步。另外,使用靜態和動態分析找出會影響策略的true value的命令,參數以及環境因素。最后在RV控制程序,ArduPilot,PX4和Paparazzi上測試,發現了156個未知的bug,其中106個被開發者所證實。
鏈接:https://www.ndss-symposium.org/ndss-paper/pgfuzz-policy-guided-fuzzing-for-robotic-vehicles/
Favocado: Fuzzing the Binding Code of JavaScript Engines Using Semantically Correct Test Cases.
簡介:針對JavaScript的binding layers的fuzzer。用到C語言的地方還挺多的。
JavaScript運行系統包含了一些特別的編程接口,叫做binding layers。Binding layers會將數據表示翻譯成JavaScript和一些不安全的語言,比如C/C++。由于JavaScript的廣泛應用,發現JavaScript的binding layers里的bug是很重要的。然而,現有的JavaScript模糊測試工具不足以fuzz binding layers,原因有二。如何生成語法和語義正確的測試樣例,并且減少輸入空間的大小。
本文提出了Favocado,來fuzz JavaScript里的binding layers。Favocado通過提取語義信息和小心保留執行狀態,可以生成語法和語義正確的JavaScript的測試樣例。通過這種方式,Favocado生成的測試樣例不會引起非預期的運行時異常,從而增加了觸發binding code的機會。另外,利用binding layer的唯一特征,將DOM對象分成平等的類,可以大量減少fuzzing的輸入空間。最后發現了Adobe Acrobat Reader,Foxit PDF Reader,Chromium,Webkit里的61個未知的bug,其中33個是安全漏洞。
鏈接:https://www.ndss-symposium.org/ndss-paper/favocado-fuzzing-the-binding-code-of-javascript-engines-using-semantically-correct-test-cases/
WINNIE : Fuzzing Windows Applications with Harness Synthesis and Fast Cloning.
簡介:windows fuzzer,繞過GUI的思路不錯
現有的模糊測試都是針對Unix-like的系統,而沒有針對windows的。因為windows是閉源生態系統,而且圖形界面很多。并且目前缺少快速克隆進程的工具。因此,本文提出了兩個解決方案來解決windows里fuzz的難題。首先,會去為應用生成一個harness。harness是一個小程序,能夠直接調用目標函數。然后使用windows里的fork去測試harness,而無需測試整個復雜的程序。使用這種手段就可以繞過GUI,測試應用的邏輯了。最后對59個閉源windows二進制fuzz,都成功生成了合法的fuzz harness。實驗結果還表明,該工具可以比現有的windows模糊測試支持更多的程序(2.2x),并且識別更多的程序狀態(3.9x),更快的執行(26.6x)。發現了61個未知bug。
鏈接:https://www.ndss-symposium.org/ndss-paper/winnie-fuzzing-windows-applications-with-harness-synthesis-and-fast-cloning/
Reinforcement Learning-based Hierarchical Seed Scheduling for Greybox Fuzzing.
簡介:強化學習和fuzzer,強化學習如何和fuzzer結合?
覆蓋率指標在模糊測試中起到很重要的作用。最近的工作發現細粒度的覆蓋率指標可以讓fuzzer比用傳統的邊覆蓋率指標更能發現bug。然而細粒度的覆蓋率指標需要選擇更多的種子,而這是現有的算法所無法調度的。為了解決這個問題,本文引入了新的概念,多級的覆蓋率指標和基于強化學習的分層調度器。在CGC測試集上,本文的工具要比AFL和AFLFast好非常多,能夠檢測多20%的bug,提高更多的覆蓋率(83個多,60個一樣)。在fuzzbench上,覆蓋率比AFL++要多的有10個程序(總共20個)。
鏈接:https://www.ndss-symposium.org/ndss-paper/reinforcement-learning-based-hierarchical-seed-scheduling-for-greybox-fuzzing/
側信道
PhantomCache: Obfuscating Cache Conflicts with Localized Randomization.
簡介:多級緩存的隨機化方案
由于memory-to-cache的映射導致的cache沖突,經常被用于泄露敏感信息。關于L1 緩存的隨機映射的研究很多,但是仍然沒有解決如何使更高級的Last-level緩存(LLC)更安全的問題。現有的工作通過改變映射策略來使沖突地址的構造變得更加困難。然而,重新映射會導致丟失率和訪問延遲的增加。本文針對LLC,提出了一種remapping-free的隨機映射方法。采用本地隨機化技術來限定內存地址的隨機化映射邊界。小的隨機空間使得LLC在內存訪問上可以快速集搜索。這種內在的隨機也足夠混淆沖突,并且阻礙沖突地址的高效利用。在8-bank 16MB 16Way的LLC上測試,只給每個cache行帶來了0.5%的性能開銷和0.5%的存儲開銷。這是純體系結構解決方案,不需要修改軟件。
鏈接:https://www.ndss-symposium.org/ndss-paper/phantomcache-obfuscating-cache-conflicts-with-localized-randomization/
Screen Gleaning: A Screen Reading TEMPEST Attack on Mobile Devices Exploiting an Electromagnetic Side Channel.
簡介:針對手機屏幕信號的側信道攻擊
本文提出了一種針對手機屏幕的側信道攻擊,叫做screen gleaning。這種攻擊使用一個天線和軟件寫的收音機來獲取設備送到屏幕用來顯示的電磁信號。這種特殊的裝置使得其可以重新構造信號為灰階的圖片(稱為emage)。本文發現這種攻擊可以用來讀取security code。這種攻擊極具挑戰性,因為對于人類而言很難直接解釋這個emage。然后發現這種挑戰可以使用深度學習分類器來解決。文章提出了一個測試集,screen gleaning 攻擊模型以及對應的防御機制。
鏈接:https://www.ndss-symposium.org/ndss-paper/screen-gleaning-a-screen-reading-tempest-attack-on-mobile-devices-exploiting-an-electromagnetic-side-channel/
Rosita: Towards Automatic Elimination of Power-Analysis Leakage in Ciphers.
簡介:代碼重寫的密碼學應用?
側信道攻擊威脅很大,密碼學家引入了掩碼技術來抵抗。作者則提出了Rosita,一個代碼重寫(code rewrite)引擎,使用一個leakage模擬器準確模擬目標系統的微體系結構。作者使用Rosita來自動保護AES,ChaCha,Xoodoo的掩碼實現。對于AES和Xoodoo,在1000000 步的軌跡下都沒有發現泄露,代價是21%的性能開銷。對于ChaCha,消除了99%的泄露,性能開銷是64%。
鏈接:https://www.ndss-symposium.org/ndss-paper/rosita-towards-automatic-elimination-of-power-analysis-leakage-in-ciphers/
Hunting the Haunter - Efficient Relational Symbolic Execution for Spectre with Haunted RelSE.
簡介:用符號執行檢測幽靈
幽靈是一種微體系結構攻擊,出現于2018年1月。這種攻擊可以讓擊者恢復密鑰。幽靈攻擊的檢測對于加密庫和軟件級別的防御很重要。然而,如何正確防御和檢測幽靈漏洞,存在兩個難題。一方是是幽靈路徑引入的探索空間爆炸問題,另一方面是新的幽靈漏洞是在不同的編譯層面。為此,作者提出了一種基于符號執行的,在二進制層面檢測幽靈漏洞的工具ReISE。并在知名數據集Spectre-PHT和自己做的測試集Spectre-STL上測試。結果發現ReISE可以發現更多的violations并且擴展性良好,能夠分析真實的加密庫。最后發現index-masking(Spectre-PHT的防御),gcc里的pie保護機制都引入了Spectre-STL violation。
鏈接:https://www.ndss-symposium.org/ndss-paper/hunting-the-haunter-efficient-relational-symbolic-execution-for-spectre-with-haunted-relse/
SpecTaint: Speculative Taint Analysis for Discovering Spectre Gadgets.
檢測:用污點分析找幽靈的gadget
軟件補丁是一種緩解幽靈類型攻擊的主要方法。它利用序列化的指令去禁用程序里潛在的幽靈gadget的推測執行。然而,并沒有有效的方法去檢測幽靈類攻擊的gadget。本文提出了一種檢測幽靈攻擊gadget的方法。通過使用動態污點分析來對推測執行路徑進行分析。為此,在系統級別模擬并探索推測執行。實現了一個原型叫做SpecTaint。對SpecTaint在幽靈樣本數據集上做了研究,并和現有的檢測幽靈gadget的方法做了對比。結果表明比現有的方法的準確率和召回率要好。同時還發現了真實應用(Caffe,Brotli)里的新的幽靈gadget。同時在修復了幽靈gadget后,還減少了性能開銷。
鏈接:https://www.ndss-symposium.org/ndss-paper/spectaint-speculative-taint-analysis-for-discovering-spectre-gadgets/
智能家居
Hey Alexa, is this Skill Safe?: Taking a Closer Look at the Alexa Skill Ecosystem.
簡介:針對skill的分析,最近這種文章好像比較多,國重發了兩篇這個類似的
亞馬遜的語音助手Alexa可以讓用戶通過語言來和一些網絡服務交互。同時亞馬遜還為開發者提供了一個機會可以創建第三方的應用運行在Alexa上。雖然這些服務滿足了用戶,但也帶來了一些安全和隱私問題。這篇文章系統性地對Alexa skill的生態系統做了分析。我們對Alexa skill進行了大規模的分析,獲取了總共90000多個唯一的skill。分析結果顯示在審查skill的過程中存在幾個缺陷。結果發現,惡意開發者可以使用任意公司開發者的名字來發布skill,而且還可以在哄騙用戶泄露不必要的信息后,修改后端的代碼。還發現23.3%的skills沒有完全揭露和權限相關的數據類型。
鏈接:https://www.ndss-symposium.org/ndss-paper/hey-alexa-is-this-skill-safe-taking-a-closer-look-at-the-alexa-skill-ecosystem/
IoTSafe: Enforcing Safety and Security Policy with Real IoT Physical Interaction Discovery.
簡介:物理交互對于IoT設備的影響?
物聯網平臺給智能家居帶來了很大的便利,這些平臺為管理多個IoT設備提供了很多特性。然而這些特性也引入了安全問題。比如攻擊者可以通過物理交互來操縱IoT設備實現攻擊。然而,現有的工作很少研究物理交互對于IoT設備的影響以及會產生的安全問題。本文提出了一個新的動態安全策略加強系統,叫做IoTSafe。為了識別IoT設備的真實物理交互,提出了一個發現運行時物理交互的方法,主要是采用靜態和動態測試技術去識別運行時的物理交互。另外,IoTSafe會生成物理和非物理交互的路徑,以及他們在多個app環境里的上下文。基于這些路徑和上下文數據,IoTSafe為物理交互構造物理模型,能夠預測將要到來的風險,并且阻絕不安全的設備狀態。在SmartThings平臺上實現了該系統。實驗結果表明,IoTSafe可以在130個潛在交互中,發現29個真實物理交互。IoTSafe也成功預測了風險情況,能夠達到96%的準確率。
鏈接:https://www.ndss-symposium.org/ndss-paper/iotsafe-enforcing-safety-and-security-policy-with-real-iot-physical-interaction-discovery/
PFirewall: Semantics-Aware Customizable Data Flow Control for Smart Home Privacy Protection.
簡介:利用數據流控制保護隱私
物聯網平臺讓用戶能夠部署智能家居等應用。然而,流向物聯網平臺的大量敏感數據可能會導致隱私問題。大部分流向平臺的數據并不會影響這些設備的自動使用功能。而用戶也沒有辦法控制這些設備。因此,提出了一個Pfirewall的數據流控制系統,來增強IoT平臺用戶的隱私安全。PFireWall自動生成最小數據策略,只會給出最低限度的數據來保證這些智能家居的自動功能。同時用戶也可以自定義數據的策略。為了加強這些策略,PFirewall介入到IoT設備和物聯網平臺之間,而不修改平臺,IoT設備,或者hub。在四個真實的測試集上測試,PFirewall可以減少97%的數據送到平臺,而不影響正常使用。
鏈接:https://www.ndss-symposium.org/ndss-paper/pfirewall-semantics-aware-customizable-data-flow-control-for-smart-home-privacy-protection/
EarArray: Defending against DolphinAttack via Acoustic Attenuation.
檢測:超聲波惡意命令注入攻擊的檢測
海豚音攻擊(聽不到的聲音命令)可以通過注入惡意命令到語音助手里來操縱控制系統。消除海豚音攻擊是很困難的,因為需要修改麥克風的硬件。本文,提出了一種輕量級的方法不僅能檢測到這種攻擊,而且可以識別攻擊者的位置,不需要額外的硬件修改。這種海豚音通常是超聲波,而超聲波比能聽到的聲音的速度要快很多。通過智能設備里的內置麥克風設備來檢查語音信號,就能夠估計聲波的衰變率,從而檢測到攻擊。文章提出了普通聲波和超聲波的傳播模型,并且闡明了其內在的原理和可行性。實驗結果表明檢測到這種攻擊的準確率有99%,識別到攻擊者的位置的準確率有97.89%。
鏈接:https://www.ndss-symposium.org/ndss-paper/eararray-defending-against-dolphinattack-via-acoustic-attenuation/
軟件防御
SODA: A Generic Online Detection Framework for Smart Contracts.
簡介:智能合約的在線檢測框架
由于金錢關系,智能合約成為了攻擊者眼紅的一個目標。雖然現在有很多發現智能合約漏洞的文章,但是,他們不能保證發現所有的漏洞,或者保護智能合約不受攻擊。因為他們都是依賴于線下分析。最近,出現了一些運行時保護智能合約的方法,但是他們只能防御特定的攻擊,不好擴展。開發一個在線保護系統是非常耗時,而且需要對智能合約內部結構很熟悉,使得快速開發防御機制防御新型攻擊是很困難的。
本文提出了一種通用的運行時保護框架SPA,來保護所有支持EVM(以太坊)的區塊鏈上的智能合約。SPA在能力,效率和兼容性上都不同于當前的運行時保護框架。
鏈接:https://www.ndss-symposium.org/ndss-paper/soda-a-generic-online-detection-framework-for-smart-contracts/
POP and PUSH: Demystifying and Defending against (Mach) Port-oriented Programming.
簡介:防御Port-oriented Programming
蘋果設備對于攻擊者來說是高價值目標。雖然這些設備使用不同的操作系統(iOS,macOS,iPadOS),但他們都是基于混合內核XNU。現有的攻擊表明XNU的漏洞可以被利用來提權或者越獄。為了緩解這些威脅,許多安全機制應用到了最新的系統。
這篇文章系統評估了apple上部署的防御機制,結果表明大部分都可以通過損壞一個特定類型的內核對象來繞過。文章將這種類型的攻擊總結為Port-Object-Oriented Programming。為了防御這個攻擊,還提出了一種Port Ultra-SHield系統來減少不被保護的Mach Port對象。PUSH系統會自動定位潛在的POP原語,并且在那附件插上相關的系統調用來確保Mach port kernel objects的完整性。這個機制只引進了2%的運行開銷,并且應用在超過40000臺macOS設備上。
鏈接:https://www.ndss-symposium.org/ndss-paper/pop-and-push-demystifying-and-defending-against-mach-port-oriented-programming/
Доверя’й, но проверя’й: SFI safety for native-compiled Wasm.
簡介:編譯器的bug會造成什么影響?
WebAssembly(Wasm)是一種平臺獨立的字節碼,可以提供良好的運行隔離和低開銷。為了實現隔離,編譯器在wasm編譯成機器碼時,插入安全檢查。這種方法很簡單,但是需要信任編譯器在合適的地方插入的必要的檢查。然而,wasm編譯器里的bug會打破這種假設。為了解決這個問題,本文提出了一種方法VeriWasm去驗證編譯后的機器碼。結果表明,VeriWasm沒有誤報。
鏈接:https://www.ndss-symposium.org/ndss-paper/%d0%b4%d0%be%d0%b2%d0%b5%d1%80%d1%8f%d0%b9-%d0%bd%d0%be-%d0%bf%d1%80%d0%be%d0%b2%d0%b5%d1%80%d1%8f%d0%b9-sfi-safety-for-native-compiled-wasm/
Detecting Kernel Memory Leaks in Specialized Modules with Ownership Reasoning.
簡介:內存分配函數不僅僅只有malloc,還有很多內核自己自定義的
內核空間由硬件和所有進程共享,所以其內存使用情況更受限制,而且相比用戶態內存,更難回收。因此,發生在內核里的內存泄露會導致很嚴重的拒絕服務攻擊。尤其是在長期運行的服務器上。內核代碼使用了大量的動態分配策略,而且許多內核的代碼模塊為內存管理提供了他們自己的抽象表示(就是自定義的內存分配函數)。另一方面,內核代碼的數據流很復雜,所以很難確定一個對象會在什么時候釋放。現有的工具很難檢測內存泄露。
本文提出了一種靜態檢測內存泄露的系統K-MELD。K-MELD使用了很多新的技術來自動識別特殊的分配和釋放函數,并且確定內存釋放的位置。首先,開發了usage和structure敏感的方法來高效地識別特殊的分配函數,并且使用啟發式方法來找到對應的釋放函數。然后開發了ownership reasoning機制來找到內存釋放的位置。最后發現了218新的bug,獲得了41個CVE,218個bug里,有115個都是使用的特定函數。
鏈接:https://www.ndss-symposium.org/ndss-paper/detecting-kernel-memory-leaks-in-specialized-modules-with-ownership-reasoning/
嵌入式安全
Evading Voltage-Based Intrusion Detection on Automotive CAN.
簡介:利用兩個ECU來攻擊,打破原本1個ECU攻擊的假設。
控制器區域網絡(CAN)廣泛應用在汽車里,使得車內電子控制單元(ECU)可以互相進行通信。由于資源的限制,缺少網絡安全的能力,導致CAN容易被ECU的偽裝攻擊所影響。抵御這種攻擊的防御機制有基于電壓的入侵檢測系統,能夠識別總線里的電壓的指紋。由于電壓指紋來源于ECU的硬件特征,攻擊者的ECU不能修改這個電壓指紋。因此,VIDS被證明是有效的防御機制,前提是只有一個攻擊者的話。
這篇文章提出了一種電壓損壞策略,這種策略利用兩個ECU來損壞VIDS記錄的總線電壓。通過這種攻擊,可以繞過VIDS的特征檢測和分類算法。DUET采用一個兩步的攻擊策略。首先,在VIDS的再訓練模式下,操縱一個ECU的電壓指紋,然后在VIDS的操作模式下,模仿被操控的電壓指紋。
鏈接:https://www.ndss-symposium.org/ndss-paper/evading-voltage-based-intrusion-detection-on-automotive-can/
HERA: Hotpatching of Embedded Real-time Applications.
簡介:利用硬件特性實現熱補丁。
內存損壞攻擊是物聯網設備的主要攻擊。簡單地更新IoT軟件是不太可能的,因為這會導致一段時間停機或者重啟。對于高可用的嵌入式設備,比如醫療系統,以及一般具有實時需求的嵌入式系統,必須避免這種情況。為了避免系統的停機和重啟,以前的研究引入了熱補丁的概念。然而,現有的方法不難應用于資源受限的物聯網設備。此外,熱補丁在硬件上還存在一些相關的問題沒有解決,比如只讀內存不能直接修改固件。
這篇文章提出了HERA的方法,利用基于硬件的嵌入式Cortex-M微控制器的內置特性來執行嵌入式系統的熱補丁。HERA在實時約束下,能保證只使用最低限度的額外資源。在一個案例研究中,我們應用HERA到兩個有漏洞的醫療設備中。然后利用HERA去修補FreeRTOS操作系統的現有漏洞。實驗方法表明,該方法具有較高的實用性和有效性。
鏈接:https://www.ndss-symposium.org/ndss-paper/hera-hotpatching-of-embedded-real-time-applications/
From Library Portability to Para-rehosting: Natively Executing Microcontroller Software on Commodity Hardware.
簡介:re-hosting的自動配置,主要是構建好環境,這樣用傳統方法也能找到固件bug。
這是國重的一篇文章。主要是找微控制器(MCU)固件的bug。MCU運行多種指令,并且開發環境很不一樣。使得現有的很多軟件測試工具無法驗證MCU。為了將開發環境和測試環境保持一致,最簡單的方法是重新編譯源代碼到商品機器(re-host)上。然而,專門的re-hosting是很枯燥無聊的任務,而且會出現很多問題(庫依賴,內核依賴,硬件依賴)。在這個工作里,我們系統性地探索了MCU軟件的可移植性問題,并且提出了para-rehosting方法來降低移植過程的難度。使用POSIX接口抽象和實現了一個可移植的MCU。他會對MCU核的常見函數建模。針對次要的特定邏輯,我們提出基于hal的次要函數替換,即用主機上的等效后端驅動程序替換高級硬件功能。 這些后端驅動程序由精心設計的para- api調用,可以在許多MCU操作系統中重用。 我們將常見的HAL函數分為四種類型,并實現用于快速后端開發的模板。 使用該方法,我們成功地重新rehost了9個MCU操作系統,包括廣泛部署的Amazon FreeRTOS、ARM Mbed操作系統、Zephyr和LiteOS。 最后使用動態分析工具(AFL和ASAN)發現了28個未知的bug,其中五個獲得了CVE,19個被廠商承認。
鏈接:https://www.ndss-symposium.org/ndss-paper/from-library-portability-to-para-rehosting-natively-executing-microcontroller-software-on-commodity-hardware/
BaseSpec: Comparative Analysis of Baseband Software and Cellular Specifications for L3 Protocols.
簡介:蜂窩基帶固件的分析
蜂窩基帶在移動通信中起到很重要的作用。然而要評估他的安全很難。由于基帶固件的模糊性和復雜性,手工分析是不可避免的。然而這種分析需要很大的精力。自動化這個過程是重要的,因為固件的代碼規模很大,而且包含很多復雜的蜂窩協議的函數。然而,現有的針對基帶的分析,都受限于一個廠商的幾個模型或版本。本文提出一種新的方法BaseSpec,對基帶軟件和設置做比較性的分析。通過利用標準的消息結構,BaseSpec能夠系統地檢查基帶軟件中的信息結構。然后,將提取的消息結構和設定的消息結構進行語法比較。只需要一步手工分析,去確定消息結構是如何嵌入到目標固件中的。然后,再將提取的消息結構和設定里的進行語法和語義上的比較,最后找到不匹配的。這些不匹配就是開發者留下的bug,或者是潛在的漏洞等等。
鏈接:https://www.ndss-symposium.org/ndss-paper/basespec-comparative-analysis-of-baseband-software-and-cellular-specifications-for-l3-protocols/
可信計算
DOVE: A Data-Oblivious Virtual Environment.
簡介:用隔離環境防御側信道
用戶可以通過使用可信執行環境(TEE)防止敏感數據被篡改,從而提高遠程通信的安全性。這些也可以通過用高層次語言(R,Python,Ruby)寫的應用來解決。然而,這是為了編程便利,而付出了被側信道攻擊的風險的代價。
本文通過為這些應用插樁一個復雜的編程環境,來去除側信道。思路是提供了一種數據遺忘型的副本,這種副本專門用來支持排除側信道的計算。包含敏感數據的副本會使用一個小的可信計算基(叫做Data-Oblivious Virtual Environment)在TEE里運行。文章主要是為R語言設計了一個虛擬環境,并且用R語言里的幾個側信道漏洞來做評估,結果表示能在usable的性能開銷上保證高安全性。
鏈接:https://www.ndss-symposium.org/ndss-paper/dove-a-data-oblivious-virtual-environment/
CHANCEL: Efficient Multi-client Isolation Under Adversarial Programs.
簡介:針對single enclave的多用戶的沙箱
Intel SGX為不可信的云機器上的用戶數據提供了機密性保護。然而,處理機密數據的應用可能存在一些如信息泄露的bug,或者會惡意收集用戶數據。現有的研究處理這個問題的時候沒有考慮在一個enclave里做多用戶的隔離。我們發現不支持這種隔離的話,當在不同進程中并發處理多用戶時,會導致性能開銷很大。
這篇文章提出了CHANCEL,一種在single SGX enclave里為多用戶隔離設計的沙箱。CHANCEL可以讓一個程序的線程去訪問線程的內存區域和共享只讀的內存區域。每個線程處理來自一個用戶的請求,并且和其他進程相隔離。這種機制是基于多用戶的軟件錯誤隔離(SFI)機制。而且,CHANCEL支持多種in-encalve的服務,比如in-memory的文件系統。還能屏蔽客戶端通信,來保證程序和外部世界的完整交互。
鏈接:https://www.ndss-symposium.org/ndss-paper/chancel-efficient-multi-client-isolation-under-adversarial-programs/
Emilia: Catching Iago in Legacy Code.
簡介:找lago漏洞
人們對可信執行環境中實現可信代碼的legacy code的安全使用很興趣。比如SGX。然而legacy code通常假設操作系統是存在的。這就可能導致對legacy code的lago攻擊。文章發現不是所有的legacy code都會被lago攻擊影響,而是需要以不安全的方式使用系統調用作為返回值才會有lago漏洞。基于這個發現,開發了Emilia,能夠在legacy應用中自動檢測lago漏洞。這個Emilia是基于系統調用返回值的模糊測試實現的。使用這個開發的工具在17個應用中發現了51個lago漏洞。
鏈接:https://www.ndss-symposium.org/ndss-paper/emilia-catching-iago-in-legacy-code/
網絡安全
Flexsealing BGP Against Route Leaks: Peerlock Active Measurement and Analysis
A Devil of a Time: How Vulnerable is NTP to Malicious Timeservers?
OblivSketch: Oblivious Network Measurement as a Cloud Service.
ROV++: Improved Deployable Defense against BGP Hijacking.
Trust the Crowd: Wireless Witnessing to Detect Attacks on ADS-B-Based Air-Traffic Surveillance.
隱私
Awakening the Web’s Sleeper Agents: Misusing Service Workers for Privacy Leakage.
All the Numbers are US: Large-scale Abuse of Contact Discovery in Mobile Messengers.
Improving Signal’s Sealed Sender.
Tales of Favicons and Caches: Persistent Tracking in Modern Browsers.
網絡方案
Reining in the Web’s Inconsistencies with Site Policy.
From WHOIS to WHOWAS: A Large-Scale Measurement Study of Domain Registration Privacy under the GDPR.
Understanding the Growth and Security Considerations of ECS.
Mondrian: Comprehensive Inter-domain Network Zoning Architecture.
密碼學
Obfuscated Access and Search Patterns in Searchable Encryption.
More than a Fair Share: Network Data Remanence Attacks against Secret Sharing-based Schemes…
Forward and Backward Private Conjunctive Searchable Symmetric Encryption.
Practical Non-Interactive Searchable Encryption with Forward and Backward Privacy.
web安全
Zoom on the Keystrokes: Exploiting Video Calls for Keystroke Inference Attacks.
Deceptive Deletions for Protecting Withdrawn Posts on Social Media Platforms.
Who’s Hosting the Block Party? Studying Third-Party Blockage of CSP and SRI…
To Err.Is Human: Characterizing the Threat of Unintended URLs in Social Media.
SerialDetector: Principled and Practical Exploration of Object Injection Vulnerabilities for the Web.
移動安全
The Abuser Inside Apps: Finding the Culprit Committing Mobile Ad Fraud.
Your Phone is My Proxy: Detecting and Understanding Mobile Proxy Networks.
Understanding Worldwide Private Information Collection on Android.
On the Insecurity of SMS One-Time Password Messages against Local Attackers in Modern Mobile Devices.
Preventing and Detecting State Inference Attacks on Android.
區塊鏈
As Strong As Its Weakest Link: How to Break Blockchain DApps at RPC Service.
RandRunner: Distributed Randomness from Trapdoor VDFs with Strong Uniqueness.
LaKSA: A Probabilistic Proof-of-Stake Protocol.
SquirRL: Automating Attack Analysis on Blockchain Incentive Mechanisms with Deep Reinforcement Learning.
Bitcontracts: Supporting Smart Contracts in Legacy Blockchains.
網絡協議
QPEP: An Actionable Approach to Secure and Performant Broadband From Geostationary Orbit.
A Formal Analysis of the FIDO UAF Protocol.
PHOENIX: Device-Centric Cellular Network Protocol Monitoring using Runtime Verification.
The Bluetooth CYBORG: Analysis of the Full Human-Machine Passkey Entry AKE Protocol.
NetPlier: Probabilistic Network Protocol Reverse Engineering from Message Traces.
惡意軟件和網絡犯罪
UIScope: Accurate, Instrumentation-free, and Visible Attack Investigation for GUI Applications.
Understanding and Detecting International Revenue Share Fraud.
Differential Training: A Generic Framework to Reduce Label Noises for Android Malware Detection.
MINOS: A Lightweight Real-Time Cryptojacking Detection System.
Does Every Second Count? Time-based Evolution of Malware Behavior in Sandboxes.
機器學習
Let’s Stride Blindfolded in a Forest: Sublinear Multi-Client Decision Trees Evaluation.
Practical Blind Membership Inference Attack via Differential Comparisons.
GALA: Greedy ComputAtion for Linear Algebra in Privacy-Preserved Neural Networks.
FARE: Enabling Fine-grained Attack Categorization under Low-quality Labeled Data.
聯邦學習和Poisoning attacks
POSEIDON: Privacy-Preserving Federated Neural Network Learning.
FLTrust: Byzantine-robust Federated Learning via Trust Bootstrapping.
Manipulating the Byzantine: Optimizing Model Poisoning Attacks and Defenses for Federated Learning.
Data Poisoning Attacks to Deep Learning Based Recommender Systems.
Forensics 和審計
C^2SR: Cybercrime Scene Reconstruction for Post-mortem Forensic Analysis.
ALchemist: Fusing Application and Audit Logs for Precise Attack Provenance without Instrumentation.
WATSON: Abstracting Behaviors from Audit Logs via Aggregation of Contextual Semantics.
機器學習應用
CV-Inspector: Towards Automating Detection of Adblock Circumvention.
FlowLens: Enabling Efficient Flow Classification for ML-based Network Security Applications.
PrivacyFlash Pro: Automating Privacy Policy Generation for Mobile Apps.
Towards Understanding and Detecting Cyberbullying in Real-world Images.
總結
以上是生活随笔為你收集整理的NDSS 2021 论文泛读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机软件毕业论文教师指导记录,毕业论文
- 下一篇: 计算机毕业论文性能测试怎么写,计算机毕业