ביקורת אבטחת אפליקציות מובייל: SAST, DAST והערכת OWASP
אנחנו מתחילים ביקורת לא בהפעלת כלים, אלא בהבנה של מה בדיוק אנחנו מגנים. לאפליקציית פינטק עם התחברות ביומטרית ולמעקב רפואי שכותב ל-HealthKit יש מודלי איומים שונים, סדרי עדיפויות בדיקות שונים והיקף שונה. במשך 5 שנים ויותר מ-50 ביקורות אפליקציות מובייל, אנחנו מתאימים את הגישה שלנו לכל מוצר. קו הבסיס הסטנדרטי הוא OWASP Mobile Top 10 — מסגרת לכיסוי מחלקות הפגיעות העיקריות, לא רשימת סימון. התחשבות במאפייני האפליקציה מאפשרת לנו להתמקד בפגיעויות קריטיות באמת — לדוגמה, חוסר ב-Certificate Pinning באפליקציית פינטק הוא מסוכן בהרבה מאשר במשחק.
תהליך הביקורת כולל גם ניתוח סטטי וגם ניתוח דינמי. השילוב ביניהם נותן תמונה מלאה: SAST מוצא פגיעויות קוד, DAST מוצא פגמי ריצה. להלן השוואה בין שתי הגישות.
| מאפיין | SAST | DAST |
|---|---|---|
| סוג ניתוח | ללא הפעלת האפליקציה | במהלך ריצה |
| כלים | jadx, Ghidra, strings | Burp Suite, Frida, objection |
| מהירות | 1–2 ימים | 3–7 ימים |
| כיסוי | 100% מהקוד | רק נתיבים שבוצעו |
| דוגמת ממצא | מפתחות API מוטמעים בקוד | חוסר ב-Certificate Pinning |
SAST מהיר בממוצע פי 3 מ-DAST, אבל DAST תופס שגיאות ריצה ש-SAST מפספס. השילוב ביניהם נותן לנו כיסוי של 95% מהפגיעויות האופייניות.
כיצד מתבצעת ביקורת אבטחת אפליקציות מובייל
הביקורת מורכבת מחמישה שלבים: מודל איומים, SAST, DAST, הערכת הגנות (זיהוי jailbreak, אנטי-דיבאגינג, certificate pinning) והכנת דוח. בואו נסתכל על השלבים המרכזיים בפירוט.
| שלב | משך | כלים |
|---|---|---|
| מודל איומים | 0.5–1 יום | Threat Dragon, OWASP ASVS |
| SAST | 1–2 ימים | jadx, Ghidra, class-dump |
| DAST | 3–7 ימים | Burp Suite, Frida, objection |
| הערכת הגנות | 1–2 ימים | Frida, objection, סקריפטים מותאמים |
| הכנת דוח | 2–3 ימים | CVSS Calculator, תיעוד |
ניתוח סטטי (SAST)
השלב הראשון הוא ניתוח ללא הפעלת האפליקציה. דה-קומפילציה של APK באמצעות apktool + jadx מניבה קוד Java/Kotlin קריא. עבור iOS, אנו משתמשים ב-IDA Pro או Ghidra עבור הבינארי, class-dump עבור כותרות Objective-C, ו-strings לחיפוש סודות מוטמעים.
במהלך ניתוח סטטי אנו מחפשים:
- אישורים מוטמעים: מפתחות API, טוקנים, סיסמאות במחרוזות.
grep -r "api_key|secret|password"מוצא את הברור, אבל jadx חושף קבועי מחלקה לאחר דה-אובפוסקציה. - אחסון לא מאובטח:
SharedPreferencesאוUserDefaultsלנתונים רגישים, SQLite ללא הצפנה. - דגלי רכיבי Android שגויים:
exported="true"על Activity/Service/BroadcastReceiver ללא אימות intent-filter מתאים. - קריפטוגרפיה חלשה:
DES,MD5לסיסמאות,ECB mode, IV אפס, seed צפוי עבורRandom.
עבור אפליקציות Flutter, SAST קשה יותר — אנו משתמשים ב-reFlutter כדי לפרוק snapshots ו-dumpapp כדי לשחזר סמלים. בשלב זה נמצאות כ-70% מהפגיעויות, כולל 90% ממקרי המפתחות המוטמעים.
ניתוח דינמי (DAST)
אנו מריצים את האפליקציה על Android עם root (Magisk) או iOS עם jailbreak (Checkra1n) וצופים בהתנהגות הריצה שלה.
תעבורת רשת. Burp Suite משמש כפרוקסי עם האישור שלו מותקן בחנות האמון של המערכת. אם קיים Certificate Pinning, אנו עוקפים אותו עם סקריפט Frida שתופס TrustManager. לאחר פענוח, אנו בודקים: האם נתונים רגישים נשלחים בפרמטרי שאילתה? האם נדרש אימות בכל נקודת קצה? האם קיימים כותרות נכונות (Strict-Transport-Security)?
מערכת קבצים. objection מאפשר לנו לראות את קבצי האפליקציה בזמן אמת: אנו מחפשים מסדי נתונים לא מוצפנים, לוגים המכילים נתונים אישיים, תגובות API במטמון.
זיכרון. fridump פורק את ה-heap. אישורים לאחר התנתקות, payloads מפוענחים ומפתחות פרטיים חיים לעתים קרובות בזיכרון.
הנדסה לאחור ושינוי בזמן ריצה. אנו בודקים הגנות: זיהוי jailbreak/root, אנטי-דיבאגינג, certificate pinning. אם הכל נעקף תוך 10 דקות באמצעות סקריפטים סטנדרטיים של Frida, רמת ההגנה מינימלית.
אילו פגיעויות הן הקריטיות ביותר?
לרוב אנו מוצאים: מפתחות Firebase או AWS מוטמעים ב-Log.d, חוסר ב-Certificate Pinning, רישום בקשות API דרך FLAG_SECURE, מטפלי deep link לא מאובטחים, חוסר מסך פרטיות ברקע (BiometricPrompt). נדירות יותר אך קריטיות יותר: הזרקת SQL דרך deep links, דה-סריאליזציה לא מאובטחת במקלטי broadcast, עקיפת ביומטריה באמצעות תיקון BiometricPrompt.
דיווח וסיווג
כל ממצא מקבל ציון CVSS ותיאור וקטור תקיפה — לא רק "נמצאה פגיעות," אלא "תוקף עם גישה פיזית למכשיר יכול לחלץ את טוקן ההרשאה ממסד נתונים לא מוצפן תוך 15 דקות." כל פריט כולל המלצה קונקרטית עם דוגמאות קוד.
הדוח הסופי מחולק לשני חלקים: טכני (למפתחים, עם קוד, צילומי מסך וסקריפטים של Frida) וסיכום ניהולי (למנהלים, עם סדרי עדיפויות וסיכונים עסקיים).
דוגמה: עקיפת Certificate Pinning
סקריפט Frida שתופס `TrustManager` ב-Android או `NSURLSession` ב-iOS מאפשר ליירט תעבורת HTTPS. אם ניתן לפענח את כל הבקשות תוך 5 דקות, ה-pinning חסר או מיושם באופן שגוי.תוכן הדוח ושירותים נוספים
- דוח מפורט עם ציוני CVSS ותיאורי וקטורי תקיפה.
- סקריפטים של Frida לשחזור הפגיעויות.
- ייעוץ לתיקון.
- בדיקה חוזרת לאחר חודש.
תהליך ולוחות זמנים
- מודל איומים.
- SAST.
- DAST.
- הערכת הגנות.
- הכנת דוח.
ביקורת מינימלית של אפליקציה קטנה (עד 50 מסכים) — 1–2 שבועות. ביקורת מקיפה של אפליקציה ארגונית עם צד שרת, פלטפורמות מרובות ודרישות רגולטוריות (PCI DSS, HIPAA) — עד 2–3 חודשים. העלות מחושבת לאחר שיחת היקף ראשונית, שמעריכה את מערך התכונות של האפליקציה, הפלטפורמות ומורכבות הקצה האחורי.
לאחר הביקורת, אנו מציעים בדיקה חוזרת — אימות שהפגיעויות שנמצאו אכן תוקנו, לא רק סומנו כפתורות.
השקעה בביקורת חוסכת כסף על תיקונים עתידיים: לפי סטטיסטיקות, תיקון פגיעות במהלך ייצור עולה פי 30 יותר מאשר תיקונה בשלב הביקורת. צרו קשר להערכה מקדימה וקבלו הצעת מחיר אישית. הזמינו ביקורת ואבטחו את האפליקציה שלכם.







