15.2.2015

מודל קלארק-ווילסון לאבטחת שלמות המידע | Clark-Wilson model

בשלהי שנות ה-80 של המאה ה-20, מדענים ואנשי-אקדמיה רבים החלו לערער ולבקר על גישת האקדמיה בתחום אבטחת המידע (שהיה ועודנו כמובן, נושא חשוב בעל השפעה מדינית וממשלתית). בין המדענים נמנו דוויד קלארק ודוויד ווילסון, אשר בשנת 1987 פרסמו מאמר, הטוען כי רוב המחקרים האקדמיים בנושא – מתבססים על סודיות המידע ולא על שלמותו. חשוב לזכור, כי באותה התקופה - הגישה לנושא אבטחת המידע הייתה מכוונת בעיקר לדרישות הצבא והמדינה.
מאפייני המודל הם כדלקמן:
  • התמודדות עם עקרון השלמות (Integrity).
    • משתמשים לא מורשים – אינם יכולים לבצע שינויים כלל.
    • המודל שומר על עקביות המידע ברמת המערכת.
      • עקביות פנים – מאפייני המערכת.
      • עקביות חוץ – מאפייני המערכת כאשר מתייחסים ליחסי המערכת לעולם החיצוני, כגון האינטרנט.
    • משתמשים מורשים – אינם יכולים לבצע שינויים לא מורשים.
    • גישה מכוונת תעשיה-מסחר להבדיל מהגישה המקובלת דאז – צבאית.
  • מוודא כי קיימת:
    • עקביות חוץ-מערכתית.
    • עקביות פנים-מערכתית.
  • אופן האכיפה:
    • הפרדת מטלות (Separation of Duties).
      • טיפ קטן : המקף (-) בשם המודל, שמפריד בין השמות "קלארק" ו-"ווילסון" – מרמז על אופן האכיפה העיקרי במודל – הפרדת מטלות.
    • מבנה לוגי הולם להעברת נתונים.


ווילסון ו-קלארק ניסו לשלב בין מודל האבטחה הצבאי לזה המסחרי. הם פיתחו מודל המורכב משלישיות (Access Triples) של משתמש\פעולה\אובייקט וכן כללים\חוקים החלים על השלישיות.

נרחיב על שלישיות אלו:
כאשר תוכנה\יישום משתמשת במודל קלארק-ווילסון, היישום מפריד פיסות מידע לקבוצה, כאשר קבוצה זו מאופיינת בדרישת רמת אבטחה גבוהה מאוד. כאמור, קבוצה זו מכילה נתונים הדורשים רמת הגנה הולמת. קבוצה זו הינה האובייקט ולעתים מכונה גם כ- "פריט נתונים מוגבל", Constrained Data Item (CDI) . נתונים של נמצאים בקבוצה הנ"ל, קרי דרישת הגנתם לא גבוהה – מכונים "פריט נתונים לא-מוגבל", Unconstrained Data Item (UDI).
ע"פ המודל, כאשר הסובייקט (המשתמש), רוצה לגשת למידע מוגן – הסובייקט (
CDI), הוא צריך להיות מזוהה ומאומת ביישום, כאשר היישום מבצע פעולה, פרוצדורה להשלמת אימות המשתמש. הפרוצדורות מכונות TPs (Transformation procedures). הווה אומר, כי ע"פ מודל זה, משתמש אינו יכול לגשת ל-CDI – ללא שימוש ב-TP .

הכל מובן כרגע, אבל איפה בקרת השלמות? הרי זה מודל לשלמות, לא?
נכון. זהו מודל המתמודד עם עקרון השלמות, ולכן חייב להיות משהו שיוודא כי כללים וחוקים אודות שלמות המידע – אכן מתקיימים. זהו תפקידו של פרוצדורת אימות השלמות – Integrity Verification procedures , או בקצרה IVP. פרוצדורה זו נבנית ע"פ התאמה אישית של הארגון – ומפותחת ע"י הארגון. חשוב לזכור כי מודל מורכב ממבנים לוגיים, נוסחאות מתמטיות ועוד מרכיבים מסובכים שלרוב, רק חוקרים ומדענים יכולים להבין. לכן, מודל אבטחה (ככל סוג שהוא), משמש רק כ-מסגרת עבודה (Framework) עבור ארגונים גדולים המיישמים מודל זה במוצריהם.







נסיים כמובן, בדוגמא הממחישה את חשיבות ה-IVP;
לבנק מסויים – מערכת כלשהי המציגה את פרטי חשבון הבנק של הלקוח. דרישת הבנק הינה ליישם את מודל קלארק-ווילסון במערכת. לבנק חשוב שהמידע המוצג ללקוח אודות חשבונו – יהיה נכון. לכן, ה-IVP המבוקש יהיה כזה שייאמת את ה-CDI, כאשר ה-CDI הינו סכום הכסף הקיים בחשבון.
אם ליוסי יש כ-2000 ש"ח בחשבון, ומפקיד עוד כ-1000 ש"ח, ה-CDI לחשבונו יהיה הסכום 3000 ש"ח. קל להסיק כי ה-IVP שומר על עקביות המידע.

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

12.2.2015

מודל ביבה לאבטחת מידע | Biba Model for information security

מודל Biba פותח אחרי מודל בל-לפדולה. למרות הדמיון בינהם, מודל Biba מכוון לעקרון ה-שלמות (Intergrity) ביישומים . בעוד מודל בל-לפדולה עושה שימוש בשכבות וברמות אבטחה (סודי, סודי ביותר, רגיש...) ע"מ להבטיח סודיות המידע (מידע רגיש יהיה זמין רק לגורמים מורשים) – מודל Biba לא עושה שימוש ברמות אבטחה ואינו מיועד להתמודד עם עקרון הסודיות (Confidentiality). לחלופין, מודל Biba משתמש ברמות (Levels) של תקינות ושלמות.
אם המודל מיושם ונאכף כראוי, נתונים יסווגו לרמת תקינות\שלמות מסויימת. המודל ימנע פגיעה בשלמות ובתקינות הנתונים ויימתן (Mitigate) את רמת שלמותם.

בדומה למודל בל-לפדולה, גם למודל Biba שלושה כללים המנחים יישומו:
  • כלל השלמות* (עם הכוכבית): סובייקט לא יורשה לכתוב נתונים באובייקט בעל דרגת-שלמות גבוהה יותר. ("No write up").
  • הכלל הפשוט לשלמות: סובייקט לא יורשה לקרוא נתונים בעלי דרגות-שלמות נמוכה יותר. ("No read down").
  • שירות מוצהר: סובייקט לא יורשה לשלוח בקשות לשירותים בעלי דרגת שלמות גבוהה יותר.
אסביר קצת יותר;
אמנם שמות הכללים נשמעים דיי מגוחכים (בעיקר בשפה העברית), אבל הם בעלי משמעות;
לדוגמא, הכלל הפשוט לשלמות, מגן על נתונים בעלי רמת מהימנות גבוהה מפגיעה של נתונים ברמה נמוכה יותר. הכלל מבטיח אמינות מקור המידע והנתונים.
חשוב להזכיר כי הכלל מתייחס גם לתהליכים, ולא רק על משתמשים, שכן תהליכים בעל רמת תקינות מסוימת – לא יורשו, לדוגמא, לכתוב נתונים בעלי רמה גבוהה יותר.

בנוסף, מיותר לציין כי שלמות ותקינות של מידע ונתונים – מעידים על אמינות המקור והמידע עצמו.

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





בל-לפדולה או ביבה? (Bell-LaPadula vs. Biba)
מודל בל-לפדולה, עיקרו ביישום עקרון הסודיות, בעוד מודל ביבה מכוון לעקרון השלמות. מודלים אלו משמשים גם כמודל להזרמת-מידע, שכן תפקידם הוא למנוע הזרמת נתונים מרמה אחת לרמה אחרת – מודל בל-לפדולה מאופיין ברמות אבטחה, ומודל ביבה ברמות שלמות.
ישנה חשיבות רבה בהבנת מודלים אלו וכלליהם בקרב מומחי אבטחת מידע. כמעט בכל תחום בחיינו, נעשה שימוש במודלי אבטחת-מידע. במיוחד כיום, כאשר עסקים או ארגונים מתייחסים באבטחה של מידע - כחלק בלתי נפרד מפעילותם. 


11.2.2015

מודל בל-לפדולה לאבטחת מידע | Bell-LaPadula Model

מושג חשוב בתכנון וניתוח מערכות מאובטחות הוא מודל האבטחה (Security Model). המודל ינחה את אופן גישת הארגון\חברה לאכיפת מדיניות ונהלי אבטחה שנקבעו. באופן כללי, המודל הינו הייצוג לנהלים ולתקנות, וממפה את דרישות קובעי המדיניות לאוסף כללים מוסכמים שעל-פיהם יש לעבוד.
מודל אבטחה מתואר באופן אנליטי ומוצג בד"כ בשפה לוגית ופורמלית – קרי, מתמטית.
נניח כי לארגון מסוים קיימת מדיניות אבטחת מידע מקיפה, וע"פ המדיניות נקבע כי "כל אדם\יישות המבקש לגשת לאובייקט מסוים – חייב באימות מקדים." מודל האבטחה מקבל דרישה זו ומספק את המשאבים הנדרשים כגון נוסחאות מתמטיות, מבנים לוגים וקשרים בין מערכות שונות, וזו כדי להשיג את המטרה, קרי דרישת המדיניות.

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

מודל בל-לפדולה (Bell-LaPadula Model)
בשנות ה70, עת צבא ארה"ב החל שימוש במערכות מסונכרנות ומשותפות-זמן (Mainframe)– היה קיים חשש לגבי אופן אבטחת המערכות וכן חשש ממשי מדליפת מידע מסווג. על-כן, מודל בל-לפדולה פותח במיוחד לענות על דרישות הצבא. זהו המודל המתמטי הראשון שפותח לנהלי אבטחה רב-שכבתית. המודל מסוגל להגדיר מצבי גישה, התוויה וכללים לאופן גישה. פיתוח המודל מומן ע"י האמריקאים ומטרתו היתה לספק מעין מסגרת אבטחתית למערכות המעבדות והמאחסנות מידע רגיש. המטרה העיקרית של המודל הינה מניעת גישה בלתי-מורשית למידע סודי או מסווג.
מערכת המיישמת מודל זה מכונה "מערכת מאובטחת-הדרגתית" (Multilevel Security System – MLS System). מקור הכינוי מעיד כי מערכת כזו מאופיינת במשתמשים עם מגוון הרשאות לשימוש ספציפי ומיועד, וכן בעיבוד תהליכים כפונקציה של ההרשאות(דרגות, במקרה שלנו).

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

מודל בל-לפדולה הינו כפוף-אוביקט ומורכב מ-סובייקט, אובייקט ופעולות גישה (קריאה, כתיבה, קריאה\כתיבה). דוגמא טובה היא איך אתה (הסובייקט, נושא), ניגש לקרוא נתונים (אובייקט) ממסד-נתונים מסוים, ו\או לכתוב נתונים אל אותו מסד-נתונים. המודל מתמקד בעקרון המבטיח כי גישה לאובייקט תעשה רק אם הסובייקט(אתה, לדוגמא) הינו בעל סיווג מתאים וכן כי הסובייקט מאומת כראוי וע"פ הנהלים.
שלושה כללים עיקריים מנחים את אופן השימוש והאכיפה במודל; כלל אבטחה פשוט, כלל הכוכב וכלל הכוכב החזק.

הכלל הפשוט קובע כי אדם בעל סיווג מסוים לא יכול לקרוא נתונים הנמצאים ברמת סיווג גבוהה יותר. בשפה פורמלית – "No read up" .
כלל הכוכב קובע כי אדם בעל סיווג מסוים לא יכול לכתוב נתונים הנמצאים ברמת סיווג נמוכה יותר. בשפה פורמלית – "No write down" .
כלל הכוכב החזק קובע כי אדם בעל סיווג מסוים יהיה רשאי לכתוב ולקרוא נתונים רק אם רמת סיווג הנתונים הינה באותה רמת סיווג של האדם.

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


10.2.2015

מנגנוני אבטחת מידע במערכות הפעלה



אחד העקרונות החשובים בדבר בניית מערכות מאובטחות הוא עקרון "הגנה-לעומק" (Defense-in-Depth). בניית מנגנוני אבטחה במערכות הפעלה מתבסס על אותו עקרון. תוקפים פוטנציאליים יכוונו מטרתם ללב המערכת – מערכת ההפעלה. לכן, הגנה עליה הינה קריטית .

 מנגנוני הגנה נפוצים כיום כוללים בין היתר: "הגנה בשכבות" (Layering), הפשטה (Abstraction), בידוד תהליכים (Process Isolation) וסגמנטציה חומרתית (Hardware Segmentation).

"הגנה בשכבות" מבטיחה ארגון נכון של פונקציות לרכיבים (שכבות) נפרדים. כל פונקציה אחת מקיימת אינטרקציה עם פונקציה אחרת – באופן תואם ורציף. כל שכבה יכולה לתקשר רק עם שכבה מעליה. השכבה התחתונה צריכה לעבוד באופן עצמאי ולא תלוי. אם שכבה אחת במערכת - נכשלה, אין זה ישפיע על שאר השכבות.

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

בידוד תהליכים הינו מנגנון אימות שמוודא כי תהליך מסוים אינו משפיע (במקרה שלנו, לרעה) על תהליך אחר. במערכות הפעלה מודרניות, כגון UNIX, Windows – כל תהליך פועל במרחב כתובות (זכרון) מוגן ומוגדר. באופן זה, השבתת תהליך מסוים לא אמור להשפיע על שאר התהליכים במערכת. בימי ה-MSDOS הטובים והנוסטלגיים, השבתה של תהליך (Process) אחד – גרם לכל המערכת לקרוס (זוכרים את צירוף המקשים Ctrl-Alt-Del לאתחול המחשב?)