זיהוי חסימה וזיופים של GNSS

אפשר לחלק את ההפרעות ל-GNSS לשתי קטגוריות:

  • חסימה
  • זיוף

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

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

מידע על זיוף או שיבוש של GNSS

עוצמת האות, או יחס האות לרעש (C/N0), של האות וגם השליטה האוטומטית בעוצמת האות (AGC) של רדיו ה-GNSS בטלפון יכולים להיות אינדיקטור טוב להפרעות.

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

השוואה בין עוצמות האות שמצביעה על הפרעה
איור 1. ה-AGC יורד במהלך הפרעה (אזור אדום), וחוזר לרמות רגילות כשההפרעה מוסרת (אזור ירוק). (מקור התמונה: https://doi.org/10.33012/navi.537)

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

בדיקה של זיוף או שיבוש של GNSS

אתם יכולים להשתמש בכרטיסייה Spoof/Jam באפליקציית GnssLogger כדי לבדוק את ההשפעה של הסביבה על C/N0 ו-AGC בזמן אמת.

העלילה של AGC בזמן אמת ויחס האות לרעש (C/N0)

בכרטיסייה Spoof/Jam מוצג תרשים בזמן אמת של AGC ו-C/N0 לכל קבוצת כוכבים ולכל תדר של GNSS (לדוגמה, ‫"GPS L1" או "G:L1:",‏ "Galileo E5a" או "E:E5A:").

תרשים של AGC ו-C/N0 לכל מערכת ניווט ותדר של GNSS.
איור 2. הערכים של AGC ו-C/N0 יורדים כשמחזיקים את הטלפון ליד נתב Wi-Fi (האליפסה האדומה). האותות הממוצעים המובילים (3 אותות) לכל קבוצת כוכבים ולכל תדר מוצגים כקווים מקווקווים. ה-AGC לכל קבוצת לוויינים ולכל פס, שהוא ערך בודד, מוצג כקו רציף. החלק שמוקף באדום בתרשים מראה איך גם ה-AGC וגם ה-C/N0 יורדים כשמחזיקים את הטלפון ליד נתב Wi-Fi, ולכן נצפית הפרעה.

בדיקות בזמן אמת לאיתור זיוף ושיבוש

מתחת לתרשים בזמן אמת של AGC ו-C/N0, האפליקציה מציגה סדרה של בדיקות נתונים אוטומטיות שמזהות תנאים שקשורים להפרעות ב-GNSS.

ממשק משתמש שמציג הוכחות לתנאים שעלולים להיגרם מזיוף ומשיבוש.
איור 3. בדיקות אוטומטיות יכולות לזהות תנאים שעלולים להיגרם מזיוף ומשיבוש.

בקטע Jamming checks, האפליקציה בודקת אם הממוצע של 10 האפוקים האחרונים של C/N0 ו-AGC השתנה בהשוואה ל-50 האפוקים הקודמים. אם הערכים של C/N0 ו-AGC יורדים בו-זמנית, זה יכול להיות סימפטום של שיבוש GNSS. אם המצב הזה מזוהה, בכרטיס מופיעה ההודעה FAIL (נכשל) עם מידע נוסף:

תנאים שעלולים להיגרם מהפרעה ל-GNSS.
איור 4. כשל שמציין שזוהו תנאים שעלולים להיגרם מהפרעה ל-GNSS.

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

הבדיקה השנייה שקשורה לזיוף מחפשת הבדל של יותר משנייה אחת בין הזמן של GNSS שמחושב במכשיר לבין הזמן שאוחזר באינטרנט משרת Network Time Protocol ‏ (NTP) (זמן ברשת – זמן GNSS). הפרש גדול יכול להצביע על כך שהזמן שחושב על ידי GNSS לא תקף.

טיפים, טריקים וסייגים

ריכזנו כמה דברים שכדאי לזכור כשמשתמשים בתכונה Spoof/Jam של GnssLogger:

  • זו תכונה ניסיונית – ככל שנקבל מידע נוסף על המאפיינים של AGC במכשירי Android שונים, יכול להיות שנעדכן את האלגוריתמים המדויקים שמשמשים לזיוף ולשיבוש של שינויים.
  • התכונה הזו לא מזהה את כל המקרים של זיוף ושיבוש – הגרף בזמן אמת ובדיקות הנתונים מקלים על גילוי מאפייני נתונים בזמן אמת, אבל הם לא חזקים מספיק כדי לזהות כל דוגמה של זיוף או שיבוש.
  • התכונה הזו נועדה לזהות שינוי ב-C/N0 וב-AGC. אם תפתחו את האפליקציה בנוכחות של זיוף או שיבוש, והערכים של C/N0 ו-AGC יישארו קבועים, לא יזוהו זיוף ושיבוש.
  • שרתי NTP לא בהכרח מאובטחים – אפשר לזייף גם את השעה ברשת.

אתם יכולים לשלוח משוב על התכונה זיוף/שיבוש באמצעות הכלי הציבורי למעקב אחר בעיות.