מדריך מלא לניתוח אפליקציות אנדרואיד

  • ניתוח אפליקציות אנדרואיד משלב בדיקה טכנית של קבצי APK, ביקורת אבטחה וניתוח שימוש וניתוח עסקי.
  • כלים כמו APK Analyzer, Android Studio, Inspectage ו-OWASP MAS frameworks מאפשרים לך לזהות שגיאות ולמטב קוד.
  • פלטפורמות ניתוח נתונים למובייל (Firebase, Contentsquare, Mixpanel וכו') עוזרות להבין התנהגות, המרות וביצועים.
  • שילוב אבטחה, תצפית ומדדי מוצר במחזור חיי האפליקציה משפר את האיכות, התאימות והחזר ה-ROI.

ניתוח אפליקציות אנדרואיד

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

במאמר זה תמצאו סקירה מלאה של ניתוח אפליקציות אנדרואיד מנקודות מבט שונותכלים לבדיקת קבצי APK ואפליקציות מותקנות, כלי פיתוח כמו Android Studio APK Analyzer, מסגרות ביקורת כמו Inspectage, מתודולוגיות אבטחה כמו OWASP MAS, וסקירה מקיפה של פלטפורמות הניתוח הנייד העיקריות (Firebase, Contentsquare, Mixpanel, Countly, Localytics, RevenueCat, AppDynamics ו-AppsFlyer). הכל מוסבר בספרדית (ספרד), בנימה ידידותית, אך מבלי להתפשר על הקפדה טכנית.

מהו ניתוח אפליקציות אנדרואיד ולמה הוא משמש?

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

מבחינה טכנית, ניתן לחלק את הניתוח ל- ניתוח סטטי וניתוח דינמיניטור סטטי בוחן את קובץ ה-APK או הקוד מבלי לבצע אותו (פענוח, ניתוח הרשאות, סקירת AndroidManifest.xml וכו'). ניטור דינמי צופה בהתנהגות האפליקציה בזמן שהיא פועלת, רושם תעבורת רשת, קריאות ל-APIs רגישים, שימוש בקריפטוגרפיה או יצירת קבצים.

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

כלים לניתוח קבצי APK ואפליקציות מותקנות

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

אחת האפליקציות הפופולריות ביותר בתחום זה היא מנתח APK בקוד פתוח שמתגאה בכך שהוא אפליקציית ניתוח ה-APK שהורדה הכי הרבה ב-Google Playכלי זה מאפשר לך ליצור דוח מלא מאוד של אפליקציות שכבר מותקנות וקבצי .apk שטרם הותקנו, וזה נהדר לבדיקת אפליקציה לפני מתן גישה למכשיר.

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

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

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

מנתח APK של Android Studio וכלי apkanalyzer

עבור אלו המפתחים באנדרואיד סטודיו, הפלטפורמה של גוגל משלבת... מנתח APK עוצמתי משולב בסביבת הפיתוחניתן לפתוח כלי זה על ידי גרירת APK או App Bundle לחלון העורך, לחיצה כפולה על ה-APK בתיקיית הבנייה, או מתפריט הבנייה תחת האפשרות "ניתוח APK". יש לו גם גרסה בשורת פקודה בשם מנתח apk.

מנתח ה-APK מאפשר לך לחקור את תוכן הקובץ בצורה היררכית, באופן פנימי דומה ל- קובץ ZIP עם תיקיות וקבצים מאורגניםכל ישות (תיקייה או קובץ) מציגה את גודל הקובץ הגולמי שלה והערכה של גודל ההורדה הדחוס כפי שמסופק על ידי Google Play, יחד עם האחוז שהיא מייצגת מהגודל הכולל. זה עוזר לזהות במהירות אילו משאבים, ספריות או קבצי DEX צורכים את רוב המקום.

נקודה מעניינת מאוד היא האופן שבו מנתח ה-APK בנה מחדש את קובץ AndroidManifest.xml הסופיבפרויקטים עם מספר גרסאות מוצר או ספריות עם מניפסטים משלהן, כל הקבצים הללו משולבים לקובץ יחיד במהלך הקומפילציה. קובץ ה-APK נשאר בפורמט בינארי, אך המנתח ממיר אותו בחזרה ל-XML קריא, ומציג בדיוק את המניפסט שהמערכת תראה במכשיר ומקל על זיהוי שינויים שהוכנסו על ידי תהליך הבנייה.

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

רכיב בסיסי נוסף של APK Analyzer הוא מציג הקבצים DEX, המציע מונים עבור מחלקות, חבילות, מתודות מוגדרות ומופנותזה שימושי, בין היתר, לבדיקה אם אתם מתקרבים למגבלת 64K שיטות לכל DEX, להחליט אם להפעיל מולטידקס, או האם יש צורך להסיר תלויות.

עץ המחלקות מציג מתודות המוגדרות ב-DEX ומתודות שאליה מתייחסים (כולל אלו מספריות של צד שלישי וממשקי API סטנדרטיים של אנדרואיד וג'אווה). הכלי מבחין בין השניים, ועוזר להבין איזה חלק מתקציב המתודה נובע מקוד מותאם אישית ואיזה חלק מתלות.

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

עבור פרויקטים המשתמשים בטשטוש וצמצום קוד עם ProGuard או R8, המנתח מאפשר טעינה קבצי מיפוי (mapping.txt), seeds.txt ו-usage.txt מגיע מאותו מבנה. לאחר הייבוא, פונקציות נוספות מופעלות: הסרת ערפול שמות כדי לשחזר את המחלקות והמתודות המקוריות, סימון צמתים שלא ניתן למחוק (seeds), והצגת צמתים שנמחקו במהלך תהליך הצמצום.

תיבת הדו-שיח של העלאת הקובץ בדרך כלל מצביעה אוטומטית לנתיב הרגיל (app/build/outputs/mappings/release/ומחפש שמות מדויקים או שמות המכילים "mapping", "usage" או "seeds" המסתיימים בקובץ .txt. בעזרת מידע זה, המנתח יכול להציג אלמנטים מוגנים באופן מודגש ולמחוק את אלה שאינם קיימים עוד ב-DEX הסופי.

מציג ה-DEX כולל גם תפריט הקשר עם פונקציות חזקות מאוד: צפה בקוד הבייט (smali), חפש שימושים וצור כללי שימור של ProGuard.על ידי בחירת מחלקה, מתודה או שדה, ניתן לפתוח תיבת דו-שיח עם הקוד בייצוג קטן, להפעיל חיפוש אחר המקומות בהם נעשה שימוש בסמל זה ברחבי ה-DEX, או ליצור באופן אוטומטי כלל שמירה כדי למנוע את צמצומו בבניות עתידיות.

מעבר לקוד, מנתח ה-APK מאפשר לך גם לבדוק את הגרסה הסופית של משאבים רבים, כגון תמונות, פריסות או קובץ resources.arsc עצמולדוגמה, ניתן לצפות במחרוזות מותאמות לשפות ובתצורות שונות, לבדוק איזה משאב החליף איזה בגרסה נתונה, או לראות את תוכן הקבצים הבינאריים שבדרך כלל לא נפתחים ידנית.

לבסוף, הכלי כולל תכונה שימושית מאוד לסקירת בניינים: השווה בין שני APK או App Bundlesטעינת הגרסה הנוכחית והשוואתה לארטיפקט שפורסם בעבר מספקת תמונה של הבדלי הגודל בין ישות, אידיאלית להבנת מקור העלייה במשקל בין גרסאות (משאבי תמונה חדשים, ספריות נוספות, שינויי קוד וכו').

מינוף אנליטיקה של מובייל להבנת חוויית המשתמש

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

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

בין הפתרונות הנפוצים ביותר במערכת האקולוגית של אנדרואיד, Firebase בולט כ... פלטפורמת פיתוח גמישה, אירוח ואנליטיקה משולבתFirebase מאפשר לך ליצור אפליקציות עבור אנדרואיד, iOS ו-Web על ידי מינוף תשתית מסד הנתונים והאימות שלה, תוך הצעת מערכת חזקה לניתוח ודיווח על כשלים.

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

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

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

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

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

פילוח משתמשים מתקדם וניתוח התנהגותי

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

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

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

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

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

פלטפורמות שיווק ומנויים עם אנליטיקה משולבת

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

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

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

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

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

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

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

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

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

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

כהשלמה לכל הניתוח הכמותי הזה, כדאי לשקול כלים כמו AppFollow, המתמקדים ב מעקב אחר דירוגים וביקורות ב-App Store וב-Google Playהודות לניתוח סנטימנט, ניתן לראות את התפתחות הטון של הביקורות ולהשוות תקופות, ולקבל רמזים ברורים לגבי האופן שבו המשתמשים תופסים את האיכות והחוויה של האפליקציה.

ביקורת אבטחה וניתוח מתקדם עם Inspectage

כאשר המטרה אינה כל כך שיווק או מוצר, אלא ביקורת אבטחה, ניתוח תוכנות זדוניות או סקירת התנהגות פנימית של אפליקציהמסגרות ספציפיות יותר נכנסות לתמונה. אחת המעניינות ביותר במערכת האקולוגית של אנדרואיד היא Inspectage (Android Package Inspector), המתפקדת כמודול Xposed.

Inspectage מגדיר שרת במכשיר האנדרואיד עצמו, נגיש דרך adb מהמחשב, ומאפשר לך לראות אירועים בזמן אמת המתרחשים במכשיר בזמן שהאפליקציה פועלתבניגוד לסביבות ניתוח אחרות כמו MobSF או AppMon, היתרון הגדול שלה הוא שהיא מאפשרת לך לצפות באירועים מבלי לעצור את הניתוח הדינמי ולקבוע בקלות תצורה של hooks (hooks) על מתודות ספציפיות.

קוד הכלי זמין ב-GitHub וניתן להשיגו גם כקובץ APK מחנות Play או ממאגר Xposed. לאחר התקנת המודול, הוא מופעל ב-Xposed וניתן לראותו בממשק הראשי. מצב השרת, ממשק הרשת, היציאה ופקודת adb נדרש להתחבר מהמכונה המקומית.

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

לאחר בחירה והפעלת אפליקציה, מתחיל הניתוח הדינמי. גישה לדף אינטרנט המתארח על ידי המכשיר מתבצעת דרך דפדפן המחשב, שם מוצג תפריט עם כפתורים עבור [לא ברור - אולי "הזדמנויות" או "פונקציות"]. הורד את ה-APK או נתונים מהאחסון הפנימי, צלם צילומי מסך, החל תצורות שונות (כגון השבתת FLAG_SECURE, הפעלה מחדש של היישום, בחירת פרוקסי או בחירת סוגי האירועים להקליט) ורענן תוצאות בזמן אמת.

Inspectage מציע גם קיצורי דרך לפתיחת כרטיסייה עם LogCat, בדיקה אם האפליקציה או המודול פועלים, והסתרה או הצגה של לוחות פרטים. לוח המידע של האפליקציה מוצג שם חבילה, UID, GUID, סטטוס גיבוי וגישה מסוג TreeView לאחסון פנימי, שממנו ניתן להוריד קבצים בלחיצה אחת.

גוף הדוח מאורגן בכרטיסיות שונות: אחת עם פעילויות, הרשאות, שירותים, ספקי תוכן, מקלטי שידור וספריות משותפות, עם אפשרויות להפעלת פעילויות או להתייעצות עם ספקים; גרסה נוספת המוקדשת ל-SharedPreferences, שניתן לצפות בה הן בפורמט יומן (כדי להעריך שינויים במשתנים לאורך זמן) והן במצב הנוכחי של הקובץ.

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

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

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

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

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

מתודולוגיות אבטחה, איומים ומעבדת בדיקות

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

אפליקציות אנדרואיד חשופות לאיומים רבים, שרבים מהם מטופלים בפרויקטים כגון עשרת המובילים של OWASP Mobileבין הבעיות הקריטיות ביותר, נוכל להדגיש שימוש שגוי בפלטפורמה (אי ניצול מנגנוני אבטחה מקוריים, ניהול גרוע של הרשאות, ניצול לרעה של ממשקי API חשופים), אחסון נתונים לא מאובטח (מסדי נתונים לא מוצפנים, יומני מידע רגיש, קובצי Cookie המוגנים בצורה גרועה), או... תקשורת לא מאובטחת (שימוש בפרוטוקולים מיושנים או תעבורה לא מוצפנת).

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

בצד הפיתוח, איכות הקוד בצד הלקוח היא המפתח: שיטות עבודה גרועות, חוסר בקרת שגיאות או פונקציות אבטחה מיושמות בצורה גרועה אלה עלולים להוביל לגלישה של מאגרים ולנקודות תורפה אחרות. לכך מתווסף הסיכון לשינוי קוד (תיקונים בינאריים זדוניים, משאבים משונים וכו'). אפליקציות מזויפות שמתחזות לאפליקציה הלגיטימית), הנדסה לאחור של ה-APK ונוכחות של פונקציונליות "מוסתרת" או ניפוי שגיאות שאינה מושבתת בייצור.

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

הערכת דרישות אלו משלבת בדרך כלל ניתוח סטטי ודינמי. בחלק הסטטי, ממצאים כגון קוד מקור, קוד מפורק, קבצים בינאריים וקבצים נלווים ללא הפעלת האפליקציה, ניתן להסיק פגיעויות פוטנציאליות ממטא-דאטה, קריאות לפונקציות וזרימת התוכנית. כלים כמו Mara (מסגרת ניתוח המאפשרת פירוק ופירוק קבצי APK, דה-פוזיפיקציה, ניתוח מחרוזות, חילוץ הרשאות וכו'), APK Analyzer עצמו, ופתרונות כמו JAADAS לניתוח IPC סטטי שימושיים במיוחד בשלב זה.

בניתוח דינמי, לעומת זאת, האפליקציה פועלת בסביבה מבוקרת והתנהגותה נצפית בתנאים שונים. כאן משתמשים בכלים כמו Drozer, אשר מקיים אינטראקציה עם המכונה הווירטואלית Dalvik, נקודות הקצה של ה-IPC ומערכת ההפעלה כדי למצוא פגיעויות; Burp Suite, שפועל כפרוקסי אינטרנטי ללכידה ותפעול של תעבורה בין אפליקציה לשרת; ו-Inspectage, שנועד לנתח ולצפות באפליקציה בזמן אמת באמצעות ווים בממשק ה-API של אנדרואיד.

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

בין אפליקציות התרגול הללו נמצאים פרויקטים כמו InsecureShop (חנות מקוונת פגיעה עם כמעט עשרים פגמים ניתנים לניצול, רובם ללא צורך ב-root), AndroGoat (האפליקציה הפגיעה הראשונה שפותחה בקוטלין, עם כמה עשרות פגיעויות שונות), InsecureBank V2 (אפליקציית בנקאות עם backend של Python, שתוכננה עם נקודות תורפה מרובות) ו-Crackmes מפרויקט MAS עצמו, הבנויה במספר רמות קושי מסוג CTF.

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

Artaculo relacionado:
איך יוצרים אפליקציית אנדרואיד מעולה?