23.11.2015

על חוסן, מבדקים ופריצות


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

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

פגיעות (Vulnerability) – פגיעות הינה גורם בסביבתנו אשר יכול לשמש איום כלשהו לגרימת נזק. הווה אומר כי בית ללא אזעקה – הינו פגיע ואף "קורא" לתוקף (האיום).

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

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


מבדקים, סריקות, פריצות וסקירות אבטחה

(הוספתי את הסעיף הזה ע"פ בקשה של קורא הבלוג)
קיימים עוד כמה מונחים שאנשי אבטחת המידע מרבים לבלבלם מפאת חוסר הגדרתם באופן רשמי;
  • פריצה אתית (Ethical Hacking)
  • מבדק חדירה (Penetration Testing)
  • סריקת פגיעויות (Vulnerabilities Assessment)
  • סקירת אבטחה (Security Audit) 
המונחים דלעיל מתארים מה אנשי ה-Pentest עושים על בסיס יומי.


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


מבדק חדירה
מבדק חדירה הוא מונח דומה מאוד לפריצה אתית, וליתר דיוק – הוא מוגדר כחלק מפריצה אתית. מבדק החדירה מתמקד במציאת חורי אבטחה (להלן פגיעויות), אשר יוכלו לשמש את התוקפים לחדור למחשב ו\או לגנוב מידע. ובכן, מה מנחה את תהליך מבדק החדירה?
  • שימוש בכלים ובטכניקות דומות לאלו של התוקפים.
  • רבים יסכימו איתי כי ע"מ למנוע גניבה – צריך לחשוב כמו גנב.
  • מטרה ממוקדת.
 באופן רשמי, הגדרה נאותה של המונח "מבדק חדירה" הינה פריצה להשגת המטרות הבאות:
  •  מציאת פגיעויות.
  • קביעת סכנות עסקיות והשפעותיהן במטרה לשפר את אבטחת המידע.
  • פריצה ממוקדת המונחית ע"י חוקים, היקף והמטרה עצמה.
סריקת פגיעויות
סריקת פגיעויות (Vulnerability Assessment) הוא מונח שרבים רואים אותו כשווה ערך למבדק חדירה. ובכן, קיים הבדל בין שני המונחים והוא:
  • מבדק חדירה מתמקד בגניבת\לקיטת נתונים ובד"כ מונחה ע"י סוגיות טכניות בלבד.
  • סריקת פגיעויות מתמקד גם הוא במציאת חורי אבטחה – אך לא בהכרח לגניבת נתונים. סריקת פגיעויות הינו מונח רחב יותר ובד"כ מכיל סקירה של מדיניות, נהלים ותהליכים בסביבת המטרה. לבסוף, ההבדל המשמעותי בין השניים הוא שהשני לא מנצל את חורי האבטחה שנמצאו (קרי Exploiting).
סקירות אבטחה
סקירת אבטחה (Security Audit) נשענת בעיקרה ע"י תקנים ולרוב מתבצעת בעזרת Checklist . סקירות אבטחה ע"פ הגדרה אינן ממוקדות כמו סוג הבדיקות שהצגתי דלעיל, אך הן נעשות באופן תכוף יותר כחלק מפעילות שוטפת של העסק.


במאמר זה, אתייחס למבדק חדירה כפריצה אתית לכל דבר.

סוגי מבדקי חדירה\פריצות אתיות

קיימים כמה סוגים\גישות למבדקי חדירה:

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

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

בדיקת אפליקציות אינטרנטיות (Web application test)
כשמה היא – בדיקה למציאת חורי אבטחה בתוכנות מבוססות web \ אפליקציות אינטרנטיות אשר מאוחסנות\פועלות בסביבת המטרה.

בדיקת אבטחה אלחוטית (Wireless security test)
בדיקה זו שמה לעצמה מטרה למצוא נקודות גישה (Access points) לא מורשות ומציאת חורי אבטחה בנקודות גישה מורשות.

בדיקת הנדסה חברתית (Social Engineering test)
בדיקה חשובה מאין כמותה. מטרתה העיקרית היא לבדוק את ערנות העובדים ע"י ביצוע פעולות כגון התחזות ע"מ להשיג מידע רגיש מעובדי החברה. התקפות מסוג Phishing, Spoofing הינם חלק מרכזי בבדיקה כזאת.

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

מתודולוגיות מבדקי חדירה

בסעיף זה, אציג מתודולוגיות חינמיות\ציבוריות המנחות מבדקי חדירה.
כיום, קיימים כמה ארגונים שמפרסמים מתודולוגיות מבדקי חדירה ברמה גבוהה ובחינם.
אם הנושא מעניין אתכם, אני ממליץ לקרוא את המתודולוגיות – הם בחינם.
לדעתי האישית, 5 המתודולוגיות מן היעילות ביותר כיום הן:
  • מדריך הבדיקה של OWASP (Open Web Application Security Project)
  • NIST 800-115 של מכון התקינה האמריקאי.
  • OSSTMM (Open Source Security Testing Methodology Manual)
  • PTES (Penetration Testing Execution Standard)
  • PTF (Penetration Testing Framework)
 OWASP Testing Guide 
בניגוד לשאר המתודולוגיות, זאת מתמקדת על אפליקציות אינטרנטיות בלבד. מדריך הבדיקה של OWASP הוא חלק מפרויקטים רבים שהחבר'ה ב-OWASP עושים. הוא מעניק התמקדות מעמיקה יחד עם כלים (חינמיים) מקצועיים נוספים. OWASP הוא ארגון ללא מטרות רווח המורכב מאנשי מקצוע מכל העולם. גם בישראל קיים "סניף" שלהם, עם מפגשים ודיונים בנושא. היתרון המשמעותי ביותר במתודולוגיה זו הוא היכולת לקבוע סכנות עסקיות בהתבסס על הממצאים.
לאחרונה, OWASP הוציאו תקן של ממש – כזה המוודא כי תהליך הבדיקה (המורכב, בלשון המעטה) בוצע והושלם.
בנוסף, הארגון מקטלג את 10 סוגי התקפות המניבות את הסכנות המשמעותיות ביותר כנגד אפליקציות אינטרנטיות, כאשר בראש הרשימה מתוארת הסכנה הגבוהה ביותר (A1 – Injection) .
את המדריך המלא תוכלו למצוא באתר הפרויקט, כאן.




NIST Guideline on Network Security Testing 
מכון התקנים והטכנולוגיה של ארה"ב פרסמו מסמך הנקרא: "Technical guide to IS Testing" אשר מכסה ברמה (גבוהה, אם יורשה לי לציין) את תהליך מבדק החדירה ברשתות מחשבים.
המסמך מציג טכניקות לביצוע, ניתוח ואימות מבדקי חדירה ותוצאותיו.
אספקט חשוב אותו המתודולוגיה מכסה הוא האספקט הניהולי; חברות רבות מכניסות למערך ה-IT שלהם גם את הגישה העסקית-ניהולית ורואות את אותו מערך כחלק בלתי נפרד מניהול החברה באופן כללי. לכן, המסמך של NIST מכיל פרמטרים המערבים את הנהלת החברה.  

את המדריך של NIST תמצאו כאן.


Open Source Security Testing Methodology Manual - OSSTMM 
OSSTMM פותח ע"י פיט הרצוג ומופץ ע"י ISECOM. המתודולוגיה ביסודה חינמית אך גישה לגרסאות מעודכנות יותר דורשות רכישת מנוי באתר ISECOM.
באופן כללי, המתודולוגיה מאוד רוחבית, הווה אומר כי היא מכסה סוגים רבים של מבדקי אבטחה – אבל לא בצורה מעמיקה דיו. בין הנושאים המרכזיים במתודולוגיה תמצאו בין היתר: קביעת היקף הבדיקה, בדיקה פיזית, בדיקה אנושית (הנדסה חברתית), בדיקה אלחוטית ועוד... כל נושא מוצג ומוסבר בשיטת "צעד-אחר-צעד". אחד היתרונות הבולטים ב-OSSTMM הוא שהנ"ל מעניק תבניות מוכנות הן לתהליך הבדיקה והן ליצירת הדוח.
מסמכי המתודולוגיה נמצאים באתר ISECOM.


Penetration Testing Execution Standard - PTES
PTES הינו פרויקט מעניין מאוד; הוא מתאר אילו פעולות נחוצות יש לבצע כדי להגדיר את הבדיקה הרצויה כמבדק חדירה. מטרתו להעניק "קרקע" יציבה לביצוע המבדק ע"י הגדרת תקן, סטנדרט לתהליך. PTES נתמך ע"י המון אנשי מקצוע אשר שוקדים לעדכנו בהתאם לטכנולוגיות העכשוויות. בין סעיפי המתודולוגיה אפשר למצוא ניתוח פגיעויות, ניצולן, מידול איומים ועוד...
לסיכום תיאור המתודולוגיה, אציין כי היא הינה מעמיקה ומהווה מקור מצוין לתיאור תהליך מבדק החדירה.

פירוט מלא של המתודולוגיה\תקן, אפשר למצוא כאן.



Penetration Testing Framework 
אחרון (וחביב) ברשימת המתודולוגיות החינמיות, נמצא PTF. המתודולוגיה מתמקדת על מבדקי חדירה מבוססים שירותי רשת ומציגה באופן מעמיק ובשיטת צעד-אחר-צעד את תהליך מבדק החדירה (כולל קישורים לכלים ותוכנות לביצוע מטלה זו או אחרת).
המתודולוגיה מנחה את הבודק מה צריך לעשות ואיך לעשות בכל שלב בתהליך מבדק החדירה. המתודולוגיה נכתבה ע"י Toggmeister ו- Lee Lawson .
הגרסה העדכנית של PTF נמצאת כאן.




תהליך מבדק החדירה

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



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

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



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

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





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