ממשקי API - דלת הכניסה לפושעים

התבוננות בעשרת פגיעות אבטחת ה-API של OWASP מבהירה את מרכזיותם של בוטים בהתקפות על ממשקי API

ממשקי API - דלת הכניסה לפושעים

אופיר קפלושניק | צלם: ניב קנטור

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

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

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

התבוננות בעשרת פגיעות אבטחת ה-API של OWASP מבהירה את מרכזיותם של בוטים בהתקפות על ממשקי API. שלוש מתוך עשרת פגיעויות ה-API המובילות קשורות לבוטים בצורה ישירה וברורה. 

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

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

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

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

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

בספרו "Hacking APIs ," Corey J. Ball מסביר את השימוש במספר כלים אוטומטיים לגילוי API (OWASP ZAP, Gobuster, Kiterunner) ו-fuzzing (Postman, Wfuzz ו-Burp Suite). 

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

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

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

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

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

מכיוון שהטכניקות הישנות של ניתוח Headers, רשימות Denylist IP ו-CAPTCHA כבר אינן יעילות, צוותי אבטחת יישומים המבקשים להפחית בוטים חייבים להסתמך על איסוף סיגנלים מרובים מצד משתמש הקצה, שימוש ב-JavaScript ו-SDKs לנייד, ולמידת מכונה מתוחכמת כדי להבחין בין כלי התקפה והתנהגויות בוטים.

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

מאת: אופיר קפלושניק, מנהל תחום הנדסת פתרונות ב-F5 לאזורי ישראל, ספרד ויוון

img
פרשנות | כוח צבאי משמעותי של נאט״ו יכול להקטין הסתברות למלחמה גרעינית באירופה
דעה | אופציה צבאית ישראלית תוכל לרסן את איראן 
קבוצת SQLink רוכשת את ZIGIT הישראלית
קבוצת SQLink רוכשת את ZIGIT הישראלית