>> [סמינר] [הגנה מאחורי המכשיר: יישומים ניידים אבטחה]
[כריס Wysopal] [אוניברסיטת הרווארד]
[זה CS50.] [CS50.TV]
>> אחר הצהריים טובים. השם שלי הוא כריס Wysopal.
אני CTO ומייסד שותף של Veracode.
Veracode היא חברת אבטחת יישומים.
אנחנו בודקים כל מיני יישומים שונים,
ומה שאני הולך לדבר על היום הוא אבטחת יישומים ניידים.
הרקע שלי הוא שאני כבר עושה מחקר אבטחה
במשך זמן רב מאוד, כנראה על עוד מישהו.
התחלתי באמצע שנתי ה 90s,
וזה היה זמן שהיה די מעניין כי
היה לנו שינוי פרדיגמה באמצע 90s.
כל המחשב של כולם פתאום היה מחובר לאינטרנט,
ולאחר מכן היו לנו את ראשיתה של יישומי אינטרנט,
וזה מה שאני מתמקד בהרבה לאחר מכן.
זה מעניין.
עכשיו יש לנו שינוי הפרדיגמה אחרת קורה עם מחשוב,
המהווה את המעבר ליישומים ניידים.
>> אני מרגיש שזה סוג של זמן דומה אז זה היה בשלהיי שנתי ה -90
כאשר אנו חוקרים יישומי אינטרנט ואיתור פגמים כמו
טעויות ניהול הפעלה והזרקת SQL
אשר באמת לא היה קיים בעבר, ופתאום הם היו בכל מקום
ביישומי אינטרנט, ועכשיו הרבה הזמן שאני מבלה
הוא מסתכל על יישומים ניידים ומסתכלים על מה שקורה שם בחוץ, בטבע.
יישומים ניידים באמת הולכים להיות פלטפורמת המחשוב הדומיננטית,
אז אנחנו באמת צריכים להשקיע הרבה זמן אם אתה בתעשיית האבטחה
התמקדות ביישומי אינטרנט.
היו 29 מליארד יישומים ניידים הורדו ב2011.
זה צפוי להיות 76 מיליארדים אפליקציות על ידי 2014.
יש 686 מיליון מכשירים שהולכים להיות שנרכשו בשנה זו,
אז זה מקום שבו אנשים הולכים לעשות
רוב מחשוב הלקוח שלהם הולכים קדימה.
>> אני מדבר לסגן נשיא בהשקעות פידליטי
לפני כמה חודשים, והוא אמר שהם פשוט ראו יותר תנועה
עושה עסקות פיננסיות מבסיס הלקוחות שלהם
ביישומים הניידים שלהם מאשר על אתר האינטרנט שלהם,
כך שימוש נפוץ לאינטרנט בעבר היה
בדיקה שערי מניות שלך, ניהול תיק ההשקעות שלך,
ואנחנו בעצם רואים כי בשנת 2012 מתג על
להיות דומיננטי יותר בפלטפורמה הניידת.
אין ספק שאם יש הולך להיות כל פעילות פלילית,
כל פעילות זדונית, זה הולך להתחיל להיות ממוקד בפלטפורמה הסלולרית
עם הזמן, ככל שאנשים לעבור לזה.
אם אתה מסתכל על הפלטפורמה הניידת,
להסתכל על הסיכונים של הפלטפורמה זה שימושי כדי לשבור אותו לתוך השכבות השונות,
בדיוק כמו שהיית עושה את זה במחשב שולחני,
ואתה חושב על השכבות השונות, תוכנה, מערכת הפעלה,
שכבת רשת, שכבת חומרה, וכמובן, יש נקודות תורפה בכל השכבות האלה.
>> אותו הדבר קורה בנייד.
אבל נייד, נראה כי חלק משכבות אלה הם במצב גרוע יותר.
עבור אחד, שכבת הרשת היא בעייתית יותר בטלפונים
כי הרבה אנשים שיש להם במשרד או בבית
חיבורים קוויים או שיש להם חיבורי Wi-Fi מאובטחים,
ועם הרבה מכשירים ניידים אתה ללא ספק מחוץ לבית
או מחוץ למשרד הרבה, ואם אתה משתמש ב-Wi-Fi שיש
ייתכן שאתה משתמש בחיבור Wi-Fi לא מאובטח,
משהו שהוא חיבור Wi-Fi ציבורית,
ולכן כאשר אנו חושבים על יישומים ניידים שאנחנו צריכים לקחת בחשבון
שסביבת הרשת היא מסוכנת יותר עבור יישומים אלה
כאשר נמצא בשימוש Wi-Fi.
וכשאני מגיע ליותר מסיכוני היישומים הניידים
תראה למה זה חשוב יותר.
ישנם סיכונים ברמת החומרה במכשירים ניידים.
זהו תחום של מחקר מתמשך.
אנשים קוראים להתקפות אלה בפס רחב או התקפות baseband
שבו אתה תוקף את הקושחה שמקשיבה ברדיו.
>> אלה הם באמת התקפות מפחידות כי
המשתמש לא צריך לעשות שום דבר.
אתה יכול להכות המון מכשירים בטווח RF
בבת אחת, וזה נראה כאילו בכל פעם שמחקר זה מבעבע
את זה מהר מקבל מסווג שבו
אנשים לעוט במסביב ואומרים, "הנה, ספר לנו על זה, ובבקשה להפסיק לדבר על זה."
יש קצת מחקר שמתרחש באזור בפס רחב,
אבל נראה שזה מאוד דממת דממה.
אני חושב שזה יותר מסוג מדינת לאום של מחקר שקורה.
תחום מחקר פעיל, אם כי, הוא שכבת מערכת הפעלה,
ושוב, זה שונה מאשר בעולם המחשוב השולחני
כי במרחב הנייד יש לך צוותי של אנשים בשם jailbreakers אלה,
וjailbreakers שונה מחוקרי פגיעות רגילים.
הם מנסים למצוא נקודות תורפה במערכת ההפעלה,
אבל הסיבה שהם מנסים למצוא את נקודות התורפה היא שלא
לפרוץ למחשב של מישהו אחר ולסכן אותו.
זה לפרוץ למחשב שלהם.
>> הם רוצים לפרוץ לטלפונים שלהם, לשנות את מערכת ההפעלה של הטלפונים שלהם
כדי שיוכלו להפעיל את היישומים על פי בחירתם
ולשנות דברים עם הרשאות ניהול מלאים,
והם לא רוצים לספר לי הספק לגבי זה.
הם לא כמו חוקר אבטחה שהוא חוקר אבטחת כובע לבן
שהוא הולך לעשות גילוי אחראי ויגיד לי הספק בקשר לזה.
הם רוצים לעשות את המחקר הזה, והם רוצים לפרסם אותו למעשה
בניצול או rootkit או קוד jailbreak,
והם רוצים לעשות את זה באופן אסטרטגי, כמו מייד אחרי
ספינות ספק מערכת ההפעלה החדשה.
יש לך מערכת יחסים יריבות זו
עם נקודות תורפה ברמת מערכת הפעלה בניידת,
שלדעתי היא די מעניין, ומקום אחד אנחנו רואים את זה
האם זה הופך אותו לכך שיש קוד שפורסם לנצל טוב בחוץ
לנקודתי תורפה ברמת ליבה,
ושראינו אותם בעצם להיות בשימוש על ידי כותבי תוכנות זדוניות.
זה קצת שונה מאשר בעולם המחשב.
ולאחר מכן את השכבה האחרונה היא השכבה העליונה, שכבת היישום.
זה מה שאני הולך לדבר עליו היום.
>> השכבות האחרות קיימות, ושכבות האחרות לשחק בו,
אבל אני בעיקר הולך לדבר על מה שקורה בשכבת היישום
שם קוד פועל בארגז החול.
זה לא חייב הרשאות ניהול.
זה חייב שימוש ב-API של המכשיר,
אבל עדיין, הרבה פעילות זדונית והרבה סיכון יכולים לקרות בשכבה ש
כי זה את השכבה שבה כל המידע.
יישומים יכולים לגשת לכל המידע על המכשיר
אם יש להם את ההרשאות הנכונות,
והם יכולים לגשת לחיישנים השונים על המכשיר,
חיישן ה-GPS, מיקרופון, מצלמה, מה שיש לך.
למרות שאנחנו רק מדברים על בשכבת היישום
יש לנו הרבה סיכון שם.
הדבר השני זה שונה על הסביבה הניידת
הוא כל השחקנים של מערכת הפעלה, בין אם זה בלקברי או אנדרואיד
או iOS או Windows Mobile, לכולם יש מודל רשות גרגירים עדין,
וזו היא אחת הדרכים שהם בנו לתוך מערכת ההפעלה
הרעיון שזה לא מסוכן כמו שאתה חושב.
למרות שיש לך את כל אנשי הקשר שלך שם, את כל המידע האישי שלך,
יש לך את התמונות שלך, יש לך את המיקום שלך על שם,
אתה אחסון סיכת הבנק שלך להתחברות אוטומטית על שם, זה בטוח, כי
יישומים חייבים להיות בעל הרשאות מסוימות כדי לקבל בחלקים מסוימים
של המידע על המכשיר, והמשתמש צריך להיות מוצג עם
הרשאות אלה ואומרים בסדר.
>> הבעיה עם זה היא שהמשתמש תמיד אומר בסדר.
כאיש ביטחון, אני יודע שאתה יכול לבקש מהמשתמש,
לומר משהו ממש רע הולך לקרות, האם אתה רוצה שזה יקרה?
ואם הם בעומס או שיש משהו ממש מפתה בצד השני של שאחר,
כמו משחק הולך להיות מותקן שהם כבר מחכים,
הם הולכים ללחוץ בסדר.
בגלל זה אני אומר בשקופית שלי כאן רק תנו לי להעיף את ציפורים בחזירים כבר,
ואתה יכול לראות בשקופית כאן יש דוגמאות של תיבת אישור בלקברי.
זה אומר "בבקשה להגדיר את הרשאות יישום נסיעות לקברי
לאחר לחיצה על כפתור למטה ", ובעצם למשתמש הוא רק הולך לומר
להגדיר את ההרשאות ולשמור.
הנה הפקודה אנדרואיד שבו הוא מציג את הדברים,
וזה ממש מכניס. משהו שנראה כמעט כמו אזהרה
יש בו סוג של תמרור זכות קדימה יש תקשורת ברשת, שיחת טלפון ואמר,
אבל המשתמש הולך לחץ על התקנה, נכון?
ואז אחד אפל הוא בלתי מזיק לחלוטין.
זה לא נותן שום סוג של אזהרה.
זה רק אפל הייתי רוצה להשתמש במיקום הנוכחי שלך.
כמובן שאתה הולך ללחוץ בסדר.
>> יש דגם אישור פרטנית הזה,
ויישומים צריכים להיות קובץ מניפסט שבו הם מצהירים
הרשאות שהם צריכים, ושיקבלו מוצגים למשתמש,
והמשתמש חייב לומר שאני להעניק הרשאות אלה.
אבל בואו נהיה כנה.
משתמשים פשוט הולכים תמיד אומרים בסדר.
בואו ניקח מבט מהיר על ההרשאות שהאפליקציות האלה מבקשות
וחלק מההרשאות שנמצאות שם.
חברה זו הפרטוריאני עשתה סקר בשנה שעברה
של 53,000 יישומים ניתחו בשווקי הצד 3 ושוק אנדרואיד,
אז כל זה אנדרואיד.
והאפליקציה הממוצעת ביקשה 3 הרשאות.
יישומים מסוימים ביקשו 117 הרשאות,
אז ברור שאלו הם דקים מאוד גרגירים ודרך מורכבים מדי עבור משתמש להבין
אם הם מוצגים עם יישום זה שצריך 117 הרשאות אלה.
זה כמו הסכם הרישיון למשתמש קצה זה ארוך 45 דפים.
אולי בקרוב יהיה להם אופציה שבה זה כמו
להדפיס את ההרשאות ולשלוח לי מייל.
>> אבל אם אתה מסתכל על כמה מההרשאות מעניינות העליונה
24% מהאפליקציות שהם הורדו מ53,000
מידע GPS ביקש מההתקן.
8% לקרוא את אנשי הקשר.
4% שנשלחו ב-SMS, ו -3% קיבלו ב-SMS.
2% שנרשמו אודיו.
1% מעובדים שיחות יוצאות.
אני לא יודע.
אני לא חושב ש4% מהיישומים בחנות App באמת צריך לשלוח הודעות טקסט SMS,
אז אני חושב שזה רמז לכך שמשהו לא נעים קורה.
8% מהאפליקציות צריכים לקרוא את רשימת אנשי הקשר שלך.
זה כנראה לא נחוץ.
אחד הדברים המעניינים האחרים אודות הרשאות הוא
אם אתה מקשר בספריות משותפות ליישום שלך
אלה יורשים את ההרשאות של היישום,
כך שאם האפליקציה שלך צריכה את רשימת אנשי קשר או זקוק למיקום GPS לתפקד
ואתה מקשר בספריית פרסום, למשל,
שספריית המודעות גם להיות מסוגלת לגשת לאנשי הקשר
וגם להיות מסוגל לגשת למיקום GPS,
והמפתחים של האפליקציה יודעים דבר על הקוד שפועל בספריית המודעה.
הם פשוט מקשרים שבבגלל שהם רוצים להרוויח כסף מהאפליקציה שלהם.
>> זה מקום בו, ואני אדבר על כמה דוגמאות של זה עם
יישום בשם פנדורה שבו מפתחי יישומים
אולי שלא במתכוון להיות הדלפת מידע
מהמשתמשים שלהם בגלל ספריות שהם מקושרים פנימה
מדידות הנוף בחוץ, מסתכל על כל היישומים השונים
כי כבר דיווח בחדשות כמשתמשי משהו זדוניים או עושים לא רצינו
ולאחר מכן בודק הרבה אפליקציות, שאנחנו עושים הרבה ניתוח בינארי סטטי ביישומים לנייד,
אז אנחנו כבר בדקנו אותם והביטו בקוד עצמו,
באנו עם מה שאנו מכנים ראש הרשימה 10 של התנהגויות מסוכנות ביישומים שלנו.
וזה נשבר מטה לתוך 2 חלקים, קוד זדוני,
ולכן אלה הם דברים רעים שהאפליקציות יכולות להיות עושים את זה
צפוי להיות משהו שאדם זדוני
במיוחד יש לשים ביישום, אבל זה קצת מטושטש.
זה יכול להיות משהו שמפתחים חושבים שזה בסדר,
אבל בסופו של דבר להיות חשב על זדוני על ידי המשתמש.
>> ואז החלק השני הוא מה שאנו מכנים קידוד נקודות תורפה,
ואלה דברים שבו היזם בעצם הוא עושה טעויות
או פשוט לא מבין איך לכתוב את האפליקציה בצורה מאובטחת,
וזה לשים את משתמש האפליקציה בסיכון.
אני הולך לעבור את אלה בפירוט ולתת כמה דוגמאות.
לקבלת התייחסות, אני רוצה לשים את OWASP 10 ניידים העליונים הרשימה.
אלה הם 10 נושאים שקבוצה בOWASP,
פרויקט Open Web Application Security, יש להם קבוצת עבודה
עובד על טלפונים 10 ראש רשימה.
יש להם רשימה מאוד מפורסמת האינטרנט עליון 10, שהם העליונים 10
הדברים הכי מסוכנים שאתה יכול להיות ביישום אינטרנט.
הם עושים את אותו דבר עבור התקנים ניידים,
והרשימה שלהם היא קצת שונה משלנו.
6 מתוך 10 הם אותו הדבר.
יש להם 4 שהם שונים.
אני חושב שיש להם קצת שונה לקחת על
סיכון ביישומים ניידים בו הרבה בעיות שלהם
באמת איך הוא מתקשר ליישום שרת עורפי
או מה קורה בשרת העורפי,
לא כל כך הרבה יישומים שיש להם התנהגות מסוכנת, כי הם יישומי לקוח פשוט פשוט.
>> אלה באדום כאן הם ההבדלים בין 2 הרשימות.
וחלק מהצוות המחקר שלי למעשה תרם לפרויקט זה,
כך נוכל לראות מה קורה לאורך זמן, אבל אני חושב שtakeaway כאן הוא
אנחנו לא באמת יודעים מה ראש הרשימה 10 היא ביישומים ניידים, כי
באמת שהם היינו בסביבה רק עבור 2 או 3 שנים,
ושם לא היה מספיק זמן כדי באמת לחקור את מערכות ההפעלה
ומה הם מסוגלים, ושם לא היה מספיק זמן
לקהילה הזדונית, אם תרצה, שבילה מספיק זמן
מנסה לתקוף את המשתמשים באמצעות יישומים ניידים, ולכן אני מצפה ברשימות אלו כדי לשנות קצת.
אבל לעת עתה, אלה את 10 הדברים לדאוג.
אתם עשויים לתהות בצד הנייד שבו עושה את הקוד הזדוני הנייד
איך זה לקבל על המכשיר?
צפון קרוליינה סטייט פרויקט שנקרא Mobile Malware פרויקט הגנום
שבו הם אוספים כמה שיותר תוכנות זדוניות ניידת שהם יכולים ולנתח אותו,
והם מתפרקים וקטורי ההזרקה שהתוכנות זדוניות הניידת משתמשים,
ו86% משתמשים בטכניקה הנקראת אריזה מחדש,
וזה רק על פלטפורמת אנדרואיד
אתה באמת יכול לעשות את האריזה מחדש את זה.
>> הסיבה היא קוד אנדרואיד בנוי עם
קוד ג 'אווה בייט בשם Dalvik אשר בקלות decompilable.
מה האיש הרע יכול לעשות הוא
לקחת יישום אנדרואיד, הידורו,
להכניס הקוד הזדוני שלהם, הדר מחדש את זה,
ואז לשים אותו בחנות App שהתיימרה להיות גרסה חדשה של יישום זה,
או רק אולי לשנות את שמו של היישום.
אם זה היה סוג של משחק, לשנות את השם במקצת,
וכך אריזה מחדש זה איך 86% מתוכנות זדוניות ניידים מתפזרים.
יש עדכון טכניקה הנקראת אחר שהיא
דומה מאוד לאריזה מחדש, אבל אתה לא באמת שם את הקוד הזדוני פנימה
מה שאתה עושה הוא שאתה מכניס במנגנון עדכון קטן.
אתה הידור, אתה מכניס במנגנון עדכון, והידורה,
ולאחר מכן כאשר היישום פועל זה מוריד את תוכנות זדוניות על גבי המכשיר.
>> עד כה הרוב הם 2 הטכניקות האלה.
אין באמת הרבה ממכונית נוסעים או להורדת Drive-by downloads על מוביילים,
אשר יכול להיות כהתקפת התחזות.
היי, לבדוק את האתר ממש מגניב זה,
או שאתה צריך ללכת לאתר הזה ולמלא טופס זה
כדי לשמור על ההמשך עושה משהו.
אלה התקפות פישינג.
אותו הדבר יכול לקרות בפלטפורמה הניידת שבו הם
להצביע על יישום נייד להורדה, יגיד "היי, זה בנק אוף אמריקה".
"אנחנו רואים שאתה משתמש ביישום זה."
"עליך להוריד את יישום אחר זה."
באופן תיאורטי, זה יכול לעבוד.
אולי זה פשוט לא נמצא בשימוש מספיק כדי לקבוע אם הוא מוצלח או לא,
אבל הם מצאו כי פחות מ -1% מהזמן בטכניקה המשמש.
רוב הזמן זה באמת קוד לארוז אותם מחדש.
>> יש עצמאי קטגוריה בשם אחרת
שבו מישהו פשוט בונה יישום חדש לגמרי.
הם בונים יישום שמתיימר להיות משהו.
זה לא אריזה מחדש של משהו אחר, ושיש לו הקוד הזדוני.
המשמש 14% מהזמן.
עכשיו אני רוצה לדבר על מה שהקוד הזדוני עושה?
אחת תוכנות זדוניות הראשונות בחוץ
אתה יכול לשקול תוכנות ריגול.
זה בעצם מרגלים על המשתמש.
היא אוספת מיילים, הודעות SMS.
זה מדליק את המיקרופון.
זה יבול ספר קשר, והיא שולחת אותו למישהו אחר.
סוג זה של תוכנות ריגול קיים במחשב,
כך שזה הגיוני מושלם עבור אנשים כדי לנסות לעשות את זה בהתקנים ניידים.
>> אחת דוגמאות הראשונות לכך היה תכנית בשם Secret SMS Replicator.
זה היה בשוק אנדרואיד לפני כמה שנים,
והרעיון היה אם היה לך גישה לטלפון אנדרואיד של מישהו
שאתה רוצה לרגל אחרי, אז אולי זה בן הזוג שלך
או אחרים משמעותיים שלך ואתה רוצה לרגל הודעות הטקסט שלהם,
אתה יכול להוריד את האפליקציה ולהתקין אותו ולהגדיר אותו
כדי לשלוח הודעת טקסט SMS לך עם העתק
של כל הודעת טקסט SMS שהם קיבלו.
זה כמובן הוא בפרות של תנאי חנות היישומים של שירות,
וזו הוסרה מהשוק דמוי אדם בתוך 18 שעות של אותו להיות שם,
כך מספר קטן מאוד של אנשים היו בסיכון בגלל זה.
עכשיו, אני חושב שאם התכנית הייתה נקראת משהו אולי קצת פחות פרובוקטיבי
כמו הסוד SMS Replicator זה כנראה היה עובד הרבה יותר טוב.
אבל זה היה סוג של המובן מאליו.
>> אחד הדברים שאנו יכולים לעשות על מנת לקבוע אם יש לי אפליקציות ההתנהגות הזאת שאנחנו לא רוצים
הוא לבדוק את הקוד.
זה ממש ממש קל לעשות על אנדרואיד מפני שאנו יכולים לבטל את הידור היישומים.
על iOS אתה יכול להשתמש disassembler כמו Pro IDA
להסתכל על מה שיפיס את האפליקציה קוראת ומה הוא עושה.
כתבנו מנתח סטטי בינארי שלנו לקוד שלנו
ואנחנו עושים את זה, ואז מה שאתה יכול לעשות הוא שאפשר לומר
אין המכשיר לעשות משהו שהוא בעצם מרגל אחרי או מעקב אותי?
ויש לי כמה דוגמאות כאן ב-iPhone.
דוגמא ראשונה זה איך לגשת UUID בטלפון.
זהו למעשה משהו שאפל אסרה רק ליישומים חדשים,
אבל יישומים ישנים שייתכן שפועלים על הטלפון שלך עדיין יכולים לעשות את זה,
וכך מזהה ייחודי יכול לשמש כדי לעקוב אחריך
על פני יישומים רבים ושונים.
>> באנדרואיד, יש לי פה דוגמא של מקבל את המיקום של המכשיר.
אתה יכול לראות שאם ששיחת API יש אפליקציה שעוקבת,
ואתה יכול לראות אם זה מתחיל להיות מיקום קנס או מיקום גס.
ולאחר מכן בתחתית כאן, יש לי דוגמא לאופן שעל בלקברי
יישום יכול לגשת להודעות הדואר האלקטרוני בתיבת הדואר הנכנס שלך.
אלה הם סוג דברים שאתה יכול לבדוק כדי לראות
אם האפליקציה עושה את הדברים האלה.
הקטגוריה שנייה גדולה של התנהגות זדונית, וזה כנראה הקטגוריה הגדולה ביותר עכשיו,
הוא חיוג בלתי מורשה, הודעות SMS פרמיה לא מורשה
או תשלומים לא מורשים.
עוד דבר שמייחד את הטלפון
הוא המכשיר מחובר לחשבון חיוב,
וכאשר פעילויות יקרו בטלפון
זה יכול ליצור חיובים.
ניתן לרכוש דברים בטלפון,
וכשאתה שולח הודעת טקסט SMS פרמיה שאתה בעצם נותן כסף
לבעל החשבון של מספר הטלפון בצד השני.
אלה הוקמו כדי לקבל ציטוטי מניות או לקבל את ההורוסקופ היומי שלך או דברים אחרים,
אבל הם יכולים להיות שהוקמו כדי להזמין מוצר על ידי שליחת טקסט SMS.
אנשים נותנים כסף לצלב האדום על ידי שליחת הודעת טקסט.
אתה יכול לתת 10 דולרים שדרך.
>> התוקפים, מה שהם עשו הוא שהם הקימו
החשבונות במדינות זרות, והם להטביע בתוכנות זדוניות
שהטלפון יהיה לשלוח הודעת טקסט SMS פרמיה,
תגיד, כמה פעמים ביום, ובסוף החודש אתה מבין שאתה כבר בילה
עשרות או אולי אפילו מאות דולרים, והם הולכים משם עם הכסף.
זה החמיר כל כך, שזה היה הדבר הראשון שאנדרואיד
שוק או גוגל המקום שזה היה השוק דמוי אדם באותה העת,
וזה עכשיו Google Play-הדבר הראשון שגוגל החלה בדיקה.
כאשר גוגל החלה להפיץ יישומי אנדרואיד בחנות האפליקציה שלהם
הם אמרו שהם לא הולכים לבדוק כל דבר.
אנחנו למשוך את האפליקציות ברגע שאנחנו כבר הודענו שהם כבר נשברו תנאי שירות שלנו,
אבל אנחנו לא הולכים לבדוק כל דבר.
ובכן, לפני כשנה זה החמיר כל כך עם תוכנות זדוניות הודעת טקסט SMS פרמיה זו
כי זה הדבר הראשון שהם התחילו לבדוק ל.
אם אפליקציה יכולה לשלוח הודעות טקסט SMS
הם לבחון נוספים באופן ידני יישום זה.
הם מחפשים APIs שקורא לזה,
ועכשיו מאז גוגל הרחיבה,
אבל זה היה הדבר הראשון שהם התחילו לחפש.
>> כמה אפליקציות אחרות שעשו כמה הודעות SMS,
אנדרואיד Qicsomos זה, אני מניח שזה נקרא.
היה אירוע הנוכחי זה בנייד שבי CarrierIQ זה יצא
כמו לשים את תוכנת ריגול במכשיר על ידי הספקים,
כך שאנשים רצו לדעת אם הטלפון שלהם היה חשוף לזה,
וזה היה יישום חינם שנבדק ש.
ובכן, כמובן, מה את היישום הזה עשה היה זה שנשלח הודעות טקסט SMS פרימיום,
זאת על ידי בדיקה כדי לראות אם אתם נגועים בתוכנות ריגול
שטענת תוכנות זדוניות על גבי המכשיר שלך.
אנחנו ראינו את אותו הדבר קורה בסופרבול האחרון.
הייתה גרסה מזויפת של משחק כדורגל מאדן
ששלח הודעות טקסט SMS פרמיה.
זה בעצם ניסה ליצור רשת בוט מדי במכשיר.
כאן יש לי כמה דוגמאות.
מעניין מספיק, אפל היה די חכם,
והם לא יאפשרו יישומים כדי לשלוח הודעות טקסט SMS בכלל.
אין יישום יכול לעשות את זה.
זו דרך להיפטר מכיתה של פגיעות גדולה כולו,
אבל על אנדרואיד אתה יכול לעשות את זה, וכמובן, בלקברי שאתה יכול לעשות את זה יותר מדי.
זה מעניין, כי בלקברי כל מה שאתה צריך זה הרשאות אינטרנט
כדי לשלוח הודעת טקסט SMS.
>> דבר האחר באמת שאנחנו מחפשים
כאשר אנחנו מסתכלים כדי לראות אם משהו הוא זדוני הוא רק כל סוג של
פעילות לא מורשה לרשת, כמו להסתכל על פעילות הרשת
האפליקציה אמורה צריך את הפונקציונליות שלו,
ולהסתכל על פעילות אחרת ברשת זו.
אולי אפליקציה, לעבודה, יש לקבל נתונים על גבי HTTP,
אבל אם הוא עושה דברים על דואר אלקטרוני או SMS או Bluetooth או משהו כזה
כעת אפליקציה שעלולה להיות זדונית, אז זה עוד דבר שאתה יכול לבדוק ל.
ועל השקופית הזאת כאן יש לי כמה דוגמאות לכך.
עוד דבר מעניין שראינו בתוכנה זדונית שקרה ב2009
וזה קרה בצורה גדולה.
אני לא יודע אם זה קרה כל כך הרבה מאז, אבל זה היה אפליקציה
שהתחזה ליישום אחר.
הייתה קבוצה של יישומים, וזה זכה לכינוי התקפת 09Droid,
ומישהו החליט שיש הרבה בנקים קטנים, אזוריים, בגודל בינוני
כי לא הייתה לי יישומי בנקאות מקוונים,
אז מה שהם עשו היה שהם בנו על 50 יישומי בנקאות מקוונים
שכל מה שהם עשו היה לקחת את שם המשתמש וסיסמא
ולהפנות אותך לאתר.
ואז הם שמו את כל אלה בGoogle Marketplace,
בשוק דמוי אדם, וכאשר מישהו חיפש כדי לראות אם הבנק שלהם
היה יישום שהם ימצאו את היישום המזויף,
אשר אסף את אישורי שלהם ולאחר מכן יופנה אותם לאתר האינטרנט שלהם.
הדרך שזה בעצם הפך-האפליקציות היו שם במשך כמה שבועות,
והיו אלפים ואלפי הורדות.
>> בדרך זו יצאה לאור הייתה מישהו נתקל בבעיה
עם אחד מהיישומים, והם קראו לבנק שלהם,
והם נקראים קו תמיכת לקוחות של הבנק שלהם ואמרו,
"יש לי בעיה עם יישום הבנקאות הנייד שלך."
"האם אתה יכול לעזור לי?"
והם אמרו, "אין לנו יישום בנקאות נייד."
שהתחיל את החקירה.
הבנק שנקרא גוגל, ולאחר מכן גוגל הסתכלה ואמרה,
"וואו, אותו מחבר כתב 50 יישומים בנקאיים," ולקח את כולם.
אבל בהחלט זה יכול לקרות שוב.
יש הרשימה של כל הבנקים השונים כאן
שהיו חלק מהונאה זו.
הדבר האחר אפליקציה יכולה לעשות הוא להציג את ממשק המשתמש של יישום אחר.
בזמן שהוא פועל זה יכול לצוץ ממשק משתמש פייסבוק.
זה אומר שאתה צריך להכניס את שם המשתמש והסיסמה שלך כדי להמשיך
או לשים את כל שם משתמש וממשק משתמש סיסמא עבור אתר אינטרנט
שאולי המשתמש משתמש רק כדי לנסות להערים על המשתמשים
לתוך לשים את אישורי שלהם פנימה
זה באמת מקביל ישר של ההתקפות פישינג דוא"ל
שבו מישהו שולח לך הודעת דואר אלקטרוני
ונותן לך בעצם ממשק משתמש מזויף לאתר
כי יש לך גישה אליו.
>> הדבר האחר שאנחנו מחפשים בקוד זדוני הוא שינוי מערכת.
אתה יכול להסתכל לכל קריאות API שדורשות זכות שורש
להוציא לפועל בצורה נכונה.
שינוי פרוקסי האינטרנט של המכשיר יהיה משהו שיישום
לא אמור להיות מסוגל לעשות.
אבל אם היישום יש שם קוד כדי לעשות את זה
אתה יודע שזה כנראה יישום זדוני
או מאוד מאוד צפוי להיות יישום זדוני,
ואז מה שיקרה הוא שאפליקציה תהיה דרך כלשהי של הסלמת זכות.
זה היה קצת הסלמת זכות לנצל
ביישום, ולאחר מכן ברגע שהסלים הרשאות
זה הייתי עושה את השינויים האלו מערכת.
אתה יכול למצוא את תוכנות זדוניות כי יש הסלמת הרשאות
בזה אפילו בלי לדעת איך הסלמת ההרשאות
לנצל עומד לקרות, ושזו דרך נחמדה, קלה
כדי לחפש תוכנות זדוניות.
DroidDream היה כנראה החתיכה של תוכנות זדוניות אנדרואיד המפורסם ביותר.
אני חושב שזה השפיע על כ -250,000 משתמשים על פני כמה ימים
לפני שהוא נמצא.
הם ארזו מחדש 50 יישומים מזויפים,
לשים אותם בחנות יישומי אנדרואיד,
ובעצם זה היה קוד jailbreak אנדרואיד להסלים הרשאות
ולאחר מכן להתקין את פיקוד ושליטה ולהפוך את כל הקורבנות
לרשת בוט, אבל אתה יכול לזהות את זה
אם היית סורק את הבקשה ורק מחפש
API שיחות שרשות שורש דרוש לביצוע בצורה נכונה.
>> ויש דוגמא כאן יש לי שהוא משנה את ה-proxy,
וזה בעצם רק זמין באנדרואיד.
אתה יכול לראות שאני נותן לך הרבה דוגמאות על אנדרואיד
כי זה מקום שבו המערכת האקולוגית תוכנות זדוניות הפעילה ביותר היא
בגלל שזה ממש קל לפורץ לקבל קוד זדוני
לתוך שוק אנדרואיד.
זה לא כל כך קל לעשות את זה ב-App Store של אפל
כי אפל דורש למפתחים לזהות את עצמם
ולחתום על הקוד.
הם בעצם לבדוק מי אתה, ואפל הוא למעשה בוחן את היישומים.
אנחנו לא רואים הרבה תוכנות זדוניות אמיתיים שבו המכשיר הוא מקבל בסכנה.
אני אדבר על כמה דוגמאות שבו זה באמת פרטיות שמקבל בסכנה,
וזה מה שבאמת קורה במכשיר של אפל.
דבר נוסף שיש לחפש קוד זדוני, קוד מסוכן במכשירים
הוא פצצות היגיון או זמן, ופצצות זמן הם כנראה
הרבה יותר קל לחפש מאשר פצצות היגיון.
אבל עם פצצות זמן, מה שאתה יכול לעשות הוא שאתה יכול לחפש
מקומות בקוד שבו הזמן עומד למבחן או זמן מוחלט הוא חיפש
לפני פונקציונלי מסוימים באפליקציה קורה.
ואת זה ניתן לעשות כדי להסתיר את הפעילות שמן המשתמש,
כך זה קורה בשעתי הלילה מאוחר.
DroidDream עשה את כל פעילותה 11:00-08:00 זמן מקומי
כדי לנסות לעשות את זה בזמן שהמשתמש לא יכול להיות שימוש במכשיר שלהם.
>> סיבה נוספת לעשות זאת היא אם אנשים משתמשים בניתוח התנהגות של יישום,
מפעיל את האפליקציה בארגז חול כדי לראות מה היא ההתנהגות של היישום,
הם יכולים להשתמש בהיגיון מבוסס זמן לעשות פעילות
כאשר האפליקציה אינה בארגז החול.
לדוגמא, חנות יישומים כמו אפל
מפעיל את היישום, אבל הם כנראה לא להפעיל כל יישום, למשל, 30 ימים
לפני האישור זה, אז אתה יכול לשים
היגיון ביישום שלך שאמרו, בסדר, רק לעשות את הדבר הרע
לאחר 30 ימים חלפו או לאחר 30 ימים לאחר תאריך הפרסום של הבקשה,
ושיכול לעזור להסתיר את הקוד הזדוני מאנשים שבודקים אותו.
אם חברות אנטי וירוס פועלות דברים בארגזי חול
או חנויות היישומים עצמם זה יכול לעזור
להסתיר את זה מבדיקה ש.
עכשיו, הצד השני של המטבע הוא שזה קל למצוא עם ניתוח סטטי,
כך למעשה בודק את הקוד אתה יכול לחפש את כל המקומות
שבו היישום בודק את הזמן ולבדוק בדרך זו.
וכאן יש לי כמה דוגמאות על 3 פלטפורמות שונות אלה
איך שזמן יכול להיבדק על ידי יצרנית האפליקציה
אז אתה יודע מה לחפש אם אתה בוחן את היישום באופן סטטי.
>> אני פשוט עברתי חבורה של פעילויות זדוניות אחרות לגמרי
שראינו בטבע, אבל אילו הם הנפוצים ביותר?
באותו מחקר מצפון קרוליינה סטייט הנייד פרויקט הגנום
פורסם כמה נתונים, והיו בעצם 4 אזורים
כי הם ראו שהיו בו הרבה פעילות.
37% מהאפליקציות עשו הסלמת הרשאות,
ולכן הם היו איזה סוג של קוד jailbreak שם
שבו הם ניסו להסלים הרשאות, כך שהם יכולים
אין פקודות API פועלות כמערכת ההפעלה.
45% מהאפליקציות שם בחוץ עשו SMS פרימיום,
אז זה אחוז עצום, שמנסה להפיק רווחים באופן ישיר.
93% עשו בשלט רחוק, ולכן הם ניסו להקים רשת בוט, רשת בוט הנייד.
ו45% נקטפו פרטים מזהים
כמו מספרי טלפון, UUIDs, מיקום GPS, חשבונות המשתמשים,
וזה מסתכם ליותר מ -100 כי רוב תוכנות זדוניות מנסה לעשות כמה מהדברים האלה.
>> אני הולך לעבור למחצית השנייה ולדבר על נקודות התורפה בקוד.
זה במחצית השנייה של הפעילות מסוכנת.
זה מקום בו למעשה את המפתח הוא עושה טעויות.
יזם לגיטימי כתיבת אפליקציה לגיטימית
הוא עושה טעויות או אינו מודע לסיכונים של הפלטפורמה הניידת.
הם פשוט לא יודעים איך לעשות אפליקציה מאובטחת ניידת,
או לפעמים היזם לא אכפת לשים את המשתמש בסיכון.
לפעמים חלק מהמודל העסקי שלהם עשוי להיות
קצירת המידע האישי של המשתמש.
זה סוג של הקטגוריה אחרת, וזו הסיבה שחלק מזה זדוני
לעומת התחלות לגיטימיות לדמם מעל בגלל שיש חילוקי דעות
בין מה שהמשתמש רוצה ומה שהמשתמש רואה מסוכן
ומה מפתח היישום רואה מסוכן.
כמובן, זה לא נתונים של מפתח היישום ברוב המקרים.
>> ולבסוף, דרך נוספת זה קורה היא שקבלן עשוי לקשר ב
ספרייה משותפת שיש לו נקודות תורפה או התנהגות מסוכנת זה בזה
ללא ידיעתם.
הקטגוריה הראשונה היא דליפת מידע רגישה,
וזה כאשר האפליקציה אוספת מידע
כמו מיקום, פרטי בעלי מידע בפנקס כתובות
ושולח את המכשיר.
וברגע זה את המכשיר, אנחנו לא יודעים מה קורה עם המידע הזה.
זה יכול להיות מאוחסן לא מאובטח על ידי מפתח היישום.
ראינו מפתחי יישומים מקבלים בסכנה,
ואת הנתונים שהם מקבל אחסון נלקח.
זה קרה לפני כמה חודשים לפיתוח בפלורידה
שבו מספר עצום של-זה היה UUIDs iPad ושמות מכשיר
הודלפו בגלל שמישהו, אני חושב שזה היה בעילום שם,
טען לעשות את זה, פרץ לשרתים של המפתחים
וגנב מיליונים iPad UUIDs
ושמות מחשב.
לא המידע מסוכן ביותר,
אבל מה אם זה היה האחסון של שמות משתמש וסיסמאות
וכתובות בבית?
יש הרבה אפליקציות שמאחסנות מידע מסוג הזה.
הסיכון הוא שם.
>> הדבר האחר שיכול לקרות הוא אם היזם לא דואג
כדי לאבטח את ערוץ הנתונים, וזה עוד פגיעות גדולות אני הולך לדבר עליו,
נתונים שנשלחים בברור.
אם המשתמש מחובר לרשת Wi-Fi ציבורית
או מישהו מרחרח את האינטרנט למקום
לאורך נתיב נתונים שנחשפים.
מקרה מפורסם מאוד אחד של דליפת מידע זה קרה עם פנדורה,
וזה משהו שאנחנו נחקרו בVeracode.
שמע שהיה שם, אני חושב שזה היה ועדת סחר פדרלי
חקירה קורה עם פנדורה.
אנחנו אמרתי, "מה קורה שם? בואו נתחיל לחפור לתוך יישום פנדורה".
ומה שאנחנו נחושים היה יישום פנדורה שנאסף
מינך וגילך,
וזה גם לגשת מיקום GPS שלך, ואת יישום פנדורה
עשיתי את זה למה שהם אמרו היו סיבות לגיטימיות.
המוזיקה שהם מנגנים, פנדורה היא אפליקציה-הזרמת מוסיקה
המוזיקה שהם ניגנו הייתה מורשה רק בארצות הברית,
כך הם היו צריכים לבדוק כדי לעמוד בהסכמי הרישיון שלהם, כי לא היו להם
למוזיקה שהמשתמש היה בארצות הברית.
הם גם רצו לעמוד בייעוץ ההורי
סביב שפה בוגרת במוסיקה,
ולכן מדוברים בתכנית מרצון, אבל הם רצו לעמוד בכי
ולא לשחק במילים מפורשות לילדים 13 ומטה.
>> היה להם סיבות לגיטימיות לאיסוף נתונים אלה.
הייתה לי האפליקציה שלהם ההרשאות לעשות את זה.
משתמשים חשבו שזה לגיטימי. אבל מה קרה?
הם מקושרים ב3 או 4 ספריות שונות של מודעות.
עכשיו כל כל ספריות אלו של מודעות פתאומיות
מקבלים גישה לאותו מידע זה.
הספריות של מודעה, אם אתה מסתכל על הקוד בספריות מודעה
מה שהם עושים הוא כל ספריית מודעה אומרת
"האם יש לאפליקציה שלי אישור לקבל את מיקום ה-GPS?"
"אה, זה? אוקיי, יגיד לי מיקום GPS".
כל ספריית מודעות אחת עושה את זה,
ואם היישום אין הרשאת GPS
זה לא יהיה מסוגל לקבל את זה, אבל אם זה יקר, זה יהיה לקבל את זה.
זה מקום בו המודל העסקי של ספריות מודעה
מתנגד לפרטיות של המשתמש.
ויש כבר מחקרים שם בחוץ, כי אומר שאם אתה יודע את הגיל
של אדם, ואתה יודע את המיקום שלהם
שבו הם ישנים בלילה, כי יש לך קואורדינטות ה-GPS שלהם
בזמן שהם אולי ישנים, אתה יודע בדיוק מי הוא אותו האדם
כי אתה יכול לקבוע איזה מבני משק הבית שהוא אותו האדם.
באמת זו היא זיהוי למפרסמים
בדיוק מי שאתה, וזה נראה כאילו זה היה לגיטימי.
אני רק רוצה הזרמת המוזיקה שלי, וזו הדרך היחידה להשיג את זה.
>> ובכן, אנחנו נחשפים זה.
כתבנו את זה בכמה פוסטים,
והתברר שמישהו ממגזין רולינג סטון
לקרוא אחד שנכתב בבלוג שלנו וכתב בבלוג שלהם ברולינג סטון על זה,
ולמחרת פנדורה חשב שזה רעיון טוב
כדי להסיר את ספריות מודעה מהיישום שלהם.
עד כמה שאני יודע שהם, הם רק יש לברך.
אני חושב שהם סוג Freemium היחיד של אפליקציה שעשה את זה.
כל האפליקציות Freemium האחרות אותה התנהגות זו,
כך שיש לך לחשוב על איזה סוג של נתונים שאתה נותן
יישומי Freemium האלה כי זה כל הולך למפרסמים.
הפרטוריאני גם עשה מחקר על ספריות משותפות ואמר,
"בואו נסתכל על מה שמשותף ספריות הן הספריות משותפות העליונים," וזו הייתה נתונים.
>> הם ניתחו 53,000 אפליקציות,
והספרייה המשותפת מספר 1 הייתה Admob.
זה היה ממש ב38% מהיישומים שם בחוץ,
כך 38% מהיישומים שאתה משתמש
סביר להניח שקצירת המידע האישי שלך
ולשלוח אותו לרשתות הפרסום.
אפצ'י ואנדרואיד היו 8% ו -6%,
ואז האחרים למטה אלה בתחתית, מודעות גוגל, פרץ,
מאפיה עיר ואלף שנתי מדיה,
כל אלה הם חברות הפרסום, ולאחר מכן, מעניין מספיק,
4% צמודים בספריית פייסבוק
כנראה לעשות אימות דרך פייסבוק
אז האפליקציה יכולה לאמת את פייסבוק.
אבל זה גם אומר התאגיד פייסבוק שולט קוד
שפועל ב 4% מאפליקציות אנדרואיד הניידים שם בחוץ,
ויש להם גישה לכל הנתונים שיש אפליקציה שרשות תקבל ב.
פייסבוק בעצם מנסה למכור שטחי פרסום.
זה המודל העסקי שלהם.
>> אם אתה מסתכל על מערכת אקולוגית כולה זה עם הרשאות אלה
וספריות משותפות אתה מתחיל לראות ש
יש לך הרבה סיכון ביישום כביכול לגיטימי.
אותו הדבר הדומה שקרה עם פנדורה
קרה עם יישום בשם נתיב,
הנתיב חשב שהם מפתחים מועילים וידידותיים.
הם פשוט ניסו לתת לך חוויית משתמש מעולה,
והתברר כי מבלי להציג הודעה למשתמש או לספר את משתמש דבר-
וזה קרה ב-iPhone ועל אנדרואיד,
האפליקציה פנדורה הייתה ב-iPhone ו-Android-
כי יישום השביל היה תופס את פנקס הכתובות שלך כל
והעלאתו לנתיב רק בעת התקנה וניהלה את היישום,
והם לא ספרו לך על זה.
הם חשבו שזה היה ממש מועיל לך
כדי להיות מסוגל לחלוק עם כל האנשים בפנקס הכתובות שלך
שאתה משתמש ביישום הנתיב.
>> ובכן, ברור נתיב חשב שזה נהדר עבור החברה שלהם.
לא כל כך גדול למשתמש.
אתה צריך לחשוב שזה דבר אחד, אם אולי בגיל התבגרות
משתמש ביישום זה ועשרות חבריהם נמצאים שם,
אבל מה אם זה המנכ"ל של חברה שמתקינה נתיב
ולאחר מכן את כל ספר כתובות שלהם פתאומי כולו הוא שם למעלה?
אתה הולך לקבל הרבה מידע ליצירת קשר בעל ערך פוטנציאלי
להרבה אנשים.
כתב ניו יורק טיימס, ייתכן שתוכל לקבל את מספר הטלפון
לנשיאים לשעבר מפנקס הכתובות שלהם,
אז ברור שהרבה מידע רגיש מועבר עם משהו כזה.
היה דש כזה גדול על זה הנתיב שהתנצל.
הם שינו את האפליקציה שלהם, ואפילו זה השפיע על אפל.
אפל אמר, "אנחנו הולכים להכריח ספקי יישום לבקש ממשתמשים
אם הם הולכים לאסוף את פנקס הכתובות של כולם ".
>> זה נראה כמו מה שקורה כאן הוא
כאשר יש פגיעה בפרטיות אחד גדולה וזה עושה את העיתונות
אנו רואים שינוי בחוץ.
אבל כמובן, יש דברים אחרים שם בחוץ.
יישום LinkedIn יבול ערכי לוח השנה שלך,
אבל אפל לא עושה המשתמש שתתבקש על זה.
ערכי לוח שנה יכולים להיות מידע רגיש באותם יותר מדי.
לאן אתה הולך למתוח את הקו?
זה באמת סוג של מקום מתפתח
שבו באמת אין רמה טובה שם בחוץ
למשתמשים להבין את המידע שלהם כאשר הוא הולך להיות בסיכון
וכאשר הם הולכים יודעים שזה נלקח.
כתבנו אפליקציה בVeracode נקראת Adios,
ובעצם זה מותר לך להצביע האפליקציה בספריית ה-iTunes שלך
ולהסתכל על כל היישומים שמסקו את פנקס הכתובות שלך מלא.
וכפי שאתם יכולים לראות ברשימה זו כאן, ציפורים כועסת,
AIM, AroundMe.
מדוע ציפורים כועסים צריכות את פנקס הכתובות שלך?
אני לא יודע, אבל זה איכשהו.
>> זה משהו שיישומים רבים, רבים עושים.
אתה יכול לבדוק את הקוד לזה.
יש ממשקי API מוגדרים היטב עבור iPhone, Android ו-BlackBerry
כדי להגיע לפנקס הכתובות.
אתה יכול ממש בקלות לבדוק את זה, וזה מה שעשינו ביישום Adios שלנו.
הקטגוריה הבאה, אחסון נתונים רגיש לא בטוח,
הוא משהו שבו מפתחים לקחת משהו כמו סיכה או מספר חשבון
או סיסמא ולאחסן אותו בברור על המכשיר.
חמור מכך, הם עלולים לשמור אותו באזור בטלפון
שהוא בעולם נגיש, כמו כרטיס SD.
אתה רואה את זה לעתים קרובות יותר על אנדרואיד משום אנדרואיד מאפשר לכרטיס SD.
מכשירי ה-iPhone לא.
אבל גם ראינו את זה קורה ביישום סיטיגרופ.
יישום הבנקאות המקוון שלהם מאוחסן מספרי החשבון לא מאובטח,
רק בברור, כך שאם אתה איבדת את המכשיר שלך,
בעצם איבד את חשבון הבנק שלך.
זו הסיבה שאני באופן אישי לא עושה בנקאות ב-iPhone שלי.
אני חושב שזה מסוכן מדי עכשיו לעשות סוגים שונים של פעילויות אלה.
>> סקייפ עשה את אותו הדבר.
סקייפ, כמובן, יש את יתרת חשבון, שם משתמש וסיסמא
כי הגישה איזון.
הם היו לאחסן את כל מידע שבברור על המכשיר הנייד.
יש לי כמה דוגמאות כאן של יצירת קבצים
שאין להם את ההרשאות המתאימות או כתיבה לדיסק
ושלא כל הצפנה לקרות בשביל זה.
אזור זה הקרוב, שידור נתונים רגיש לא בטוח,
אני כבר רמזתי על זה כמה פעמים, ובגלל Wi-Fi הציבורית
זה משהו שיישומים בהחלט צריך לעשות,
וזה כנראה מה שאנחנו רואים להשתבש ביותר.
הייתי אומר, למעשה, אני חושב שיש לי את הנתונים בפועל,
אבל זה קרוב למחצית מהיישומים הניידים
לפשל עושה ב-SSL.
הם פשוט לא להשתמש בממשקי API בצורה נכונה.
אני מתכוון, כל מה שאתה צריך לעשות הוא לעקוב אחר ההוראות ולהשתמש בממשקי API,
אבל הם דברים כמו לא לבדוק אם יש אישור לא חוקי בקצה השני,
לא בודק אם הצד השני מנסה לעשות התקפת הורדת פרוטוקול.
>> המפתחים, הם רוצים לקבל את תיבת הסימון שלהם, נכון?
הדרישה שלהם היא להשתמש בזה כדי למכור. הם כבר השתמשו בזה למכור.
הדרישה היא שלא להשתמש בזה כדי למכור באופן מאובטח,
ולכן זו הסיבה שכל היישומים המשתמשים ב-SSL כדי לאבטח את הנתונים
כפי שזה המשודר מהמכשיר באמת צריך להיבדק
לוודא כי יושם בצורה נכונה.
וכאן יש לי כמה דוגמאות שבו אתה יכול לראות יישום
יכול להיות באמצעות HTTP במקום HTTPS.
בחלק ממקרי אפליקציות ייפלו חזרה לHTTP
אם HTTPS לא עובד.
יש לי עוד שיחה כאן על אנדרואיד שבו הם כבר בטלו את צ'ק התעודה,
כך התקפת אדם-in-the-באמצע יכולה לקרות.
אישור לא חוקי יתקבל.
כל אלה הם מקרים בהם תוקפים הולכים להיות מסוגל לקבל על
את אותו חיבור Wi-Fi כמשתמש וגישה לכל הנתונים
שנשלח דרך האינטרנט.
>> ולבסוף, הקטגוריה האחרונה יש לי כאן היא סיסמא ומפתחות קידוד.
אנחנו בעצם רואים הרבה מפתחים להשתמש באותו סגנון הקידוד
שהם עשו כשהם היו בבניין יישומי שרת האינטרנט,
כך הם בונים יישום שרת ג'אווה, והם hardcoding את המפתח.
ובכן, כאשר אתה בונה יישום שרת, כן,
hardcoding המפתח הוא לא רעיון טוב.
זה עושה את זה קשה לשנות.
אבל זה לא כל כך רע בצד השרת, כי יש לו גישה לצד השרת?
רק המנהלים.
אבל אם אתה לוקח את אותו קוד ואתה שפך אותו ליישומים ניידים
עכשיו כל מי שיש לו שיש לו יישומים ניידים גישה לכי מפתח קידוד,
ואנחנו באמת רואים את זה הרבה פעמים, ויש לי כמה נתונים סטטיסטיים
בכמה פעמים אנחנו רואים את זה קורה.
זה באמת היה בדוגמא הקוד שמסטרקארד פורסם
כיצד להשתמש בשירות שלהם.
קוד הדוגמא הראה כיצד היית לוקח רק את הסיסמה
ולשים אותו במחרוזת קידוד ממש שם,
ואנחנו יודעים איך מפתחים אוהבים להעתיק ולהדביק קטעי קוד
כשהם מנסים לעשות משהו, אז אתה להעתיק ולהדביק את קטע הקוד
שהם נתנו כדוגמא את הקוד, ויש לך יישום חסר ביטחון.
>> והנה יש לנו כמה דוגמאות.
ראשון זהו אחד אנו רואים הרבה שבה הם hardcode
זכות הנתונים לכתובת אתר שנשלח.
לפעמים אנחנו רואים את הסיסמה של מחרוזת = סיסמא.
זה די קל לזהות, או את הסיסמה של מחרוזת בלקברי ואנדרואיד.
זה בעצם די קל לבדוק, כי כמעט תמיד
מפתח השמות משתנים שמחזיק את הסיסמה
גרסה כלשהי של סיסמא.
ציינו שאנחנו עושים ניתוח סטטי בVeracode,
אז אנחנו כבר ניתחנו כמה מאה יישומי אנדרואיד ו-iOS.
בנינו מודלים מלאים בהם, ואנחנו יכולים לסרוק אותם
לנקודתי תורפה שונות, בעיקר את נקודות התורפה שדיברתי עליו,
ויש לי כמה נתונים כאן.
68.5% מאפליקציות אנדרואיד הסתכלנו
הפר את קוד הצפנה,
אשר לנו, אנחנו לא יכולים לזהות אם ביצענו שיגרתי הצפנה משלך,
לא שזה רעיון טוב, אבל זה הוא למעשה שימוש בממשקי API שפורסם
כי הם על הפלטפורמה אבל עושה אותם בצורה כזאת
שההצפנה תהיה פגיעה, 68.5.
וזה לאנשים ששולחים לנו את היישומים שלהם דווקא בגלל
הם חושבים שזה רעיון טוב לעשות את הבדיקות ביטחוניות.
אלה הם כבר אנשים שבטח חושבים באופן מאובטח,
אז זה כנראה אפילו יותר גרוע.
>> אני לא מדבר על זריקת הזנת שורת שליטה.
זה משהו שאנחנו בודקים ל, אבל זה לא כל כך מסוכן נושא.
דליפת מידע, זה שבו מידע רגיש שנשלח מהמכשיר.
מצאנו כי ב40% מהיישומים.
זמן ומדינה, אלה הם סוגיות סוג מצב גזע, בדרך כלל די קשה לנצל,
אז אני לא מדבר על זה, אבל אנחנו מסתכלים על זה.
היו לי 23% בעיות הזרקת SQL.
הרבה אנשים לא יודעים שהרבה יישומים
להשתמש במסד נתוני SQL קטן קטן בקצה האחורי שלהם לאחסון נתונים.
ובכן, אם הנתונים שאתה תופס ברשת
יש מחרוזות התקפת הזרקת SQL בזה
מישהו יכול לסכן את המכשיר דרך זה,
ולכן אני חושב שאנו מוצאים על 40% מיישומי אינטרנט יש את הבעיה הזאת,
אשר מהווה בעיה המגיפה ענק.
אנחנו מוצאים את זה 23% מהזמן ביישומים ניידים
וזה כנראה בגלל שהרבה יותר יישומי אינטרנט להשתמש ב-SQL מאשר נייד.
>> ואז אנחנו עדיין רואים כמה Scripting בין אתרים, נושאי אישור,
ולאחר מכן ניהול אישורים, זה שבו יש לך את הסיסמה של הקידוד שלך.
ב 5% מהיישומים שאנו רואים את זה.
ואז יש לנו כמה נתונים על iOS.
היו לי 81% נושאי טיפול בשגיאות.
זה יותר בעיה באיכות קוד,
אבל לא היו לי 67% נושאי הצפנה, ולכן לא ממש גרועים כמו אנדרואיד.
אולי APIs הוא קצת יותר קל, את קודי הדוגמא קצת יותר טוב על iOS.
אבל עדיין מדובר באחוז גבוה מאוד.
היו לנו 54% עם דליפת מידע,
כ 30% עם שגיאות ניהול מאגר.
זה מקומות שבם פוטנציאל יכולה להיות שיש בעיה של ניזק לזיכרון.
מתברר שזה לא באותה מידה של בעיה לניצול
על iOS משום שכל הקוד צריך להיות חתום,
לכן קשה לתוקף לבצע קוד שרירותי על iOS.
איכות קוד, חציית ספריות, אבל אז אישורי ניהול כאן ב14.6%,
כל כך גרוע מאשר על אנדרואיד.
יש לנו אנשים שלא מטפלים בסיסמות בצורה נכונה.
ואז טעויות מספריות וגלישת מאגר,
אלה יותר הולכים להיות בעיות באיכות קוד על iOS.
>> זה היה אותו למצגת שלי. אני לא יודע אם אהיה לנו את הזמן או לא.
אני לא יודע אם יש שאלות.
[זכר] שאלה מהירה סביב פיצול ושוק אנדרואיד.
אפל לפחות בעלות תיקון.
הם עושים עבודה טובה של מקבל את זה בחוץ ואילו פחות מכך במרחב אנדרואיד.
אתה כמעט צריך jailbreak הטלפון שלך כדי להישאר מעודכן
עם שחרורו הנוכחי של אנדרואיד.
כן, זה בעיה ענקית ולכן אם אתם חושבים על-
[זכר] למה אתה לא יכול לחזור על זה?
>> אה, נכון, אז השאלה הייתה מה לגבי פיצול
של מערכת ההפעלה על פלטפורמת אנדרואיד?
איך זה משפיע על הסיכון של המכשירים האלה?
וזה באמת הוא בעיה ענקית, כי מה שקורה הוא
מכשירים הישנים יותר, כאשר מישהו בא עם jailbreak למכשיר זה,
בעצם זה הסלמת הרשאות, ועד שמערכת ההפעלה מעודכנת
אז כל תוכנות זדוניות יכולות להשתמש בפגיעות שלהתפשר המכשיר לחלוטין,
ומה שאנחנו רואים באנדרואיד הוא על מנת לקבל את מערכת הפעלה חדשה
לגוגל יש לכבות את מערכת ההפעלה, ולאחר מכן ליצרן החומרה
יש להתאים אותו, ולאחר מכן הנשא צריך להתאים אותו ולספק אותו.
יש לך בעצם 3 חלקים נעים כאן,
וזה הופך את זה לא אכפת לי הספקים,
ולא אכפת לי יצרני החומרה, וגוגל אינה דוחפת אותם מספיק
לעשות שום דבר, ולכן למעשה יותר ממחצית המכשירים שם בחוץ
יש מערכות הפעלה שיש נקודות תורפה הסלמת הרשאות אלה בהם,
ולכן אם אתה מקבל תוכנה זדונית במכשיר אנדרואיד שזה הרבה יותר של בעיה.
>> אוקיי, תודה רבה לך.
[מחיאות כפיים]
[CS50.TV]