איך מזהים פתרון אבטחה טוב מבוסס למידת מכונה

איך מזהים פתרון אבטחה טוב מבוסס למידת מכונה

information security

This post is also available in: enEnglish (אנגלית)

מאת אילן סגלמן, סמנכ"ל מכירות ופיתוח עסקי ב-Power Communications ומנהל פעילות Sophos בישראל

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

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

שיעור זיהוי (Detection Rate) מול תוצאות חיוביות שגויות (false positive) – שעור זיהוי גבוה אינו בהכרח סמן להצלחה. אפשר להגיע לשיעור זיהוי של 100% בקלות רבה, על ידי "שכנוע" האלגוריתם כי כל קובץ שהוא סורק הינו זדוני. לכן, הערך החשוב באמת הוא שיעור התוצאות החיוביות השגויות. תוצאה חיובית שגויה משמעה בפועל מניעת שימוש בקבצים לגיטימיים שבטעות זוהו כזדוניים. המטרה היא כמובן להגיע לשיעור נמוך ככל האפשר של תוצאות חיוביות שגויות.

בלמידת מכונה, ניתן לבחון זאת גראפית על ידי עקומת ROC (receiver operating characteristic curve) המתארת את יחס שעור הזיהוי אל מול התוצאות החיוביות השגויות. בקשו מהיצרנים לראות את גרף ה- ROC, ברגע זה ובעבר – יצרן שלא מוכן או לא יכול להראות לכם את הנתונים האלו, לא באמת יוכל להבטיח לכם כמה נוזקות הוא יצליח למנוע מלחדור לארגון.

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

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

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

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

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

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