נקרו טרויאני
בשנת 2019, חוקרי אבטחת סייבר חשפו בעיה מטרידה: אפליקציית אנדרואיד לגיטימית בחנות Google Play נפגעה על ידי ספריית צד שלישי המשמשת מפתחים ליצירת הכנסות מפרסום. השינוי הזה הביא לכך ש-100 מיליון מכשירים התחברו לשרתים הנשלטים על ידי תוקפים, שלאחר מכן פרסו מטענים נסתרים.
מצב דומה צץ כעת מחדש. מומחי Infosec זיהו שני יישומים חדשים, שהורדו 11 מיליון פעמים מ-Google Play, שנדבקו מאותה משפחת תוכנות זדוניות. נראה כי ערכת פיתוח תוכנה לא בטוחה המשמשת לשילוב תכונות פרסום אשמה שוב.
תוכן העניינים
מה זה SDK?
ערכות פיתוח תוכנה, או SDK, מציעות למפתחים מסגרות מובנות מראש המפשטות ומאיצות את תהליך יצירת האפליקציה על ידי טיפול במשימות שגרתיות. במקרה זה, מודול SDK לא מאומת, שנועד לכאורה לתמוך בהצגת מודעות, שולב באפליקציות. עם זאת, מתחת לפני השטח, הוא אפשר שיטות מתקדמות לתקשורת סמויה עם שרתים שנפגעו. זה אפשר ליישומים להעלות נתוני משתמש ולהוריד קוד מזיק, שניתן להפעיל או לעדכן בכל עת.
כיצד ה-Necro Trojans מדביקים מכשירים?
משפחת התוכנות הזדוניות מאחורי שני מסעות הפרסום נקראת Necro, ובמקרה זה, גרסאות מסוימות משתמשות בטכניקות מתקדמות כמו סטגנוגרפיה - שיטת ערפול נדירה באיומים ניידים. גרסאות מסוימות משתמשות גם בשיטות מתוחכמות כדי לספק קוד הונאה המסוגל לפעול עם הרשאות מערכת גבוהות. ברגע שמכשיר נדבק, הוא מתקשר עם שרת פקודה ובקרה הנשלט על ידי תוקף. הוא שולח נתוני JSON מוצפנים המדווחים פרטים על המכשיר שנפרץ והאפליקציה המארח את המודול ההונאה.
לאחר מכן השרת מגיב בהודעת JSON הכוללת קישור לתמונת PNG ומטא נתונים המכילים את ה-hash של התמונה. אם המודול במכשיר הנגוע מאמת את ה-hash, הוא ממשיך להוריד את התמונה.
חוקרים הסבירו שמודול SDK משתמש באלגוריתם סטגנוגרפי פשוט. לאחר מעבר בדיקת MD5, הוא מחלץ את התוכן של קובץ ה-PNG, במיוחד את ערכי הפיקסלים מערוצי ARGB, באמצעות כלי אנדרואיד סטנדרטיים. שיטת getPixel מאחזרת ערך שבו הביט הכי פחות משמעותי מכיל את הערוץ הכחול של התמונה, והתוכנה הזדונית מתחילה את העיבוד שלה משם.
הנקרו טרויאני עלול להוביל לתוצאות חמורות
עוקבים שהותקנו על ידי תוכנות זדוניות מורידות תוספים מזויפים שניתן להתאים אישית עבור כל מכשיר נגוע לביצוע פעולות שונות. תוסף אחד כזה מאפשר ביצוע של קוד עם הרשאות מערכת גבוהות. בדרך כלל, אנדרואיד מגביל תהליכים מורשים משימוש ב-WebView - רכיב להצגת דפי אינטרנט בתוך יישומים. כדי להתגבר על מגבלה זו, Necro משתמש בטכניקה המכונה התקפת השתקפות כדי ליצור מופע נפרד של מפעל WebView.
בנוסף, תוסף זה יכול להוריד ולהפעיל קבצים אחרים המשנים קישורים המוצגים דרך WebView. עם זכויות מערכת גבוהות, קובצי הפעלה אלה יכולים לשנות כתובות URL כדי להוסיף קודי אישור עבור מנויים בתשלום ולהוריד ולהפעיל קוד מקישורים הנשלטים על ידי תוקף. החוקרים זיהו חמישה מטענים שונים במהלך הניתוח שלהם של Necro. בנוסף, המבנה המודולרי של Necro מספק דרכים רבות לתפעול התוכנה הזדונית.
ה-Necro Trojan נמצא בשני יישומים
חוקרים זיהו את Necro בשני אפליקציות ב-Google Play. אחת מהן, Wuta Camera, צברה 10 מיליון הורדות. גרסאות 6.3.2.148 עד 6.3.6.148 של Wuta Camera הכילו את ה-SDK הזדוני שאחראי לזיהומים, אך האפליקציה עודכנה מאז כדי לחסל את הרכיב המזיק. אפליקציה אחרת, Max Browser, עם כמיליון הורדות, נפגעה אף היא; עם זאת, הוא אינו זמין עוד ב-Google Play.
בנוסף, החוקרים גילו את Necro מדביק מגוון אפליקציות אנדרואיד המוצעות בשווקים חלופיים. יישומים אלה מוצגים בדרך כלל כגרסאות מתוקנות של אפליקציות לגיטימיות, כולל Spotify, Minecraft, WhatsApp, Stumble Guys, Car Parking Multiplayer ו- Melon Sandbox.