עשרת הסיכונים הגדולים ביותר בכתיבת mobile application

עשרת הסיכונים הגדולים ביותר בכתיבת mobile application

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

בינוני 6,848 צפיות

מה תצטרך

  • אבטחת מידע בסלולר
  • יישומי מובייל
  • תכנות מאובטח
  • אנדרואיד
  • iphone

שלבים

  1. 1

    שלב 1

    שלב 1
    הסיכון: שמירת מידע מקומי על המכשיר באופן לא מאובטח. עלול להשליך על: איבוד מידע, גניבת זהות וסיסמאות, פרטיות, עמידה בתקנים. בד"כ נובע מהגורמים הבאים: אי הצפנה, caching,הרשאות נרחבות מדי, אי שימוש ב- platform best practice. דוגמא: שימוש באחסון מקומי לשמירת שם וסיסמא אם מסומן "זכור אותי" בהזדהות ליישום. מניעה: שמירת מידע נחוץ בלבד,לא להשתמש בהתקנים ציבוריים כמו sdcard,הצפנה והרשאות מדויקות.
  2. 2

    שלב 2

    הסיכון: יישומוני צד שרת חלשים. עלול להשליך על: איבוד מידע, גניבת זהות וסיסמאות, אמינות המידע, עמידה בתקנים. בד"כ נובע מהגורמים הבאים: מתן אמון גדול מידי בתוכנת לקוח. דוגמאות: כל הבעיות של אתרי אינטרנט: xss, csrf injection וכו'. מניעה:למידת ה- owasp top 10 + הבנת הסיכונים הנוספים של יישומי מובייל.
  3. 3

    שלב 3

    הסיכון: אי הגנה על התקשורת בתווך. עלול להשליך על: התקפות האזנה, אמינות המידע, גניבת זהות, עמידה בתקנים. בד"כ נובע מהגורמים הבאים: אי הצפנת התקשורת, או הצפנה, אבל התעלמות מהודעות אזהרה. דוגמא:google clientlogon auth protocol. ה- authorization header עובר ב- http, ובהאזנה (sniff) למשל בגישת wifi, השרות חשוף להתחזות. מניעה: לוודא שמידע רגיש הוא מוצפן, ולחנך משתמשים לא להתעלם מהודעות אזהרה !
  4. 4

    שלב 4

    הסיכון: הזרקת צד-לקוח - client side injection עלול להשליך על: השתלטות מרוחקת, privilege escalation. בד"כ נובע מהגורמים הבאים: פגיעויות צד שרת כמו xss, html injection. בעיות חדשות: שליחת SMS מהמכשיר, תשלום מהמכשיר, שימוש בחייגן. דוגמא: צד השרת (hybrid app web+clientapp) חשו, ל- XSS, ומורץ javascript שפונה לפונקציונליות ה- SMS במכשיר. מניעה: סניטצית קלט בצד השרת, צמצום השרותים הרגישים שעובדים ב- hybrid.
  5. 5

    שלב 5

    הסיכון: הזדהות והרשאות (authentication and authorization ) חלשים. עלול להשליך על: גישה ללא אישור ,privilege escalation. בד"כ נובע מהגורמים הבאים: שימוש בערך חלש כגון מספר מכשיר או uuid לזיהוי. מזההים חומרתי שלא נמחקים. מניעה: שימוש בתשתיות הזדהות של היצרן, ויישום של הזדהות חזקה עם מספר פאקטורים.
  6. 6

    שלב 6

    ניהול לא תקין של חיבורים (improper session handling). עלול להשליך על: גישה ללא אישור ,privilege escalation. בד"כ נובע מהגורמים הבאים: נוחות ושימושיות - ה- session id בד"כ ארוך מאד. מניעה: הזדהות מחדש גם באמצע עבודה (למשל בגישה לנתונים חסויים). פיתוח יכולת ביטול session.
  7. 7

    שלב 7

    החלטות אבטחה לפי קלטים לא אמינים - (Security Decisions Via Untrusted Inputs) עלול להשליך על: גישה ללא אישור ,privilege escalation, איבוד מידע. בד"כ נובע מהגורמים הבאים: ב- IOS: abusing url schems, באנדרואיד: Abusing Intents דוגמא: יצירת שיחה ללא רצון המשתמש ב- skype ע"י החדרת קוד באתר אינטרנט (עם אייפריים) מניעה: זיהוי המקור בקלטים, הקפצת מסכי אישור נוספים ללקוח, או הזדהויות נוספות לפני ביצוע פעולות רגישות.
  8. 8

    שלב 8

    דליפת מידע מערוצים צדדיים - (side channel data leakage) עלול להשליך על: חריגות פרטיות. בד"כ נובע מהגורמים הבאים: שילוב של פיתוח לקוח, ואי ביטול הגדרות פלטפורמה. מידע רגיש משתמש ב- caches, מגיע ל- logs, ספריות זמניות. מניעה: סינון מידע רגיש מלוגים, צילומי מסך. ביצוע debug לפני פרסום, ובדיקת קבצים שנוצרים, לוגים וכו'. בדיקה קפדנית של ספריות צד ג' שבשימוש, בדיקת היישום במספר רב ככל האפשר של פלטפורמות.
  9. 9

    שלב 9

    הצפנות לא תקינות - broken cryptography. עלול להשליך על: חריגות פרטיות, privilege escalation, עקיפת business logic. בד"כ נובע מהגורמים הבאים: שימוש ב- encoding, obfuscation, hashing או serialization במקום הצפנה, יישומי הצפנה custom. מניעה: לא לשמור את המפתח יחד עם התוכן המוצפן, שימוש בספריות הצפנה סטנדרטיות, שימוש ב- best practices של הפלטפורמה.
  10. 10

    שלב 10

    חשיפת מידע רגיש - sensitive information disclosure. (בניגוד ל -1 זה hardcoded) עלול להשליך על: דליפת קניין רוחני, חשיפת מאפייני הזדהות. בד"כ נובע מהגורמים הבאים: קלות הביצוע של reverse engineering, "אוצרות" שנשמרות מקומית - api keys, סיסמאות, לוגיקה עסקית רגישה. מניעה: שמירת המידע הרגיש על השרת !

מדריכים קשורים

איך לשמור על אבטחת מידע בכתיבת אתר PHP

איך לשמור על אבטחת מידע בכתיבת אתר PHP

מדריך לשמירה על אבטחת מידע בכתיבת אתר PHP

קשה 9K צפיות
איך להתקין מערכת לניהול ארועי אבטחה SIM/SOC חינם (קוד פתוח OSSIM)

איך להתקין מערכת לניהול ארועי אבטחה SIM/SOC חינם (קוד פתוח OSSIM)

מדריך להתקנת מערכת לניהול ארועי אבטחה SIM/SOC חינם (OSSIM) לציטוט ואבטחת מערכות מחשוב שונות.

קשה 11K צפיות
הכנת סביבת עבודה לפיתוח אפליקציות אנדרויד: מדריך שלב אחר שלב

הכנת סביבת עבודה לפיתוח אפליקציות אנדרויד: מדריך שלב אחר שלב

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

בינוני 11K צפיות
איך לתקן שגיאת 'emulator could not find virtual device named xxx' באמולטור של אנדרואיד

איך לתקן שגיאת 'emulator could not find virtual device named xxx' באמולטור של אנדרואיד

מדריך לתיקון שגיאת אמולטור אנדרואיד 'emulator could not find virtual device named xxx'

בינוני 8K צפיות
איך לברר בקלות האם Zend Optimizer מותקן על שרת ווב

איך לברר בקלות האם Zend Optimizer מותקן על שרת ווב

מדריך זה יראה לכם דרך פשוטה מאוד לבדוק האם יש על שרת הווב שלכם Zend Optimizer.

קשה 5K צפיות
איך להעביר ולראות סרטים וסדרות באייפון ובאייפד בעזרת תוכנת VLC

איך להעביר ולראות סרטים וסדרות באייפון ובאייפד בעזרת תוכנת VLC

VLC media player לאייפון נגן המדיה VLC הוא נגן מדיה המאפשר הפעלה של קבצי מדיה מסוגים ובפורמטים שונים, ועכשיו גם בגירסה מעולה לאייפון. VLC זמין עבור משתמשי האייפד כבר כמה חודשים, ועכשיו הנגן זמין גם במכשירי אייפון 4, אייפון 3GS. תוכנה איכותית מאוד והכי חושב, חינמית [:

קל 51K צפיות