BinaryVision

אבטחה ופרצות ברשת ה GSM

מאת בתאריך 11/03/09, תחת כללי

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

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

מתקפה אקטיבית

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

וזה כל מה שהפלאפון שלכם צריך בשביל להתחבר לרשת GSM.

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

איך זה קורה?!
אז למה בעצם שהפלאפון שלי יעבור לתדר ביקון אחר שהוא לא של הרשת? בתכלס, אין בזה שום הגיון עד שמביטים בצד הטכני של הסיפור הזה.. פלאפונים במצב IDLE (כלומר שלא משדרים), מחוברים לרשת,  או יותר נכון "קוראים" נתונים מהרשת (מהתדר ביקון), פעם בכמה זמן (הסבר הלא טכני של הפעולה) הפלאפון מתחבר למאית שנייה לרשת, מודיע שהפלאפון עדיין דלוק (המנוי עדיין מחובר), מודיע על המיקום שלו וזהו, אם  פעולה זאת לא תתבצע פעם בזמן מוגדר הרשת תחשוב שהמכשיר כבוי – ממש כמו PING.
אז איך בעצם פלאפון מתנייד? פלאפון עובר מביקון לביקון עם התחשבות בתדר ביקון שהוא קולט הכי טוב, ככה במהלך נסיעה קצרה בת"א הפלאפון הממוצע עובר בערך 5 תדרי ביקון שונים.  מכיוון שכל תדרי הביקון בעולם עוברים באוויר, כל הנתונים שלהם פתוחים לכלל הציבור ואינם מוצפנים, ולכן לחקות תדר ביקון זה דבר מאוד מאוד פשוט… סה"כ Copy/Paste  של הנתונים מהאוויר.

ולמה שהפלאפון שלי יעבור דווקא לתדר ביתי שמישהו משדר כשיש באוויר כל כך הרבה תדרים של רשתות גדולות שמוגברות ומשודרות בעוצמה הרבה יותר גבוהה? כאן הקסם מתחיל. כל ביקון משדר נתון מסויים שנקרא CRO (Cell Reselect Offset), הנתון הזה נועד לווסת את השימוש ברשת לתאים השונים. לדוגמא, בואו נדמיין קניון גדול עם המון אנשים, ליידו (ממש 20 מטר ממנו) יש תדר ביקון וכל המשתמשים בקניון מתחברים לאותו תדר ביקון, למה? כי הוא הכי קרוב והפלאפון קולטים אותו הכי חזק? אבל זהו לא מצב אידיאלי, הרשת לא רוצה שהעומס יהיה על תדר אחד.
הרשת רוצה שהעומס יתחלק בין כל התאים שלה, ולכן היא תשים תא קצת יותר רחוק (100 מטר מהקניון) ותשים לו CRO גבוהה, מה שיגרום למכשיר לחשוב שהוא קולט את התדר הזה אותה העוצמה כמו את התדר הקרוב (אם לא יותר טוב) ולכן העומס מהקניון יתחלק בין שני התאים הקרובים לקניון. אבל מה? הרשתות הישראליות הגאוניות שלנו החליטו לא לווסת עומסים אלא פשוט לשים הרבה תאים בכל מקום, ולכן הן לא משתמשות בנתון ה
CRO, מה שנותן לכל טמבל את האפשרות לפתוח תדר משלו עם CRO גבוה ולגנוב את כל ת"א במידה וירצה בכך.

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

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

מתקפה פאסיבית

מה צריך ?

USRP – סורק תדרים שאנחנו יכולים לתכנת

איזה טארהבייט של Rainbow tables – כדי לפצח את ההצפנה מסוג A5

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

איך זה קורה?

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

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

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

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

IMSI DETACHING

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

הוא לא קשור ל IMEI של המכשיר אלא קשור לסים שאיתו אתם נרשמים ברשת.

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

איך זה קורה ?

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

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

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

זהו,

זה הכל אולי בעתיד אני אוסיף עוד מתקפות ועוד מידע אבל בינתיים אני חושב שכתבתי מספיק 🙂

עוד מידע מעניין:
http://www.scribd.com/doc/7227619/Cracking-a5-THC-Wiki
http://wiki.thc.org/gsm
http://openciphers.cvs.sourceforge.net/openciphers/gsm/a5/

:, , , , ,
8 תגובות:
  1. TAsn

    כרגיל, אינפורמטיבי ומעניין!
    IMSI DETACHING חידש לי 🙂 ולא ידעתי שבארץ לא משתמשים ב CRO, חשבתי שפשוט בשביל לבצע את מה שתיארת צריך מגבר איכותי 🙂
    בכל מקרה, ממש מגניב!

    אני מחכה לכתבה הבאה (בכלל מתוכננת?)

  2. TInformator

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

    ושאלה, האם יש פרצות כלשהן מצד הלקוח? כלומר, אם אצליח
    לתכנת את הGSM בפלא שלי, מה אוכל לעשות (לפחות לפי דעתך?)

    תורה רבה 😛

  3. spdr

    TInformator,
    הוספתי לינקים לתוכן מעניין בסוף הפוסט.

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

    אם היה אפשר לדוגמא, לפרוץ פלאפון\צ'יפ GSM ולגרום לו להשתמש באיזהשהם נתונים שנרצה, היינו יכולים לעשות המון דברים, מלמנוע שירות ממשתמשים לגיטימיים ועד כנראה לפצח את ה IMSI ולשכפל את הלקוח…בדיוק בגלל זה, אפילו ב OpenMoko שהוא כולו פלאפון בקוד פתוח, אין לנו אפשרות לשלוט ב GSM שליטה מלאה אלא רק דברים בסיסיים – השאר קוד סגור.
    – אפשר להגיד שזה נובע מחוקים שנועדו לאפשר לגרומים שונים לרגל אחרינו, בעוד שאנחנו לא נוכל לרגל אחריהם בחזרה 🙂

  4. DRagonRage

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

  5. spdr

    לא ממש בר ביצוע מכיוון שהשיחות חירום מנותבות לערוץ ספציפי…כל מספרי החירום יגיעו לאותו מוקד

  6. פלאפון פתוח זה טוב לפרטיות - BinaryVision

    […] כללי הפוסט הזה הוא פסוט תגובה לפוסט שנמצא בלינק הזה: אבטחה ופרצות ברשת ה GSM שם הוסבר איך אפשר לחטוף פלאפון ולהאזין לרעשי רקע […]

  7. מיטל

    הצעת מחיר לציוד – +סיור אבטחה
    טל: 054-3207633

  8. אייל נעימי

    אנחנו מפתחים רעיון חדש בתחום התקשורת – GSM
    ראינו הפגנת ידע שעשויה לעניין אותנו (בייעוץ/ שיתוף)

    אנא צור קשר למייל

    בתודה

השאר תגובה

מחפש משהו?

תשתמש בטופס למטה כדי לחפש באתר: