OWASP 10 סיכוני האבטחה המובילים | סקירה כללית

תוכן העניינים

OWASP Top 10 סקירה כללית

מה זה OWASP?

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

חומרי הלמידה של OWASP נגישים באתר האינטרנט שלהם. הכלים שלהם שימושיים לשיפור האבטחה של יישומי אינטרנט. זה כולל מסמכים, כלים, סרטונים ופורומים.

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

SQL Injection

הזרקת SQL מתרחשת כאשר תוקף שולח נתונים לא הולמים לאפליקציית אינטרנט כדי לשבש את התוכנית באפליקציה.

דוגמה להזרקת SQL:

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

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

כדי למנוע הזרקת SQL, OWASP ממליץ לשמור נתונים נפרדים מפקודות ושאילתות. האפשרות העדיפה היא להשתמש במכשיר מאובטח API כדי למנוע את השימוש במתורגמן, או כדי לעבור אל כלי מיפוי יחסי אובייקטים (ORMs).

אימות שבור

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

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

חשיפה לנתונים רגישים

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

ישויות חיצוניות XML (XEE)

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

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

בקרת גישה שבורה

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

תצורה מוטעית של האבטחה

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

סקריפטים חוצה אתרים (XSS)

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

כדי למנוע Scripting חוצה אתרים (XSS), ודא שה-HTML שלך מחוטא היטב. זה יכול יושג על ידי בחירת מסגרות מהימנות בהתאם לשפת הבחירה. אתה יכול להשתמש בשפות כמו .Net, Ruby on Rails ו-React JS מכיוון שהן יעזרו לנתח ולנקות את קוד ה-HTML שלך. התייחסות לכל הנתונים ממשתמשים מאומתים או לא מאומתים כלא מהימנים יכול להפחית את הסיכון להתקפות XSS.

התאמה לא בטוחה

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

כדי להימנע מסידריאליזציה לא מאובטחת, כלל האצבע הוא לעולם לא לסמוך על נתוני משתמשים. כל נתוני קלט של משתמש צריכים להיות מטופלים as פוטנציאל זְדוֹנִי. הימנע מהסידריאליזציה של נתונים ממקורות לא מהימנים. ודא שפונקציית הדה-סריאליזציה ל לשמש ביישום האינטרנט שלך בטוח.

שימוש ברכיבים עם פגיעויות ידועות

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

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

רישום וניטור לא מספיקים

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

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

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

סיכום

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