ביקורת אבטחת אתר: OWASP Top 10, בדיקות חדירה, הגנה

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

פיתוח ותחזוקה של כל סוגי האתרים:

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

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
ביקורת אבטחת אתר: OWASP Top 10, בדיקות חדירה, הגנה
מורכב
~3-5 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113
  • פיתוח אתר עבור SBH Partners
    פיתוח אתר עבור SBH Partners
    1201
  • פיתוח אתר עבור Red Pear
    פיתוח אתר עבור Red Pear
    619

ביקורת אבטחה של אתר: היכן לרוב נשברת ההגנה

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

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

בודקים לא את קיומם של "תווים מסוכנים", אלא את העובדה שהנתונים אינם מודבקים לשום מקום למבני השאילתה.

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

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

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

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

מה נותנת בדיקת אבטחה: האפקט במספרים

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

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

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

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

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

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

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

פורמטים של עבודה: בדיקת חדירה חד-פעמית, ביקורת תקופתית, בקרה פנימית

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

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

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

פורמט מתי מתאים מגבלות
בדיקת חדירה חד-פעמית השקת מוצר, החלפת ספק, דרישת שותף או רגולטור תמונת מצב לתאריך: תיקונים אחרי הדוח נשארים ללא בדיקה
ביקורת תקופתית המוצר מתפתח, ריליסים יוצאים באופן קבוע נדרש מחזור תיקונים בין איטרציות, אחרת הדוחות מצטברים בלי אפקט
בקרה פנימית יש צוות משלכם ו-CI/CD לא מחליפה ניתוח ידני של לוגיקת גישה ותרחישים עסקיים
משולב גידול בעומס, תשלומים, נתונים אישיים דורש בעל תהליך ייעודי ותעדוף ממצאים

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

כיצד מתבצע ביקורת אבטחה לאתר: שלבי העבודה

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

  1. איסוף נתונים ומיפוי מלאי. אוספים מפת יישום: דומיינים, נקודות כניסה, טפסים, API, אינטגרציות, חשבונות משתמשים בתפקידים שונים. בלי זה כל בדיקה פוגעת בחלק הנראה ומפספסת את מה שבאמת פתוח החוצה.
  2. מודל איומים. עבור כל נקודת כניסה מתארים מה התוקף יכול לעשות ומה העסק יפסיד: דליפת נתוני לקוחות, החלפת תשלום, השבתה. המודל קובע סדרי עדיפויות — קודם בודקים את מה שבו מחיר הטעות גבוה יותר.
  3. סריקה אוטומטית. מריצים מנתחים לפי OWASP Top 10: הזרקות, בקרת גישה שבורה, תצורה לא מאובטחת, רכיבים מיושנים. זה מסנן קטגוריות בעיות המוניות תוך שעות, אך אינו מחליף בדיקה ידנית.
  4. בדיקת חדירה ידנית. המהנדס משחזר תרחישים אמיתיים: עקיפת הרשאה, החלפת פרמטרים, גישה לנתונים של אחרים באמצעות שינוי מזהה. כאן נמצאות חורים לוגיים שהסורק אינו רואה מעצם הגדרתו.
  5. בדיקת תשתית והרשאות. כותרות אבטחה, הצפנת ערוץ, הרשאות חשבונות שירות, מאגרים פתוחים, דליפות דרך גיבויים ולוגים.
  6. דוח פגיעויות. כל ממצא — עם רמת קריטיות, צעדי שחזור והמלצה קונקרטית לתיקון. לא "הפעילו הגנה", אלא מה בדיוק לשנות בתצורה או בקוד.
  7. מסירת המלצות ובדיקה חוזרת. עוברים על הדוח עם הצוות שלכם, עוזרים לקבוע סדר תיקונים, לאחר התיקונים סוגרים את הממצאים בבדיקה חוזרת.

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

מה הלקוח מקבל לידיו לאחר הבדיקה

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

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

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

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

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

עמדה קלאסית מהרשימה של OWASP Top 10 — הפרת בקרת גישה, והיא גם היקרה ביותר: חלון הפגיעות נמדד לא בימים, אלא בחודשים בין מהדורות.

מה היה לפני הביקורת

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

מה שינו

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

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

מה נהיה

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

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

במה שונה בדיקת חדירה (פנטסט) מסריקת פגיעויות?

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

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

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

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

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

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

ספקות טכניים נפוצים לפני ההתחלה

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

הבדיקה תעמיס על האתר הפעיל ותפיל אותו?

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

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

אילו הרשאות נדרשות והאם מסוכן למסור אותן?

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

האם יהיה צורך לעצור את הפיתוח בזמן הביקורת?

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

למה צריך ביקורת חוזרת אם כבר תיקנו הכול?

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

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

בואו נדון במשימה: נתאים את פורמט הבדיקה לאתר שלכם

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

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

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

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

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

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

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