מחבר: רן בר-זיק

אפשר את פרטי חשבון הבנק שלך? לא משנה, ניקח כבר מביטוח לאומי

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

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

דף עדכון פרטי חשבון בנק לקבלת מענק 🖼️ אתר המוסד לביטוח לאומי

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

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

למרבה השמחה, היתה CAPTCHA מוטמעת במערכת. לרוע המזל, היא לא היתה מוטמעת מספיק טוב. מנגנון ההגנה של האתר (הנקרא WAF) חסם גישה של headless browsers לאתר, ומנע כרייה נוחה באמצעות שורת פקודה בלבד, אבל לא מנע מכורים אוטומטיים מבוססי דפדפנים לעבוד. לוקאר הכין סקריפט סלניום והפעיל אותו על תעודות הזהות של חברי סייברסייבר. אף מנגנון לא חסם אותו, אפילו שהוא עבד מאותו IP (אבל כן חסם כתובות IP מחו"ל, כי כידוע אין האקרים בישראל, ובוודאי שאין האקרים בחו"ל שיודעים להשתמש בכתובות IP ישראליות).

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

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

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

"נערכו בדיקות חוסן ואבטחה כדי למנוע שימוש לרעה במידע"

תגובת המוסד לביטוח לאומי:

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

(צילום ראשי 🖼️ קובי גדעון, לע"ם)


סייברקורונה: האם להתקין את המגן 2.0?

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

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

יישומון המגן 2 בחנות האפליקציות של גוגל

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

אז מה? להתקין או לא להתקין את המגן? המגן 2.0 עובדת בצורה שונה מהאפליקציות המקובלות בעולם. מהניסיון הפיתוחי שלי? אם עובדים בצורה שונה מה-API הרשמיים זה נגמר לא טוב. אני מקווה שזה לא יהיה גם הפעם. המגן זו החלופה האזרחית היחידה לאיכוני השב״כ הלא יעילים. זו הסיבה שאני מתקין אותה.

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

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