מודל איומים שימושי מסביר מה אתם מגנים עליו, מי או מה יכול להשפיע עליו, היכן האמון משתנה וכיצד תפחיתו ותבדקו את הסיכונים החשובים ביותר. התחילו מהפרויקט בפועל ולא מרשימה גנרית של כלים.
הגדירו היקף קטן מספיק כדי לחשוב עליו
התחילו בשירות עובד אחד: פורטל לקוחות, אתר פרסום או יישום פנימי. רשמו את הרכיבים שאתם מפעילים ואת המערכות החיצוניות שאתם מסתמכים עליהן. מודל איומים צריך להפוך הנחות לגלויות, לא לרמוז שכל תקיפה אפשרית נפתרה. שמרו את הגרסה הראשונה קטנה מספיק כדי שהאנשים שפורסים את היישום יוכלו להסביר אותה בלי יועץ נפרד שיפרש את התרשים.
פרטו את התוצאות והנכסים היקרים. אלה עשויים לכלול נתוני לקוחות, גישת ניהול, מצב תשלום, תוכן מפורסם ויכולת לשחזר שירות. זמינות יכולה להיות נכס גם כאשר המידע ציבורי. החליטו אילו כשלים יהיו לא נוחים ואילו יזיקו לאנשים או לארגון. ההבחנה הזו עוזרת לכם לתעדף בקרות במקום להתייחס לכל אזהרה באותה מידה.
שרטטו את המקומות שבהם האמון משתנה
הנחיית מודל האיומים של OWASP משתמשת בזרימות נתונים ובגבולות אמון כדי להפוך עיצוב למובן. עבור יישום קטן מתארח, שרטטו את הדפדפן, תהליך האינטרנט, מסד הנתונים, המנהל, יעד הגיבוי ואינטגרציות חיצוניות. סמנו את המידע שעובר ביניהם. בקשה שחוצה מלקוח לא מהימן לפעולת שרת מורשית ראויה לאימות והרשאה מפורשים.
אל תניחו שלהיות בתוך אותה מכונה הופך כל רכיב לאמין באותה מידה. תהליך העלאה ציבורי לא צריך לקבל את אותן הרשאות כמו ניהול מסד נתונים. עבודת גיבוי עשויה להזדקק לגישת קריאה בלי היכולת לשנות רשומות יישום חיות. הפרדת התפקידים האלה מקלה על הכלת ההשפעה של רכיב שנפגע ועל סקירת ההרשאות הנדרשות.
בחרו תרחישי כשל קונקרטיים
השתמשו בכמה אירועים סבירים כדי לאתגר את העיצוב. תוקף גונב סיסמת מנהל; משתמש מבקש רשומה של משתמש אחר; העלאה ממלאת את הדיסק; פריסה חושפת קובץ תצורה; העתק שחזור לא ניתן לשחזור. תארו את מצב ההתחלה, הרכיב המושפע והתוצאה. תרחיש ספציפי קל יותר לבדיקה מהוראה רחבה לשפר אבטחה.
כללו טעויות ושימוש לרעה בזרימת עבודה לגיטימית כמו גם חדירה חיצונית. ניסיון חוזר עשוי ליצור שתי פעולות יקרות, או ששתי בקשות עשויות להתחרות על שינוי אותו אובייקט. הנחיית הלוגיקה העסקית של OWASP מדגישה את הנחות התהליך האלה. בדקו מי רשאי להעביר זרימת עבודה למצב הבא שלה והאם חזרה או שינוי סדר של בקשה משנים את התוצאה באופן בלתי צפוי.
| תרחיש | בקרה לחקור | ראיות לאיסוף |
|---|---|---|
| אישור ניהול גנוב | גישה מוגבלת וגורם שני היכן שנתמך | התחברות בלתי מורשית לא יכולה להשלים |
| אובייקט של משתמש אחר מבוקש | הרשאת אובייקט בצד השרת | בדיקה מבודדת מחזירה תוצאה של דחייה |
| הדיסק מוצה על ידי העלאות | בקרות גודל, מכסה ושמירה | מגבלה נאכפת לפני כשל שירות |
| בקשת זרימת עבודה כפולה | אידמפוטנטיות וגבולות טרנזקציה | בקשה חוזרת יוצרת תוצאה אחת |
תעדפו לפי השפעה ונתיב אמין
עבור כל תרחיש, תעדו את ההשפעה הפוטנציאלית שלו ואת התנאים הנדרשים להתרחשותו. הימנעו מלהעמיד פנים שניקוד מספרי משוער הוא הסתברות מדויקת. עדיין תוכלו להבחין בין סיסמה חלשה חשופה לאינטרנט לבין אירוע מקומי מותנה מאוד. הקצו בעלים וצעד הבא מעשי לסיכונים החשובים כדי שהמודל ייצור עבודה שמישהו באמת יכול להשלים.
שקלו את מחזור החיים של המידע כמו גם פגיעה ביישום. ייצוא אבחוני יכול לחשוף מידע מיותר במהלך פעולה רגילה אחרת. שדה חשבון שנשמר עשוי ליצור חשיפה זמן רב לאחר שמטרתו הסתיימה. סקירת פרטיות יכולה לכן להסיר מידע או לקצר שמירה, בעוד סקירת אבטחה מגבילה גישה למה שנשאר. שני השינויים שייכים למודל כאשר הם מגנים על הפרויקט.
בדקו את הבקרות בסביבה מורשית
צור סביבת ביניים עם הרשאות מייצגות ורשומות מומצאות. בדוק גישה נדחית, מגבלות בקשות, ניסיונות חוזרים של תהליכי עבודה ושחזור. אל תשתמש בנתוני לקוחות אמיתיים כאשר נתונים סינתטיים יכולים להדגים את ההתנהגות. המטרה היא לאמת את הבקרה, לא לייצר תעבורת תקיפה מרשימה. הישאר בתוך מערכות שבבעלותך או שאתה מורשה במפורש להעריך.
תעד מה עבר, מה נכשל ומה נותר לא ידוע. תוצאת סורק יכולה לתרום ראיות אך אינה מחליפה בדיקה של כללי העסק של היישום. כמו כן, אפשרות הגנת רשת אינה מאמתת הרשאת אובייקט או טיפול בקבצים סודיים. צרף את התוצאות השימושיות לתרחיש כדי שמתחזקים עתידיים יבינו מדוע בקרה מסוימת קיימת.
שמרו על המודל מחובר לשינוי
סקור את החלקים הרלוונטיים כאשר אתה מוסיף אינטגרציה, חושף נקודת קצה חדשה, משנה הרשאה או מעביר נתונים ליעד אחר. אין צורך לשרטט מחדש את כל הארכיטקטורה עבור עריכת טקסט קטנה. הטריגר הוא הנחה שהשתנתה לגבי גישה, מידע או התנהגות מערכת. שמור את המודל לצד תיעוד פריסה ושחזור במקום להשאירו כפלט סדנה חד-פעמי.
SwissOctet מספק קטלוג של אפשרויות תשתית, לא מודל איומים מוגמר של יישום. בחר את התצורה והאפשרויות שתומכות בבקרות שלך, ואז אמת את הפריסה שבנית. מודל קטן ומתוחזק עם פעולות נבדקות שימושי יותר מאוסף גדול של מוצרי אבטחה ללא הסבר ברור לסיכונים שהם מטפלים בהם.
רשימת הבדיקה המעשית שלך.
- פרט נכסים והשלכות של כשל.
- שרטט זרימות נתונים וגבולות אמון.
- בחר תרחישים ספציפיים של חדירה, טעות ותהליך עבודה.
- הקצה בקרות ובעלים לסיכונים החשובים.
- בדוק עם נתונים סינתטיים בסביבה מורשית.
- סקור את המודל כאשר הנחה רלוונטית משתנה.
הפרטים שחשובים.
האם אני צריך מסגרת פורמלית כדי להתחיל?+
לא. תרשים קטן וקבוצה מתועדת של תרחישים יכולים להיות שימושיים. מסגרת עוזרת להבטיח שאתה סוקר סיכונים באופן עקבי.
האם סורק פגיעויות מחליף מודל איומים?+
לא. סורקים עשויים למצוא חולשות טכניות, בעוד מודל איומים בוחן גם הנחות תכנון, הרשאות ותהליכי עבודה עסקיים.
באיזו תדירות עליי לעדכן את המודל?+
עדכן את החלקים המושפעים כאשר זרימות נתונים, אינטגרציות, הרשאות או פונקציונליות חשופה משתנות, וסקור סיכונים לא פתורים באופן קבוע.
לך למקור.
הפניות אלה תומכות במושגים הטכניים במדריך זה. עקוב אחר התיעוד העדכני לפני שינוי מערכת ייצור.
- OWASP: דף עזר למודל איומים cheatsheetseries.owasp.org
- OWASP: מודל איומים בפועל devguide.owasp.org
- OWASP: אבטחת לוגיקה עסקית cheatsheetseries.owasp.org
הדרכה עריכתית מאת SwissOctet. הדוגמאות להמחשה. יש לאמת בנפרד מפרטי שירות, אפשרויות זמינות ותנאים חוזיים.