הם כבר יידעו OpenBSD, מערכת הפעלה ממשפחת BSD. אם אינך יודע זאת, מדובר במערכת דמוי יוניקס עם קוד פתוח והיא אינה מבוססת על ליבת לינוקס, מן הסתם. זהו צאצא של NetBSD, אך השארת הניידות במקום השני כדי להתמקד באבטחה כנקודה חזקה. ובכן, עם שחרורו של OpenBSD 6.2 יגיע גרעין עם תכונה מעניינת מאוד.
מתברר כי OpenBSD 6.2 ייצור גרעין ייחודי בכל פעם שמשתמש מחדש את המערכת או מעדכן אותה. פונקציה זו זה נקרא KARL (Kernel Address Randomized Link) ועובד על ידי קישור מחדש של קבצי הליבה הפנימיים בסדר אקראי, כך שהוא יוצר כתם בינארי ייחודי בכל פעם. זה חדש, מכיוון שהגרסאות הנוכחיות של OpenBSD משתמשות במיקום מוגדר מראש, מה שמביא לקישור הקבצים הפנימיים ונטענים לאותו בינארי בכל פעם ולכל המשתמשים.
הפיתוח של תיאו דה ראדט זה יעבוד על ידי יצירת תמונה ספציפית זו במהלך ההתקנה, במהלך העדכונים או זמן האתחול. אם המשתמש מבצע אתחול, עדכון או אתחול מחדש של המכונה, הליבה החדשה שנוצרה תוחלף בבינארי החדש. וכל זה בשביל מה? ובכן, בדרך זו נוצר מיקום אקראי עבור כתובות הזיכרון בהן מתבצע היישום וקוד הליבה במקום שיהיו כבר הגדרת היררכיה או קטעי זיכרון עבור כל דבר, מה שמסבך את השימוש במנצלים שמצביעים על אזור זיכרון ומשפרים. בִּטָחוֹן.
ישנה טכניקה דומה נוספת הנקראת KASLR (אקראיות לפריסת חלל ליבה), אשר שונה מקארל בכך שבמקום ליצור בינארי שונה בכל פעם, KASLR טוען את אותו בינארי במיקומים אקראיים, וזה מה שמערכות הפעלה כמו Windows ו- Linux מבוססות משתמשים כיום. שניהם לאותה מטרה.