לאחרונה, פרויקט אבטחת היישומים הגלובלי Open Worldwide Application Security Project (OWASP) עדכן לראשונה מאז 2016 את רשימת ה-Top 10 סיכונים ליישומים ניידים. הסיכון האבטחתי בראש הרשימה הפעם? "שימוש לא נכון באישורים."
זהו קריאה להעיר לספקי האפליקציות הניידות על הסכנה של אישורים קודדים קשות והיגיינת סודות רעה באופן כללי.
טיפול לא נכון בסודות שהאפליקציה שלך משתמשת בהם, במיוחד באפליקציות ניידות, יכול להוביל לפריצות אבטחה הרסניות. נסתכל מקרוב על המוקד החדש הזה לבטח את האפליקציות שלנו ומה אנחנו יכולים לעשות יחד כדי להתמודד עם הדאגות הללו.
האיום הגובר של טיפול לא נכון בסודות
שימוש לא נכון באישורים מתרחש כאשר סודות כמו סיסמאות או טוקנים לא מאובטחים כראוי, מה שהופך אותם לפגיעים לגניבה על ידי תוקפים. אפליקציות ניידות, בפרט, ידועות בכך שהן מדליפות סודות. לפי מחקר של CyberNews, יותר מ-50% מהאפליקציות הניידות בפלטפורמות כמו Google Play Store מכילות סודות קודדים קשות, מה שאומר שהמידע הרגיש הזה יכול להתגלות בקלות על ידי שחקנים זדוניים.
אם נביט ב-הגדרה שסופקה על ידי OWASP, אנחנו מבינים במהירות מדוע הסיכון הזה מטריד במיוחד:
כאשר סודות נחשפים, תוקפים יכולים להשתמש בהם כדי להשיג גישה לא מורשית לשירותים, נתונים, או אפילו מערכות שלמות. זה הופך את ניהול הסודות לדאגה מרכזית עבור מפתחי אפליקציות וצוותי אבטחה כאחד.
למה סודות הם היעד הראשי
סודות הם יעדים אטרקטיביים לתוקפים מכיוון שהם מעניקים גישה ישירה למערכות קריטיות. בניגוד לפגיעויות אחרות שדורשות ניצול נוסף, ברגע שתוקף משיג גישה למפתח API או סיסמה, בדרך כלל יש לו דרך ברורה למשאבים יקרי ערך.
למשל, מפתחות API קבועים באפליקציות ניידות יכולים להיפלט באמצעות כלים לניתוח סטטי ולהיות בשימוש לביצוע בקשות API לא מורשות. זה לא רק פוגע בנתוני המשתמש אלא גם יכול לגרום להפסדים כספיים, במיוחד אם מפתחות אלו קשורים לשירותים שגובים לפי שימוש.
סודיות צד הלקוח היא קשה
נקודה מרכזית בהבנת ניהול סודות היא שסודיות צד הלקוח היא למעשה בלתי אפשרית. לא משנה כמה טוב הסודות מוסתרים או מוצפנים באפליקציה ניידת, תוקפים עם משאבים מספיקים יכולים להנדס את האפליקציה בחזרה ולהשיג אותם. זה קורה משום שסודות, בשלב מסוים, חייבים להיות זמינים בזיכרון האפליקציה לשימוש. באמצעות ניתוח דינמי, תוקפים יכולים להשיג סודות אלו ולנצל אותם.
כתוצאה מכך, הדרך הבטוחה היחידה לנהל סודות היא לשמור אותם מחוץ לצד הלקוח לחלוטין. במקום להטמיע מפתחות API או אישורים באפליקציה, מפתחים צריכים להעביר מידע רגיש זה לשרת, שבו יש להם יותר שליטה על הגישה והאבטחה.
שיטות עבודה מומלצות לניהול סודות
כדי להתמודד עם האתגר של דליפת סודות, צוותי הפיתוח חייבים ליישם מגוון של שיטות עבודה מומלצות.
1. אל תכניסו סודות לקוד
סודות לא צריכים להיות מאוחסנים ישירות בקוד של האפליקציה. זה כולל מפתחות API, טוקנים לאימות וכל נתון רגיש אחר. הכנסת סודות לקוד היא אחת הדרכים הנפוצות ביותר שבהן הם דולפים ויכולה להוביל להפרות אבטחה משמעותיות.
2. השתמשו ב-APIs לאחסון מאובטח
לסודות של משתמשים (כגון, סיסמאות, טוקנים), מפתחים צריכים להשתמש במנגנוני אחסון מאובטחים המוצעים על ידי מערכות הפעלה ניידות. לדוגמה, iOS מציעה את ה-Keychain, ואנדרואיד יש את ה-Keystore. APIs אלה מאפשרים אחסון מאובטח ובקרת גישה על נתונים רגישים במכשיר.
3. העבירו סודות לשרת
במקום לנהל סודות בצד הלקוח, אפליקציות ניידות צריכות להשתמש בלוגיקה בצד השרת כדי לנהל מפתחות API ונתונים רגישים אחרים. שמירה על פעולות אלו ב-backend מפחיתה משמעותית את הסיכון לדליפת סודות.
4. סובבו והפסיקו סודות באופן קבוע
גם עם ניהול סודות נכון, סודות צריכים להיות מסובבים באופן קבוע, ומפתחות שהיו חשופים צריכים להיות מבוטלים מיד. זה מבטיח שאם תוקף מצליח לגשת לסוד, הוא לא יכול להשתמש בו לנצח.
5. הצמדת תעודות
כאשר סודות נשלחים לאפליקציה בזמן ריצה, מפתחים צריכים להשתמש בהצמדת תעודות כדי לוודא שהתקשורת מאובטחת. זה מוסיף שכבת הגנה נוספת על ידי אימות זהות השרת במהלך החיבור.
6. יישום גילוי סודות לאורך מחזור חיי הפיתוח
ניהול סודות במחזור חיי הפיתוח כרוך בהכרח בשגיאות ודליפות בשלב כלשהו. OWASP מדגישה את הצורך ב“תהליך בדיקות ביטחון מקיף.” יש לאכוף שכבות גילוי מרובות בשלב המחויבות, הדחיפה והבנייה, ולאפשר תיקון מהיר במקרה של אירוע.
חשוב לזכור שסוד קשה לא נדרש להגיע לייצור כדי להיות פגיעות בעלת השפעה גבוהה.
ההשלכות של דליפת סודות
כאשר סודות דולפים, ההשלכות יכולות להיות חמורות. תוקפים יכולים להשתמש בהסמכות חשופות כדי לגשת לנתונים רגישים, לתמרן את הלוגיקה העסקית או אפילו להשתלט על מערכות שלמות. לדוגמה, אם מפתח API הקשור למערכת תשלומים דולף, תוקפים יכולים להתחיל עסקאות הונאה, מה שיביא להפסדים כספיים הן לעסק והן ללקוחותיו.
“Adversaries can exploit vulnerabilities in both hardcoded credentials and improper credential usage. Once these vulnerabilities are identified, an attacker can use hardcoded credentials to gain unauthorized access to sensitive functionalities of the mobile app. They can also misuse credentials, for instance, by gaining access through improperly validated or stored credentials, thereby bypassing the need for legitimate access.”
יתרה מכך, סודות דולפים יכולים לפגוע בשלמות של אפליקציה ניידת ולגרום לנזק משפטי ולנזק למוניטין בעלות גבוהה. לדוגמה, אם אפליקציית בריאות דולפת מפתחות API המאפשרים גישה לנתוני מטופלים, זה יכול להוביל לקנסות רגולטוריים משמעותיים ולפגוע באמון הלקוחות.
כלי גילוי סודות
כדי לעזור להתמודד עם בעיית דליפת הסודות, כלי גילוי סודות הפכו להיות חיוניים לפיתוח אפליקציות מודרניות. כלים אלה סורקים מאגרי קוד, צינורות CI/CD וסביבות ייצור עבור סודות חשופים, ועוזרים לצוותים לתפוס פגיעויות לפני שינוצלו.
כלים ופלטפורמות אלה מאפשרים מעקב בזמן אמת אחר שינויים בקוד, ומבטיחים שסודות לא יקודדו בטעות במהלך תהליך הפיתוח. על ידי שילוב כלים כאלה במחזור חיי הפיתוח, ארגונים יכולים להקטין משמעותית את הסיכון לדליפת סודות.
אבטחת סודות היא מסע שאנחנו כולנו חלק ממנו
ניהול סודות אינו רק בעיה טכנית; זו אתגר אבטחה קריטי שיכול להיות לו השלכות רחבות אם לא מטפלים בו כראוי. ארגונים יכולים להגן על הנתונים הרגישים שלהם ולהפחית את הסיכוי להפרות יקרות על ידי הבנת הסיכונים בשימוש לא נכון בהסמכות, יישום שיטות עבודה מומלצות לאבטחת סודות ושימוש בכלים שנועדו לזהות דליפות.
כשהתקפות סייבר והפרות ממשיכות להיות בכותרות, אבטחת סודות היא האסטרטגיה ההגנתית החשובה ביותר לשמירה על ארגונים ומערכות בטוחות. תודה לאל שהמתנדבים של OWASP כאן כדי לעזור לנו לעמוד בקצב הנוף המתמשך והמשתנה של אבטחת סייבר.
הפניה
- 10 הסיכונים המובילים עבור יישומים ניידים, פרויקט אבטחת יישומים עולמית (OWASP)
Source:
https://dzone.com/articles/secrets-security-important-issue-mobile-apps