חשיפות ב-AWS שכדאי לדעת עליהם

כיצד הגדרות לא נכונות ב-S3 Buckets מובילות לחשיפת מידע רגיש ואף להשתלטות על האפליקציה

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

 

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

ההתחלה: גילוי פרצות בשירותי האחסון S3 של AWS

בתחילת המבדק, זיהינו כי האתר שבדקנו משתמש בשירות S3 Bucket כדי לאחסן קבצי HTML ו-JS הקשורים לאפליקציה. שירות זה מאפשר לאחסן קבצים ולגשת אליהם במהירות דרך האינטרנט מכל העולם. למרות שהשירות מאובטח, גילינו שבגלל קונפיגורציה לא נכונה, ניתן לגשת לקבצים רגישים המאוחסנים ב-S3, מה שעלול להוביל לחשיפת מידע רגיש ואפילו להשתלטות על אתר הארגון.

שימוש ב-S3 Buckets – יתרונות וחסרונות

שירות S3 הוא כלי חשוב לאחסון קבצים חיצוני שמאפשר גמישות ונוחות למפתחי אפליקציות. כאשר הוא מוגדר נכון, השירות יכול להקטין סיכונים ולספק הפרדה ברורה בין שרתי האפליקציה לבין קבצים המאוחסנים. לדוגמא, במקום לאפשר למשתמש להעלות קובצי תמונות או מסמכים ישירות לשרת האפליקציה – דבר שיכול לאפשר העלאות Malwareים לשרת ואפילו הרצת קוד מרוחק בשרת במקרים מסוימים, כלל הקבצים עולים ל-S3 Bucket ובכך מופרדים מן השרת ואינם יכולים לרוץ בקונטקסט של קוד צד שרת. לעומת זאת, כאשר השירות אינו מוגדר כהלכה, הוא עלול להפוך לחולשה משמעותית באבטחת המידע של הארגון, לדוגמא במקרים בהם מועלים קבצים המכילים מידע רגיש למשל קורות חיים של מועמדים המכילים טלפונים ולעיתים תעודות זהות, מידע המוגדר כמידע רגיש על פי חוק הגנת הפרטיות ובשל הגדרה לא נכונה בשירות ה-S3, מאופשרת הגישה לגורמים חיצוניים לצפות ולראות כרשימה את כלל הקבצים שהועלו למערכת.

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

מקרה לקוח – קונפיגורציה שגויה של S3 גרמה להשתלטות על משתמשים

במהלך מבדק החדירה, מומחה IPV Security גילה כי אחד מן אתרי הארגון הנבדק טען קובצי HTML, CSS ו-JavaScript מתוך S3 Bucket השייך לארגון. גישה ישירה אל הבאקט חשפה כי הינו פתוח לגישה ציבורית. באמצעות הרצת הפקודה הבאה – aws s3 ls s3://[name_of_bucket]  –no-sign-request התגלה כי קיימת גישת קריאה לאובייקטים הקיימים בבאקט ותוכנם.

תוכן הבאקט אינו הכיל מידע רגיש אך לא עצרנו כאן, בחנו את הרשאות הגישה ל-Access Control List (ACL) והבחנו בהגדרה המהווה פרצת אבטחה – ניתנה הרשאת WRITE_ACP (עריכה) לקבוצה Authenticated users group, שלמרות שמה המבלבל, מאפשרת הרשאת עריכה להגדרות הגישה (ACL) בבאקט לא רק לחשבונות מחוברים לארגון, אלא לכל מי שבבעלותו חשבון AWS!

באמצעות ניצול הגדרה זו, ניתן היה לערוך את הגדרות ה-ACL האחראיות על הרשאות הבאקט ולאפשר למשתמש אנונימי לערוך ולעלות קבצים אל אותו באקט. כך, באמצעות הרשאות אלו שהבודק הגדיר לעצמו, ערך הבודק את אחד מקובצי ה-JavaScript הנטענים באתר הארגון, והחדיר Payload של XSS (Cross-Site Scripting, הזרקת קוד JavaScript לדפדפן) אשר הוביל בסופו של דבר להשתלטות על עוגיות של משתמשים במערכת.

תובנות מומחי סייבר בכירים של IPV Security:

כדי למנוע תרחישים דומים ברשתות הארגון שלכם, אנו ממליצים לבצע את הפעולות הבאות:

  1. הגדרת הרשאות מדויקות לבאקטים: להגדיר בצורה נכונה הרשאות קריאה וכתיבה לבאקטים בהתאם לצורך, ולאפשר גישה ציבורית רק כאשר היא הכרחית.
  2. שימוש ב-Presigned URLs: להטמיע שימוש ב-Presigned URLs כדי לאפשר גישה זמנית ומוגבלת לקבצים המאוחסנים ב-S3, במקום להעניק הרשאות קריאה וכתיבה ישירות לבאקט. כך ניתן לשלוט טוב יותר בגישה לקבצים רגישים ולהקטין את הסיכון לחשיפות מידע בלתי מורשות.
  3. שימוש בבדיקות אוטומטיות לאיתור קונפיגורציות שגויות: להשתמש בכלים כמו AWS Config ו-IAM Access Analyzer כדי לזהות ולהתריע על הרשאות פתוחות מדי.
  4. מעקב אחר פעילות חשודה: להפעיל כלי ניטור ובקרה כמו Cloud Trail לזיהוי פעילויות חריגות כמו העלאת קבצים מרובה או גישה למידע רגיש.
  5. הפרדת מידע רגיש: לוודא שמידע רגיש מאוחסן בבאקטים נפרדים עם הרשאות מוגבלות ביותר.
  6. בדיקות אבטחה תקופתיות: לבצע בדיקות חדירה ואבטחה תקופתיות לזיהוי ותיקון פרצות אבטחה באתרי הארגון ונכסיו בענן.

לסיכום,

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

 

להתייעצות עם מומחה או להזמנת בדיקת חדירה, פנו למומחי איי פי וי סקיוריטי!

לחצו כאן

 

להתייעצות מקצועית ניתן לפנות אלינו לאימייל info@ipvsecurity.com או במספר הטלפון 077-4447130. IPV Security מתמחה זה 19 שנה באבטחת מידע, סייבר, סקרי סיכונים ותקנים ורגולציות הנוגעים לביטחון מידע ועוד.