דף הבית   על אודות   צרו קשר   לפני האיתחול  
15 באוקטובר2018

סערה בכוס תה - או למה עקיפת הגנת הבוטים של אינקפסולה אינה דבר לזלזל בו


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

איך מבצעים בדיקות חדירה

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

למשל, קרו כבר מקרים שקבצי גיבוי שהכילו סיסמאות ומידע רב “נשכחו” על השרתים; קרו מקרים בהם “נשכחו” לינקים למערכות הניהול שהוסתרו היטב; קרו מקרים בהם קוד מקור “נשכח” על השרת, או פרטי דיבאג לא הוסרו לחלוטין; כל אחד מהדברים האלה יכול להוביל לייתור של כל מערך ההגנות היקר. אלה טעויות אנוש, נכון, אבל בסופו של דבר אנשים הם אלה שכותבים ומנהלים את המערכות האלה, והם עושים וימשיכו לעשות טעויות.

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

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

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

cartoon thief

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

אינקפסולה

המוצר של אינקפסולה, עליו כתבתי ברשימה הקודמת, מתיימר לעשות המון דברים. אני משוכנע שאת חלקם הוא עושה בצורה יוצאת דופן, אבל הפיצ’ר עליו כתבתי הוא זה של ה-Bad Bot Mitigation, או בעברית - “איפחות בוטים רעים” (ובחיי שאני לא ממציא את המילה הזו.)

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

ולמה המנגנון הזה חשוב? כי הוא מפחית בצורה דרסטית את המתקפות על המערכת. ולמה זה קורה? כי המון מתקפות (מבחינת כמות, לא איכות) מגיעות ממפעילי סקריפטים שלוקחים אתר ואומרים “תרוץ עליו ותמצא לי בעיות”. הסקריפט הזה מזוהה כרובוט מרושע, ולא מצליח לגשת לתוכן המערכות. משיחות עם כמה מנהלי מערכות גדולות - זה פיצ’ר סופר-חשוב עבורם מכיוון שהוא מוריד את כמות ההתראות שהם מקבלים בצורה משמעותית. אם הסקריפטים לא מצליחים לקרוא את העמוד - הם גם לא ימצאו בעיות, והתוקף הנודניק, אלא אם יש לו (או לה) אינטרס מאוד משמעותי, פשוט יעבור הלאה למערכת פחות מוגנת.

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

למה זה חשוב

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

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

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

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

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