שאלה:
טיפים וטריקים לאבטחת אתר, ממה צריך להיזהר ועל מה לשים דגש.
1. כמובן SQL INJECTION
2. עוגיות (שניתן יהיה לקרוא אותן רק מהשרת)
3. לא לאפשר להעלות קבצים עם סקריפטים למינהם.
4. אני יודעת שאפשר דרך הלוגים של האתר לזהות טרולים למינהם ש"אינם חפצים ביקר" האתר, איך מזהים אותם?
--------מה עוד?
אשמח לדעתכם המקצועית.
תודה!
תשובה:
אין גבול לאבטחה.
כמות הידע המקצועי שנדרשת לאבטחה "טובה" (שיכולה לעמוד מול האקר עם ניסיון מינימלי) היא עשרות שנות ניסיון והבנה של איך הכל מתחבר עם הכל. זה תחום ענק שלפי דעתי בלי התמחות סולידית בו (על כל הרבדים ולא רק הרובד התכנותי) אין שום דרך לתפוס אותו בצורה טובה.
אני אסביר למה הכוונה "הכל מתחבר עם הכל". אבטחה מבחינה "פילוסופית" בראות עיניי לא עוסקת בנקודת כשל יחידה, אלא עוסקת בכשל חסר משמעות במקום אחד שגורם לבעיות במקום אחר.
צורת המחשבה שאני, כמפתח מהישוב ולא כמומחה אבטחה, מאמץ היא - "איזה נכסים יש לי שאני צריך להגן עליהם?"
למשל, נכס (Asset) אחד שיש לי הוא רוחב פס של השרת. ניצול (Exploit) של הנכס הזה יכולה להיות מישהו שגונב לי רוחב פס. הפרצה (Attack Route) שתאפשר את זה יכולה להיות למשל משתמש שמעלה קבצים לשרת, מקשר החוצה ובכך למעשה גונב לי רוחב פס.
.
עוד נכס שיש לי הוא למשל מסד הנתונים עצמו (הריק לחלוטין) על מבנה הטבלאות שלו.
לנכס הזה אין ערך בפני עצמו, אבל ניצול של הנכס הזה בהתקפות נוספות יאפשרו למשתמש להכיר את המסד נתונים שלנו ובכך למעשה הוא השיג מידע מודיעני.
פרצה שמבוססת על הניצול הזה יכולה להתבסס למשל על להשיג את ה-Assembly של האפליקציה המקומפלת או קבצי המקור שמכילים בצורה מסויימת את השאילתות שהולכות למסד הנתונים ובכך להסיק את מבנה המסד.
דוגמה נוספת לנכס שיש לי הוא המידע בתוך המסד נתונים.
זה הנכס הכי חשוב שיש לנו במרבית מערכות המידע. כאשר הנכס הזה נפרץ, זה שח-מט מבחינת אבטחה.
ניצול של הנכס הזה יכול להיות משהו פשוט כמו להכיר את כל שמות המשתמש והסיסמאות לאתר שלנו, או להשיג את הכתובת בבית של אנשים עם פירוט חשבונות בנק.
פרצה שתאפשר ניצול כזה היא למשל SQL Injection שתאפשר לי באמצעות גישוש במסד (והשגת הנכס הקודם של הכרת המסד נתונים) להשיג את כל נתוני המסד.
יש עוד המון דוגמאות לנכסים, ניצולים ופרצות שקיימים, לכל הסיפור הזה קוראים המומחי אבטחה Threat Modeling ויש גם כלים של מיקרוסופט וחברות אחרות שמאפשרות לראות רשימה של נכסים, ניצולים ופרצות ולבדוק ביחס לאפלקיציה.
דוגמה שאני מאוד אוהב להראות היא של Rocky שהוא Security MVP והוא מדגים איך דרך פרצה של Sql Injection באפליקציה דוט נטית, אפשר להשתמש בפרצת FTP במסד נתונים סיקוול סרבר, כדי להעלות אסמבלי חדשה לאפליקצה הדוט נטית שלנו שמדווחת לפורץ על כל מה שקורא באפליקציה.
Assembly Hijacking
בארץ יש קבוצת Net Security. שפעם בחודש נפגשים וסוקרים איום אחר.
ניתן לראות העתק של כל המצגות מאז שהקבוצה התחילה להיפגש ובהחלט מומלץ לקרוא את המצגות ולהגיע לפגישות.
צירפתי את סלייד מספר 8 מהמצגת של נימרוד לוריה מהפגישה האחרונה של הקבוצה שממחישה כמה מהפרצות היותר מוכרות בתחום ה-web.

קישור: http://www.tapuz.co.il/tapuzforum/main/Viewmsg.asp?forum=831&msgid=102201873