מה זה אפור קופסא
אפור קופסא הוא בדיקת תוכנה עם ידע מוגבל על פעולתה הפנימית. בדיקת קופסאות אפורות היא טכניקת פריצה אתית בה ההאקר צריך להשתמש במידע מוגבל כדי לזהות את נקודות החוזק והחולשה של רשת האבטחה של יעד.
שוברים למטה קופסה אפורה
קופסא אפורה היא הכלאה של בדיקת קופסאות לבנות, שם הבוחן בוחן את ההיגיון והמבנה הפנימיים של קוד התוכנה, ובדיקת קופסא שחורה, שם הבוחן אינו יודע דבר על קוד התוכנה. כדי להבין בדיקת קופסא אפורה, עלינו להבין קודם כל שחור בדיקת תיבות ובדיקת קופסאות לבנות.
בדיקת קופסא שחורה וקופסא לבנה
בדיקות קופסא שחורה לא מסתכלות רק על תשומות של המשתמש ומה התפוקה שמייצרת התוכנה בהינתן אותן תשומות. בדיקת קופסא שחורה אינה דורשת שום ידע בשפת תכנות או פרטים טכניים אחרים. זהו סוג של בדיקות ברמה גבוהה המשמשות בבדיקת מערכות ובדיקות קבלה. מהנדסי תוכנה דורשים מסמך מפרט דרישות תוכנה (SRS) כדי לבצע בדיקות קופסא שחורה. בדיקה זו נוקטת בפרספקטיבה של משתמש הקצה, כאשר בודק הקופסא השחורה אינו יודע כיצד נוצרות התפוקות מהתשומות.
בדיקת קופסאות לבנות מחייבת ידע מעמיק בטכניקות והפלטפורמות המשמשות לבניית תוכנה, כולל שפת התכנות הרלוונטית. זהו סוג של בדיקות ברמה נמוכה המשמשות בבדיקת יחידות ובדיקת אינדיקציות. מהנדסי תוכנה צריכים להבין את שפת התכנות המשמשת ליצירת האפליקציה כדי שיוכלו להבין את קוד המקור שלה. המטרות העיקריות של בדיקת קופסאות לבנות הן חיזוק האבטחה, בחינה כיצד התשומות והתפוקות זורמים דרך היישום, ושיפור העיצוב והשימושיות. כאשר בודק קופסא לבנה אינו מקבל את הפלט הצפוי מכניסה נתונה, התוצאה נחשבת לבאג שצריך לתקן.
בדיקת קופסא אפורה
בדיקת קופסאות אפורות כוללת רכיבים חשובים בבדיקת קופסאות שחורות ולבנות כדי להשיג תוצאה טובה יותר מששני יכול להשיג בלבד. משתמשי הקצה וגם המפתחים מבצעים בדיקות קופסא אפורה עם ידע מוגבל (חלקי) בקוד המקור של האפליקציה. בדיקת קופסאות אפורות יכולות להיות ידניות או אוטומטיות. זה מקיף יותר ויותר זמן מבדיקת קופסא שחורה, אך לא מקיף או רב זמן כמו בדיקת קופסאות לבנות. בודקי תיבות אפורות דורשים מסמכי עיצוב מפורטות.
בדיקת קופסאות אפורות כוללת זיהוי תשומות, זיהוי תפוקות, זיהוי נתיבים עיקריים וזיהוי תפקודי משנה. לאחר מכן הוא עובר לפיתוח תשומות ותפוקות לתפקודי משנה, ביצוע מקרי בדיקה לתפקודי משנה ואימות תוצאות אלו.
דוגמא לתיבה אפורה
בודק תיבה אפורה עשוי לבדוק ולתקן את הקישורים באתר. אם קישור לא עובד, הבוחן משנה את קוד ה- HTML כדי לנסות לגרום לקישור לעבוד, ואז בודק מחדש את ממשק המשתמש כדי לבדוק אם הקישור עובד. בודק תיבה אפורה עשוי לבדוק גם מחשבון מקוון. הבוחן יגדיר תשומות - נוסחאות מתמטיות כמו 1 + 1, 2 * 2, 5–4 ו- 15/3 - ואז יבדוק אם המחשבון מספק את היציאות הנכונות בהינתן אותן תשומות. לבוחן התיבה האפורה יש גישה לקוד ה- HTML של המחשבון והוא יכול לשנותו אם מזוהים שגיאות.
בדיקת תיבות אפורה מסתכלת הן על ממשק המשתמש של האפליקציה, או על שכבת המצגת, ועל פעולותיה הפנימיות, או הקוד שלה. הוא משמש בעיקר בבדיקת אינטגרציה ובדיקת חדירה אך הוא אינו מתאים לבדיקת אלגוריתמים. בדיקת תיבות אפורות משמשת בדרך כלל לבדיקת ממשק המשתמש, האבטחה או הפונקציונליות המקוונת של היישום באמצעות טכניקות כמו בדיקת מטריצות, בדיקת רגרסיה, בדיקת מערכים אורטוגונליים ובדיקת דפוסים. נבחני קופסאות אפורות נוטים לזהות בעיות ספציפיות להקשר.
"אפור" מתייחס ליכולת החלקית של הבוחן לראות את פעולותיו הפנימיות של היישום. "לבן" מתייחס ליכולת לראות דרך ממשק התוכנה את פעולתה הפנימית ו"שחור "מתייחס לחוסר היכולת לראות את פעולותיה הפנימיות של התוכנה. בדיקת קופסאות אפורות נקראת לעיתים בדיקות שקופות ואילו בדיקת קופסאות לבנות נקראת לעיתים בדיקות ברורות ובדיקת קופסא שחורה עשויה להיקרא גם בדיקת אטום.
