למאגר הקוד הפתוח Swift ו-Objective-C, CocoaPods, היו נקודות תורפה מרובות שהותירו מיליוניiOSואפליקציות macOS חשופות להתקפות פוטנציאליות במשך עשור, אך היא תוקנה כעת.
למרות שמאגר CocoaPods היה יעד פוטנציאלי לכל כך הרבה זמן וכל כך הרבה אפליקציות, אין ניצולים ידועים ב-iOS אוmacOSאפליקציות. הפגיעות המדוברות תוקנה באוקטובר ונחשפות כעתדוחמ-EVA אבטחת מידע.
הדוחהיה מפורטעַל יְדֵיArs Technica, מסביר מה השתבש וכיצד ניתן לנצל את הפגיעויות. הבעיות הללו היו יכולות להוביל לבעיות חמורות אם שחקן גרוע הצליח לנצל אותן, ותמיד יש סיכוי שהם נוצלו מבלי שאף אחד ידע.
נקודות תורפה של CocoaPods
היו שלוש בעיות מפתח עם CocoaPods, מאגר עבורמָהִירוחבילות Objective-C. כולם מתייחסים לאופן שבו מפתחים התחברו כדי לנהל את מה שנקרא pods שלהם, שהם חבילות קוד שמפתחים יכולים לכלול באפליקציות שלהם שעודכנו מרחוק.
כאשר מנהל פוד התחבר, הוא היה צריך להזין את כתובת האימייל המשויכת לפוד. נשלח אימייל עם קישור אימות שלקח אותם ישר לדף החשבון שלהם, כבר מאומת.
מניפולציה של קישור זה עלולה לאפשר לשחקן גרוע להפנות אותו לשרת שהם שולטים בו (CVE-2024-38367), לפלוש ולשלוט בפודים נטושים (CVE-2024-38368), או להפעיל קוד בשרת טראנק (CVE-2024-38366 ). התוצאות יובילו לכך ששחקן גרוע יוכל להשפיע על תרמיל שעשוי לשמש בכל אחת ממיליוני אפליקציות iOS ו-macOS שמנצלות את היתרון של CocoaPods.
בתיאוריה, הדרך שבה זה יעבוד היא ששחקן גרוע יכול לתמרן תרמיל, ולגרום לו להתעדכן אוטומטית בכל אפליקציה שבה הוא נמצא בשימוש, וכך לבצע כל הוראה חדשה שניתנה לו. אם לפוד הייתה גישה למידע משתמש רגיש כמו סיסמאות או נתוני כרטיסי אשראי, המידע הזה היה כעת בידיו של השחקן הרע.
"היכולת לבצע פקודות מעטפת שרירותיות בשרת העניקה לתוקף אפשרי את היכולת לקרוא את משתני הסביבה שלנו, שניתן להשתמש בהם כדי לכתוב ל-CocoaPods/Specs repo ולקרוא את מסד הנתונים של ה-Trunk", הסבירה מתחזקת CocoaPods Orta Therox. "היכולת להערים על אנשים ללחוץ על קישור שיעביר אותם לאתר של צד שלישי יכולה לשמש כדי לגנוב את מפתחות הפגישה שלהם. אני לא יכול להבטיח שאף אחד מהם לא קרה, ואני מעדיף להיות בצד הבטוח ."
למפתחים המשתמשים ב-CocoaPods לפני אוקטובר יש כמה דברים שהם יכולים לעשות כדי להבטיח שהם בטוחים מפני התקפה.
- שמור את קובץ podfile.lock שלך מסונכרן עם כל מפתחי CocoaPods כדי להבטיח שכולם נמצאים באותה גרסה של החבילות. זה יבטיח שכאשר יתבצע עדכון חדש שעלול להזיק, המפתחים לא יעדכנו אליו באופן אוטומטי.
- אם אתה משתמש ב-Pod שפותח באופן פנימי ומתארח רק ב-CocoaPods להפצה המונית, מפתחים צריכים לבצע אימות CRC (checksum) מול זה שהורד משרת ה-Trunk של CocoaPods כדי להבטיח שהוא זהה לזה שפותח באופן פנימי (במידת האפשר) .
- בצע סקירת אבטחה יסודית של כל קוד של צד שלישי המשמש ביישומים שלך.
- סקור את התלות של CocoaPods וודא שאתה לא משתמש בפוד יתום.
- ודא שאתה משתמש בתלות של צד שלישי שמתוחזקות באופן אקטיבי ושהבעלות עליהן ברורה.
- בצע סריקות קוד אבטחה תקופתיות כדי לזהות סודות וקוד זדוני בכל הספריות החיצוניות, במיוחד CocoaPods.
- היזהר מתלות בשימוש נרחב מכיוון שהן עשויות להיות יעד אטרקטיבי יותר לתוקפים פוטנציאליים לניצול. CocoaPods היא רק ההתחלה.
מה שאתה צריך לעשות
הארוך והקצר של זה פשוט - כנראה שאתה בסדר. אין שום הוכחה לכך שפגיעויות אלה נוצלו אי פעם. כמובן, היעדר ראיות לא אומר שאין ראיות, אז זה לא ניצחון מוחלט.
שמרו על עדכון האייפון והאפליקציות שלכם כדי להישאר בטוחים מפני נקודות תורפה ידועות
עם זאת, אם תרמיל השתנה והשתמשו בו כדי לאסוף נתונים רגישים או להדביק מכונות בדרכים אחרות, ברור שזה לא נעשה בצורה שמישהו שם לב. כמשתמש, הדבר היחיד שאתה יכול לעשות הוא לוודא שאתה משתמש באפליקציות מהימנות שנשארות מעודכנות, ואתה אמור לעקוב אחר החשבונות שלך לאיתור פעילות מוזרה.
הבעיה תוקנה, ומפתחות ההפעלה הישנים נמחקו. לכן, בעיות עתידיות עם CocoaPods הקשורות לפגיעויות אלה לא אמורות להתרחש.
שמור את המכשירים והאפליקציות שלך מעודכנים כדי להבטיח שאתה תמיד עובד עם התיקונים ותיקוני הבאגים האחרונים.