מה זה חולשת 1day - איך חולשה שכולם כבר יודעים עליה עדיין פורצת רשתות¶
יש בלבול נפוץ בין המושגים 0day ו-1day, ואני רוצה לסדר אותו כי ההבנה שלו חשובה - חולשות 1day הן, בפועל, אחת הדרכים הכי נפוצות שבודקי חדירות אמיתיים משתמשים בהן כדי לקבל דריסת רגל ראשונית ברשת.
ההבדל בין 0day ל-1day¶
חולשת 0day היא חולשה שאף אחד עוד לא יודע עליה - לא היצרן, לא הקהילה, אף אחד. השם בא מזה שליצרן היו "אפס ימים" להגיב לפני שהחולשה נוצלה. חולשות כאלה נדירות ויקרות מאוד, ומשתמשים בהן בעיקר גורמי מדינה ותוקפים מתוחכמים ביותר.
חולשת 1day, לעומת זאת, היא חולשה שכבר פורסמה - היצרן יודע עליה, בדרך כלל כבר הוציא תיקון, ולעיתים קרובות אפילו יש קוד הוכחת היתכנות (Proof of Concept) זמין באינטרנט לכל מי שרוצה לבדוק אותה. ההבדל הקריטי הוא זה - החולשה כבר לא סודית, אבל עדיין המון מערכות בעולם לא עודכנו וסובלות ממנה.
אז למה חולשות 1day הן כל כך שימושיות בפועל¶
זה נשמע אולי מפתיע - אם היצרן כבר פרסם תיקון, למה שמישהו עדיין יהיה פגיע? התשובה נעוצה במציאות של ניהול תשתיות ארגוניות. עדכון מערכת בארגון גדול זה לא לחיצת כפתור. יש תהליכי בדיקה, אישורים, חלונות תחזוקה, וחשש אמיתי שעדכון ישבור משהו שרץ ייצור. התוצאה - הפער בין פרסום תיקון לבין יישום שלו בפועל בכל הארגון יכול להימשך חודשים, ולפעמים שנים.
בודקי חדירות מנצלים בדיוק את הפער הזה. אחרי שחולשה חמורה מתפרסמת, ולפעמים מקבלת אפילו שם וסמל משלה (כמו EternalBlue או ProxyShell), עובר זמן משמעותי עד שרוב הארגונים בעולם מתקנים אותה. בזמן הזה, סריקה פשוטה של רשת לפי גרסאות תוכנה יכולה לחשוף מיד אילו מערכות עדיין פגיעות.
איך זה עובד בבדיקת חדירות בפועל¶
בשלב הרקון והסריקה, בודק חדירות מזהה אילו שירותים ותוכנות רצים ברשת, ובאילו גרסאות. משם, השלב הבא הוא בדיקה מול מאגרי חולשות ידועות - כמו NVD (מסד הנתונים הלאומי לחולשות) - אילו מהגרסאות האלה מוכרות כפגיעות. אם נמצאת התאמה, הבודק בודק אם קיים קוד ניצול זמין, ואם כן, מריץ אותו בזהירות תחת התנאים שהוגדרו בהיקף הבדיקה.
זו הסיבה שכלים כמו Metasploit, שמכילים מודולים מוכנים לחולשות 1day רבות, כל כך שימושיים - הם חוסכים את הצורך לכתוב קוד ניצול מאפס לכל חולשה מתועדת.
למה זה כל כך נפוץ בבדיקות חדירות חיצוניות¶
בהיקף חיצוני, בודקי חדירות לרוב לא יכולים "לגעת" בהרבה מהמערכות בלי לגרום נזק, אז חולשות 1day מתועדות היטב הן דרך אמינה ובטוחה יחסית להוכיח השפעה אמיתית - אם השרת פגיע לגרסה ידועה עם עדות תיעודית ברורה, זה מספיק כדי להראות ללקוח את הסיכון בלי לנחש או לסכן את המערכת.
מה זה אומר על ניהול תיקונים בארגונים¶
מנקודת המבט ההגנתית, זה שיעור חשוב - ניהול עדכונים (Patch Management) הוא אחד מהצעדים הכי בסיסיים ומשמעותיים באבטחת מידע, ועדיין אחד הנושאים שהכי נפוצים לראות אותם כפגומים בבדיקות חדירות אמיתיות. חולשה שכבר יש לה תיקון זמין היא, במובן מסוים, כישלון ניהולי יותר מאשר כישלון טכני.
איך לומדים לנצל חולשות 1day נכון ובאחריות¶
ניצול חולשות 1day דורש זהירות אמיתית - חולשות מסוימות עלולות לגרום לקריסת שירות אם מריצים אותן בלי הבנה מספקת. בקורס בודק חדירות שלי יש פרק ייעודי להרצת חולשות 1day, גם בהיקף חיצוני וגם בתוך רשת דומיין, כולל איך למצוא אותן, איך לבדוק אותן באחריות, ומתי להימנע מלהריץ אותן בכלל.
לסיכום¶
חולשות 1day מזכירות לנו ששיפור באבטחה הוא לא רק עניין טכני, הוא עניין ארגוני. הידע כבר שם, התיקון כבר שם, אבל הפער בין פרסום לביצוע הוא בדיוק המקום שבו בודקי חדירות, ולצערנו גם תוקפים אמיתיים, מוצאים את הדרך הכי קלה פנימה.
בואו לדבר על חולשות ודרכי ניצול נוספות בקהילה שלנו.