יום ראשון, 20 ביולי 2014

הגנות מפני Exploits


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



How to prevent exploits

לפני שנכנס לדרכי ההתגוננויות מפני Exploits חשוב שנציג איך Exploits ו Payloadsעובדים.אז כפי שרובכם כבר יודעים, Exploit פירושו ניצול של חולשה בתוכנה כלשהי.אחרי שנמצאה חולשה, כותב ה Exploit יכתוב תוכנית שמטרתה לנצל את אותה חולשה.ה- Payload הוא בעצם מה שיקרה בהרצת ה Exploit.חשוב לציין שישנם שיטות רבות לניצול חולשות אבטחה, בואו נציג כמה שיטות:BOF  (Buffer over flow)-מדובר בעצם בשגיאת תוכנה כאשר התוכנה מנסה לכתוב לאיזור בזיכרון (Stack) יותר מידע מאשר הוא מיועד להכיל, כתוצאה מכך אותו מידע זולג מגבולות ה  Buffer. לאחר הזליגה מתאפשרת בעצם הרצת קוד זדוני. למה זה קורה? מכיוון שתוכניתנים לא מבצעים בדיקות מלאות של גלישה מגבולות ה Buffer, זוהי נגזרת של חוסר זמן, כסף  וכח אדם.




Application Whitelisting

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



Patching

בהקשר של Patching הכוונה היא גם לעדכונים רציפים עבור מערכות ההפעלה והשרתים ובנוסף לאפליקציות שרצות בארגון.מערכות הפעלה ושרתים יש לנו מוצרים כגון WSUS ו SCCM שנותנים מענה לניהול מרוכז עבור העדכונים.בנוגע לאפליקציות ישנם מוצרים (יקרים) כמו Solarwinds- Patch Manager שנותנים מענה לעדכונים גם של מערכות Microsoft וגם לאפליקציות.


EMET  Enhanced Mitigation Experience Toolkit

אז קצת היכרות,ערכת הכלים המסייעת במניעת ניצול פגיעויות בתוכנה.בערכת הכלים הגנות מיוחדות ומכשולים אשר מקשים במיוחד על כותב ה Exploit.
הכלים בערכה מקשים מאוד על ניצול הפגיעויות בתוכנות.מגרסה 4.0 של EMET  ישנה גם תמיכה באספקת אישורי SSL/TLS , תכונה המיועדת למניעת MITM.
 Emet עובד עם כל תוכנה, כולל כאלו שפותחו ע"י מיקרוסופט וכולל כאלה שפותחו ע"י ספקים אחרים.
אחר התקנת EMET  עלינו להגדיר איזה הגנות להחיל ועל איזה תוכנות (יש לתת נתיב מדויק של קובץ ההפעלה של התוכנה)
 פריסה בארגון:ניתן לפרוס בכל הארגון את הכלי בעזרת קובץ התקנה msi, לאחר מכן ע"מ לשלוט בפונקציונליות של הכלי בכל המחשבים בארגון באמצעות GPO.
 הורדת הכלי :  http://www.microsoft.com/en-us/download/details.aspx?id=41138מדריך לשליטה ב EMET  באמצעות GPO: http://windowsitpro.com/security/control-emet-group-policyמידע נוסף על ההגנות הכלולות: http://technet.microsoft.com/en-us/security/jj653751 


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

(מידע על ההגנות נלקח מאתר Digital Wispher לינק לגיליון)

DEP:

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


GS :

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

באמצעות אתחול ערך Cookie רנדומלי בתוך המחסנית לפני ה-Return Address ובדיקה של 

תקינות הערך בסיום הפונקציה כך שאם הוא נדרס לא תתבצע פקודת ה-RET ויזרק 

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



Safe Structured Exception Handling
בקיצור SafeSEH , תפקידה למנוע קפיצה ל-Exception Handlers משוכתבים,
הבדיקה מתבצעת באמצעות טבלה שמכילה את כתובות ה-
Handlers החוקיים, במידה ואחד מהם שונה במהלך הריצה לא תתבצע קפיצה אליו.

SEHOP:
הגנה מתקדמת נוספת ל-SEH נקראת SEHOP שמוסיפה גם בדיקה לתקינות
הרשימה המקושרת של ה-Handlers באמצעות Cookie.

ASLR:

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

אנו מתייחסים ל-SafeSEH ו-GS ביחד מכיוון שהדרך לעקוף את ההגנה של ה-GS הייתה באמצעות שיכתוב ה-SEH ומכאן נוצר הרעיון של SafeSEH )וגם ה-Heap overflow תרם את חלקו.

במאמר זה לא הוזכרו קווי הגנה נוספים כמו : Limit permission, HIPS, Antivirus, Sandbox וכו' .


אין תגובות:

הוסף רשומת תגובה

תודה על תגובתך (: