ראיתי כתבה של עורך הדין שאני די מעריך,הכתבה מאוד מנומנסת ומסבירה מדוע הרעיון בבסיסו הוא טוב אבל היישום לא משהוא, האמת הוא היה יותר מדי עדין. למה עדין ? הוא אמנם הזכיר את אחת ההתקפות שאני מתאר כאן, אבל לא הסביר עד כמה התקפות כאלה פשוטות.
הולך להיות מאוד שמח בתקופה הקרובה. כמה שמח ? כל אדם שיש לו חשבון בנק ומספר טלפון ידוע חשוף להונאות שהוא לא ממש יכול להתגונן מפניהן. אם בעבר הונאות היו ניתנות למניע ע"י הסתרה של חשבון הבנק של המשתמש ואי שימוש בצ'קים או כל מני אפליקציות למשלוח כסף שלהם יש הרשאה , עכשיו יהיה מספיק לקבל את מספר הטלפון של הקורבן בשביל לזייף פעולות בשמו. ובדיוק כמו שאם למישהוא יש שיק שלכם הוא יכול בקלות לזייף בשמכם, משלוח תמונת שיק או שיק בדואר
מוריד את האחריות מהבנק בחלק מן המקרים כי המשתמש צריך לדעת שמדובר במדיום לא בטוח והלקוח לא .כנראה גם פה אתם תצטרכו להוכיח כי לא אתם אשמים (נכון שקראתם את החוזה היפה בחוזה מול הבנק או כשהתקנתם את האפליקציה להעברת כספים )
מדוע יהיה שמח תשאלו ? מי שעוסק בתקשורת בשלושים השנים האחרונות יודע כי
SS7 מאובטח או הודעות
SMS עם סיסמה חד פעמית בטוחה כמו שאני זכיתי בפרס נובל לפיזיקה.
כל אדם יכול לרכוש שירות של זיוף וחטיפת מספר, לזייף מספר יוצא עולה גרושים,לזייף מספר ולקבל שיחות באותו המספר עולה הרבה יותר במדינות מסוימות מדובר על עשרות דולרים לכל מספר (למזלנו בתחום יש המון הונאות , אז האנשים הפשוטים לא חוטפים בצורה הזאת המון),
לא ידוע לי כי מימשו אימות לחשבונות אלפה-נומריים בהודעות בארץ. ואני לא יודע מתי יתבצע אימות למספרים בשיחה, אבל בדיוק כמו שאפשר לזייף שולח סמס אפשר לזייף שיחה נכנסת (שיטה שונה אבל הרעיון זהה).
אני מכיר מספר אירגונים , שכל כך התרגלו שיש להם התקפות
spear-phishing שהם פשוט לא משתמשים יותר ב SMS ושיחות מטלפוניה קלאסית, הם רק משתמשים בVoIP פנימי וזהוא. בהתקפה הגדולה במוזמביק דובר על תשלום של $15 לכל מספר (כן חמש עשרה דולר).
איך זה עובד ?
בחלק מהחברות סוגרים עסקה עם עובד מושחת (זה יוצא די זול במושגים שלנו) , במקומות אחרים יש מספר חברות שמאפשרות לכם לחטוף מספר טלפון במחיר של כמה אלפי אירו ליום (
כתבה על הנושא אינני יודע אם השרת שם אמיתי או גם הונאה ויש המון הונאות בתחום), ותוכלו מכל נקודה בעולם לזייף ולחטוף מספר טלפון ב SS7, בארצות הברית למשל
חסמו את הבעייה הזאת רק לפני שנתיים, אצלנו אלוהים יודע. בשנת 2021 היו
1600 תלונות של חטיפת מספרים ל FBI (ברור לנו שלא כולם מתלוננים לשם). חתיפות מספרים אפשרית בכל ספק המחובר להרבה מאוד ספקים. בהתקפות בברזיל היו
הפסדים של 50K$ פר משתמש למשל. בכל הפתרונות צריך ציוד חיבור ל ספק המוכן לבצע את הפעולה (מספיק עובד אחד מושחת) ובדיוק כמו
AS המוכן לבצע את הפעולות חטיפת כתובות BGP גם ב SS7 זה תמיד יכול להתקיים.
בצורה מאוד מופשטת הרעיון הוא ששולחים שרשרת הודעת בפרוטוקול SS7 ומעבירים את מקבל השירות למקום אחר, לבעל מספר הטלפון יש את האפשרות להתחיל לבכות יפה ולראות אחרים עושים שיחות , חוטפים את ה SMSים שלו, תודות לעובדה שקיים שירות MSISDN-less בחלק מספקי האינטרנט במספר מדינות, ניתן לגלוש "על חשבונו" של אדם אחר.
במקרה של
SIP Trunk תודות לעובדה שספקי ההולכה לא תמיד בודקים ומוודאים מספרים נכנסים (למרות שקיימים
מספר תקנים בנושא) , כל אדם שיש לו הבנה בסיסת בלהתקין שרת SIP (ממליץ אל אסטריסק בגלל פשטות ההתקנה שלו) יכול להגדיר את המספר היוצא שלו לכל מספר שירצה , ואם ספק ה sip-trunk שלו לא מבצע אימות למספרים יוצאים (כשאתה מגדיר מספר טלפון , הוא שולח סמס ואתה צריך להכניס את המזהה בתוך המערכת), יופי הוא יחייג מהמספר הזה לכל אדם , וזה מה שתראו על צד המקבל.
האם זה יעבוד אצל ספק ? ממש לא יהיו ספקים שיחסמו מספרי טלפון נכנסים שאינם בבעלות שולח הSIP trunk, כמו כן חלק מהספקים בודקים ומאמתים כי כל מספר יוצא הוא בהחזקה של המשתמש, אבל אתה כלקוח אין לך דרך לדעת אם הספק סוגר או לא.
הדגמה יפה של
David Strejc בנושא איך הוא משתמש באסטריסק עם ספק במדינה אחת בשביל לבצע שיחות במדינה שניה, למעשה כל שרת ולקוח SIP יוכלו לבצע זאת. הוא משתמש פה באסרטיסק אבל ניתן לבצע זאת מכל תוכנה חופשית שממשת שרת SIP. לא הייתי ממליץ לכם לעשות זאת, אבל טכנית זה אפשרי, הגדרת ה CLI באסטריסק.
בחלק מהסויטצים ו ה SBCים קיימת הגדרה לחסום את זה, אם אתם משתמשים ב OpenSer צריך לממש זאת לבד, כברירת מחדל במקומות בה זה קיים זה לא מופעל כברירת מחדל (אתה לא חוסם העברת מספר שביצע forwarding כברירת מחדל מהפחד שדברים ישברו).
אפשר גם לשלוח SMS ים ככה עם הספק שלכם מאפשר (בדר"כ כן בתוך המדינה של הספק אבל לא לבן לאומי ) , SMSים ב SIP עוברים תחת SIMPLE ולא כל הספקים תומכים בזה. אינני מכיר ספק אחד שממיר כמו שצריך sip/sigtran. איך אפשר לשלוח SMSים אפשר להשתמש ב yate-qt אבל אפשר אפילו להשתמש ב sipp (או ב sip-tester שמגיע מהמארגים שלכם)
קבלת SMS : קיימת אפשרות בצורה כזאת רק בחלק מספקי התשתית ובדר"כ לא .
לרוב המכריע של האנשים אין מכשיר דוגמת YubiKey שמאמת עבודה עם חשבון הבנק,עם יש לכם אפשרות להעביר כספים באמצעות אפליקציה או שיחת טלפון מאוד מאוד רצוי שיהיה לכם אימות YubiKey, כי אם לא , לזייף העברה לא עולה לכם דבר. לצערי הרב yubikey איננה חומרה חופשית, מצאתי אמנם קוד פתוח שלהם github.com/Yubico וגם מצאתי את היצרן SoloKeys שטוען כי הוא גם מכיל firmware פתוח אבל לא הכל מושלם שם.
למעשה
הנחיית CISA היא לעבור להשתמש ב FIDO/U2F או לעבור ל PKI לכל אירגון, אבל היום עדיף לכל אדם פשוט לעשות זאת, שימוש בPKI פשוט יותר, אבל לא נתקתי בשום בנק או אירגון שמאפשר זאת למשתמשים שלו.
לדעתי האישית כל מפתח אתרים צריך להכניס flow בו הוא מאפשר שימוש התחברות ע"י U2F או לפחות תעודת לקוח (client certificate) כברירת מחדל , ורק אם אין אז לאפשר שם משתמש וסיסמה.
אז נניח בחור נחמד שיש לו כמה אלפי יורו בחשבון ,הוא משתמש באפליקציה ניהל החשבון בטלפון שלו.
תוקף רוכש שירות חטיפת SS7 , ולצערינו הוא לא נפל על
הונאה וקיבל את הדבר האמיתי, הוא חוטף מספר ועכשיו הוא יכול לבצע פעולת הזדהות (התקנה מחדש ) לטלפון חדש , מבצע העברה על מיליון יורו ללקוח אחר והופ הלך הכסף.
אדם אחר משתמש ב sip-trunk ולא ב SS7, מתקשר לבנק עם מספר מזוייף ומבצע קצת הנדסה חברתית והופ קביל גישה (בגלל שהטלפון שמופיע אצל מקבל השיחה הוא המספר הנכון).
לעולם לא סומכים על אף שיחה נכנסת או SMS נכנס , עלות הזיוף של זה אפסית , יכולים להתקשר אליכם ויגדו שהם עובדי הבנק או משטרה , וישלפו קצת מידע ממכם בשביל להבצע הונאות. כבר היו מקרים (ודי הרבה).
הסתקלתי על פרסומי מספר בנקים, האפליקציות שלהם לא בקוד פתוח , אינן יכלות לעבוד על גנו/לנוקס ללא אמולטור וככאלה אינן משהוא שהייתי ממליץ להשתמש למי שאני דואג לו. בדקתי מספר אתרים ורק ללקוחות עסיקיים ראיתי שקיימת אפשרות להשתמש במפתח חכם אבל לא ראיתי שום התייחסות ל U2F