他們已經知道 OpenBSD的,是BSD系列的操作系統。 如果您不了解,它顯然是一個類似於Unix的開源系統,並且它不是基於Linux內核的。 它是NetBSD的後代,但將可移植性排在第二位,將重點放在安全性上。 好吧,隨著OpenBSD 6.2的發布,內核將具有非常有趣的功能。
事實證明,每次系統用戶重新引導或更新系統時,OpenBSD 6.2都會創建一個唯一的內核。 該功能 它被稱為卡爾 (內核地址隨機鏈接),並且通過以隨機順序重新鏈接內部內核文件來工作,以便每次生成一個唯一的二進制Blob。 這是新的,因為OpenBSD的當前版本使用預定義的位置,這導致內部文件每次都為所有用戶鏈接並加載到相同的二進製文件中。
的發展 西奧·德·拉特 它可以通過在安裝過程中,更新或引導期間生成此特定映像來工作。 如果用戶引導,更新或重新引導計算機,則新生成的內核將被新的二進製文件替換。 而這一切是為了什麼? 好的,這樣就為執行應用程序和內核代碼的內存地址創建了一個隨機位置,而不是為每件事都定義了層次結構或內存段,這使指向內存區域的漏洞利用的使用變得複雜,並且可以改進安全。
還有另一種類似的技術叫做 KASLR(內核空間佈局隨機化),這與KARL的不同之處在於,KASLR不會每次都生成不同的二進製文件,而是在隨機位置加載相同的二進製文件,這是當前基於Windows和Linux的操作系統所使用的。 兩者出於相同的目的。