遠端檔案系統讓使用者能透過網路來存取遠端主機上的檔案,並提供如同在本地檔案系統中操作的使用者經驗。為了提升效能,開發人員開始將遠端檔案系統移植至核心空間,藉此降低 IO 操作所造成的成本。然而,如果將遠端檔案系統實作於核心空間,更需要確保程式實作的安全性,因為核心空間漏洞的影響層面更為嚴重,如果攻擊者能夠控制並利用核心空間的漏洞,他們可以取得整個系統的控制權限。 本議程會先介紹 Linux 核心內部遠端檔案系統的架構,並分析可能會出現的攻擊面。再來我們會說明如何微調 fuzzer syzkaller 來挖掘漏洞,在所有找到的 3 個 CVE 中有 2 個是 syzkaller 找到的。最後會分享這些 CVE 的成因與利用分析,以及使用 fuzzer 上的一些心得。
張智諺(Pumpkin、🎃)是國立陽明交通大學 SENSE lab 的應屆畢業生,曾在 DEVCORE 擔任實習生,主要研究 Linux kernel 與 VM 實作的安全性。 Twitter: @u1f383