טעות פשוטה של מתכנת אפשרה התחברות לכל חשבון באפליקציה

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

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

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

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

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

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

להפתעתנו, את אותה ההתחברות אפשר לבצע גם באופן זה:

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

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

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

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

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

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

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

לחצו כאן

 

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