מערכת ה- UEFI Secure Boot החדשה ב- Windows 8 גרמה לנתח הוגן של בלבול, במיוחד בקרב אתחולים כפולים. המשך לקרוא כשאנו מבהירים את התפיסות המוטעות לגבי אתחול כפול עם Windows 8 ו- Linux.
מושב השאלות והתשובות של היום מגיע אלינו באדיבות SuperUser - חלוקה של Stack Exchange, קיבוץ מונחה קהילה של אתרי שאלות ותשובות.
השאלה
קורא SuperUser Harsha K סקרן לגבי מערכת UEFI החדשה. הוא כותב:
שמעתי רבות על האופן בו מיקרוסופט מיישמת את UEFI Secure Boot במערכת Windows 8. כנראה שזה מונע טעינת אתחולים "לא מורשית" לפעול במחשב, כדי למנוע תוכנות זדוניות. יש קמפיין של קרן התוכנה החופשית נגד אתחול מאובטח, והרבה אנשים אמרו ברשת שזה "תפיסת כוח" של מיקרוסופט כדי "לחסל מערכות הפעלה בחינם".
אם אקבל מחשב שמותקן עליו מראש Windows 8 ו- Secure Boot, האם עדיין אוכל להתקין את לינוקס (או מערכת הפעלה אחרת) מאוחר יותר? או שמא מחשב עם אתחול מאובטח עובד רק אי פעם עם Windows?
אז מה העסקה? האם למגפיים כפולים באמת אין מזל?
התשובה
תורם SuperUser, נתן הינקל, מציע סקירה נהדרת של UEFI ומהו:
קודם כל, התשובה הפשוטה לשאלתך:
- אם יש לך טאבלט ARM הפעלת Windows RT (כמו ה- Surface RT או Asus Vivo RT), אם כן לא תוכל להשבית את האתחול המאובטח או להתקין מערכות הפעלה אחרות . כמו טבליות ARM רבות אחרות, מכשירים אלה יעשו זאת רק להפעיל את מערכת ההפעלה שאיתה הם מגיעים.
- אם יש לך מחשב שאינו ARM מריץ את Windows 8 (כמו Surface Pro או כל אחד מאינספור האולטרה-בוקים, שולחנות העבודה והטאבלטים עם מעבד x86-64), ואז אתה יכול להשבית את האתחול המאובטח לחלוטין , או שתוכל להתקין מפתחות משלך ולחתום על מטען האתחול שלך. כך או כך, אתה יכול להתקין מערכת הפעלה של צד שלישי כמו הפצת לינוקס או FreeBSD או DOS או כל מה שרוצה אותך.
עכשיו, לפרטים איך כל העניין הזה של Secure Boot עובד בפועל: יש מידע שגוי על Secure Boot, במיוחד של קרן התוכנה החופשית וקבוצות דומות. זה התקשה למצוא מידע על מה Secure Boot אכן עושה, אז אשתדל כמיטב יכולתי להסביר. שים לב שאין לי ניסיון אישי בפיתוח מערכות אתחול מאובטחות או משהו כזה; זה בדיוק מה שלמדתי מקריאה ברשת.
ראשית כל, אתחול מאובטח הוא לֹא משהו שמיקרוסופט העלתה. הם הראשונים ליישם את זה באופן נרחב, אבל הם לא המציאו את זה. שֶׁלָה חלק ממפרט ה- UEFI , שהוא בעצם תחליף חדש יותר ל- BIOS הישן שאתה כנראה רגיל אליו. UEFI היא בעצם התוכנה שמדברת בין מערכת ההפעלה לחומרה. תקני UEFI נוצרים על ידי קבוצה הנקראת " פורום UEFI ", המורכב מנציגי תעשיית המחשוב כולל מיקרוסופט, אפל, אינטל, AMD, וקומץ יצרני מחשבים.
הנקודה השנייה בחשיבותה, כאשר האתחול המאובטח מופעל במחשב כן לֹא אומר שהמחשב לעולם לא יכול לאתחל שום מערכת הפעלה אחרת . למעשה, דרישות הסמכת החומרה של Windows עצמה של מיקרוסופט קובעות כי עבור מערכות שאינן ARM, עליך להיות מסוגל להשבית את האתחול המאובטח וגם לשנות את המקשים (כדי לאפשר מערכות הפעלה אחרות). עוד על כך בהמשך.
מה עושה אתחול מאובטח?
בעיקרון, זה מונע תוכנות זדוניות לתקוף את המחשב באמצעות רצף האתחול. תוכנה זדונית שנכנסת דרך מטען האתחול יכולה להיות קשה מאוד לאיתור ולעצירה מכיוון שהיא יכולה לחדור לפונקציות ברמה נמוכה של מערכת ההפעלה, ולשמור עליה בלתי נראית לתוכנת אנטי-וירוס. כל מה ש- Secure Boot באמת עושה הוא לוודא שמאחסן האתחול הוא ממקור מהימן, ושלא טופלו בו. תחשוב על זה כמו הכובעים המוקפצים על בקבוקים שאומרים "אל תפתח אם מכסה קופץ או חוסמים בחותם".
![]()
ברמת ההגנה העליונה יש לך את מפתח הפלטפורמה (PK). יש רק PK אחד במערכת כלשהי, והיא מותקנת על ידי ה- OEM במהלך הייצור. מפתח זה משמש להגנה על בסיס הנתונים של KEK. מסד הנתונים של KEK מכיל מפתחות חילופי מפתח המשמשים לשינוי מאגרי האתחול המאובטחים האחרים. יכולות להיות מספר KEKs. יש אז רמה שלישית: מסד הנתונים המורשה (db) ומסד הנתונים האסור (dbx). אלה מכילים מידע על רשויות אישורים, מפתחות הצפנה נוספים ותמונות מכשיר UEFI כדי לאפשר או לחסום, בהתאמה. על מנת לאפשר לטעינת אתחול לפעול, עליו להיות חתום בהצפנה באמצעות מפתח ש הוא ב- db, ו- לא ב- dbx.
![]()
תמונה מתוך בניית חלונות 8: הגנה על סביבת טרום מערכת ההפעלה באמצעות UEFI
איך זה מסתדר במערכת מוסמכת Windows 8 בעולם האמיתי
ה- OEM מייצר PK משלו, ומיקרוסופט מספקת KEK שאותו ה- OEM נדרש לטעון מראש למסד הנתונים של KEK. לאחר מכן מיקרוסופט חותמת על Windows 8 Bootloader ומשתמשת ב- KEK שלהם כדי להכניס חתימה זו למסד הנתונים המורשה. כאשר UEFI מאתחל את המחשב, הוא מאמת את ה- PK, מאמת את ה- KEK של מיקרוסופט ואז מאמת את מאתחל האתחול. אם הכל נראה טוב, מערכת ההפעלה יכולה לאתחל.
![]()
תמונה מתוך בניית חלונות 8: הגנה על סביבת טרום מערכת ההפעלה באמצעות UEFIהיכן נכנסות מערכות הפעלה של צד שלישי, כמו לינוקס?
ראשית, כל הפצת לינוקס יכולה לבחור ליצור KEK ולבקש ממוצרי OEM לכלול אותה במאגר KEK כברירת מחדל. לאחר מכן תהיה להם שליטה באותה מידה על תהליך האתחול כמו של מיקרוסופט. הבעיות עם זה, כמו מוסבר על ידי מתיו גארט של פדורה הם: א) יהיה קשה לגרום לכל יצרן מחשבים לכלול את המפתח של פדורה, וב) זה יהיה לא הוגן להפצות לינוקס אחרות, מכיוון שהמפתח שלהן לא ייכלל, מכיוון שהפצות קטנות יותר אינן כוללות כמות יצרנית שותפויות.
מה שפדורה בחרה לעשות (והפצות אחרות הולכות בעקבותיהן) הוא להשתמש בשירותי החתימה של מיקרוסופט. תרחיש זה מחייב תשלום של 99 דולר ל- Verisign (רשות האישורים שמשמשת מיקרוסופט), ומעניק למפתחים את היכולת לחתום על טוען האתחול שלהם באמצעות KEK של מיקרוסופט. מכיוון שה- KEK של מיקרוסופט כבר יהיה ברוב המחשבים, זה מאפשר להם להחתים את ה- bootloader שלהם לשימוש ב- Secure Boot, מבלי לדרוש מה- KEK שלהם. בסופו של דבר זה תואם יותר למחשבים רבים יותר, ועולה פחות כולל בהתמודדות עם הגדרת מערכת חתימה והפצה משלהם. יש כמה פרטים נוספים על האופן שבו זה יעבוד (באמצעות GRUB, מודולי ליבה חתומים ומידע טכני אחר) בפוסט הבלוג הנ"ל, אותו אני ממליץ לקרוא אם אתה מעוניין בדברים מסוג זה.
נניח שאתה לא רוצה להתמודד עם הטרחה של להירשם למערכת של מיקרוסופט, או לא רוצה לשלם 99 דולר, או סתם יהיה טינה כלפי תאגידים גדולים שמתחילים עם M. יש אפשרות נוספת עדיין להשתמש ב- Secure Boot ולהפעיל מערכת הפעלה אחרת שאינה Windows. הסמכת חומרה של מיקרוסופט דורש שמוצרי יצרן מקומיים מאפשרים למשתמשים להיכנס למערכת שלהם למצב "מותאם אישית" של UEFI, שם הם יכולים לשנות ידנית את מסדי הנתונים של Secure Boot ואת ה- PK. ניתן להכניס את המערכת למצב הגדרת UEFI, שם המשתמש יכול אפילו לציין את ה- PK שלו, ולחתום בעצמם על טעמי אתחול.
יתר על כן, דרישות ההסמכה של מיקרוסופט עצמה מחייבות את יצרני המקור לכלול שיטה להשבית את האתחול המאובטח במערכות שאינן ARM. אתה יכול לכבות את האתחול המאובטח! המערכות היחידות בהן אינך יכול להשבית את האתחול המאובטח הן מערכות ARM המריצות את Windows RT, אשר פועלות באופן דומה יותר ל- iPad, בהן אינך יכול לטעון מערכות הפעלה מותאמות אישית. למרות שאני מאחל שניתן יהיה לשנות את מערכת ההפעלה במכשירי ARM, זה הוגן לומר שמיקרוסופט עוקבת אחר התקן התעשייתי בכל הקשור לטאבלטים כאן.
אז אתחול מאובטח אינו מטבעו רע?
אז כפי שאתה יכול לקוות לראות, אתחול מאובטח אינו מרושע, ואינו מוגבל לשימוש רק עם Windows. הסיבה ש- FSF ואחרים כל כך נסערים מכך היא משום שהיא מוסיפה צעדים נוספים לשימוש במערכת הפעלה של צד שלישי. הפצות לינוקס אולי לא אוהבות לשלם עבור השימוש במפתח של מיקרוסופט, אך זו הדרך הקלה והמשתלמת ביותר לגרום לאתחול מאובטח לעבוד עבור לינוקס. למרבה המזל, קל לכבות את Secure Boot, ואפשר להוסיף מפתחות שונים ובכך למנוע את הצורך להתמודד עם מיקרוסופט.
בהתחשב בכמות התוכנות הזדוניות המתקדמות יותר ויותר, Secure Boot נראה רעיון סביר. זה לא אמור להיות עלילה מרושעת להשתלט על העולם, וזה הרבה פחות מפחיד מכפי שמאמינים כמה מומחי תוכנה חינמיים.
![]()
קריאה נוספת:
- דרישות הסמכת חומרה של מיקרוסופט
- בניית חלונות 8: הגנה על סביבת טרום מערכת ההפעלה באמצעות UEFI
- מצגת של מיקרוסופט בנושא פריסת Secure Boot וניהול מפתחות
- יישום אתחול מאובטח UEFI בפדורה
- סקירה כללית על אתחול מאובטח של TechNet
- מאמר בויקיפדיה על UEFI
TL; DR: אתחול מאובטח מונע תוכנות זדוניות להדביק את המערכת שלך ברמה נמוכה ובלתי ניתנת לזיהוי במהלך האתחול. כל אחד יכול ליצור את המפתחות הדרושים כדי שזה יעבוד, אבל קשה לשכנע את יצרני המחשבים להפיץ שֶׁלְךָ מפתח לכולם, כך שתוכלו לחלופין לבחור לשלם ל- Verisign כדי להשתמש במפתח של מיקרוסופט כדי להחתים את מטעי האתחול שלכם ולגרום להם לעבוד. ניתן גם להשבית את האתחול המאובטח כל מחשב שאינו ARM.
מחשבה אחרונה, בקשר לקמפיין של ה- FSF נגד האתחול המאובטח: חלק מהחששות שלהם (כלומר זה מצליח קשה יותר להתקנת מערכות הפעלה חינמיות) תקפות לנקודה . האמירה שההגבלות "ימנעו ממישהו לבצע אתחול מלבד חלונות" היא מופרכת, אולם, מהסיבות שהוצגו לעיל. קמפיין נגד UEFI / Secure Boot כטכנולוגיה הוא קצר ראייה, מידע שגוי וככל הנראה לא יעיל. חשוב יותר לוודא כי היצרנים אכן עוקבים אחר דרישות מיקרוסופט לאפשר למשתמשים להשבית את האתחול המאובטח או לשנות את המפתחות אם הם רוצים בכך.
יש לך מה להוסיף להסבר? נשמע בתגובות. רוצה לקרוא תשובות נוספות ממשתמשי Stack Exchange אחרים המתמצאים בטכנולוגיה? עיין כאן בשרשור הדיון המלא .