חדשות היום

טכנולוגיית Separation Kernels מאפשרת פיתוח מואץ של מערכות אמינות

בתחילת דרכן של מערכות המחשוב דורשי אבטחה גבוהה, יצרנים תכננו ובנו מערכות חומרה ותוכנה מנקודת אפס כדי לוודא בביטחון מלא שהפלטפורמות מתוכננות ובנויות ללא פגמים ואפשרויות של פגמים באבטחה. לפני פריסתן ביעד, מערכות אלו עברו בדיקות קפדניות ואישורים של סוכנויות ממשל כדי לאמת שאכן מערכות אלו אינן מכילות פגמים ו/או פרצות ועומדות בדרישות האבטחה המחמירות ביותר.

כמו הרבה דברים שקשורים לטכנולוגיה, מה שהיה נכון פעם לא בהכרח נכון היום, ומודל זה עומד בפני אתגרים משמעותיים. בניית מערכת מהיסוד יקר מאוד ודורש זמן ארוך כדי לעמוד בלוח זמנים בלתי אפשרי. יתר על כן, פלטפורמות מחשוב מודרניות מורכבות באופן שהופך אפשרות של בניה מאפס קרוב לבלתי אפשרי. מערכות אבטחה שבעבר עברו ניתוח מפורט ודקדקני של התוכנה כדי להוכיח שהמערכת תוכננה ויושמה בצורה נכונה, כיום נבדקות באופן שטחי וחלקי, ובדרך כלל כוללות בדיקות האבטחה של חלקי מערכת.

olutions running on monolithic .איור 1
operating systems or hypervisors are less
cost-effective than those that use an SKH
hosted on general purpose computing platforms.

גישת מוצר המדף

בתגובה, יצרני מוצרי אבטחה עברו לפתרונות המשלבים חומרה ותוכנה מהמדף כדי להאיץ את לוחות הזמנים של הפיתוח והייצור ובכך לצמצם עלויות. אבל זה רק פתרון חלקי היוצר אתגר גדול יותר בהערכות אבטחה מאחר ומדובר ברכיבי צד שלישי עם תיעוד מצומצם שפותחו ויוצרו ללא התייחסות לנושא אפשרות פגמים באבטחה.

השימוש בטכנולוגיית Separation Kernel Protection Profile וגישת תכנון והפשטת אבטחה (security abstraction) מאפשרת למפתחי מערכות אבטחה מתקדמות להשתמש בכלים ומוצרי מדף כדי ליישם ולתחזק מערכות מחשב. בעזרת השימוש בטכנולוגיה זו, ניתן גם להוכיח את אפקטיביות ואמינות המערכת, והיכולת להגן עליה מפני תוקפים.

תמיכה בהפשטת אבטחה

שילוב של רכיבי חומרה ותוכנה כדי ליישם מערכות אבטחה גבוהה יכול להפחית את עלויות הייצור וזמן היציאה לשוק עם מוצר. שימוש במעבדים למטרות כלליות, מערכות הפעלה וכלי פיתוח מאפשר ליצרנים להתמקד בפתרונות משתמש הקצה במקום להמציא את הגלגל מחדש. ובאותו זמן, יצרנים חייבים להיות זהירים מאוד בשילוב רכיבים מהמדף. חשוב לקחת בחשבון שבמערכות דורשות אבטחה, אם רכיב מדף פגיע הדבר יכול לסכן את ביטחון כלל המערכת. הדבר הופך מסובך יותר כאשר רכיבי מדף הם בדרך כלל תיבה שחורה המסופקת ללקוח עם תיעוד מוגבל וללא ראיות והוכחות פורמליות של יכולות אבטחה. הדבר נכון במיוחד עם רכיבי חומרה למטרות כלליות, וגם במקרים שתיעוד תכנון המערכת זמין, מורכבות התוכנה הופכת את זמינותו לבלתי מעשית.

דרך טובה להתמודד עם שימוש במוצרי מדף עם רמת אבטחה נמוכה במערכות עם דרישות אבטחה גבוהה, היא ליצור ארכיטקטורת מערכת המגבילה את רמת האמון במרכיבי המדף. לדוגמה, אם מערכת תקשורת מאובטחת דורשת פקטים חסויים, מתכנן המערכת יכול להשתמש בהצפנת תוכנה כדי להצפין את כל הפקטים לפני כרטיס הרשת ותשתית הרשת כדי להבטיח שהתקן הרשת לא יוכל להדליף פקטות מסוג clear-text. אם ניקח את הדוגמה קדימה, ארכיטקט המערכת יכול לבודד את תהליך הצפנת התוכנה מתוכנות אחרות שעלולות לפגוע או לחתור תחת תהליך הצפנת התוכנה.

הפרדת חובות

הפרדה של פונקציות אבטחה, כמו הצפנת נתונים, והגנה עליהן מפונקציות יישום במערכת, דורשת הפשטה של אבטחה (security abstraction). במצב זה, פונקציות אבטחה קריטיות הופכות עצמאיות לחלוטין, מתוכנות ללא אכיפת אבטחה, ובמקרים רבים, עצמאיות גם מרכיבי חומרה. יצירת הפשטת אבטחה (security abstraction) מאפשרת חופש למפתחים לבחור רכיבי חומרה למטרות כלליות ללא צורך לשאת בעלות שילובן של בקרות אבטחה בסביבת המשתמש.

A separation kernel hypervisor (SKH) is designed .איור 2
to isolate hardware resources and host software and guest
operating systems in independent partitions, and to control
information flow between all hardware components and partitions.

לדוגמה, אם מערכת צ’אט מאובטחת משתמשת בתוכנת הצפנה עם תוכנת צ’אט שפעלה באותה מערכת הפעלה, כללים מיוחדים של מערכת ההפעלה ותכנות מותאם אישית יידרשו כדי לוודא שהיישום או יישומים אחרים לא ידליפו שיחות צ’אט. במקום זאת, תכנון מודולרי יכול להיעשות כדי להוציא את תוכנת ההצפנה מתוך מערכת ההפעלה ולמקם אותה בין מערכת ההפעלה המארח וכרטיס הרשת. הדבר יבטיח שכל השיחות יהיה מוצפנות טרם העברתן ברשת. במצב בו תוכנת הצפנת הצ׳אט הופרדה, קבוצת תכנתי הצפנה יכולה לנקות את אלגוריתמי ההצפנה ללא צורך לבנות מחדש את כל יישומי הצ׳אט ולעדכן את ההרשאות של כל מערכות ההפעלה. הפשטת אבטחה נשמע כמו תהליך פשוט אבל הוא כלל לא טריוויאלי.  על מנת להשיג תלות הדדית אמיתית בין פונקציות אבטחה וכאלו שאינן, יש לנתק את כל סוגי המשאבים והשירותים המשותפים. במערכות הפעלה כלליות כמו לינוקס וווינדוס הדבר אינו ניתן ליישום. כך תוכננו המערכות האלו. כדי להשיג הפשטה והפרדה בין חומרה ותוכנה נדרשות טכנולוגיה ייחודית שנקראת Separation Kernel.

Separation Kernel Hypervisor

מטרתה של טכנולוגיה ייחודית הנקראת Separation Kernel Hypervisor  זה לבודד משאבי חומרה, תוכנות מארח ומערכות הפעלה אורחות (guest OS) במחיצות עצמאיות תוך שליטה בהרשאות זרימת המידע בין כל רכיבי החומרה והמחיצות. מטרתו של SKH היא לארח מערכות אבטחה גבוהות על פלטפורמות מיחשוב כלליות ולתמוך בבדיקות הערכת אבטחה חסכוניות יותר בהשוואה לפתרונות המסתמכות על מערכות הפעלה מונוליטיות או היפרוויזורים (איור 1).

מערכות תומכות בווירטואליזציה מציעות למשתמשים גמישות רבה לארח מגוון מערכות הפעלה מהמדף, להריץ יישומים וכלי פיתוח באופן בטוח ואפקטיבי. חשוב לזכור שגם ה-SKH הוא מרכיב מהמדף מיושם באופן משתנה ומציע רמות שנות של assurance evidence. בגלל שה-SKH מהווה בסיס לכלל חלקי המערכת בפונקציות אכיפת אבטחה, חשוב לבחון את תכנונו כדי להבטיח שספק ה-SKH יכול למלא את דרישות הפשטת ההבטחה של המפתח (איור 2).

The encryption components used for a secure chat system .איור 3
like this one can be repurposed to protect data streams in a
combat simulation system.

פיקוח עלויות הערכת האבטחה

במערכות צבאיות קיימת הערכה טכנית ותהליך קבלה מסודר הידוע בשם certification accreditation (CnA) process, שנעשה לפני שניתן ״לסמוך״ על המערכת לפעול בסביבת היעד שלה. התהליך יקר מאוד ומחירו משתנה בהתאם למורכבות המערכת ורמת הסיכון שלה. עובדה ידועה שמורכבות המערכות גדל עם הזמן, וככל שרמת המורכבות עולה, עלות הבדיקה גדלה. במקום בו התקציבים מוגבלים, ויכולות בדיקת מערכות מורכבות יורד, המשמעות שניתוח המערכת נעשה באופן חלקי שמשאיר אותן חשופות ופגיעות ברמות לא ידועות.

יתר על כן, לאחר הסמכה של המערכת, קוד אכיפת אבטחת המערכת מוקפא, כלומר כל שינוי לא יכול להיעשות במערכת ללא שינוי בקוד האבטחה דבר שידרוש הסמכה מחדש. הדבר יוצר בעיית עלויות תחזוקה שגורם למשתמש חוסר גמישות בהיקף השיפורים שניתן לעשות לאחר ההסמכה. לדוגמה, אם יש צורך לשדרג כרטיס רשת עם קצב של אחד גיגה ביט, לכרטיס רשת של עשרה גיגה ביט, במערכת שעברה הסמכה, קיים סיכוי גבוה שיהיה צורך לאמת מחדש את הפלטפורמה, מכיוון שעדכוני תצורת כרטיס הרשת וקוד מנהל התקן החסוי מחייב כניסה למערכת ההפעלה של הפלטפורמה, דבר שיכול לערער אכיפת אבטחה של רכיבים מאושרים אחרים במערכת. החלת SKH והפשטת אבטחה למערכות הדורשות אבטחה ברמה הגבוהה ביותר, יכול לשפר באופן משמעותי את האפקטיביות של ההסמכה ולהפחית את עלות הקמתה, ועלות תחזוקה שוטפת של קוד מורשה.

הפחתת מורכבות

באמצעות SK וטכניקות הפשטת אבטחה (security abstraction) ניתן ליצור ארכיטקטורות חדשות כדי להגביל את כמות המורכבות הנדרשת כדי לאכוף אבטחה במערכת. לדוגמה, אם נדרש ממערכת הפרדה בין שני יישומים הרצים ברמות אבטחה שונות, ה SK יכול להפעיל את היישומים במחיצות נפרדות עם הרשאה לגישה נפרדת לחומרה. בהשוואה לניסיון להפריד יישומים במערכת הפעלה, השימוש ב SK יכול להקטין בערך מיליון שורות קוד מורכב כדי להשיג את אותן יכולות.

גמישות: גמישות היא דבר מאתגר במערכות דורשות אימות והסמכה גורם מאשר. לאחר אישור המערכת, לא ניתן לבצע שינויים בכל מרכיב שעלול לשנות את פונקציות האבטחה. אם פונקציות אבטחה משולבות ביישומים, אזי כל עדכוני יישומים יגרום לדרישת אימות מחדש של המערכת. לעומת זאת אם היישומים ורכיבי החומרה אינם תלויים בפונקציות אבטחה קריטיות, אזי מערכות אלו יכולות להיות מתוכננות בצורה המאפשרת תמיכה בשדרוגים עתידיים מבלי צורך לבצע אימות והסמכה מחדש, מכיוון שהקוד המהימן (trusted code) לא השתנה.

שימוש חוזר: עוד היבט חשוב באימוץ הפשטת אבטחה נמצא ביכולת לעשות שימוש חוזר בפונקציות אבטחה שאינן תלויות בחומרה. ניתן לעשות שימוש חוזר ב-SK המאומת לפתרונות חדשים, ופונקציות אבטחה כמו אלגוריתמי הצפנה או מסנני נתונים. לדוגמה, ניתן לעשות שימוש מחדש ברכיבי הצפנה המשמשים מערכת צ׳אט מאובטחת כדי להגן על זרמי נתונים במערכת סימולציית לחימה (איור 3).

החלת הטכנולוגיה

הצורך בתכונות משתמש נוספות, כלי ניהול נוספים ויכולות עמידות בפני תקלות או התקפות זדוניות דורשים מערכות מחשב גדולות יותר, מורכבות יותר, וכוללות רכיבי צד שלישי עם רמות אבטחה לא ידועות. יצרני מוצרי אבטחה וסוכנויות ממשלתיות חייבים להבין שהמורכבות הזו מהווה בעיה של עלויות אבטחה ואימות קוד בלתי ניתנים לשליטה. ככל שהלוחמה הקיברנטית מסלימה, הפחתת האיכות וההבטחה של מערכות אבטחה גבוהות מהווה איום ממשי ומשמעותי. שימוש בטכנולוגיית ה-SK ואימוץ טכניקת הפשטת אבטחה המתוארת, מאפשר התקדמות משמעותית עבור ספקי אבטחה וסוכנויות הממשל.

אבי כהן, פרטק אמבדד

תגובות סגורות