Web Application Firewalls הפכו לפתרון נפוץ ברשתות של ארגונים בינוניים וגדולים בשנים האחרונות. סוג פתרון זה מיועד להגן מפני תקיפות ברמה האפליקטיבית, תקיפות אשר אמצעי הגנה אחרים - דוגמת Firewalls ו-IPS - אינם מספקים מענה עבורן. כמו כן, תקן חברות כרטיסי האשראי - ה-PCI - מחייב הטמעת פתרון מסוג זה או לחילופין ביצוע בדיקות אבטחה אפליקטיביות בתדירות קבועה. ארגונים רבים - גם כאלו אשר אינן מחוייבים לעמוד בתקן - בוחרים להתקין WAF כפתרון אשר יספק להם הגנה תמידית, במקרים רבים על חשבון ביצוע מבדקים שוטפים; במילים אחרות, ארגונים וחברות אלו מאמינים כי ה-WAF יעצור כל תקיפה שהיא, וזאת ללא כל קשר למצב האבטחה של אפליקציית ה-Web עליה מעוניינים להגן.
למרות שפתרונות ה-WAF השונים בשוק התקדמו כברת דרך ניכרת בשנים האחרונות, הם אינם מסוגלים להתמודד עם המורכבויות והלוגיקות של האפליקציות באותו האופן בו מתמודדים איתן בודקים אנושיים; לאור זאת, טיעוני ה-Vendors השונים בתחום כי ה-WAF הוא פתרון קסם אולטימטיבי (Silver Bullet) אשר יתמודד עם כל תקיפה ויחסום כל פירצה, ויותר מכך - שהטמעת WAF היא תחליף הולם לבדיקה מקיפה של האפליקציה - הינם טיעונים בעייתיים ביותר.
לאחרונה עלה לכותרות אירוע אשר בו בוצעה חדירה עויינת אל רשת של חברת אבטחת מידע, אשר באופן אירוני משהו - היא גם Vendor של WAF (פרטים כאן); הפריצה המוצלחת, אשר במהלכה ניצלו הפורצים פירצה מסוג SQL Injection באפליקציה פנימית של החברה וכתוצאה מכך נחשפו למידע רגיש, אירעה בחלון זמן של מספר שעות בו היה ה-WAF הארגוני מושבת לצורך תחזוקה. מאליו מובן כי באם האפליקציה היתה עוברת תהליך מסודר של בדיקות (ותיקונים נדרשים) - נסיון הפריצה היה נכשל.
מובן ש-WAF - ממש כמו כל פתרון אבטחת מידע אחר, טוב ככל שיהיה - לא יכול לספק הגנה של 100% בכל מצב ובכל זמן; אז מה כן יכול לספק הגנה קרובה ל-100%? תשובתנו: לתקן את הפרצות! במיוחד את הקריטיות שבהן...
כאמור, אין ולעולם לא יהיה מצב של "100% הגנה"; אולם סגירת הפרצות, על פי סדרי עדיפויות ובתהליך סדיר ומובנה - תקטין עד למינימום את החשיפה לאיומים. אם נחזור לדוגמה לעיל - מסגרת עבודה (Framework) שכזו היתה מונעת את הפריצה. למעשה, ההסתמכות על הפתרון הטכנולוגי כפתרון יחיד ומושלם יצרה תחושת ביטחון מוטעית (False Sense of Security) וכך, בהפוך על הפוך, הביאה הטמעת הפתרון להגדלת הסיכון הפוטנציאלי, אשר בסופו של דבר התממש והפך מפוטנציאל למציאות כואבת.
גם אם תשובה זו - לתקן את הפרצות - נשמעת פשטנית משהו, הרי שמנסיוננו בשנים האחרונות במבדקים הרבים מאוד שערכנו אצל לקוחותינו, וכן מניסיונם של אחרים בארץ ובעולם עולה כי זהו הבסיס לכל. אבטחת מידע טובה ונכונה הינה רב-שכבתית; ההגנה על האפליקציה ברמת האפליקציה (הקוד) היא השכבה הבסיסית ביותר - הלחם והחמאה. אפליקציה מאובטחת אינה בשום פנים ואופן מייתרת אמצעי הגנה היקפיים נוספים, אולם היא הכרח מעצם הגדרתה כ-Last Line of Defense.
האימרה החבוטה "אין פתרונות קסם באבטחת מידע" היא אכן חבוטה ואולי משעממת, אבל נכונותה נותרה תקפה כשהיתה. חייבים לזכור את זה תמיד, ובעיקר שאנשי השיווק של ה-Vendors השונים יאמרו לכם שה-WAF שלהם יחסום כל נסיון תקיפה על אפליקציית ה-Web שלכם; כי אין שום דרך אשר בה "יבין" ה-WAF את לוגיקת הפעולה של האפליקציה שלכם. ובעיקר, הוא לא יחסום כניסה בלתי מורשית של גורמים חיצוניים אל חלקים באפליקציה אשר אמורים היו להיות בלתי נגישים, ואשר בגלל טעות כזו או אחרת של המפתחים נשארו פתוחים לכל.
לדוגמה, באחת מן הבדיקות האפליקטיביות שביצענו בחודשים האחרונים, נחשפנו ל-Trace Directories חשופים לכל (אמנם בלינק נסתר שאי אפשר היה להגיע אליו באופן ישיר, אך בכל זאת - נגישים לכל ללא כל צורך בהזדהות). כך נחשפנו, ללא כל מאמץ מיוחד לפרטי לקוחות החברה שכללו מספרי טלפון, כתובות, כתובות דואר אלקטרוני, מספרי ת.ז. ועוד; כן נחשפנו לשמות המשתמש והסיסמאות של מפתחי האפליקציה, וכן לנתונים רגישים נוספים. האם WAF היה עוצר "תקיפה" זו? ככל הנראה לא, מכיוון שלא בוצע כאן כל נסיון תקיפה, רק מיפוי "תמים" של האתר, שגם מנועי חיפוש מבצעים כדוגמתו (וסביר להניח שגם הם היו מאנדקסים את הנתונים שנתגלו שם).
ושגיאות לוגיות מסוג זה הינן עניין נפוץ למדי. הבעיה היא ש-WAFs בסבירות גבוהה יחמיצו אותן; זאת מכיוון שקשה עד בלתי אפשרי לכתוב Regular Expressions שיוכלו לזהות שגיאות לוגיות. כמובן ש-WAFs יזהו בקלות רבה יותר נסיונות תקיפה תוך שימוש בפרצות ידועות דוגמת XSS ו-SQL Injection, אבל גם במקרה זה אסור להיתפס לשאננות מכיוון שסוגי פרצות חדשים צצים מעת לעת, ואין כל ביטחון שה-WAF יוכל להתמודד עם כולן על שלל הווריאציות שלהן (דוגמת XFS).
לרוע המזל, פרצות באפליקציה (כמעט) תמיד יהיו. וכאן בדיוק נכנסת מתודולוגיית ה-Defense-In-Depth והופכת למפתח בהתגוננות מפני תקיפות - על שלל סוגיהן. מעבר לאפליקציה המאובטחת, ה-WAF יכול לספק הגנה בסיסית כנגד תקיפות "קונבנציונליות"; כמובן שגם שרתי ה-Web ומערכות ההפעלה של שרתי האפליקציה צריכים להיות מעודכנים בטלאי האבטחה העדכניים מוקדם ככל הניתן. במילים אחרות - לא פתרונות קסם, אלא בפשטות - Best Practices.