זיהוי בעיות אבטחה Attack Surface Analyzer

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

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

כיום ניתן לזהות, לבצע מעקב, לנתח שינויים ולגלות מהם השינויים אשר נעשים בתחנות קצה באמצעות הכלי המחודש Attack Surface Analyzer או יותר נכון Open Source Security Tool.

הגרסה הראשונה של Attack Surface Analyzer הגיעה אלינו בשנת 2012 ומטרתה באותם ימים היא להציג שינויים אשר נעשו בתחנות קצה לאחר התקנות ביצוע הגדרות, לאחרונה יצאה גרסה חדשה של Attack Surface Analyzer ומביאה איתה יכולות חדשות.

מה חדש Attack Surface Analyzer

הגרסה החדשה של Attack Surface Analyzer או ASA 2.0 בנויה אחרת ולמעשה רצה על קוד של .Net וומבוססת על Electron, וחשוב מכך הגרסה החדשה של Attack Surface Analyzer בנויה על קוד פתוח ולמעשה הוא כלי Open Source Security Tool ויכול לרוץ על גבי מערכות הפעלה שונות:

  • Windows
  • MacOS
  • Linux

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

  • קבצים – בעיקר קובצי מערכת
  • חשבונות מערכת ורגילים
  • שירותי מערכת (Services)
  • פורטים ותקשורת
  • תעודות דיגיטליות
  • ערכי Registry

תרחישים בהם Attack Surface Analyzer 2.0 יכול לסייע לנו:

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

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

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

הפעלה והרצת Attack Surface Analyzer

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

בכדי להתקין ולהפעיל את Attack Surface Analyzer יש לבצע את הפעולות הבאות:

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

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

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

בצידו השמאלי והתחתון של המסך נוכל לייצא את המידע.

במידה וצריך לבצע אוטומציה ניתן להריץ את הכלי באמצעות הפקודה הבאה: AttackSurfaceAnalyzerCli.exe collect -u –runid Test2

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

נקודות חשובות בהרצת Attack Surface Analyzer

  • הכלי Attack Surface Analyzer מגיע בשני מצבים: התקנה עם ממשק Electron וקבצים להרצה באמצעות פקודות Command Line.
  • כאשר מריצים את Attack Surface Analyzer אנו למעשה מריצים Snapshot במערכת לפני ביצוע שינויים ולאחר ביצוע שינויים, ובנוסף ישנו מצב של הרצה בזמן אמת בתחנה.
  • במקרים בהם ישנם אפלי תחנות ניתן לעבוד עם בסיס נתונים מרכזי מבוסס SQL ואפילו SQL-Lite בכדי לאסוף את המידע הרלוונטי.
  • גרסה מלאה עם ממשק Electron זמינה רק לתחנות מבוססות Windows 10 והפצת לינוקס.
  • דורשת הרשאות אדמין מקומי בתחנה כולל administrator privileges.
  • כל איסוף מידע (ביצוע Snapshots) אורך זמן ולוקח משאבי מעבד וזכרון ולכן יש להפעיל בצורה נכונה, ובמיוחד מצבי Live.
  • עלול לקחת זמן בתרחיש של בחירה בסריקת קבצים או ערכי Registry

לסיכום

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

בארגונים של אלפי תחנות קצה (כולל לניוקס וכן MacOS) ניתן לבצע איסוף מידע אחת לפרק זמן מסוים באמצעות פקודות ולאחסן את המידע בשרת ייעודי או בסיס נתונים מבוסס SQL, והחלק היותר מעניין הוא שניתן לקחת את המידע אל Azure Sentinel ושם לבצע יתוחי מידע נוספים.

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

מידע נוסף בקישור הבא https://github.com/Microsoft/AttackSurfaceAnalyzer/wiki

המאמר הבא יתמקד באיסוף מידע מול בסיס נתונים מרכזי והעברת המידע אל Azure Sentinel.

 

 

 

מה דעתך?

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