חולשות במוצרים בשוק שקיימים בשוק הן דבר מפחיד שמדובר עליו המון בתקשורת, ולמרות שלעתים קרובות יש הגזמות, חלק מההפחדות מוצדקות. חולשה היא דרך לנצל מוצר בצורה שהיוצרים המקוריים שלו לא התכוונו אליו – במקרים מסוימים אפילו להשתלט עליו ולנצל אותו לצורכי התוקף. אם מאן דהוא מצא חולשה משמעותית במוצר פופולרי (נניח, הדפדפן שלכם או מצלמות האבטחה שבבית שלכם) ו"האנשים הרעים" קיבלו לידיהם דרך לנצל את אותה חולשה, כל מי שהתקין את אותם מוצרים נמצא בסיכון מסוים1.
החדשות הטובות הן שבקהילת אבטחת המידע יש דיון מתמיד לגבי הפעולות שאדם צריך לעשות כאשר הוא מוצא חולשה במוצר או בשירות מסוים. כמו בכל נושא אתי, לכל חוקר יש פרשנות משלו, אותה מכנים “מדיניות גילוי” (disclosure policy) קרי – מה נכון לעשות במצב שבו גילית חולשה במוצר כלשהו ורק אתה יודע עליה.
אתמול חוקר רוסי בשם סרגיי זלניוק פרסם חולשה לתוכנת הווירטואליזציה הפופולרית VirtualBox, ובלי לומר מילה לחברה המפתחת, Oracle, הוא שחרר לעולם הדרכה מלאה על איך אפשר לנצל את אותה חולשה. הפרטים על החולשה עצמה אמנם די מעניינים ומופיעים בכתבה (אפשר לצאת מתוך מכונה וירטואלית ולקבל שליטה על המחשב המארח) אבל זו דווקא הזדמנות נהדרת לספר לכם על הוויכוח בנוגע למדיניות גילוי.
לפני שאנחנו חוזרים לסרגיי היקר, נתחיל בלהכיר את הרעיון של Bug Bounties או “מענקים על מציאת תקלים”. חברות גדולות כמו Google או Facebook לעתים קרובות יאפשרו לחוקרים לחפש חולשות במוצרים שלהם, בתנאי שכשימצאו כאלו הם ידווחו לחברה. בתמורה, החוקר יקבל מענק בגובה שהחברה תחליט, לפי כמה החולשה שמצא משמעותית. כמובן שלא מדובר פה על מדע מדויק, ובסופו של דבר הסכום הוא לא רע בכלל, אבל הוא סמלי – שכן מכירה ל"גורמים רעים" לרוב יכולה לעשות עבור החוקר הרבה יותר כסף. חוקרים רבים בוחרים בשיטה הזו משיקולים אתיים, ומתוך ידיעה שכשתתוקן החולשה, הם יוכלו לפרסם עליה מאמר ולגרוף קרדיט בקהילת אבטחת המידע.
Bug Bounties היא רק שיטה אחת לעודד חוקרים לעקוב אחר פרדיגמה שנקראת Coordinated disclosure (“גילוי מתואם”), או Responsible Disclosure. הדוגלים בשיטה הזו חושבים שהדבר הנכון זה שרק מפתחת המוצר צריכה לדעת על חולשות במוצרים שלה, והחולשה צריכה להתפרסם לציבור אך ורק בשלב שמפתחת המוצר שחררה תיקון, והרשתה לפרסם פרטים על החולשה.
החדים מכם שעשו 1+1 הבינו כבר שזו לא הייתה גישתו של סרגיי, שנקט בגישה מעט אחרת, שזוכה לשם Full Disclosure. גישה זו דוגלת בכך שמידע על חולשות צריך להיות מפורסם כמה שיותר מהר לציבור הרחב, ללא הגבלה כזו או אחרת. הנוקטים בה מעלים מספר טענות מעניינות: הראשונה – כשמנהלי המערכות יודעים על הבעיות במערכת שלהם, הם יכולים לקבל החלטות מושכלות באופן מידי וללא צורך לחכות ליצרן שיפרסם תיקון. השנייה – אם אף אחד חוץ מהיצרן לא יודע על הפרצה, אין ביקוש לתקן אותה, ולכן אין לחברה תמריץ כלכלי להתחיל פיתוח לתיקון שכזה.
הוויכוח הזה הוא ארוך ומלא בטענות מעניינות לכאן ולכאן, וגרסה קצת שונה ולא־מודרנית שלו קיימת עוד מהמאה ה־19 בנושאי פריצות מנעולים – האם מי שמצא פרצת אבטחה במערכת נעילה צריך להשאיר את הידע בקהילת המנעולנים, או לפרסם אותה לציבור?
בשביל הפלפל נסיים עם (חלק מ)דעתו של סרגיי, שאומר שהוא לא מוכן לקחת חלק בגילוי מתואם. הוא אומר ש"המתנה של חצי שנה לתיקון של פרצה נחשב לדבר סביר. בתחום ה־Bug Bounties צריך לחכות לפחות חודש עד שהחולשה מאושרת ויש החלטה על האם לקנות אותה או לא, את ההחלטות משנים מהרגע להרגע, אין רשימות מדויקות של פרצות האבטחה שמוכנים לקנות, ואין גבול תחתון או עליון למחירים של חולשות. אני מותש מזה ולכן אני עובר ל־Full disclosure."
מה עושים אם מצאתי פרצה באתר?
לצערנו אפילו דיווחים מתוך רצון טוב בלי בקשת תמורה נתקלים בישראל הרבה פעמים באיומי תביעה.
אם תבחרו לקחת מהרשומה הזו רק דבר אחד, זה זה: אל תבקשו תמורה. המצב היחיד שבו בקשת תמורה לא תסבך אתכם, הוא כשיש Bug Bounty מפורש שהחברה פרסמה מטעמה.
אם בחרתם לדווח על הפרצה שמצאתם, הדרך הנכונה לעשות את זה היא:
- מצאו את האדם הרלוונטי בחברה שאליו אפשר לדווח.
- בחרו אם הפנייה תתבצע באמצעות מתווך (רן בר זיק/מערך הסייבר/עו"ד), בעילום שם או בשם מלא. אם בשם מלא, הציגו את עצמכם ואת המוניטין שלכם בתחום ועבודות קודמות, ספרו שמצאתם פרצה ואתם מעוניין לשתף אותה ללא תמורה.
- אם מדובר בחולשה קריטית או מערכת רגישה, עבדו מעל פלטפורמה מוצפנת/להחליף מפתחות PGP לפני הדיווח.
- העבירו את הפרטים.
נקודות חשובות נוספות:
- אל תנסו להתפשט ברשת הארגון או לנצל את החולשה שמצאתם מעבר לבדיקות שכבר עשיתם.
- אם מבקשים ממכם לחתום על הסכם סודיות, זה הזמן להתייעץ עם עו"ד.
- אם לא עונים לכם מהחברה, התייעצו עם מערך הסייבר/רן בר זיק/עו"ד. אם שתיתם מיץ אומץ יש אפשרות לחשוב על פרסום Public Disclosure, מומלץ מאוד שיהיה בליווי עו"ד.
מעט מפשט פה דברים, אבל אם נכנס פה לזוטות אני אצטרך עוד כמה פוסטים רק על ההגדרה ↩︎