אבטחה באפליקציות מובייל הפכה לדאגה מרכזית עבור עסקים, מפתחים ואנשי מקצוע בתחום אבטחת הסייבר. התפשטות האיומים המובייל, יחד עם המורכבות הגוברת של מערכות ההפעלה והתוכנות בהן אנו משתמשים מדי יום, יצרה ביקוש בלתי ניתן לעצירה לכלים המאפשרים לנו לצפות ולמתן סיכונים בסביבות אנדרואיד, iOS ו-Windows Mobile.
בהקשר הזה, MobSF, ראשי תיבות של Mobile Security Framework, ביסס את מעמדו כאחד הכלים החזקים, הרב-תכליתיים והמוערכים ביותר. על ידי מומחי ניתוח אבטחת אפליקציות מובייל. במאמר זה, תלמדו מהו MobSF, את התכונות המרכזיות שלו, את היקף הניתוחים שלו, כיצד ניתן לשלב אותו בזרימות עבודה של DevSecOps, ומדוע הוא הפך למקור עזר חיוני לבדיקות חדירה והערכת אפליקציות מובייל.
מה זה MobSF ומדוע הוא כל כך חשוב לאבטחת מובייל?
Mobile Security Framework (MobSF) היא מסגרת קוד פתוח שנועדה לניתוח אבטחה של אפליקציות מובייל בפלטפורמות מרובות, כולל אנדרואיד, iOS ו-Windows. כלי זה מאפשר לך לבצע הן ניתוח סטטי (הערכת הקוד מבלי להריץ אותו) והן ניתוח דינמי (התבוננות בהתנהגותו בזמן אמת) באופן אוטומטי ומרכזי ביותר. על ידי תמיכה בהרחבות כגון APK, IPA, APPX, וגם קוד מקור, ל-MobSF יש כיסוי יוצא דופן לכל מחזור החיים של אפליקציה סלולרית.
חשיבותה טמונה ביכולתה לזהות באופן אוטומטי פגיעויות, תצורות לא מאובטחות, הרשאות מסוכנות, אישורים חשודים וכל וקטורי תקיפה פוטנציאליים לפני שהאפליקציה מגיעה למשתמש הקצה. בנוסף, הוא מאפשר בדיקות שוטפות וניטור רציף הודות לשילובו הטבעי עם ממשקי REST API וכלי אינטגרציה רציפה/פיתוח מאובטח (CI/CD, DevSecOps), ובכך סוגר את המעגל בין פיתוח לאבטחה.
מאפיינים טכניים עיקריים של MobSF
MobSF הוא הרבה יותר מסורק אבטחה פשוט: זוהי פלטפורמה רב-תחומית לבדיקות חדירה וניתוח תוכנות זדוניות באפליקציות מובייל. המאפיינים העיקריים שלו כוללים:
- ניתוח סטטי אוטומטי: מאפשר לך לבדוק קבצים בינאריים, מניפסטים, הרשאות, אישורים, קוד מקור (Java, Smali, Swift וכו'), תלויות ותצורת יישומים, והכל מבלי להפעיל את היישום.
- ניתוח דינמי: זה מאפשר להפעיל את האפליקציה בסביבות מבוקרות (אמולטורים או מכשירים וירטואליים), לנטר את התנהגותה, תעבורת הרשת, קריאות API, שימוש בנתונים רגישים ועוד.
- תאימות בין פלטפורמות: תומך בקבצי APK (אנדרואיד), IPA (iOS), APPX (Windows Mobile) ובקוד מקור דחוס של ZIP.
- אינטגרציה עם DevSecOps: הודות ל-API של REST ו-CLI, ניתן לכלול את MobSF בצינורות CI/CD כדי להפוך בדיקות אבטחה לאוטומטיות עם כל פריסה או עדכון.
- פריסה גמישה: ניתן להתקין אותו באופן מקומי וגם על שרתים מרוחקים, עם אפשרויות עבור Docker, סקריפטים אוטומטיים ותמיכה בסביבות לינוקס, חלונות ומק.
- ממשק אינטרנט ידידותי למשתמש: לוח המחוונים שלו מאפשר לך לטעון יישומים על ידי גרירה ושחרור של קבצים ולהציג דוחות בזמן אמת, מה שמקל על כל סוגי הפרופילים.
איך אני מתקין את MobSF? תהליך ודרישות
התקנת MobSF פשוטה וגמישה, ומותאמת למערכות הפעלה שונות ולהעדפות משתמש שונות. המפתחים שלו סיפקו סקריפטים לפריסת הכלי כמעט מיידית, במיוחד באמצעות Docker, מה שעוזר להימנע מבעיות תאימות.
התקנה ידנית על לינוקס
אם אתם מעדיפים התקנה קלאסית של לינוקס, אלו השלבים הנפוצים ביותר:
- התקנת תלויות מערכת עם:
sudo apt install python3-dev python3-venv python3-pip build-essential libffi-dev libssl-dev libxml2-dev libxslt1-dev libjpeg8-dev zlib1g-dev wkhtmltopdf
- התקנת כלים נוספים:
- גיט:
sudo apt-get install git
- פייתון 3.7/3.8:
sudo apt-get install python3.7
- ג'אווה JDK 8 ומעלה:
sudo apt-get install openjdk-8-jdk
- גיט:
- שיבט את המאגר הרשמי:
git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git
- גש לתיקייה והפעל את המתקין:
cd Mobile-Security-Framework-MobSF && ./setup.sh
- הפעל את השרת באופן מקומי או על כתובת ה-IP הרצויה:
./run.sh 127.0.0.1:8000
לניתוח דינמימומלץ להשתמש ב- Genymotion, ב- Android Studio Emulator או ב- Genymotion Cloud VM, המאפשרים אמולציה של מכשירים ניידים מאובטחים.
התקנה מהירה עם Docker
אם אתם רוצים להימנע מקונפליקטים של תלות או מחפשים מהירות, Docker היא הבחירה המועדפת על הקהילה. פשוט הפעילו את הפקודות המומלצות בתיעוד הרשמי כדי להפעיל את MobSF תוך דקות, ללא קשר למערכת ההפעלה הבסיסית.
ממשק שלב אחר שלב וזרימת משתמש
לאחר פריסת MobSF, הגישה מתבצעת דרך דפדפן אינטרנט, באמצעות כתובת ה-IP והפורט שהוקצו במהלך ההתקנה. הממשק פשוט וממוקד פרודוקטיביות:
- העלאה ובחירת הקובץ: גררו את הקוד הבינארי (APK, IPA, APPX) או את הקוד הדחוס שברצונכם לנתח.
- הפעלת ניתוח סטטי: לאחר העלאת הקובץ, MobSF מתחיל בניתוח, ויוצר דוח מקיף על הרשאות, מניפסטים, קוד, ספריות, אישורים, קבצים בינאריים, מחרוזות וסיכונים פוטנציאליים.
- ניתוח דינמי (אופציונלי): בחר את האפשרות להפעלת הניתוח בסביבה המדומה. כאן, MobSF יתקין את האפליקציה, יעקוב אחר התנהגותה, יזהה תעבורת רשת, גישה למסד נתונים, טעינת קוד דינמית וכל פעילות חשודה.
- בדיקת תוצאות: הדוחות ברורים ומסווגים לפי מקטעים, מה שמקל על הניווט בין מזהי פעילות, שירותים, נמענים, ספקים, הרשאות ופגיעויות שזוהו.
התהליך כולו נועד לחסוך לאנליסטים זמן ולהקל על פרשנות הנתונים הן עבור אנשי מקצוע טכניים והן עבור אנשי מקצוע שאינם טכניים.
פרטי ניתוח סטטי: מה בדיוק MobSF מזהה?
MobSF מבצע סריקה מעמיקה של כל רכיב באפליקציה המובייל כדי לזהות סיכונים, חולשות וחשיפות אבטחה. תחומים מרכזיים שנבדקו כוללים:
- מידע כללי על הקובץ: גודל, שם, קוד גיבוב (MD5, SHA1, SHA256) לזיהוי והשוואת דגימות או לאיתור קבצים זדוניים חוזרים.
- מניפסט ומטא-דאטה: מחלץ פרטים מ-AndroidManifest.xml, כגון שם חבילה, פעילות עיקרית, גרסה, הרשאות מבוקשות, ייצוא פעילות, שירותים ומאפייני תצורה קריטיים אחרים לאבטחה.
- זיהוי אלמנטים מיוצאים: מזהה כמה פעילויות, שירותים, נמענים וספקים חשופים, ומקל על זיהוי נקודות כניסה פוטנציאליות להתקפות.
- ניתוח קוד מקור וקוד בינארי: בודק את Java, Smali, Swift וקוד אחר לאיתור דפוסים לא בטוחים, שימוש בפונקציות קריטיות, טעינה דינמית, השתקפות, הצפנה, ערפול וביצוע קוד מקורי.
- תעודות דיגיטליות: היא מאמתת איזו ישות חתמה על האפליקציה, מזהה אישורים הידועים כחותמים על תוכנות זדוניות או משתמשים בהם שוב באפליקציות חשודות, ועוזרת לעקוב אחר משפחות איומים.
- היתרים וסיכונים נלווים: מפרט ומסווג כל הרשאה מבוקשת, תוך התראה על אלו שעלולות להוות סיכון גבוה לפרטיות ולאבטחת המשתמש.
- ממשקי API של המערכת וספריות בהן נעשה שימוש: היא בוחנת את השימוש בממשקי תכנות, ומזהה האם האפליקציה ניגשת לפונקציות מסוכנות או רגישות (מיקום, מצלמה, SMS, אנשי קשר וכו').
- כללי בטיחות נוספים: הוא כולל מודולים לזיהוי מחרוזות רגישות, פעילויות נסתרות, תצורות חלשות ואלמנטים אחרים שעשויים להישאר בלתי מזוהים בניתוח ידני.
כיצד פועל ניתוח דינמי? ניטור מתקדם
ניתוח דינמי מאפשר לך לצפות כיצד יישום מתנהג במהלך ביצוע בעולם האמיתי בסביבה מבוקרת ומנוטרת, מבלי לסכן מכשירים אמיתיים או מידע סודי. חלק מהיכולות הבולטות ביותר הן:
- ניטור בזמן אמת של האפליקציה הפועלת על אמולטור: MobSF מתקין את האפליקציה בסביבה וירטואלית, ומאפשר להפעיל את כל הפונקציות שלה וללכוד את התנהגותה, חיבורי הרשת, בקשות חיצוניות, העברות נתונים ופעילויות לא מתועדות.
- לכידת תעבורת רשת ונתונים שנקלטו: הוא עוקב אחר האם האפליקציה שולחת מידע רגיש ללא הצפנה, מתחברת לשרתים חשודים או חושפת נתונים דרך ערוצים לא מורשים.
- גישה למאגרי מידע פנימיים וניתוח קבצים שנוצרו: MobSF בודק האם האפליקציה מאחסנת מידע בצורה לא מאובטחת או משתמשת בטכניקות כדי להתחמק מניתוח או שינוי.
- זיהוי עומס דינמי וקוד שנוצר אוטומטית: המסגרת מנטרת האם האפליקציה מורידה קבצי הרצה או מודולים בזמן אמת, נוהג נפוץ בתוכנות זדוניות מתקדמות למובייל.
שילוב זה של ניתוח סטטי ודינמי מספק תמונה הוליסטית של פרופיל הסיכון של כל אפליקציה מובייל, מה שהופך אותו לשימושי במיוחד עבור מפתחים, מבקרים ובודקי עטים כאחד.