nkko
idev_logo_concept.jpg
אודי הלר וד"ר אריאל פרנק(udi@eitan.ac.il)
ינואר2009
Introduction to Internet Information
Architecture and Development
Web Security
eitan-logo-main-small-white.gif
©מכון איתן לחקר טכנולוגיות מידע בחינוך(ע"ר). www.eitan.ac.il
מבוא לאבטחת המארג
מבוא לאבטחת המארג
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
Whoever is first in the field and awaits thecoming of the enemy, will be fresh for thefight; whoever is second in the field and hasto hasten to battle will arrive exhausted.
Whoever is first in the field and awaits thecoming of the enemy, will be fresh for thefight; whoever is second in the field and hasto hasten to battle will arrive exhausted.
"
"
Sun-Tzu “The Art of War”
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
הוראות שימוש ותודות
הוראות שימוש ותודות
מצגת זו מכילה הפניות והסברים כלליים על כלי וטכניקות פריצהופענוח,הסברים על שיטות בדיקת חוזק ומוכנות של מערכותלהתקפות מבחוץ ומבפנים וחולשות של ישומים.
השימוש במצגת הוא לצרכים אקדמאיים חינוכיים בלבד ומטרתהלשפר ולהעלות את המודעות מצידם של מפתחים.
ברצוננו להודות לאלעד שפירא,יובל סיני ואלי חן על הערותיהם.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
טובעים במספרים
טובעים במספרים
דו"ח משנת2005של משרד הפנים האמריקאי בדבר תקריות ואיומיםברשת האינטרנט מציג:
מעל650מליון התקפות וגששים(probes)נחסמו
מעל3.4מליון וירוסים,סוסים טרויאנים ותולעי רשת נתגלו,נמחקו ונוקו.
99אחוז מהמשתמשים מפעילים אנטי וירוס.
עדיין82אחוז נפגעו מוירוסים,תולעים וכיו"ב
98אחוז מהמשתמשים מפעילים חומת אש(Firewall)ולכ-73אחוזישIntrusion detection system (IDS)
עדיין36אחוז דיווחו על חדירות למחשב שלהם מבחוץ
90מהמשתמשים אחוז איתרו פרצות אבטחה מיחשוביות
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
טובעים במספרים(המשך)
טובעים במספרים(המשך)
84אחוז רואים בגורם האנושי את הסיבה לפרצת האבטחה האחרונה
80אחוז מייחסים טעויות אנוש בהעדר יידע בתחום האבטחה,העדרהכשרה או כשלון בעבודה על-פי נהלי(מדיניות)אבטחה.
75אחוז מודים בגרימת הפסדים כספיים בעקבות מחדלי האבטחההמיחשוביים.
קיימת הערכה ש-99אחוז מהחדירות למחשב בוצעו דרך פרצותידועות וקונפיגורציה שגויה
בשנת2005,ארגונים דיווחו כי35אחוז מהחדירות למערכותהמיחשוב בוצעו מבפנים,לעומת26אחוז מחוץ לרשת הארגונית.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מה יהיה בסופינו?
מה יהיה בסופינו?
D:\Documents and Settings\Yasir Zahur\Desktop\clip_image002.jpg
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
פתיח
פתיח
ההנחה שאבטחה היא מוחלטת היא טעות האבטחה מספר אחת!
האנשים שיצרו את המכונה/קוד/אלגוריתם להצפנהתמיד יוכלו לפרוץויודעים מהן נקודות התורפה
לכן-אבטחה היא תמיד פחות או יותר
באם יש תמריץ לחדור לשרת(מידע רגיש/אישי,שרת ממשלתי,מסחראלקטרוני ועוד)
אלו שרוצים לפרוץ אליו כבר חושבים כיצד לבצע את זה!
תמריץ גבוהה=רמת אבטחה גבוהה
בפרק זה נעסוק בסוגיות של אבטחת שרתים,יישומים,תיכנות קוד,גוגל,הנדסה חברתית ועוד
כל מה שיכול למנוע ניצול לרעה על ידי פולשים,
לא נתעסק באבטחה פיזית שכן לפרוץ למתקן ולגנוב את השרת זה כבר קואחר של אבטחה שלא קשור מן הסתם,לאנשי טכנולוגיה
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
עקרונות יסוד באבטחה
עקרונות יסוד באבטחה
פגיעות נוצרת פעמים רבות עקב כשל אנוש
אין אדם שאינו טועה
פגיעה ברכיב אחד במערכת,עלול למוטט את כל רכיבי המערכת("שיטתהדומינו")
אי הקפדה על נהלים,מונעת ניטור יעיל של התהליך הטכנולוגי,והשפעותיו
מערכת ללא תכנון,וללא שלב בדיקות קפדני,תהיה פגיעה ברוב המקרים
ישנו צורך לבצע בקרה אובייקטיבית של מרכיבי הפרויקט משלב התכנון,ועד ליישום הפרויקט בשטח
מערכת הנחשבת מאובטחת כיום,יתכן ולא תהיה מאובטחת בעתיד עקבשינויים טכנולוגיים או\ו שינוי תפוס האיומים על המערכת
דבר זה המחייב בדיקה מלאה של המערכת תוך פירוק לגורמים,שכבה אחרשכבה
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
עקרונות יסוד באבטחה(המשך)
עקרונות יסוד באבטחה(המשך)
הקפדה על מתן הרשאות מינימאליות לשירותיםולמשתמשים
מסייע להקטנת השפעת התקפה וליכולת הצלחתה
הפרדה בין בעלי תפקידים על מנת שלא לרכז את כלההרשאות והיכולות במקום אחד
שיטת ההגנה הנכונה הינה במעגלים
זאת כאשר פריצה למערכת הגנה אחת אינה מאפשרתכניסה מלאה לשאר המערכות המוגנות על ידי רכיבי הגנהנוספים
עקרון חשוב באבטחת מידע המכונהDefense in Depth
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
למה אבטחה?
למה אבטחה?
אבטחה הינה אחד מאבני הבניין של כל  תהליך טכנולוגי,בתחום מערכות המידע כיום.
מודל האבטחה הנפוץ ביותר הינוCIAשהינו קיצור של:Confidentiality, Integrity, Availability
Confidentiality –סודיות המידע.
Integrity –שלמות המידע.
Availability –זמינות המידע.
מאידך גיסה יש שטוענים שבאבטחה הכל זה עניין שלשליטה,ומודל ה-CIAעובד רק אם אתה ב-CIA...
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
למה אבטחה? (המשך)
למה אבטחה? (המשך)
העדר אחד(או יותר)מן המרכיבים במודלCIAחושף אתהתהליך הטכנולוגי לסיכונים לא מבוקרים.
מכיוון שתפיסת האבטחה גורסת כי אין אפשרות לאבטחב100%,ישנו צורך להעריך את הסיכונים הקיימים,ולתתלהם פיתרון בהתאם לדרגת הסיכון,הנפיצות,ויחסעלות\תועלתדבר הנעשה על ידי תהליך בשם"ניהולסיכונים" ("Risk Management").
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
נקודות מבט וגישות באבטחה
נקודות מבט וגישות באבטחה
המשתמש
האם האתר הוא מי שהוא טוען שהוא?
האם המסמך שביקשתי חזר אלי מהשרת ללא וירוסים?
האם הפרטיות שלי נפגעה?
Web Master
המשתמש אינו יכול לחדור לאתר שלי?
המשתמש יכול לראות רק מה שהוא מורשה לו?
המשתמש אינו יכול להפיל את השרת?
המשתמש הוא מי שהוא טוען שהוא?
שניהם
אף אחד לא"מרחרח"ברשת ועוקב אחר הנתונים בין השרת ללקוח(ומשנהאותם)?
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
הפרנואיד האינטיליגנטי
הפרנואיד האינטיליגנטי
פרנואיד על שום מה?
הרעים תמיד נמצאים אי שם
פועלים בהחבה(גונבים ואינם נראים)
נדיר שהם יידעו אותכם שהם שם
אינטיליגנט על שם מה?
דעו מה הם יכולים לעשות אם הם חפצים בכך
דע ומה הם לא יכולים לעשות גם אם הם ירצו מאוד בכך
דעו מה תוכלו לעשות בנוגע לכל זה
לעשות שיקול דעת בין מה אפשר לעשות לבין מה לא כדאי לעשות
אבטחה צריכה להעשות בצורה חכמה בלי לפגוע ביכולת המימוש של הישומים
המערכת צריכה לעבוד כאילו אין אבטחה ולהגן על עצמה כאילו היא במלחמה
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
סיכונים
סיכונים
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
סיכונים
סיכונים
ישנן מספר שיטות לחלוקת סוגי הסיכונים.
על מנת לפשט את ההסבר,נשתמש בחלוקה שלהסיכונים למספר קטגוריות ראשיות:
סיכונים פיזייםסיכונים הנובעים כתוצאה מכשל פיזיבמערכת ו/או בסביבת העבודה.
סיכונים לוגיםסיכונים העובדים כתוצאה מכשל לוגיבמערכת ו/או בסביבת העבודה.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
סיכונים-משוואה
סיכונים-משוואה
סיכון=איוםXהסתברותXהשפעה
איוםישות בעלת כוונה ויכולת לנצל פגיעות במערכת(האקרים,עובד,פשע מאורגן,טרוריזם)
הסתברותהסבירות שלמישהו יש כוונה,הניעה(מוטיבציה)ויכולת לנצל חולשה ידועה במערכת
השפעה(Impact) –הייקף פוטנציאלי לגרימת נזק למידע אולמערכות המידע כתוצאה מכך שמישהו ניצל חולשה ידועה.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
סיכונים-דוגמאות
סיכונים-דוגמאות
דוגמאות לסיכון לוגי:
אי ניתוח צרכי פרויקט כראוי
באג בתוכנה
אי הקפדה על תקנים(כגוןSOXסעיף404).
דוגמאות לסיכונים הנובעים מאירועים פוליטיים:
פיגועים
התקפות טרור
חבלה
מהומות
שביתות
מלחמות
מסר דוגמאות לסיכונים מבעיות במערכת:
הפסקות חשמל
בעיות חומרה(אחסון למשל)
תקשורת(נתבים למשל)
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
סיכוניםדוגמאות(המשך)
סיכוניםדוגמאות(המשך)
דוגמאות לסיכונים הנובעים ממעשה ידי אדם:
פיצוצים
עובדים ממורמרים
גישה בלתי מורשית
טעויות אנוש
קוד זדוני
ונדליזם
גניבה
הונאות
פריצות.
דוגמאות לסיכונים הנובעים מהסביבה או מהטבע:
רעידות אדמה
הצפות,סערות(ברקים,שלג,חשמל..),הוריקן,טורנדו
התפרצויות הר געש,שריפות,טמפרטורות קיצוניות,לחות גבוהה
התמוטטות בניינים
קרבה לאזורים מסוכנים(תעשיות או מפעלים כימיים,סביבה מוכת פשע ו/או איומיםאחרים)
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
סוגי התקפות לפי שכבות
סוגי התקפות לפי שכבות
תקשורת/מערכת ההפעלה
האקינגמסורתי
האקינגאפליקטיבי
שרת אינטרנט
יישום(אפליקציה)
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
סוגי התקפות לפי משפחות
סוגי התקפות לפי משפחות
השגת מידע מודיעיני,ניתוח טיב מערכת ההפעלה,וחולשתה כשלב מקדיםלהתקפה
מציאת פגיעויות,יציאות(פורטים)פתוחות(בד"כ נעשה בשכבות התחתונותבמודל הOSI)
ברמת החומרה/תקשורת/מערכת הפעלה
Web Server Attacks
התקפה ברמת היישום
ניצול פרצות אבטחה ידועות בשרתי ווב וחולשות של שפות הפיתוח
ניצול חולשות אנושיות על מנת להשיג מידע
לדוגמא:יצירת קשר עם משתמש והתחזות לאיש תמיכה,המבקש סיסמת גישהעל מנת לבדוק"בעיה"כלשהיא
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
איומים ומושגים
איומים ומושגים
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
איומים ומושגים
איומים ומושגים
ניצול סמכויות((Abuse of privilege-כאשר משתמש מבצע פעולה הנוגדת אתמדיניות אבטחת המידע או חוקי החברה.
ניצול הוגן של משאבים(Acceptable use policy) -מדיניות הארגון מגדירה אתהשימוש הראוי של העובד במשאבי הארגון ובמידע אליו הוא נחשף.
בקרת גישה(Access control) -מנגנון שמעניק גישה למידע או לביצוע פעולה.
בקרת הגישה מעניקה הרשאות לפי מה שהוגדר עבור המשתמש.
תיעוד פעולות וביקורת(Audit trail) -כל אוסף של רשומות על נייר או דיסקהיכולות להצביע מי נכנס למערכת ואילו פעולות הוא ניסה לבצע.
דלת אחורית(Back door) -כל נקודת כניסה בלתי מתועדת למערכתמאובטחת.
חקירת המחשב(Computer forensics) -מעשה של בדיקה ושמירת עדותדיגיטלית של פשע או פריצה על-מנת להביא אותה אח"כ לשימוש בבית המשפט.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
איומים ומושגים(2)
איומים ומושגים(2)
קראקר(Cracker) -מי שפורץ למערכת ממוחשבת ללא רשות.
הכוונה בד"כ מאחורי הפריצה היא זדונית ועל-מנת להשיג רווח או לביצוע נזק.
חיטוט בפח אשפה(Dumpster diving) -חיטוט בפח האשפה שלהארגון אליו מנסים לפרוץ על מנת להשיג מידע רגיש או מידע שיכוללעזור בתהליך הפריצה.
ניצול קוד פריצה(Exploit) -התקפה שמנצלת פגיעות ידועה
הרצת קוד שייתן שליטה על מחשב המטרה תוך ניצול פגיעות שלא נחסמהומשאירה את מחשב המטרה חשוף.
מלכודת דבש(Honeypot) -מערכת זהה למערכת שהתוקפים מנסיםלהגיע
בד"כ עם בעיות אבטחה שמסיטות את תשומת הלב של התוקפים מהמערכתהמקורית
ניתן לעקוב באמצעותה אחר ניסיונות הפריצה ועל המשמעויות הנילוות שלה.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
איומים ומושגים(3)
איומים ומושגים(3)
זיוף כתובתIP (IP spoofing)-שליחת הודעות מהתוקף למחשבהמטרה תוך זיוף המזהים שלו,כך שיצביעו שהוא מגיע ממערכתמהימנה.
ריחרוח מנות(Sniffing) –איסוף מנות מידע העוברות בתוך ארגוןכדי להשיג מידע כמו פרטי שם משתמש וסיסמה.
המידע שנאסף נאסף בד"כ באופן פאסיבי.
עידכון(Patch)-פיסת קוד שמשוחררת ע"י יצרני התוכנה כדי לתקןבעיות ידועות(bugs)או פגיעויות((vulnerabilitiesבתוכנותקיימות.
דיג מקוון(phishing) –טקטיקה להוצאת הונאה מקוונת או גניבתזהות
לרוב באמצעות שליחת הודעת דוא"ל מעסק לגיטימי ללקוחות שלו.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
איומים ומושגים(4)
איומים ומושגים(4)
האקינג בטלפוניה(phreaking) -שימוש בשרת הטלפוניה באופןבלתי חוקי.
לדוגמא,השגת שיחות באופן חינמי תוך שימוש במניפולציות טכנולוגיותובאמצעי עזר(משרוקית שמוציאה צלילים בתדר מסוים,שימוש בדלתותאחוריות ועוד).
הצצה מעבר לכתף(shoulder surfing) –הסתכלות מעבר לכתףשל משתמש כשהוא עובד על המחשב כדי להשיג מידע רגישדוגמת סיסמאות בעת הקלדתן.
ילד סקריפטים(Script kiddie) -תוקף שמשתמש בכליםובהתקפות מוכנות כדי למצוא חולשות במערכת המטרה.
לרוב בעל ידע טכני נמוך מהקראקר שכתב את התוכניות והוא פשוט מנסהאת ההתקפות שיש ברשותו ללא הבנה של התהליך בו הן פועלות.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
הקשחת שרתים
הקשחת שרתים
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מבוא
מבוא
כתיבת ישומים מאובטחים הינה אחד מן האתגרים הגדולים כיום למפתחיתוכנה(נדון בכך בהמשך).
הקוד אמור לענות על צרכי הלקוח,אך בו זמנית לספק מענה מלאלדרישות מודל הCIA.
אחסון הקוד בצורה מאובטחת,חשוב לא פחות מאשר כתיבת"קודמאובטח".
אחסון קוד היישום מתבצע כמובןבשרתים.
הפייזים(רמת חומרה,נגישות לחוות השרתים)
לוגיים-אותם שרתי ווב,מסדי נתונים,שרתי יישומים,יישומי אבטחה וכיו"בהמותקנים על השרת ומספקים שירותים ליישומים ולהגנה עליהם.
שימוש בכלי"ניהול תצורה",וכן בבדיקות איכות קפדניות על ידי גורמיפנים,וכן גורמי בדיקה חיצוניים מסייע לאיתור בעוד מועד של פרצתאבטחה כזאת או אחרת.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
הקשחת שרתים
הקשחת שרתים
מערכות הפעלה,ושירותי רשת שונים,מספקים פעמיםרבות שירותים נלווים שאינם חיוניים ו/או פגיעיםלהתקפות.
על מנת לאבטח את השרת,ישנו צורך לבצע תהליך"הקשחה" ("Server Harding")למערכת ההפעלה,ולשירותים הנלווים.
בתהליך זה אנו עוברים שירות שירות,ישום אחר ישוםוסוגרים יציאות וכניסות של פורטים,סוגרים הרשאות ועוד
ככלל יסודכל מה שלא חייבים ולא בשימושסוגרים!
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
הקשחת שרתים(המשך)
הקשחת שרתים(המשך)
תיעוד מומלץ לשם הקשחת שרתים ניתן למצואבמסמכי התיעוד של יצרן החומרה\תוכנה,וכןבאתרים כגון:
אתר של הסוכנות לבטחון לאומי בממשל האמריקאי ובו עשרות מדריכיםלאבטחת יישומים בקטגוריות רבות
אתר של הממשל האמריקאי ובו קישורים והסברים להורדת מסמכים,בעיקרממחלקת אבטחה של הצבא,על אבטחת שרתים ויישומים במערכות
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
הקשחת שרתים-עצות מהשטח
הקשחת שרתים-עצות מהשטח
שיפור רמת האבטחה במערכת עלול להשפיע על תפקודה,וכן על תפקודמערכות שונות הקיימות במקביל.
מומלץ לערב את התכניתן שכתב את האפליקציה שרצה על השרת המוקשח כדילהיוועץ בו לגבי הפונקציונליות הדרושה של השרת והתוכנות שרצות עליו.
כלל יסודהקשחה היא תלויית תרבות(ארגונית,מסחרית,אישית).
לא לעבוד"לפי הספר" (בדיוק עפ"י המפרטים אחד לאחד)
יש להתאים את ההקשחה לצרכי הארגון,לבצע איזון בין צרכי אבטחה לאופן הפעולהוההתנהגות של היישומים הנדרשים בארגון,
לעשותIMAGEלשרת לפני שנוגעים בהגדרותיו על מנת לאפשר חזרה לאחורבמקרה של תקלה.
לעשות את ההקשחה בשעות שבהן אין פעילות כמו לילה או סופי שבוע(דברהנכון גם במצב בו משנים גרסה באפליקציות שרצות על השרת).
מומלץ לבצע בדיקה מסודרת לשינויים הרצויים,והבנה מלאה של השפעתם עלהמערכות השונות,לפי יישומם בשטח.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
הקשחת שרתLinux
הקשחת שרתLinux
גיבוי המערכתגיבוי קבצי קונפיגורציה קריטיים העלוליםלהשתנות במהלך העבודה.
עדכוניםהן של מערכת ההפעלה המותקנת על הרשת והן שלהתוכנות המותקנות עליו.
תהליך ה-boot –הגנה על שינויים בBIOSבאמצעות סיסמה.
התקנת פרוטוקולים(לפי מה שנדרש מהשרת).
זיהוי משתמשים ותהליכים במערכתרק מה שמוכר וצריך
הגדרותSSH (והוספת באנר אזהרה).
הגבלות נוספות על פרמטרים ב-kernel (sysctl.conf)
הורדתSUID/SGID
Account policy –כללים אשר תקפים עבור כל חשבון משתמשבמערכת.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
הקשחת שרתLinux (המשך)
הקשחת שרתLinux (המשך)
הורדת שירותים מיותרים/מסוכנים
סינכרון זמן(שרתיNTP)
ניהולlogמערכת
מסמכים ואתרים בתחום:
Linux-Sec –אתר המוקדש לאבטחת שרתי לינוקס,תוכנות,הנחיות,הקשחה,עדכוניםועוד.
Linux Security Checklist (PDF,מכוןSANS13דף) –הנחיות צעד אחד צעד כיצדלאבטח שרתי לינוקס.
Hardening Linux Web Servers (PDF22דף,ראו גם גרסתHTML).מסמך טכנישל מאגזין הקוד הפתוח,כולל פקודות מפורטות
סקירה נרחבת שלIBMלנושא אבטחת שרתי לינוקס,החלק משלב התכנון,התקנה ועדהקשחה:חלק ראשון  חלק שני  חלק שלישי
UNIX and Linux Security Checklist  (פרוייקט משותף ל-CERTהאמריקאיוהאוסטרלי).
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
אבטחתApache
אבטחתApache
שרת הApacheהוא שרת ה-Webהנפוץ ביותר בסביבת עבודהעם מערכותLinuxוUnix.
ראו אתר איתן למידע כללי
מידע על אבטחת שרתApacheניתן למצוא ב:
טיפים לאבטחה מאתר אפאצ'י(גרסה2,גרסה2.2)
Securing Apache 2: Step-by-Step כולל טיפים להקשחה,אבטחתPHPMySQLוקבצי אבטחהhttpd.confלדוגמא
Modsecurity -תוסף הגנה לאפאצ'י
http://www.apachesecurity.net/ -מספר פרקים מהספר חופשיים לצפיה
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
אבטחתIISושרת חלונות
אבטחתIISושרת חלונות
שירות הIIS (Internet Information Services)מהווה תשתית חשובה לפיתוחאפליקציותWeb,וכן ליישומים קריטיים(כגוןExchange Server).
למדנו עליו בפרקים קודמים,במבוא ובשפות פיתוח
הקשחת שרתי חלונות היא יחסית משימה פשוטה יותר מאשר לינוקס ויונקס.
מידע על אבטחת שרתIISוחלונות ניתן למצוא ב:
הנחיות אבטחה ל-IIS (אתר מיקרוסופטTechNet)
UrlScan -כלי דומה לחומת אש שתפקידו לאבטח ישומים מפני בקשות מזיקות נכנסותמ-HTTP
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מוצרי אבטחהשרת-לקוח
מוצרי אבטחהשרת-לקוח
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
"מומחי אבטחה מחפשים ללא הרף אחר ה"גביעהקדוש"של מוצרי אבטחה.הם רכשו חומות-אש,כלי הערכת פגיעויות ומערכות איתור התפרצויות(IDS),בתקווה למצוא את המוצר הסופי הטובביותר.אבל האמת הרבה יותר מורכבתאבטחההיא תהליך מתמשך הבנוי משכבות רבות של הגנה".
"מומחי אבטחה מחפשים ללא הרף אחר ה"גביעהקדוש"של מוצרי אבטחה.הם רכשו חומות-אש,כלי הערכת פגיעויות ומערכות איתור התפרצויות(IDS),בתקווה למצוא את המוצר הסופי הטובביותר.אבל האמת הרבה יותר מורכבתאבטחההיא תהליך מתמשך הבנוי משכבות רבות של הגנה".
"
"
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חומת אש(Firewall)
חומת אש(Firewall)
נגדיר טכנולוגיית חומת-אש כאוסף של מנגנונים ושיטותאשר ביחד כופות מדיניות אבטחה על תנועת התקשורתבתחום רשת מאובטחת
עזיבה או כניסה(inbound\outbound)אליה
הפרדה בין רשת מקומית(local areaאוLAN)לרשת חיצונית(אינטרנט)
כל המנות(packets)בין הרשת המקומית לאינטרנט מנותבות דרך חומת האש.
מערכת חומת-אש היא יצוג ממשי של טכנולוגיית חומת-אש.
חומת אש יכולה לבצע סינון פרוטוקולי תקשורת וסינון לתוכןהמידע
החל מהשכבה של ה"ברזלים" (Physical)ועד לשכבת היישום(Application)לפי מודלOSI
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חומת אש-המחשה
חומת אש-המחשה
שרת ווב
שרת מסד-נתונים
חומת-אש
N-BIOS
FTP
RPC
בקרי אבטחת רשת(Network SecurityControls)
  HTTP(S)
52678
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חומת אש-מטרות
חומת אש-מטרות
מניעת התקפות זדוניות על מחשב מארח(Host)
"ניקוי יציאות" (Port sweeps)
שליחת הד(echo)דרך פרוטוקולICMPלכתובת משדרת לצורךבדיקת תקינות
מניעתsyn flooding צורה פשוטה יחסית של התקפות שלילתשירות(DoS)שמערכות תקשורת ומערכות חומת אש מודרניותמסוגלות להתמודד עימה.
מניעת התפשטות תולעי מחשב(Worm propagation)המנצלותזליגת מכלא(buffer overflow)מכיוון ישומם ה"מקשיב"ברשתתקשורת.
מניעת הפרעות כלליות ברשת פנימית
מניעת מנותSNMP (Simple Network Management Protocol)חיצוניות מלהכנס לרשת פנימית.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חומת אש-מטרות(המשך)
חומת אש-מטרות(המשך)
אספקת הגנה מפני ניצול חולשות של ישומים ורשתות פנימיות
פגיעויות בתוכנה הנגרמות כתוצאה משגיאות(Bug)וחושפות את המערכתלהתקפה(נפרט בהמשך את הסוגים השונים)
פרוטוקולי רשתות עלולים להכיל חולשות(SSHו-CRCועוד)ופגמים ביישום(SSLNTPFTPSMTPועוד).
שליטה ובקרה על תנועה בין"אזורים של אמון" (Zones of trusts)
יכולת שליטה על תנועה בין אזורים נפרדים(ומוגנים)ברשתות מקומיות ועוד.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חומת אשמבוא לסוגים ומושגים
חומת אשמבוא לסוגים ומושגים
ישנם מספר סוגים של חומת-אש
עם זאת,ניתן להגדיר את הטכנולוגיה כאוסף של ישומי אבטחה המאוחסניםעל שרת שער רשת(Network gateway)
ביחד פועלים לשמירת הנכסים ברשת המקומית מפני משתמשים ברשתותאחרות.
בעוד שתוכנה היא מרכיב בסיסי בכל חומת-אש,השוק עצמומתחלק לשתי קטגוריות אב:
חומת-אש מבוססת חומרה
ציוד אבטחה(מכשיר)יעודי עליו מותקנים ישומי חומת-האש מראש
לרוב עם מערכת הפעלה קניינית(proprietary)שפותחה ומותאמת במיוחדלצרכים.
חומת אש מבוססת תוכנה
לרוב מותקנים על כל סוג של שרת(כל סוג של חומר לרבות מיחשוב אישי ונייד)
לרוב מורצת על כל סוג של מערכת הפעלה רב-תכליתית(חלונות,לינוקסOS Xוכיו"ב)
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חומת אשערמת פרוטוקולTCP
חומת אשערמת פרוטוקולTCP
חומות-אש פועלות בשכבות הרשת,הובלה ויישום של ה-TCP\IP
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חומת אשבשכבת הרשת
חומת אשבשכבת הרשת
מכונים גם מסנני מנות אוPacket filters
פועלים ברמה התחתונה של מחסנית(stack)פרוטוקול ה-TCP\IP
מאפשרים למנות לעבור או לא לעבור דרך חומת-האש,בהתאםלהגדרות אוסף החוקים(ruleset)
מנהל המערכת יכול להגדיר חוקים אחרת תחול ברירת מחדל.
בסוג זה של חומת-אש לא מבוצע ניתוח תוכן או הקשר למידע
רוב סוגי חומת האש מבוססי תוכנה,מסיבות של תמחור ופשטותתפעולית והתקנה,שייכים למשפחה זו
כולל זה הנמצא במערכת הפעלה חלונות(Windows firewall).
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חומת אשבשכבת הרשת(המשך)
חומת אשבשכבת הרשת(המשך)
Stateful firewall (SPIאוStateful packetinspection)
גישה מתקדמת בה נבדק תוכן המנות ולא רק הכתובת
מבצע השוואה בין מנות חוקיות עבור סוגי חיבורים(מקורהבקשה)שונים(חיצוני אוoutboundלעומתinbound -פנימי)
שיטתNAT (Network Address Translation)גם היאמקובלת,אך מיושנת ופוגעת בביצועים
התשדורת מהרשת המקומית לרשת הכללית מועברת באמצעותתרגום לזיהויIPיחיד
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חומת אשבשכבת הובלה
חומת אשבשכבת הובלה
מכונים גםCircuit level
אינו מסתפק רק בקבלה או דחיה של מנות
מחליט האם חיבור רשת הוא בר-תוקף על-פי אוסף חוקים נתונים
אם הכל תקין,נפתח שיח(session)והתנועה מורשת לזרום רק מהמקורהמאומת.
ניתן להגביל את משך הזמן שהתנועה תורשה
מסוגל לבצע בדיקת אימות חיבור על
מקור הכתובת(IP)ו/או היציאה(port)
על יעד הכתובת(IP)ו/או היציאה(port)
הפרוטוקול בשימוש
זיהוי המשתמש(ID)
סיסמאות
זמן ביצוע ההתחברות
שילוב של כל הבדיקות הללו גם יחד.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חומת אשבשכבת הובלה(המשך)
חומת אשבשכבת הובלה(המשך)
בנוסף,ניתן לשלב טכניקת סינון מנות כנדבך הגנה נוסף
חסרון השיטה נובע מיתרונהעבודה בשכבת ההובלה
דורש הגדרות ושינויים באופן ההובלה
דבר שיש בו להשפיע על הביצועים כמו גם על התפעול
דורש מיומנות גבוהה יותר של מפעילי הרשת.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חומת אשבשכבת היישום
חומת אשבשכבת היישום
חומת האש בשכבת היישום(Application levelאוALF)מתפקדת כיישוםמורשה(Proxy)
מספק את תחלופת המידע עם המערכת המרוחקת.
בבסיס התפיסה להפוך את השרת מאחורי חומת האש לבלתי נראה למערכתהמרוחקת
מסוגל לקבל או לדחות תנועה על סמך חוקים מסויימים שנקבעו
לדוגמא,לספק הרשאה לעיבוד פקודות מסויימות על שרת,בעוד שלחסום אחרות.
משמש להגבלת גישה לסוגי קבצים מוגדרים
ניהול וקביעת רמת אספקת גישה והרשאות לאישור או שלילה של משתמשים
טכנולוגיה זו מועדפת במקרים בהם נדרש פיקוח תנועה ורישום(log)מפורטיםבשרת המארח.
זאת מאחר ופעילויות אלו פשוטות יחסית ואינן משפיעות על הביצועים
מנהלי מערכת יכולים לקבוע הפעלת אמצעי אתראה והודעה מוחשיים וויזואליםבמקרה של מצב(חריגה)מוגדר מראש.
שערי יישום(Application gateways)נפרסים במחשב בעל חיבור רשת נפרד,לרוב מכונים שרת הרשאה(proxy server)
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חומת אשבעל מצב רב שכבתי
חומת אשבעל מצב רב שכבתי
Stateful Multilevel Firewallsמוצעים בתור פתרונות"הטובים ביותרבתחומם" (best-of-breed)
גישה זו משלבת את המאפיינים הטובים של סוגי חומות-אש מרובות
מתוכננים לסינון מנות בשכבת רשת תוך זיהוי ועיבור מידע בשכבת היישום.
לרוב מציעים הגנה ברמה גבוהה אך יקרים.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חומת אשאליה וקוץ בה
חומת אשאליה וקוץ בה
ביצועים
עלולים לפגום ולהפריע בשימוש השוטף ברשת.
מגבלות
אינם פותרים בעיות עמוקות כפגמים(bug)בתוכנות או שגיאותפרוטוקול.
לרוב אינם מסוגלים להתמודד עם שלילת שירות(Denial ofService)
אינם מועילים בעליל כנגד התקפות פנים ארגוניות
ניהול
רוב מוצרי חומת-אש מסחריים דורשים הגדרות מורכבות
כפועל יוצאמיומנות גבוהות מצד מפעילים(שלא תמיד מתקיימת)
ובעיקריציאה80 (HTTP)דרכה עוברת תעבורת האינטרנט
משמשת כדלת פתוחה המקיימת קושי מובנה(אינהרנטי)בהגנה
49
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חומת אשמתי היא ברת יישום?
חומת אשמתי היא ברת יישום?
מתקיימים ישומים הרגישיםלמדד איכות שירות(QoS)ומשותפים לשתי רשתות
יצרנים משתמשים בטקטיקותהפחדה ואינן מספקים סיבהמוצדקת לחומת-אש.
חוסר כח-אדם מיומן לתפעולותחזוקת חומת-אש פניםארגונית.
כאשר הנגישות לישומיםומקורות חיונית יותר מאשראבטחה(לו"ז דחוק)
מתי כן
מתי כן
מתקיימות שתי רשתות בעלותמתווך(factor)אמון מרוחק(חבר/אוייב)
כאשר הטופולוגיה של הרשתמתוכננת להזרמת כל התנועהדרך ממשק יחיד המחוברלחומת-אש(כלומר,חיבוררשתות מוגנות חייב להסתייםמאחורי חומת-האש)
מתקיים צורך בשכבת הגנהנוספת על ישומים מסויימים.
מתי לא
מתי לא
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חומת אשפגיעות יציאה80
חומת אשפגיעות יציאה80
חומת אש
יציאה80
תעבורתHTTP
לקוח ווב
שרת ווב
יישום
יישום
שרת מסדנתונים
לימדו עוד על פגיעויות יציאה80ופרוטוקולHTTPבמאמרFingerprinting Port80 Attacks
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חומת אש לישומי-ווב
חומת אש לישומי-ווב
מדוע להשתמש בחומת אש לישומי ווב(WAF – Web ApplicationFirewall)?
חומות אש תקניות מתוכננות להגביל גישה ליציאות או שירותים מסויימיםבפני גורמים בלתי מאושרים לגישה,על-פי הגדרות מנהל המערכת
ישומי ווב נוטים להיות פגיעים ומפותחים תוך חוסר תשומת לב לנושאהאבטחה
בעוד שעל מתכנתים לשאוף לבניית ישומים מאובטחים יותר,מנהלי מערכתחייבים לעשות כל שניתן בכדי להגן על המערכת,אף מפני עצמה.
בנקודה זו נכנסים חומות האש ליישומי ווב,כאבן בניין בתכנון רשתHTTP.
WAFהוא יישום מתווך בין לקוח-ווב לשרת-ווב
משמש כאמצעי אבטחה המגן על שרת הווב מפני התקפות.
תפקידו לנתח הודעות בשכבה7 (היישום)במודלOSIולאתר הפרות שלמדיניות האבטחה המוגדרת
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חומת אש לישומי-ווב(המשך)
חומת אש לישומי-ווב(המשך)
חומת-אש ליישומי ווב מבצעת ניתוח מעמיק של מנות(DeepPacket Inspection Firewalls)
מבצעת בדיקה לכל בקשהrequest)ותגובה(response)במסגרתשכבות השירותיםHTTPHTTPSSOAPXML-RPC (דנו בשניהאחרונים בפרק שירותי-ווב)
צורות בדיקה
חיפוש אחר"חותמות התקפה" (attack signatures)בנסיון לזהותהתקפה אפשרית על השירות.
התנהגות חריגה שאינה תואמת למצופה מתבניות תנועת שכבתהשירות ואתר הווב.
ראו
Mod_Security –עבור שרתיApache,מפותח במסגרת קוד פתוח.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חומת אשלמידע נוסף
חומת אשלמידע נוסף
Firewalls Complete – Types of Firewalls and Products onthe Market
Internet Firewalls: Frequently Asked Questions
http://www.smoothwall.org/ -חומת-אש במסגרת הקוד הפתוח
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מערכת זיהוי חדירה(IDS)
מערכת זיהוי חדירה(IDS)
גישת הגנה פאסיבית
נמצאת הרבה זמן בשוק
יתרונה הגדול בהיותה מחוץ לטווח(out-of-band)הגילוי
עובדת ברקע, "מתחת למכ"מ"שבו ניתן לשים לב שהיא בכלל נמצאת
מעין בלש סמוי שנמצא מחוץ לרשת כך שפורצים לא שמים לב שרואים אותם.
מסוגלים לנטר ולנתח ארועים המתרחשים ברשת או מערכת
תרים אחר נסיונות חדירה
זיהוי מתבצע על-בסיס חתימה או תבנית
נדרש כיוונון עדין לתנאי הרשת בכדי להגיע למצב אפקטיבי של עבודת המערכת
אחרת הסיכוי לאתראות זיהוי שגוי(false positives)רב עד כדי הפיכתIDSלמיותרת.
55
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מערכת מניעת חדירה(IPS)
מערכת מניעת חדירה(IPS)
גישת הגנה אקטיבית
משהה חיבור עליו מתקיים איתור חיובי לחדירה
אספקת נתוני זיהוי על החודר ככתובתIP
חוסם תנועה בלתי חוקית בזמן אמת
מיישם איתור רב-שיטתי(multi-method)
מסוגל לספק אתראות מדוייקות יותר אבל:
במקרה זיהוי שגוי(false positives)עלול לפגום בפעילות הארגון
רושם התקפות כארועים חוקיים,אף אם להתקפות אלו אין השפעה שלילית עלהרשת
בגלל אופיה הפרו-אקטיבי שהוא מעבר לאתראה(IDS)
כלומרהעלות של סגירת חיבור עקב זיהוי שגוי יוצר יותר בעיות מאשר פתרונות
IDSהוא הימור טוב יותר
56
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מערכת מניעת חדירה(המשך)
מערכת מניעת חדירה(המשך)
גם לאחר איתור פעולה חודרנית לרשת,על מנהל המערכת לחקור אתההתקפה
לקבוע כיצד היא התרחשה ולתקן כשלים בכדי לנסות למנוע הישנות מקריםבדרך דומה
טענות כנגד קיבוץ כל משאבי אבטחת הרשת ב"קופסה אחת"
סותר את גישת"הגנה לעומק" (defense-in-depth)או הגנה בשכבות(security-in-layers)
כשל באזור אחד עלול להוביל לכשל מערכתי פנימי כולל
IPSדורש כיוונון עדין וכיוונון של הרשת בצורה מורכבת יותר מאשרIDS
נחשבת לצעירה,בעלת מחזור חיים טכנולוגי קצר.
יתרונהבקוד אדום(code red)
בעת חדירה המגלמת אפשרות לפגיעה ממשית ובזמן קצר במערכות
סיכוי גדולה יותר למניעה של התפשטות ועוצמת הפגיעה לעומת מערכתIDS
57
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
IPSו-IDS -סיכום
IPSו-IDS -סיכום
IPSנמדד במהירות תגובה
ככל שהמערכת חזקה יותר כך היא יקרה יותר
על כןIPSלרוב מבוסס חומרה(ASIC & FPGA) -יכולותכיוונון ומהירות משופרות
IDS –זול יותר,לרוב מבוסס תוכנה
רוב המערכות הרובוסטיות הן מסחריות
SNORT –קוד פתוח(בחינם)המשלב גם איתור וגםמניעה אקטיבית
58
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
SSLו-TLS
SSLו-TLS
SSL - Secure Sockets Layer
פותח על ידי נטסקייפ עוד ב1993
גרסה3.0נרשמה כטיוטת המלצה ליישום באינטרנט בשנת1996.
יושמה בצורה נרחבת בשרתים ובדפדפנים
התפתחה ל-TLSכRFC 2246
TLS - Transport Layer Security
ניתן לראותו בתורSSLגרסה3.1 (בפועלTLS 1.0)
שניהם מספקים יכולת לתעבורת מידע וחיבור מאובטח בין שני יישומים(שרת ודפדפן).
חשאיות(Confidentiality)
שלמות(Integrity)
אימות(Authentication)
59
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
SSLו-TLS –ישום ופיתוח
SSLו-TLS –ישום ופיתוח
SSLמספק מנשק פיתוח ישומים(API)הכולל ספריות ומחלקות בשפותC/ג'אווה
60
Application
TCP
IP
בצורה רגילה(HTTP)
בצורה רגילה(HTTP)
Application
SSL
TCP
IP
עםSSL (HTTPS)
עםSSL (HTTPS)
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
SSLו-TLS -הצפנות
SSLו-TLS -הצפנות
DES (Data Encryption Standard: block)
3DES (Triple strength: block)
RC2 (Rivest Cipher 2: block)
RC4 (Rivest Cipher 4: stream)
הצפנת מפתחות ציבוריים נתמכים
RSA
ראו אתר איתן בנושא חתימה דיגיטלית ומפתחות ציבוריים
MAC (Message authentication code)
משמש לאימות ושלמות ההודעה(מעין ספרת ביקורת יחודית לכלהודעה)
בדומה ל-CRCבתקשורת נתונים.
61
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
SSLו-TLS –תרשים הצפנה
SSLו-TLS –תרשים הצפנה
62
Dark upward diagonal
MAC
מידע מהיישום
padding
type
חלוקה(פרגמנטציה)
דחיסה
אימות הצפנת הודעה(בתוספת קידום-paddingאם נדרש)
version
length
type
version
length
type
version
length
SSLPlaintext
SSLCompressed
SSLCiphertext
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
SSLו-TLS -תהליך
SSLו-TLS -תהליך
לקוח
שרת
client_hello
server_hello
certificate
server_key_exchange
certificate_request
server_hello_done
certificate
client_key_exchange
certificate_verify
change_cipher_spec
finished
change_cipher_spec
finished
שלב1:התדיינות של זיהוי השיח(session ID),החלפתמפתחות הצפנה,אלגוריתםMAC (וידוי),הצפנת אלגוריתםוהחלפת מספרים רדנומאלית ראשונית.
שלב2:השרת רשאי לשלוח תעודה(certificate)והודעתהחלפת מפתח וכן רשאי לבקש מהלקוח לשלוח אתהתעודה שלו.השרת מאותת על סיום שלב ה"hello".
שלב4:החלפת מפרטי הצפנה וסיום"לחיצת היד"
שלב3:הלקוח שולח תעודה אם מתבקש ורשאי לשלוח הודעתאימות תעודה מפורשת.הלקוח תמיד מצרף את המפתח שלו(עליו הוסכם במסגרת החלפת הודעות).
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
סיכוני אבטחהבשכבת הישום
סיכוני אבטחהבשכבת הישום
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מספרים...
מספרים...
דו"ח של חברת סימנטק למחצית השניה של2006
2526פגיעויות(vulnerabilities)
66אחוז השפיעו על ישומי ווב!
המגזר הממשלתי היה בעל האחוז הגבוה ביותר של סיכוני אבטחתמידע שיכלו להוביל לגניבת זהויות של אזרחים.
מחקר של חברת אבטחת המידעWhiteHat
פגיעויות משמעותיות בכ-80אחוז מהאתרים שנותחו
ה-20האחוז שנותרו הם לרוב אתרים דוממים(סטאטיים), HTMLפשוט ללא כל תיכנות דינמי בצד הלקוח או השרת.
רוב המנהלים הבכירים חושבים שחומת אש מגינה מפני התקפותבשכבת היישום(לא נכון!)
65
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
רוב הפגיעויות ביישומי ווב
רוב הפגיעויות ביישומי ווב
http://cwe.mitre.org/documents/vuln-trends/index.html
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
ועוד קצת מספרים...
ועוד קצת מספרים...
דו"ח של חברת המחקר סנזיק(Cenzic)לשנת2007מצא
יותר מ-7מתוך10ישומי ווב שנותחו,התגלו כבלתי מאובטחים בצורהשעלולה להוביל לניצול וזליגת מידע רגיש כפרטי משתמש,בזמן העברתמידע בין לקוח לשרת.
בערך50אחוז מהיישומים כשלו ביישום טיפול מובנה בפסיקות(structured exception handling)בצורה המניחה את הדעת
דו"ח של חברת אקיונטיקס(Acunetix)לשנת2007מצא
נבדקו3200אתרים
70אחוז מתוכם נמצאו כבעלי רמת פגיעות בינונית עד גבוהה.
מתוך אלו בעלי רמת פגיעות גבוהה50אחוז נמצאו פגיעים להזרקתSQL
זאת,בעוד42אחוז מאותם אתרים נטו לפגיעות מסוגXSS.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
אז מה הסכנה?
אז מה הסכנה?
URL Manipulation
SQL Injection
Cross Site Scripting
Buffer Overflows
Directory traversal
מעקב שיח(Session)לקוי
סיסמאות שמורות בזכרון/עוגיה
הגדרות שגויות בשרת הווב
נפרט בהמשך...
השגת מספרי כרטיסי אשראי
השגת מספר חשבון בנק
השגה/שינוי למידע אישי/חסוי
עדכון מחירים בחנות
התחזות למשתמש אחר(מורשה)
העברת כספים בלתי מורשית לחשבון
הענקת הרשאות לחשבון משתמש(כך שיוכל לבצע שינויים שאינומורשה)
כייד הדמיון...
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מהן התקפות יישומיות?
מהן התקפות יישומיות?
התקפות שקשורות לכוונה של הודעות יישום(Web application)
פירוש של בקשתHTTPע"י שרת האינטרנט
טיפול בשאילתותSQL
פירוש של הודעות ספציפיות ליישום
שונה מהתקפות ברמת התשתית:
סריקת יציאות(port)
כניסה בלתי מורשית לשירותים
ניצול פגיעויות של מערכת ההפעלה
69
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
התקפות יישום מול תשתית
התקפות יישום מול תשתית
לרוב יותר קשה לזהות או לשכפל התקפות ישום
זיהוי דורש הבנה של טכנולוגיות שונות ושל היישום
הפגיעויות שונות בין היישומים
אבל יותר קלות לניצול..
הקידוד הוא פשוט ולא דורש ידע של תקשורת בשכבותהנמוכות
נעזר במנשק המשתמש(ה-GUIשל היישום או שלהכלים שנעזרים בהם)
70
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
HTTPכשער פרוץ
HTTPכשער פרוץ
בפרק"התפתחות ומושגי יסוד"דנו בפרוטוקולHTTP
חסרונו– "חסר זכרון" (Stateless),כל בקשה(HTTP Request)מטופלת מחדש ללא קשר לבקשות קודמות.
על היישום מוטל לעקוב אחר השיח(Session)עם הלקוח
מכאן שמטבעו,כירושה מהתפתחות הסטורית,אינו מאובטח
התקיים מיתוס שניתן להאמין לקלט בטפסיHTMLהמתבצע בצדהלקוח(דפדפן)ולכן
המשתמש תמיד ישלח קלט כנדרש(ולא ינסה לחבל בו)
המשתמש אינו יכול לבצע מניפולציות על תפריטי גלילה(Drop Down)
המשתמש אינו יכול לבצע מניפולציות על שדות סמויים(hidden)
יתבצע שימוש בג'אווה סקריפט לאימות הקלטים וסינון ערכים פוגעניים
שימוש ב-SSLהוא פתרון מנצח(בלתי חדיר)
71
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
אבל אני...
אבל אני...
אבל אני משתמש ב"חומת אש"...
חומות אש חוסמים תעבורה לשירותים בלתי מורשים,אבלהיישום רץ על שירות מורשה
מכאן שאינם יכולים להבין את הסמנטיקה של התעבורה ולסנןבקשות/תגובות זדוניות
אבל אני משתמש בSSL...
SSLמגן על תעבורה מלהיות חשופה או להשתנות ע"י גורם צדשלישי
SSLלא משפיע על התוכן שנשלח מהדפדפן לשרת
SSLמונע ממערכותIDSלזהות התקפות
72
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
אילו ישומים חשופים?
אילו ישומים חשופים?
קודם כל,ישומי ווב(Web application)
הכי נפוצות באינטרנט
טכניקות להאקינג של ישומי ווב מפותחות באופןמתמיד ומפורסמות
אבל לא רק יישומי ווב
כל ישום יכול להיות פגיע
ישומי שרת-לקוח קניניות סובלות מאותם הסימפטומים
ביישומי שרת-לקוח יש יותר סיכוי שמסתמכים על זיהוילפי צד הלקוח
73
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
10ההתקפות השכיחות
10ההתקפות השכיחות
הזרקתHTMLאו סקריפט לתוך דפיwebשנצפים ע"י משתמשים אחרים.
נרחיב על תופעה זו בהמשך
הרצת שאילתותSQLזדוניות ועשיית מניפולציות בקלט שנשלח לשרת ומבוצע מולמסד הנתונים.
ראו גםDatabase Attacks -התקפה לגניבה/מחיקה/שינוי/הוספה של מידע,במאגר נתונים
ככלל, "הזרקת"נתונים(Injection Flaws)מקיימת לא רק ב-SQLאלא גם לגביLDAPXpathXSLTHTMLXML,פקודות מערכת הפעלה(OS)ועוד.
הדרך הכי פשוטה להתגבר על בעיות אלו היא לעולם לא לסמוך על מידע המגיעמהלקוח
נרחיב על תופעה זו בהמשך
74
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
10ההתקפות השכיחות
10ההתקפות השכיחות
הרצת קובץ זדוני(Malicious File Execution)
נפוץ בעיקר בישומים מבוססיPHPXMLוכל מערכת המאפשרת להעלות קבצים,לרשוםשמות קבצים או לרשום קוד בתוך עורכי טקסט ויזואלים(ע"עCode Injection)
מתקיים במערכות הרגישות להכללת קובץ מרוחק(remote file inclusionאוRFI)כאשרהתוקף משתיל קוד זדוני בתוך מידע המעולה לשרת ומאפשר הרצתו(executiion)
ראו גםXSA (Cross-Server Attack)בה מחשב לקוח תוקף או מנצל לרעה שרת,בעיקרכאשר יש ללקוח גישה למקום אחסון על השרת,משתיל קבצים או משנה הגדרות.
חשיפה והפניה ישירה לשמות ומיקום קבצים(כולל מבנה ספריות יחסי דוגמת../../),מיקוםפריטים במסד נתונים(דוגמת זוגות מפתחות ערכים ב-URLהחושפים כיצד ה-DBעובד אובטפסיHTMLתוך שימוש בתגיתform)מקובץ ההרצה בדפדפן אל מול היישום הפנימי
התוקף יכול לבצע מניפולציות להפניות אלו לצורך גישה לפריטים בצורה בלתי מורשית,לנחשכיצד שאילתות הSQLמבוצעות וכיו"ב.ע"ע
שינוי זוגות השם והערך שמופעים בכתובת הURL.
75
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
10ההתקפות השכיחות(דוגמאות)
10ההתקפות השכיחות(דוגמאות)
עליון:הרצת קובץ זדוני מה-Command lineבמערכת הקבצים
תחתון:חשיפה והפניה ישירה לשמותומיקום קבצים דרך ה-URL
כדאי לשים לב:
אין לסמוך לעולם על מידע המגיע מהלקוח(נאמר זאת שוב ושוב)
ביצוע בדיקות תקינות אפקטיבי רק בצדהשרת(צד לקוח זה נחמד וידידותי)
החבר הכי טוב– Regex (ביטויים רגולריים)
שימוש בקידודיHTML (למשל< = &lt; > =&gt; & = &amp)פותח99%מבעיותXSS
שימוש בטכניקות בדיקות וסניטיזציה("ניקוי"קלטים)
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
10ההתקפות השכיחות(המשך)
10ההתקפות השכיחות(המשך)
תקיפת מחשב לקוח בעל הרשאות מצד האקר לצורך ביצוע פעולות ביישומי וובהפגיעים להתקפה מסוג זה
לאחר"השתלטות"והזדהות כמחשב הקורבן,ניתן לבצע פעולות עוינות כהעברותכספים וחדירה לשרתים ארגונים להם יש ללקוח הנפגע גישה מורשית.
נרחיב על תופעה זו בהמשך
Information Leakage and Improper Error Handling
ישומים(כולל שרתי ווב,שרתי ישומים ונתונים),ללא כוונה מוקדמת ועקב תכנון לקוישנובע מחוסר תשומת לב,מוציאים הודעות שגיאה למנשק המשתמש(שגיאותSQL,שגיאות בשרת ובגישה למסד הנתונים) .
בכך חושפים מידע על הקונפיגורציה הפנימית שלהם,נקודות תורפה ביישום ומידעפרטי על משתמשים(כחשיפת פרטי גולשים,כרטיסי אשראי וכיו"ב).
גורמים עוינים כהאקרים יכולים לנצל חולשות אלו לגנוב מידע רגיש וכל פעולה עוינתאחרת
נרחיב על תופעה זו בהמשך
77
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
10ההתקפות השכיחות(המשך)
10ההתקפות השכיחות(המשך)
Broken Authentication and Session Management
פרטי חשבון משתמש(סיסמה/שם משתמש)ואסימוני-שיח(session tokens)אינםמנוהלים ומאובטחים כראוי
דבר זה מאפשר לתוקפים לגנוב זהויות,מפתחות ואסימוני אימות(authenticationtokens).
ככלל,אסימונים נוצרים על-ידי השרת(אחרת יש מחדל אבטחה)לכל דף יחיד(uniqu)המשודר ללקוח
אי-שימוש בתקשורת מאובטחת(ראו בהמשך)כ-SSL,גם הוא מאפשר להאזיןלתשדורת ולגנוב מידע
ליקויי ישום בהצפנות נתונים(Insecure Cryptographic Storage)
תוכניתנים של ישומי ווב מתפשרים בנושאי אבטחה לטובת יכולות ומהירות פיתוחואינם מיישמים או מיישמים בצורה חלקית ולא נכונה,פונקציות של הצפנת נתוניםכסיסמאות
מתקיפים מנצלים עובדות אלו לגניבת זהויות ופרטי משתמש חסויים כמספרי כרטיסיאשראי והונאות כספים.
78
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
10ההתקפות השכיחות(המשך)
10ההתקפות השכיחות(המשך)
Insecure Communications
אי יישום הצפנת נתונים בשכבת התקשורת(network)כ-SSL\TLS (מכונה גםHTTPS)
ראו סעיףSSL\TLSבסעיף שרתים
Failure to Restrict URL Access
לרוב,ישומי-ווב מגנים על מידע רגיש(ודפים פנימיים)בכך שאינם מציגים ב-URLאו מספקיםקישורים למשתמשים שאינם בעלי הרשאה מספקת.
תוקפים מנצלים חולשה זו בה אין הגנה פנימית במערכת ובדיקה בכל ארוע את פרטיההרשאות,באמצעות איתור אותם דפים וגישה אליהם.
כניסה לקבצים ולפקודות מעבר לנקודה בה המשתמש מורשה לה.
כניסה לדפיwebמוחבאים והגעה לתוכן או פונקציונליות שנמצאת בהם
79
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
התקפות שכיחות נוספות
התקפות שכיחות נוספות
גניבת סיסמת גישה למשאבי הרשת.
שימוש בכלים שונים לגניבת מידע ו/או השבתת משאבי הארגון.
ניצול פגיעות של רכיב תוכנה ו/או מערכת ההפעלה לשם השפעת פעולה שלישום אחד על אחר.
השבתת שירות חיוני עקב"הצפה"של השירות הרצוי,בבקשה למתן שירות.
פוגעת בעיקר בעקרון הזמינות בCIA.
התחזות של רכיב תקשורת,לרכיב תקשורת אחר שיצר קשר(Session)לגיטימי עם השרת.
שינוי ערכי העוגיה(cookie)בדפדפן של המשתמש כדי לנצל פגיעויותוליהנות מהאמון שהמשתמש זוכה לו.
80
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
כתיבת קוד מאובטח
כתיבת קוד מאובטח
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מבוא
מבוא
כתיבת קוד היא משימה לא פשוטה ואפשר לטעות בתכנות בדרכים רבות.
העניין מסתבך ככל שהיקף המערכת גדל.
ניתן לתכנת מערכת כלשהי ולראות כי היא עובדת כמצופה עפ"י האפיון.
בפועל,יכולים להיות בה פרצות שעלולות לשבש את מהלך העבודה התקין שלהמערכת.
פרצות אלו מנוצלות לרעה כאשר משתמשים במערכת בצורה שלא יועדה לה,כמו הזנת מידע שגוי.
על פי רוב,הפירצות בקוד נעשות
שלא במודע או בשל חוסר ידע
הערכה לא נכונה של שימושיות המערכת
עצלנות
ולפעמים לוקח זמן רב עד שמגלים אותן...
ובקיצורתהליך הנדסת תוכנה לקויה!
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
גישות באבטחת ישומים
גישות באבטחת ישומים
סביבת הפיתוח הנדרשת כיום,אמורה לעמוד באתגריםחדשים הכוללים צמצום עלויות,תוך כדי שיפור רמתהאבטחה ללא פגיעה משמעותית ביכולת המערכת.
בניגוד לעבר,אי הכללת עקרונות האבטחה בעת ביצועפרויקט טכנולוגי,מקשה ו/או אף מונעת ישום עקרונותאבטחה במערכת לאחר סיום שלב התכנון.
יש לציין שצריכים לשים דגש על אבטחת המידע לאורך כלשלבי מחזור החיים של הפיתוח והפרויקט.
83
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
פערי גישות באבטחת ישומים
פערי גישות באבטחת ישומים
מפתחי יישומיםומומחי בדיקותתוכנה(QA)אינםמבינים באבטחה
"כמפתח ישומים,אני יכולליישם יכולות ופונקציותרבות תוך עמידה בלוחותזמנים.אך איני יודע כיצדלשלב מתודולוגיות שלאבטחת ישומים בתוךהקוד"
מפתחי יישומיםומומחי בדיקותתוכנה(QA)אינםמבינים באבטחה
"כמפתח ישומים,אני יכולליישם יכולות ופונקציותרבות תוך עמידה בלוחותזמנים.אך איני יודע כיצדלשלב מתודולוגיות שלאבטחת ישומים בתוךהקוד"
bridge
מומחי אבטחת מידעאינם מבינים ביישום
"כמומחה אבטחת רשתות,איני יודע כיצד יישומי הוובאמורים לעבוד אז אני פורספתרונות אבטחה הגנתיים,אבל אין לי מושג האם זהאכן מגן על מה שזה אמוראו חוסם יכולות חשובותביישום"
מומחי אבטחת מידעאינם מבינים ביישום
"כמומחה אבטחת רשתות,איני יודע כיצד יישומי הוובאמורים לעבוד אז אני פורספתרונות אבטחה הגנתיים,אבל אין לי מושג האם זהאכן מגן על מה שזה אמוראו חוסם יכולות חשובותביישום"
לכן אבטחה אינה פותרת בעיות בשכבת היישום אלא רקבקרה משולבת של איתור בעיות אבטחה על-ידי מומחיםומשם חזרה ליישום פנימה בתוך הקוד והכשרת תוכניתיםבתחום אבטחת הקוד,מספקת פתרון נכון ואמיתי.
לכן אבטחה אינה פותרת בעיות בשכבת היישום אלא רקבקרה משולבת של איתור בעיות אבטחה על-ידי מומחיםומשם חזרה ליישום פנימה בתוך הקוד והכשרת תוכניתיםבתחום אבטחת הקוד,מספקת פתרון נכון ואמיתי.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
הגישה המקובלת לפיתוח
הגישה המקובלת לפיתוח
הלקוח מבצע בדיקות קבילות(acceptance)
הלקוח מבצע בדיקות קבילות(acceptance)
התוכנית מוכנה ו"עולה לאוויר"
התוכנית מוכנה ו"עולה לאוויר"
מפתחים בוניםיישום
מפתחים בוניםיישום
צוותQAמבצע בדיקות תפקודיות(פונקציונאליות).
צוותQAמבצע בדיקות תפקודיות(פונקציונאליות).
צוות אבטחה מבצע בדיקותלשרת,בודק עדכונים וקונפיגורציה
צוות אבטחה מבצע בדיקותלשרת,בודק עדכונים וקונפיגורציה
פגמים תפקודיים(באגים)מאותריםומתוקנים
היישום מוכרז ומוגשלבדיקת קבילות מצדלקוח(UAT)
צוות אבטחה מיישםעדכונים חסריםוכיוונוני קונפיגורציה
התחלת פריסה
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
הגישה המוצעת לפיתוח
הגישה המוצעת לפיתוח
הלקוח מבצע בדיקות קבילות(acceptance)
הלקוח מבצע בדיקות קבילות(acceptance)
התוכנית מוכנה ו"עולה לאוויר"
התוכנית מוכנה ו"עולה לאוויר"
צוות פיתוח בונה ישום
צוות פיתוח בונה ישום
צוותQAמבצע בדיקות תפקודיות(פונקציונאליות).
צוותQAמבצע בדיקות תפקודיות(פונקציונאליות).
צוות אבטחה מאתר פגיעות,סיכונים ונקודות תורפה ביישום
צוות אבטחה מאתר פגיעות,סיכונים ונקודות תורפה ביישום
היישום מוכרז ומוגשלבדיקת קבילות מצדלקוח(UAT)
היישום חוזר לנקודתההתחלה או"עולהלאוויר"עם מידע עלסיכוני אבטחהאפשריים
היישום חוזר לנקודתההתחלה או"עולהלאוויר"עם מידע עלסיכוני אבטחהאפשריים
התחלת פריסה
זיכרו:אבטחה אינה פותרת בעיות בשכבת היישום!
זיכרו:אבטחה אינה פותרת בעיות בשכבת היישום!
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מחזור החיים של אבטחת יישומים
מחזור החיים של אבטחת יישומים
תחילתו
באיסוף דרישות
בניית לוגיקה עסקית(Business logic)
מבנה ותכן(Design)של יישום
המשכו
קידוד(Coding)
בדיקות(Testing/QA)
פריסה(Deployment)
סיומו
רק כאשר היישום מוצא מכלל שימוש
87
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מחזור החיים של אבטחת יישומים
מחזור החיים של אבטחת יישומים
ביקורת
ביקורת
פיתוח
פיתוח
בדיקות איכות
בדיקות איכות
ייצור
ייצור
פעולות אבטחהובדיקות
מפתחים
צוותQAומפתחים
בקרים(auditors),בדיקות התאמה אלמול מטרות פיתוחומומחי יעדיםומשימות עסקיות(SME)
security_process
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
סוגי פרצות
סוגי פרצות
מערכת ההפעלה
משתמשים,סיסמאות,הרשאות קבצים,זיכרון,רשת,וכדומה.
שפות תכנות ותקנים
Buffer OverflowsObject-Orientedglobalsexecute,endless loopslocalesencodings,וכדומה.
שימוש במערכות וספריות(libraries)חיצוניות
בסיסי נתונים,קבצי מידע חיצוניים,ספריות קוד,וכו'.
מבנה המערכת
שימוש לא נכון ב-OO,חוסר אימות נתונים,וכו'.
אי טיפול בשגיאות
שגיאה גוררת שגיאה וכך הלאה.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חשיבות(או למה?)
חשיבות(או למה?)
מתכנתים מתאמצים כדי לבנות מערכת עובדת עפ"י האפיון שבידם.
אף מתכנת או בעל אתר לא ירצה שהמערכת שלו תנוצל לרעה ותיפגע בעצמהו/או במשתמשים שלה.
לכן,אנשים מאבטחים את השרת שלהם בכל דרך אפשרית,כדוגמתSSH2,הרשאות קבצים,חומת אש,קונפיגורציה ועוד.
אך בדר"כ שוכחים כי שער הכניסה הראשי לשרת עובר דרך שרתהאינטרנט בכבודו ובעצמו.
שרת האינטרנט מספק שירותים למשתמשים,מקבל בקשות ומידע מבחוץ,ומבצע פקודות ומריץ קבצים על השרת,ובעצם נגיש למשאבים של השרת.
על-כן,יישומי ווב שלא מתוכננים כראוי יכולים לשמש כפירצה עבורמתקיפים דרך החורים המצויים בשער הראשי.
תכנות מאובטח אמור לספק הגנה וסתימת פירצות האבטחה ביישומיהווב(עד רמה מסויימת).
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
אידיאולוגיה
אידיאולוגיה
תכנות מאובטח מתחיל קודם כל במודעות לאפשרות שיתכנופירצות.
ידיעה של כמה שיותר סוגים ומקרים מגבירה מודעות.
פירצות בקוד מנוצלות בדר"כ ע"י גורמים עויינים(מתקיפים)המחפשים את אותן הפירצות על-מנת לפגוע ו/או לטובתהאינטרסים העצמיים שלהם.
לפיכך,ניתן לומר שהעיקרון הבסיסי בתכנות מאובטח הוא:פראנויה,חשדנות קיצונית.
אין לסמוך על נכונות המידע המתקבל מבחוץ,ויש צורךלאמתו.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
Buffer Overflow
Buffer Overflow
האפשרות לשלוח קלט שחורג מיכולת הקבלה של המשתנהשמקבל אותו.
דוגמא:
שליחת מחרוזת גדולה מידי בשביל לרמוס את המתודה שמחזירהערך,וכך לגרום לשרת להריץ קוד זדוני ללא הרשאות.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
Buffer OverflowCode red
Buffer OverflowCode red
דוגמא:
 /default.ida?NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
Buffer Overflow
Buffer Overflow
כאשר שולחים"חתיכה"גדולה מידי של קוד לתוך החוצץהתהליך נופל.
כאשר הBuffer Overflowמתבצע במחסנית(Stack),אפשר לכוונן אותו כך שיוציא לפועל התקפה.
כתובת המצביע החוזרת(Address pointer)מוחלפתבקוד חדש,שבד"כ משומש לקריאה לשורת הפקודהבמערכת ההפעלה(ShellאוCommand line).
94
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
Buffer Overflow -המשך
Buffer Overflow -המשך
הקצאות עוקבות של מקום בזיכרון יכולות להיות במקומותסמוכים בזיכרון
4הביטים האחרונים שייכים למשתנה מסוג מספר(integer)שמייצג את המשתנהisAdmin.
כאשר חורגים מהמחרוזת הראשונה(שמוכנסת ע"יהמשתמש),ישנה אפשרות לשנות את הערך שלהמשתנה השני.
95
M
y
_
S
t
r
i
n
g
\0
0
0
0
0
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
Buffer Overflow דרכי התמודדות
Buffer Overflow דרכי התמודדות
בדיקת הקלטתמיד לבדוק את אורך הקלט
להימנע משימוש בפונקציות"מסוכנות"שלאמבצעות בדיקת גבולות
להימנע משימוש במשתנים סטטיים ככל שניתן
96
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
טיפול בהודעות שגיאה
טיפול בהודעות שגיאה
כל פיסת מידע שהתוקף יכול להשיג על המטרה אוהאפליקציה הוא תוספת משמעותית לתהליך התקיפה.
תפקידם של המעצבים והתכניתנים לדאוג לכך שיהיהטיפול בהודעות השגיאה כך שלא יתגלו ויספקו מידעלתוקפים.
הבעיה מתחילה כשמשתמשי הקצה רואים את ההודעותהאלו,ומשתמשים במידע כדי לעשות התקפה ממוקדתיותר.
97
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
טיפול בהודעות שגיאהסוגים
טיפול בהודעות שגיאהסוגים
הודעות ברירת מחדל
מספקות מידע בסיסי על המערכת.עוזרות לתוקף לבחור באיזה טכניקה ו-exploitהוא ישתמש כדי להשיג גישה.
הודעות שנותנות מידע ספציפי
למשל הודעות שמגיעות ממסד נתונים ונותנות מידע על שמות הטבלאות,שמות השדות(יכול לעזור מאוחר יותר בהתקפות כמוSql Injection)
או הודעות כמו“invalid user name”או"invalid password"שנותנותמידע יותר טוב לתוקף מהודעה כללית כמו“login incorrect” (התקפותbrute force).
98
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
SQL Injection
SQL Injection
מהפרצות היותר נפוצות והרסניות בפיתוח אתריםהמשלבים עבודה עם מסדי נתונים.
SQL Injectionקורה כאשר משתמשים במידע המתקבלמן המשתמש בתוך שאילתותSQLללא בקרה.
ניצול פירצה זו יכול להביא לידי קריאת מידע חיוני,מחיקת מידע,הכנסת מידע שגוי,והטעיה
אלו יכולים לתת למתקיף הרשאות ניהול באתר ואף גרוע מכך,גניבת מידע אישי השייך למשתמשי האתר או לארגון.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
SQL Injection -אז מה קורה?
SQL Injection -אז מה קורה?
צפוי:
Username: doug
Password: p@$$w0rd
ואז מבנה השאילתא יראה כך:
SELECT COUNT(*) FROM Users WHERE username='doug’ and password='p@$$w0rd'
בלתי-צפוי:
Username: ' OR 1=1 --
Password:
ואז מבנה השאילתא יראה כך:
SELECT COUNT(*) FROM Users WHERE username='' OR 1=1 -- and password=''
Login Successful!
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
SQL Injection –דרכי המנעות
SQL Injection –דרכי המנעות
כיצד התוקף מכיר את נקודות התורפה?
מידע פנים
ניסוי וטעיה
הודעות שגיאה שיוצאות לדפדפן חושפות לעיתים יותר מדי...
משתמש זדוני יכול לכפות הודעת שגיאה על המערכת(למשל תוך שימוש במחרוזות מסויימות)אשר יחשפו מידע אודות מסד הנתונים.
כיצד להמנע?
בדיקות אימות הדוקות לקלט מהמשתמש בצד השרת.
שימוש באסרטגיות אימות מידע
קבלת רק מידע מוכר וחוקי
דחיית כל מה שלא מוכר או חשוד
"חיטוי"קלטים לא תקינים/חשודים
כל הבדיקות חייבות לבדוק את סוג המידע(Data Type),תחביר(Syntax)ואורך(Length)
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
SQL Injection -דוגמא
SQL Injection -דוגמא
דוגמא(PHP):
mysql_query(“SELECT * FROM users WHERE user=‘$user’ ANDpass=‘$pass’”);
הטעות פה,היא קביעת ההנחה של המתכנת כי המשתנהidהמתקבל דרך ה-URLיכילתמיד מספר.אך מתקיף יכול לרשום שםSQL Injectionולתמרן את השאילתא.
לדוגמא,המתקיף יכול להזין בטופס ההתחברות את שם המשתמש הבא:
admin’#
ואז השאילתא תראה כך:
mysql_query(“SELECT * FROM users WHERE user=‘admin’#’ ANDpass=‘BLAH’”);
הסיסמא לא משנה במקרה הזה,והמתקיף מזוהה במערכת בתור מנהל.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
SQL Injection -ופתרונה
SQL Injection -ופתרונה
הברחת(escape)כל הנתונים שמשתמשים בהם בשאילתות,והשמתהערכים בין גרשיים יחידים.
$user=mysql_escape_string($_POST[‘user’]);
$pass=mysql_escape_string($_POST[‘pass’]);
mysql_query(“SELECT * FROM users WHERE user=‘$user’ ANDpass=‘$pass’”);
ואז השאילתא הקודמת תהיה בטוחה ובלתי מזיקה:
mysql_query(“SELECT * FROM users WHERE user=‘admin\’#’ ANDpass=‘BLAH’”);
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מניפולציות עלURL
מניפולציות עלURL
URL Manipulationמתבצע כאשר משתמש משנה ערכי מסדנתונים חשופים בכתובת ה-URL.
זאת משום שמשתמשים ב-METHOD="GET"בטופסHTMLלהעברתערכים חשובים
אותם ערכים ניתנים לשינויים בלתי צפויים ורצויים ובהתאם הנזק.
בקשותGETנשמרות בהסטוריה של הדפדפן
סגנון זה של מניפולציות יעבד על כל שדה קלט בדף ווב,ערכיםבשדה קלט סמוי ומידע המאוחסן בעוגיות.
לדוגמא:
http://www.paladiontest.com/example?accountnumber=12345&debitamount=1
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מניפולציות עלURL -דוגמא
מניפולציות עלURL -דוגמא
pic16
בתמונה עליונה,נראה כי  במערכתרפואית מועברת בקשה ליישום בשרתבאמצעות מספר החולה בשורת ה-URL
בתמונה התחתונה נראה כי ניתןבמקום מספר החולה לשים תו הכללה(Wild card)ככוכבית(*)שחושפתאת רשימת כל החולים במאגר
pic15
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מניפולציות עלURL -פתרון
מניפולציות עלURL -פתרון
הכי טוב-להמנע מהעברת ערכים חשובים במחרוזת השאילתא שלה-URL.
אימות תוך שימוש באסימוני שיח(session token)
הצמדת מספר מזהה יחודי לכל שיח(Session ID)עם משתמש מזוהה
אסימון השיח מוצמד לכל בקשתHTTP
נהוג לאנדקס את אסימון השיח במסד הנתונים,היכן שהמידע האמיתי אודותהמשתמש,נמצא.
הצפנת כל המידע הרגיש המועבר במחרוזת השאילתא של ה-URL.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
includes & files
includes & files
includesוקריאת מידע מקבצים ניתנים לניצול של קריאת קבציםשאמורים להיות מוגנים,או קבצים שחשיפתם מגלה למתקיף עלאופי המערכת,מה שמקנה עבורו כלים נוספים לתקיפה.
דוגמא:
http://example.com/show.php?image=chart1.gif
קוד ה-PHPנראה כך:
$fl=fopen($_GET[‘image’],’rb’);
echo fread($fl,filesize($_GET[‘image’]));
fclose($fl);
לא מסובך להבין מה יקרה כאשר במקוםchart1.gifיהיה נתיב לקבצי מערכת ההפעלהאו לקבצי סיסמאות וקבציinclude
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
includes & files -פתרונות
includes & files -פתרונות
כעיקרון,יש צורך לוודא היטב מהו הקובץ שעומדים לכלול אולקרוא.לפניכם מספר שיטות שניתן לשלב ביניהם:
לעשות ספריות בטוחות(trusted)שרק משם ניתן לקרוא קבציםכמוchart1.gif.
לקבוע פורמט מסויים של שם קובץ עם סיומת.למשל:/^p\d{3}\.page.inc$/
מתן הרשאות מינימום על הקבצים במערכת.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
הרצה
הרצה
ניצול של הרצה בא לידי ביטוי כאשר משתמשחיצוני מצליח להכניס מידע שמורץ אח"כ במערכת.
דוגמא:
$cmd=“grep ‘”.$_GET[‘search’].”’ *.txt”;
$ret=exec($cmd,$output);
נסו לדמיין מה יקרה למשל כאשר המשתנה שמתקבל הוא:
‘;rm –r *;
פיתרון:למעשה,עדיף להימנע ולא להריץ כללשום מידע חיצוני המגיע מן מהמשתמש.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
JAVAואבטחה
JAVAואבטחה
שפת התכנותJAVAמריצה את המרכיבים שלהבסביבה מוגבלת בשםSandBox.
כל הפעילויות בSandBoxנבדקות בקפידה  וכלפעילות בלתי מורשית כמו ניסיון של קוד להגיעלדיסק הקשיח נמנע.
110
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
JAVAואבטחה(המשך)
JAVAואבטחה(המשך)
החלקים המרכיבים את האבטחה בSandBox:
Verifier –עוזר לוודא ביטחון בסוגי המשתנים.אחראיעל בדיקות עבור הזיכרון ובדיקת גבולות.
Class loader –מעלה ומוריד מחלקות באופן דינמימסביבת ההרצה שלJAVA (JRE).
Security manager –פועל כמו שומר בכניסה ומגןמפני פונקציונליות זדונית.
111
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
הוצאותJAVAשמתמקדות באבטחה
הוצאותJAVAשמתמקדות באבטחה
Java certification path API בניה ווידוא של תעודות וניהולרשימות ההוצאה של תעודות.
Java GSS-API עבור החלפת הודעות בין אפליקציותשמשתמשות  בkerberos.בנוסף יש תמיכה בכניסה מאוחדת((single-sign-onעםkerberos.
JAAS מאפשר לשירותים להאמת וכופה בקרי גישה עלמשתמשים.
JCE מספק מסגרת ומימוש להצפנה,ייצור מפתחות ואלגוריתמיאימות(אותנטיקציה).
JSSE (Java Secure Socket Extension) –מאפשר קישוריאינטרנט מאובטחים.
מממש גירסה שלJavaעבור פרוטוקולים שלSSLוTLS,כולל פונקציותלהצפנת מידע,אימות השרת,שלמות ההודעה,וגם אימות הלקוח.
112
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
.NETואבטחהנקודות לדוגמא
.NETואבטחהנקודות לדוגמא
שימוש בStrong name assemblies זוג מפתחותשמשמש לביצוע חתימה דיגיטלית על הקובץ.
Security Action Demand הרצת קוד ע"י קוד אחר.רק במידה שכל היישויות הן בעלות ההרשאות המתאימותתתבצע ההרצה.
Asserts הקוד"עורב"למפעיל התוכנית ומאפשר לולבצע פעולות אשר הוא אינו מורשה להן.
113
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
.NETואבטחהנקודות לדוגמא
.NETואבטחהנקודות לדוגמא
שימוש בvalidations controlsאשר מבצעים בדיקות תקינות עלתוכן שדות(בצד הלקוח או השרת).
וידוא קלטים באמצעותregular expressions
שימוש בcharacter encodingנכון
הגבלת הרשאות לקוד אשר משתמש בפונקציותDelegate.
ראו גם:
114
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
הצפה(Spam)
הצפה(Spam)
הרשת מכילה בוטים רבים,שיכולים להכניס תגובות ותכנים לאתריםדינמיים שלא דורשים אימות משתמשים ו/או אימות קוד.
לרוב מנצלים הבוטים את האתר לפרסום,להצפה ולהטעייתהמשתמש("שכנועו"למסור מידע אישי רגיש).
ישנם מספר פתרונות אפשריים:
הרשאת כתיבת תגובה(או כל תוכן אחר)רק לידי משתמשים רשומים.
הכנסת קוד רנדומלי המקשה על הבוטים בזיהויו.הכנסת התוכן תתבצע רקכאשר קוד הזיהוי תואם.דבר זה מבטיח כי אכן משתמש אמיתי כתב את התוכןולא בוט.
מודרציה.אישור ידני של מנהלי האתר עבור כל תוכן חדש.החסרון הגדול שלוהוא צריכת משאבי לניהול/אישור התכנים.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
כללים מומלצים
כללים מומלצים
שמירת כל קבצי ה-includeמחוץ לספריית השורש של שרתהאינטרנט.
למעשה,בתוך ספריית השורש של השרת,יימצאו אך ורק קבצי ריצה נגישיםבאתר וקבצים סטטיים עבור האתר,כמו תמונות.
מתן הרשאות מינימליות למשאבים עבור המערכת.
הרשאות מינימליות לקבצים.
הרשאות מינימליות עבור בסיס הנתונים.
הגנה זו יכולה למנוע ממשתמשים חיצוניים גישה ו/או שינויים במשאביהמערכת.
טיפול נכון בשגיאות.שגיאה גוררת שגיאה.
בדר"כ הטיפול בשגיאות נזנח בגלל עצלנות
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
אתגרים בעידןהווב-2
אתגרים בעידןהווב-2
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מבוא
מבוא
ווב2.0,בבסיסו,הוא צורה של שימוש בטכנולוגיותדוגמתXMLוג'אווה סקריפט
מאפשר השתתפות,יחסי-גומלין(אינטראקציה)ושיתוף(קולבורציה)ביןמשתמשים,ספקי תוכן ועסקים,במקום הדרך ה"ישנה"של תצוגה סטטית.
ראו מצגת ווב2.0במסגרת קורס זה
XMLHttpRequest (אוXHR)
אובייקט זה מאפשר העברת מידע בתצורתXMLבין הלקוח(מחשבמשתמש)לשרת הווב מ"אחורי הקלעים"
זאת מבלי להפריע למהלך הגלישה או צורך לרענן את דף הווב בעתהחלפת תוכן.
הדפדפנים תומכים באובייקט זה בצורה טבעית ומאפשרים גישה אליובאמצעותAPIושפות תיכנות דוגמת ג'אווה סקריפט ו-JSON
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
הידודיות ועקב אכילס
הידודיות ועקב אכילס
ההידודיות(אינטראקטיביות)טבועה ברעיון הווב-2
מאפשר למשתמשים להוסיף תוכן לאתרים(User generated contentאוUGC)
השתתפות בכתיבת ביקורות,בלוגים,וויקים,רשתות חברתיות,וידאו,תמונות ועוד
אתרים אלו טומנים בחובם את הסיכוי להפוך להיות נפוצים ואהודיםעל הקהל הרחב,כולל חדירה לארגונים
אליה וקוץ בה,אותה גישה הידודית הפכה את הווב-2להיות מוקד מרכזיעבור האקרים
פתיחות ודינמיות היישומים המחוייבת מדרישת המשתמשים ובעלי האתרים,והרעיון העומד בבסיס הווב-2,מציבה אתגרי אבטחה מורכבים
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
קודים זדוניים2.0
קודים זדוניים2.0
רשתות ואתרים חברתיים מאפשרים למשתמשים להעלות תכנים
דוגמת יו-טיוב,פליקר,מייספייס,פייסבוק ו-ויקיפדיה
האקרים יכולים לשתול קוד זדוני בתוכן ולהציע אותו לשיתוף
לנצל פרצות תיכנות תוך שתילת תולעי מחשב,וירוסים וסוסים טרויאנים בתסריטיהג'אווה סקריפט השונים.
אותו קוד זדוני יכול לכלול מצוטטי הקלדה(מכוניםkeyloggers )ה"מקליטים"אתהקשות הקלדת,כולל מספר כרטיס אשראי וסיסמא,ושולחים אותם להאקר
באפשרות ההאקר להפוך את מחשב המשתמש התמים לזומביהנשלט מרחוק,מבלי שיתגלה
להפיץ וירוסיםDOS (denial-of-service)
שליחת דואר זבל(ספאם)
צורות התקפה אחרות
תמונות,קבצי מוזיקה,טקסט,וידאו וכיו"ב
אלו יכולים להיות מורדים על-ידי משתמשים אחרים
ביכולתם של האקרים לשתול קוד זדוני באותם קבצים
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
AJAX
AJAX
Asynchronous JavaScript and XMLהיא טכניקה בתיכנות ליצירתישומי ווב הידודיים ועשירים המתנהגים כמו יישומי שולחן עבודה במחשבאישי.
תוך שימוש בג'אווה סקריפט ו-XHR,דףHTMLיכול לייבא ולייצא תוכןבתצורתXML,תוך ביצוע קריאות לשרת בצורה אסינכרונית,ממנו נטען.
יכולת זו חוננת את היישום באפשרות לבצע קריאות לשרת,לאחזר מידעחדש ובו זמנית,לעדכן את דף הווב ומייתרת את הצורת לרענן את הדף.
פעולות אלו מתבצעות ברקע,משאירות את המשתמש לתקשר עם הדף והיישוםבצורה שקופה
אג'קס מביא יישומים לדרגה חדשה של הידודיות,מנשקי הגבה אל מולהמשתמש וזמן תגובה קצר
בכך מסייע להתגבר על זמן התגובה האיטי בטעינת דפים מחדש והידודיות מוגבלת,שהייתה נהוגה בעבר.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
AJAX (המשך)
AJAX (המשך)
מתכנתים רבים אינם מוכשרים או מודעים לבעיות האבטחה ובכך מתכננים יישומיםשאינם עונים לבעיות האבטחה השונות.
מאחר ורוב פעולות העיבוד והשאילתות מתבצעות מחוץ לחלון הדפדפן,במנוע עיבודהנתונים הפועל מ"אחורי הקלעים",משתמשים אינם שמים לב לבעיות אבטחה צצות.
למשל,לכך שתוכנה זדונית מורדת דרך פרצת אבטחה("חור")בדפדפן או לכךשמבצעת פעולה מזיקה למחשבו.
ג'אווה סקריפט נותנת בידי המפתחים לשלב יכולות התנהגותיות דוגמת פתיחתחלונות או החלפת תמונות,המורצות בתוך דפי הווב בצד הלקוח מקוד שמגיעמהשרת,בצורה שרירותית וללא אף מגבלת הרשאות.
טכניקה נוספת נקראת"יירוט ג'אווה סקריפט" (JavaScript Hijacking),שמבצעת האזנה וגניבת המידע המועבר בין הלקוח לשרת.
עלAJAX,בעיות אבטחה ופתרונות דנו בהרחבה בפרק שפות תיכנות.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
שיתוף תוכן
שיתוף תוכן
בלוגים,וויקים ויישומי ווב-2אחרים תומכים בטכניקות הפצת תוכןכ-RSS (real-simple-syndication)ו-ATOMמבוססותXML.
מערכות סינדקציה אלו מפיצות את קוד ה-XMLישירות לדפדפן אולכמס(encapsulate)אותו למבוסס דפדפן או ליישומים קוראיחדשות עצמאיים דוגמתGoogle Reader (ז"ל).
בעלי התוכן החדשותי המוזרם(Newsfeed)יכולים ליצור אתהתוכן בעצמם או לתת לצד שלישי להוסיף תכנים משל עצמם ל-Newsfeed.
בצורה כזו,האקרים יכולים לשלב קוד בצורה ישירה לתוך ה-feedאו באמצעות גישה וניצול שרת ההזנות(newsfeed server)
ישום הלקוח(לרוב דפדפן)מקבל את הקוד הזדוני בצורה אוטומטית דרך ה-feed.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
יישומי כלאיים(Mash-Up)
יישומי כלאיים(Mash-Up)
ישומי כלאיים(Web application hybrid)משלבים מידע אושירותים ממספר מקורות לכדי מנשק חווית משתמש מאוחד.
לדוגמא,ישום כלאיים יכול לשלב בין שירות מפות גוגל למידעהמוזן בזמן אמת מאתר נתוני תעבורה על כבישים מהירים.
ישום הכלאיים לרוב מצוייד ב-APIהמפורסם מהבעלים של כל אחדממרכיביו.
אותוAPIמאפשר ליישום הכלאיים לקחת את המידע ממקורותיו ולערבב עםיכולות ממקורות שונים(בעצם משלב מידע ויכולות תיכנותיות כולם יכוליםלהגיע מאתרים שונים).
מכאן,שהאבטחה תלויה במהימנות(trustworthiness)התוכןמהספקים השונים.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
יישומי כלאיים(Mash-Up) -המשך
יישומי כלאיים(Mash-Up) -המשך
כפתרון,על ספקי התוכן לאבטח את השרתים ולאמת אתהתוכן(באמצעות חתימה דיגיטלית או אמצעים אחרים).
ישומי כלאיים באפשרותם להתממשק דינמית לאתרים,דברשלא נמצא בהכרח בשליטת הספק.
עובדה זו מציבה אתגרי אבטחה נוספים.
ישום כלאיים גם מציב אתגר אבטחה בתום מדיניות מקור זהה,ועל כךבהמשך.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מדיניות מקור זהה
מדיניות מקור זהה
מדיניות מקור זהה(Same-Origin PolicyאוSOP)היא כלליסוד באבטחת דפדפנים המונעת מאתרים שונים לגשת למידעהנמצא בחלון אחר(כוללiframe).
כל אתר מורץ בארגז חול(Sandbox)נפרד
בארכיטקטורה הנוכחית של הווב,הדפדפנים אינם יכוליםלהכיל מדיניות אבטחה זו על ישומי כלאיים
בכך מאפשרים להם לגשת אף למידע המאוחסן על מחשב היוצר.
XSSCSRFוכשלים אחרים לרוב מנצלים ועוקפים מדיניותזו.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מדיניות מקור זהה(המחשה)
מדיניות מקור זהה(המחשה)
bank.com
blog.net
XHR
XHR
document, cookies
TAG
TAG
JS
מקורOSWAP
במצב רגיל,חלון דפדפן יכול לגשת רק לאתר(URL)ממנו הוא הורץ(ירוק).לא יתכן הרצה של קוד אוגישה לעוגיות של אתר ב-URLאחר(אדום).כלומר מצב של הצלבה בין שרתים ואתרים שונים לאמתאפשר אלא אם יש ניצול לרעה של תגיות דוגמתimg, script, iframeוטפסים(ירוק מקווקו)כפי שבאלידי ביטוי במקרים דוגמתMash-ups.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
XSS -מבוא
XSS -מבוא
Cross-Site Scripting
אתר אינטרנט דינמי המשלב בתוכו תוכן שנוצר ע"י משתמשים חיצוניים.
מדוע זה יכול לשמש כפירצת אבטחה?
תוכן שנשלח ממקור חיצוני נשלח למשתמשים אחרים באתר
יכול להכיל מידע פוגעני לכלל משתמשי האתר בצורה של קישורים לאתרים לאטובים,שיבוש מראה האתר ודרך פעולתו,גניבת מידע אישי ממשתמשי האתרושליחתו לגורמים עויינים וכדומה.
דוגמא:
אתר אינטרנט מאפשר הוספת תגובות והצגתן לכלל משתמשי האתר.
מתקיף יכול להכניס קודJSשמקפיץ חלונות עם פרסומות,או שהוא יכול להכניסקישור אל אתר עויין שבו הוא יכול לבלבל את המשתמש ו"לשכנע"אותו להזין מידעאישי סודי,כגון מספר כרטיס אשראי(phishing).
המידע שהוזן יועבר אל המתקיף והוא עלול להשתמש בו ולפגוע במשתמש התמים.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
XSS -פתרונות
XSS -פתרונות
זיהוי תוים מיוחדים והדפסתם בצורה בטוחה כטקסט.
< > & " 'מודפסים כ&gt; &lt; &amp; &quot; &#039;בהתאמה.רוב השפותכוללות פונקציות מובנות שעושות את העבודה.לדוגמאhtmlspecialchars()ב-PHP.
זהו הפיתרון הנפוץ ובדר"כ גם הכי יעיל יותר.
זיהוי תגי<SCRIPT>ומחיקתם.
סינון תווים.
מחיקת תווים מיוחדים(< > & " '),או קבלת תווים מסויימים בלבד(למשל:אותיות,מספרים,קו תחתון ונקודה בלבד)באמצעות שימוש בביטויים רגולריים.
טוב עבור שדות המוגבלים למבנה מסויים של טקסט,למשל כתובת דוא"ל.
מודרציה
אישור תכנים ממשתמשים חיצוניים באופן ידני אך דורש משאבי אנוש ואינו אוטומטי.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
CSRF
CSRF
Cross-site request forgeryמנצל את האמון שנותן אתר האינטרנט במשתמש
זאת בניגוד לXSS,המנצל את האמון שנותן המשתמש באתר האינטרנט
לרוב מנצל ועוקף את מדיניות מקור זהה.
ידוע גם בתור"התקפה בלחיצה אחת", "רכיבת שיח"אוXSRF.
בהתקפתCSRF,האקר משיג גישה למחשב משתמש"תמים" (שאינו נחשדבפעילות עבריינית כלשהיא)
שולח בקשות לא חוקיות לאתר מסחר אלקטרוני או כל אתר אחר אליו המשתמש רשוםכמאושר לגישה ושימוש.
ההאקר יכול לשלוח גם בקשות באמצעות מחשבו של המשתמש אל האתרהפנימי של חברה בה הוא עובד(אינטראנט)ובעל גישה.
כך,הוא עוקף את מנגנוני ההגנה דוגמת חומת אש(Firewall)
על מנת לבצע הזדהות ולקבל גישה לאתר פנימי של חברה,על ההאקר להשתמש או בכתובתIPאו בעוגיה(cookie)שהאתר רשם במחשב המשתמש.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
CSRF (המשך)
CSRF (המשך)
כך מתאפשר להאקר להתנהג כאילו היה הבעלים החוקיים של המחשב אליוחדר,וליזום פעולות זדוניות דוגמת:
גניבת כספים מחשבונו של המשתמש(למשל השתלטות על מחשב בעל גישהלחשבון בנק,ולאתר במחשב היכן רשומה הסיסמא).
להזמין מוצרים מאתר מסחר אלקטרוני
לגנוב מידע מאתר האינטראנט של החברה בה המשתמש החוקי עובד
לשנות הגדרות על חומת אש מקומית או נתב(router).
ראו מאמר(קובץPDF): Cross-Site Request Forgery
הסבר מפורט על-CSRFודרכי התגוננות לדוגמא
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
CSRF (קוד שגוימה מנצלים?)
CSRF (קוד שגוימה מנצלים?)
Tags
<iframe src=“https://bank.com/fn?param=1”>
<script src=“https://bank.com/fn?param=1”>
Autoposting Forms
<body onload="document.forms[0].submit()">
<form method="POST" action=“https://bank.com/fn”>
   <input type="hidden" name="sp" value="8109"/>
</form>
XmlHttpRequest
כפוף למדיניות מקור זהה(אמור...)
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
CSRF (המחשת ניצולSOP)
CSRF (המחשת ניצולSOP)
bank.com
attacker’s post at blog.net
Go to Transfer Assets
Select FROM Fund
Select Dollar Amount
Submit Transaction
Confirm Transaction
מקורOSWAP
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
CSRF (התגוננות)
CSRF (התגוננות)
אין כלי או שיטה שבאמת יפתרו את הבעיה!
טכניקות
שימוש נכון בשיטות העברת נתונים בטפסיHTML – Get\Post
בדיקת נכונות מקור מפנה(HTTP Referer) –האם זה הדף שמורשה לבצעפעולה.
החזרת נתונים בג'אווה סקריפט(Gmailמיישם גישה זו תוך שימוש בלולאתWhile()).
אסימונים חסויים(Secret Tokens)כמו ב-Digg
בקשה לאימות סיסמא(re-enter password)כמו באמזוןOne-Click.
כלים בדיקות וגנה
CSRFTester –כלי בדיקות
גוגלRatproxyהוא גם ישום לבדיקות חסינות אל מולXSS\CSRF
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
 ערפול קוד דינמי
 ערפול קוד דינמי
בפרק טכניקות ושפות פיתוח דנו בערפול וקידוד של קוד מקורכטכניקה להגנה מפני שימוש והפצה בלתי מורשים.
מה קורה כאשר שיטות אלו מנוצלות להפצה של וירוסים,סוסיםטרויאנים,תולעי מחשב?
Dynamic code obfuscation (DCO)אוMutation (מסמךPS,ראו גם אתר פינג'ן)היא טכניקה להחבאת קוד באמצעות אלגוריתםמשתנה(שעובר מוטאציות)
ישומי אבטחה שונים דוגמת אנטי-רוגלה(antispyware)ואנטי-וירוס,עושים שימושבסורקים וטכניקות בינה מלאכותית של התאמת דגמים(Pattern-matching),בחיפושם אחר חתימות-קוד ידועות של וירוסים ורוגלות.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
ערפול קוד דינמי(המשך)
ערפול קוד דינמי(המשך)
ערפול קוד דינמי מאפשר להסתיר חתימות קוד אלו תוך שימוש באלגוריתמיםהמוסיפים בצורה אקראית קוד ליישומי ווב מבוססי ג'אווה סקריפט,הכוללים רוגלות.
הקוד אינו משפיע על האופן בו דפדפנים מעבדים(render)את דף הווב ואינו הופךאת הקוד הזדוני המשולב בו לפחות יעיל.
הוא כן מטעטע ביכולת התאמת הדגמים באיתור הוירוסים והרוגלות.
בנוסףDCOממשיך בשכפול הקוד הזדוני לקבצים אחרים,כאשר אין אחד דומהלמשנהו וללא יכולת התבייטות של תוכנות אבטחה.
טכניקה זו מקשה על חברות להתמודד ולפתח תוכנות שאכן יצליחולהסיר את הקוד הפוגעני
מאחר וישומי ווב-2עשירים בקוד ג'אווה סקריפט,הם הופכים כליומטרה להפצה של קוד זדוני בטכניקתDCO
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
ערפול קוד דינמי(שיטות הדבקה)
ערפול קוד דינמי(שיטות הדבקה)
שיטות למשיכת קורבנות לאתר אינטרנט ו"להדביק"אותם בקודהזדוני
דואר זבל(spam)ובו מלל מטעה ושלל הצעות מפתות(כלכליות,שירותי מין ועוד)עם קישור המוביל לאתר זדוני.
דיג מקוון(phishing,ע"ע הנדסה חברתית בהמשך).
קוד מוסווה החוטף מבקרים הלוחצים על קישור לגיטימי מאתר היעד המקורי לאתרהתוקף.
ניצול פגיעויות דפדפנים כחריג מכלא(buffer overflow)בכדי לשים תכולת מסר(Payload)של וירוס,סוס טרויאני,תולעת מחשב וכל סוג אחר של רוגלה,במחשבושל הקורבן.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
סיכום
סיכום
תולעת מסוגXSSבשםSamyפגעה ברשת החברתיתMySpaceבתחילת2007.
תוך יום נפגעו מעל מליון דפים ומייספייס נאלצה לסגור את השירות זמנית.
תולעתYamannerניצלה פרצת ג'אווה סקריפט ביישום הדוא"ל החדש(AJAX)של יאהו באמצע2006
שלחה דואר זבל לכל רשימת הכתובות השמורה אצל כל נפגע שפתח דואר.
ווב-2מאפשר פרצות מתוחכמות יותר,המאפשרות לדפדפן לפרש בקשותמבחוץ כאילו הגיעו מהמשתמש המקומי.
בכך התוקף יכול לגשת לשירותים מקומיים
לבצע שינויים בהגדרות,כולל חומת אש ונתבים ולאפשר גישה מבחוץ
התוקף יוכל להריץ ישומים מקומיים ולגשת למערכות ארגוניות אליהן פתוחהקורבן
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
סיכום(המשך)
סיכום(המשך)
אך התקפות מסוג ווב-2אינן מתמקדות רק בג'אווהסקריפט
אתרי ווב-2מתאפיינים בשימוש רב ביישומי מולטימדיה כגון פלאש,מדיה פלייר,QuicktimeWinzipועוד
בעקבות שיפורי אבטחה בדפדפנים,התקפות על נקודות תורפה בתוספים(plug-in)אלו נהיו אף הן נפוצות.
בעידן הווב-2,אנו עומדים בפני מצב בו
קוד זדוני מבצע פעולות לגיטימיות כהתחברות לחשבון הבנק ומשיכת כספיםומערכות אבטחה מתקשות להבחין בהבדל
התקפות מסוגXSSהופכות להיות נפוצות ומתוחכמות יותר ויותר.
מתקיים פיתוח של כלים אוטומטיים המאתרים חולשות ביישומי ווב-2
נמכרות ערכות במחיר הנע בין100ל-1000דולר,לאיתור פגיעויות באתרי ווב-2וניצולם.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
סיכום-פתרונות אפשריים
סיכום-פתרונות אפשריים
העלאת המודעות וחינוך לשימוש נכון בקרב הציבור והעובדים בארגונים
שימוש בתוכנות אבטחה בצד הלקוח(חומת אש,אנטי וירוס,אנטי-רוגלה,איתורדיג מקוון)
מערכות הפעלה עכשוויות דוגמת ויסטה ו-OS Xמגיעות עם חלק מישומים אלו באופןמובנה ויש להפעילם(ראו מסיר תולעים,חומת אש,רוגלות,דיג מקוון)
למשתמשי לינוקס יש אתIPCopFirestarterומאות ישומי אבטחה אחרים שניתןלחפש ב-Sourceforgeוב-Freshmeat
ביצוע עדכוני אבטחה שוטפים עבור גרסאות דפדפנים,תוספים,מערכות הפעלה.
על מפתחים להשתמש בכלי בדיקות חדירות(נפרט בהמשך)ולשפר את איכותהקוד שלהם(הנדסת תוכנה,כולל בדיקות איכות).
על בעלי אתרים להשתמש ביישומי אבטחה דוגמתWeb Application Firewallולבצע הקשחת שרתים.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
המשך קריאה
המשך קריאה
סקירה של שיטות שונות ומגוונות לניצול אתרים דינמיים,גם כאלו שלא הופיעו בסקירה שלנו.
ג'יסון היא שפה ממשפחת ג'אווה סקריפט המשמשת בעיקר ביישומי אג'קס(ראו פרק טכניקות ושפות פיתוח)
<input type="password“> must die! מאמר(PDF)הסוקר את בעיית שדה הקלט של סיסמא ומספקטכניקות חלופיות כפתרון לבעיות האבטחה ששדה קלט זה מעמיד.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
Google Hacking
Google Hacking
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מבוא
מבוא
גוגל הוא הרבה יותר מאשר מנוע חיפוש פשוט ומנשק משתמש
לגוגל יש רובוט מתקדם מאוד שסורק את האינטרנט ומתעד כל פיסת מידעאפשרית
מנשק המשתמש מאפשר שימוש באופרטורים לביצוע שאילתות מתקדמות
גוגל האקינג היא טכניקה לניצול גוגל לכריית מידע(Data Mining),לרובלהשגת מידע כיצד לפרוץ לאתר מסויים.
האנושות עוברת יותר ויותר לשימוש בישומי ווב(בלוגים,וויקים,ניהול מסמכים,דוא"ל,תמונות,וידאו,רשתות חברתיות ועוד)
לפיכך,המידע הופך להיות נגיש יותר באמצעות מנועי החיפוש והיכולתלאסוף מידע לצרכי ריגול ומידת הפגיעות של אתרים ואנשים,גדלה.
החשיבות שלנו היא לנסות להבין כיצד להגן מפני ניצול זה ולאבטחאת המידע בהתאם.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
שימושים
שימושים
זיהוי נקודות תורפה במערכות ושרתים(vulnerabilities)ושימוש בגוגללביצוע איסוף מידע מודיעיני.
חשיפת מידעגוגל יכול לאסוף מידע ותוכן רגיש,פרטי כולל כאלו שהםקניין רוחני(זכויות יוצרים).
הערכת פגיעות ואיתור נקודות תורפה(Vulnerability) –גוגל הוא נדבךנוסף במה שמכונה"בדיקות חודרנות" (penetration testing)המאפשרלזהות בצורה כמעט ודאית,משאבים ומקורות רגישים ברשת הווב כשרתיווב,שרתי יישומים והתקנים אחרים בעלי מנשק וובי.
הנדסה חברתית(Social Engineering) –גוגל יכול לסייע במיפוי מידעמהעולם הוירטואלי אל מול העולם האמיתי ולאתר קשרים חברתיים אשריכולים לסייע בהונאה ושיבוש.נרחיב על כך בהמשך.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
שימושים(המשך)
שימושים(המשך)
גוגל משמש ככלי אחסון עבור כמויות עצומות של מידע,כולל הסטוריה,ומאפשר חיפוש בו.
זהו תפקידו והוא מבצע אותו בצורה טובה מאוד,אולי טובה מדי!
מה נוכל למצוא באמצעות טכניקות כריית מידע על גוגל?מה דעתכם על:
מספרי כרטיסי אשראי!
עוד מספרי כרטיסי אשראי?!
סיסמאות בטקסט פשוט!
עוד סיסמאות בטקסט פשוט?!
סיסמאות בטקסט פשוט של תחנות שידור מבוססות אינטרנט(דוגמתShoutcast).
רשימת ספריות(Directory listing)בשרתי אפאצ'י
אתריFTPפתוחים בבעלות ממשלתית
שרתים פגיעים(בעלי נקודות תורפה שונות)
פענוח הצפנות בשיטתBrute force attack (בה מנסים צירופים ומעבר על מפתחות שונים בכדילשבור הצפנה)של סיסמאות ושמות משתמש(logins).
כניסה לאתרי מין,מצלמות חושפניות וכיו"ב.
חשיפת פרטי קבצי הגדרות(Config setting).
השגה ופענוח של קובץ סיסמאות מגובב(Hashed passwords).נפרט בהמשך.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
דוגמאות
דוגמאות
הגדרות והטלות(Dumps)של מסדי נתונים
“#mysql dump” filetype:sql  (for SQL definition files)
filetype:ora ora (for Oracle configuration files)
הגדרות מנהל רישום(Registry)מיוצאים
מאפשר להוריד פרטי מנהל רישום לקבלת מידע עסיסי כשמות משתמשים,הגדרות שרתי דואר ועוד
filetype:reg reg +intext:”internet account manager”
פרטי התחברות:שם משתמש וסיסמא
סיסמאות מאוחסנות בקובץjohn.pot (תבנית פאוארפוינט)ופיצוח על-ידיJohn the Ripperהזמין פומבית באינטרנט.
filetype:pot inurl:john
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
דוגמאות(המשך)
דוגמאות(המשך)
דוגמאות לחיפוש אחר חוסר או שגיאות בהגדרות ותצורות בשרתים ומערכותהמספקים בכך נקודות תורפה לפגיעה ושימוש זדוני באספני מידע דוגמת גוגל.
התקנות ברירת מחדל(של שרתים,כך ש"שכחו"לבצע קונפיגורציה ובכך השאירודלת פתוחה לגנב)
Intitle:”Welcome to IIS 4.0”
שאילתא זו תאתר התקנות של שרת וובIISגרסה4ויש אפשרות לגשת ולתפוס שליטה על השרת(חוסר קונפיגורציה תאפשר גישה פומבית)
מנשקי ווב פרטיים חשופים
Intitle:”Cisco Systems, Inc. VPN 3000 Concentrator”
יספק גישה למנשק הווב וסיכוי רב שרבים מהם משתמשים בשם משתמש וסיסמת ברירת מחדלשסופק על-ידי היצרן(וניתן להשיגם בתיעוד שגם אותו ניתן למצוא באמצעות גוגל)
יכולת לזהות ציוד קצה ומיכשור דוגמת מדפסות
inurl:printer/main.html intext:settings
הגעה למידע זה יש ויתן יכולת לקבל בעלות על מדפסות רשת עם גישה פומבית.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
דוגמאות(המשך)
דוגמאות(המשך)
google_hack.jpg
דוגמאות נוספות שיספקו גישהלסיסמאות
מקור:
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
דוגמאות(המשך)
דוגמאות(המשך)
חיפוש בסיסי בגוגל לפיסינון סיומת קובץ
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
דוגמאות(המשך)
דוגמאות(המשך)
תקף להמון סוגים אחריםשל קבצים(כמו קבצי מסדינתונים)
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
דוגמאות(המשך)
דוגמאות(המשך)
נסו את הדוגמאות הבאות בעצמכם וגלו מה קורה:
"PHP Version" intitle:phpinfo inurl:info.php
"advanced guestbook * powered" inurl:addentry.php
intitle:"View Img" inurl:viewimg.php
"Assessment Report" "nessus" filetype:pdf
"index of private|privat|¨ozel“
phone address email intitle:"Curriculum Vitae“
"Welcome to phpmyadmin ***" "running on * as root@*"intitle:phpmyadmin
"mysql error with query“
inurl:"hp/device/this.LCDispatcher“
intitle:liveapplet inurl:LvAppl
"Please wait....." intitle:"SWW link"
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
קריפטוגרפיה
קריפטוגרפיה
Password Hash (גיבוב סיסמאות)הוא תהליך הפעלת אלגוריתם(דוגמתmd5)על סיסמת טקסט,ובכך להצפינה.
סיסמא כמוVerySecurePass!!" "תוצפן ל"75qwe2qwe4asdasdad248b4d2c9a9wqeea44dd3".
רוב מערכות ההפעלה והשרתים מצפינים סיסמא בדרך זו.
במקרים רגילים,לקבלת סיסמאות בטקסט פשוט(cleartext)נתשאל:
ext:log inurl:password
ובמקרים שלHashed passwordsבקובץdump:
"create table" "insert into” "pass|passwd|password" (ext:sql | ext:dump |ext:dmp)
intext:"password|pass|passwd” intext:"md5|sha1|crypt" (ext:sql |ext:dump | ext:dmp)
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
קריפטוגרפיה(המשך)
קריפטוגרפיה(המשך)
מפתחות הצפנה(secret keys)
Secret keys in Kerberos:
inurl:"kdc.conf" ext:conf
inurl:"slave datatrans" OR inurl:"from master“
Java keystores
keystore ext:ks
מפתחות פומביים
PGP public keys
"BEGIN PGP PUBLIC KEY BLOCK" (ext:txt | ext:asc | ext:key)
Public keys in certificates
"Certificate:Data:Version" "BEGIN CERTIFICATE" (ext:crt | ext:asc | ext:txt)
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
קריפטוגרפיה(המשך)
קריפטוגרפיה(המשך)
מפתחות פרטיים(Private keys)
PGP private keys
"BEGIN (DSA|RSA)" ext:key
"BEGIN PGP PRIVATE KEY BLOCK" inurl:txt|asc
"index of" "secring.gpg"
הודעות מוצפנות
PGP encrypted files
-"public | pubring | pubkey | signature | pgp | and | or| release" ext:gpg
More encrypted files
-intext:"and" (ext:enc | ext:axx)
XML encrypted elements
"ciphervalue" ext:xml
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
קריפטוגרפיה(המשך)
קריפטוגרפיה(המשך)
הודעות חתומות(signed)
Signed emails
"BEGIN PGP SIGNED MESSAGE" "From" "Date" "Subject" (ext:eml| ext:txt | ext:asc)
File signatures
-"and|or" "BEGIN PGP SIGNATURE" ext:asc
PGP signed messages
"BEGIN PGP SIGNED MESSAGE" -"From" (ext:txt | ext:asc |ext:xml)
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
כלים
כלים
Gooscan –כלי יוניקס/לינוקס לתשאול אוטומטי בגוגל לאיתורודיווח על פגיעות.
SiteDigger כלי לחלונות ה"מחטט"בזכרון המטמון של גוגל אחרפגיעות שרתים ואתרים,הודעות שגיאה,בעיות קונפיגורציה ומידעחסוי
Wikto ישום לבדיקה והערכה של שרתי מיקרוסופט(IIS)לווב(2003/2008).דורש רישוי מפתחים מאת גוגל ומשתמש ב-GHDB
Advance Dork תוסף לפיירפוקס לחפוש מהיר אחר אופרטוריםמתקדמים של גוגל לצורך בניית שאילתות.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מקורות והמשך קריאה
מקורות והמשך קריאה
אופרטורים מתקדמים בגוגל(משתמשים בהם לאיתור מידע מדוייקיותר,עם משתנים רבים יותר המאפשרים לחשוף מידע רגיש)
Google Hack Honeypot יישוםPHPלהתקנה הדורש אפאצ'ישנועד להגן מפני ניצול מנועי חיפוש
ישום שפותח במסגרת גוגל עצמה לבדיקת פגיעות שרתיםממחרוזות חיפוש מתקדמות.
קריפטוגרפיה
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
הנדסה חברתיתהחוליה החלשה הוא האדם ולא המערכת!
הנדסה חברתיתהחוליה החלשה הוא האדם ולא המערכת!
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
קצת מספרים...
קצת מספרים...
מחקר של חברתCompuwareומכוןPonemonשנערך בשנת2008
רק אחוז אחד מהייקף אובדן המידע מקורו בפורצים מן החוץ(האקרים)
הייתר נובע מהנדסה חברתית ובעיקרמרשלנות עובדים או גורמים פנים ארגוניים!
על-פיPrivacy Rights Clearinghouse,בשנים2005-2008,נגנבו או אבדו225,786,657רשומות המכילות מידע רגיש(בארה"ב בלבד!)
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
הגדרה
הגדרה
Social engineeringמוגדר כהשגת מידע רגיש או הרשאות גישהבלתי חוקיות מצד גורם חיצוני,על-ידי בניית יחסי אמון בלתיהולמים עם אנשים בתוך הארגון.
זאת על-ידי שימוש בשיטות פסיכולוגיות על משתמשים בעלי הרשאות גישהלמערכות מיחשוב ארגוניות,על-מנת להשיג מידע הדרוש לצורך גישה בלתימוסמכת למערכות.
בכך,הגורם החיצוני יכול לשים ידו על מידע דוגמת סיסמאות,מגורם פניםארגוני,במקום לפרוץ למערכת(תן לאנשים אחרים לעשות בשבילך אתהעבודה).
המהנדס החברתי ניכן ביכולות של אורך רוח,סבלנות,יצירתיותוהתמדה שייסיעו לו לנצל חולשה מסויימת הקיימת בשרשרתהארגונית והאבטחה.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
הפסיכולוגיה שמאחורי
הפסיכולוגיה שמאחורי
נציין שלושה ניסויים מפורסמים מעולם הפסיכולוגיה החברתיתהבאים לידי ביטוי בהפעלת הנדסה חברתית
מניסויים אלו אנו למדים על גורמי ההשפעה להצלחה
לתפקיד,לאופן הפניה והצגת הדברים(הפגנת סמכותיות)
לתחושת השליחות/קוד מוסרי
ללחץ ומוסכמות חברתיות
להפגת החשש כי אנשים אחראים בלעדיים למעשיהם(הבוס אמר,לרובבצירוף שם בכל הסמכות)
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
התמימות שלפני
התמימות שלפני
ההאקר בדימוס(כביכול)קווין מיטניק,כתב בספרוTheArt of Deception:
אנשים מטבעם רוצים להרגיש מועילים ועל כן ניתן בקלותלהטעותם.
על מנת להמנע מקונפליקט,אנשים נוטים להענות למידהמסויימת של אמון.
אנשים נוטים להתייחס להשגת הרשאת גישה למידע בצורהתמימה,כאשר בעצם,אין זה כך.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
שיטות ומטרות
שיטות ומטרות
כל השגת מידע לגבי המבנה החברתי של ארגון,יש בו בכדילהחליש את יכולתו להתגונן מפני התקפות הנדסה חברתית
בעלי תפקידים והתמחויות
שרשרת ניהול ומבנה ארגוני פורמאלי וא-פורמאלי(מי חבר של מי)
צורת העבודה של הארגון
ישומים מותקנים ומערכות מיחשוב ותקשורת
כל אלו מסייעים בהתקשרות עם הארגון בצורות שונות של התחזותבדוא"ל,טלפון וכיו"ב והשגת מידע לצרכי ריגול והונאה
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
דוגמא להשתלשלות ארוע
דוגמא להשתלשלות ארוע
המידע המושג ממדריך הטלפונים(כוללb144.co.ilאוd.co.il),מוביל לביצוע שיחת טלפון.
המידע המושג מאותה שיחה יש ויביא לשיחה נוספת
מהנדס חברתי מתקדם,שלב אחר שלב,מכל פיסת מידעמושגת,אל עבר ההתקפה הסופית
נסיון של הינדוס חברתי מוצלח עלול להביא להפסדיםכלכליים ניכרים עבור ארגון המטרה.
תוקף חדור מוטיבציה לא יבחל באף אמצעי בכדי להשיג אתמטרתו.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
דרכי פעולה אפשריות
דרכי פעולה אפשריות
פעילות מקוונת(מחקר קוד פתוח,רשתות חברתיות וכיו"ב)
רט"ן(רשתות טלפוניה ודואר).דוגמאות נפוצות:
ביצוע שיחות טלפון,התחזות לאיש תמיכה ולבקש סיסמא אישית.
הפחדה("הבוס צריך את המידע דחוף"ולכן אין זמן לחשדנות)
תגמול(מסיבה,ציון לשבח,קידום,שליחת מתנהכל אלו אמצעים לקבלת מידע)
מערכות טלפוניה מבוססותIP (PBX VoIP)
הונאת דוא"ל(E-mail Spoofing)
התחזות לדוא"ל מחברה/ארגון/ממשלה המפנה לאתר מזוייף ה"דג"מידע
כמו הדוגמא הראשונה רק בצירוף קובץ המכיל סוס טרויאני,וירוס וכיו"ב
דיג מקוון(Phishing).
אתרי משחקים המציעים פרס ומבקשים להקליק,התחזות לאתר תשלומים דוגמתPayPal,
ע"ע איומים ומושגים.
הצצה מעבר לכתף(Shoulder Surfing).
ע"ע איומים ומושגים.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
דרכי פעולה אפשריות(המשך)
דרכי פעולה אפשריות(המשך)
תיעוד הקשות מקלדת(keylogging)ותזוזת עכבר(mouse sniffer).
לרוב התקן שמתחבר למחשב בלא ידיעת המשתמש או באמצעות האזנה באמצעיםרגישים וזיהוי רצף ההקלדה לרישום סיסמאות.
זיוף זיהוי משתמש ברשתות טלפוניה(Caller ID Spoofing)
מסרים מידיים(MSN Messenger, ICQ etc)להשגת מידע,ציטוט וכיו"ב
התחזות(זיהוי בדוי של שם ו/או בעל תפקיד)
אנשים בוטחים יותר באדם הקשור לתחום עיסוקם או למעגל חברתי(הומולוגיה),"עשיית רושם".
קבלת גישה בלתי מורשית לנקודות גישה אלחוטיות(Wi-Fi)
ומשם שליטה על הנתב,האזנה לתעבורה("רחרוח רשת", Packet Sniffing),גישהלמחשבים ברשת
חדירה פיזית למקום(Physical Access)תוך מעקף אמצעי בטיחות(זיוףאמצעי זיהוי)
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
דרכי פעולה אפשריות(המשך)
דרכי פעולה אפשריות(המשך)
דלת אחורית(Piggy-Back door entry)
ע"ע איומים ומושגים
חיטוט בפחי אשפה(Dumpster Diving).
ע"ע איומים ומושגים
USB Jump Drive (ידוע בתורDiskonKey).
תקף לגבי סוגי אמצעים אחרים דוגמתCD-ROM
התקנת רוגלה בהתקן,העברה לידי אדם פנים ארגוני המשתמש בו במחשבו בצורהתמימה תוך העברה של הרוגלה למחשב והשגת שליטה מרחוק
וכמובןצירוף של אחד או יותר מהשיטות שתוארו
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
פעילות מקוונת
פעילות מקוונת
הנדסה חברתית מקוונת(Online social engineering)היא מכלולהשיטות להשגת מידע ברשתות מחשבים
בשונה מהאקרים,להם יש ידע כיצד לפרוץ למערכות מיחשוב,הנדסה חברתית מקוונתמנצלת לא רק את חולשותיהם של אנשים,אלא בעיקר את חולשת האינטרנט,העדרהפרטיות הנובעת מעצם הפתיחות של הרשת ונטייתם של אנשים לשתף מידע.
החיבור המתמיד לרשת בפס רחב(רשתותxDSL)מאפשר לאנשיםולארגונים להשאיר את המחשב דלוק ומחובר ברציפות
בכך,ה-IPנשאר קבוע
בעוד שהאקרים חודרים למערכות מיחשוב כאשר כל נסיון להגיע אליהם נגמר בלולאהאינסופית בגלל מקצועיותם,מרבית האוכלוסיה תמימה
שיטוט במנועי חיפוש מאפשר לדעת מי מחפש מה,מאפשר לאתרים מסויימים באמצעותכלים דוגמת גוגל אנליטיקס,לדעת מי הגיע אליהם מאילו מילות מפתח
בכך ניתן לכוון ולחדור למחשבים של המחפשים
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
פעילות מקוונת(המשך)
פעילות מקוונת(המשך)
פורומים,חדרי שיחה(צ'אט),מסרים מידיים
כל אלו מאפשרים שליחת הודעות"תמימות"והכרות עם אנשים בצורה"סטרילית"(הסוואת זהות)ובנגישות מקסימלית.
שליחת קישורים רנדומלית או מכוונת,לוחצים,מותקנת תוכנה במחשב(סוס טרואיני)
יצירת קשר,הכרות,פלירטוט על נושאים רגישים והשגת מידע
חלונות קופצים(Pop-up windows)
גורמים למשתמש לחשוב שהם חלק מהאתר הנצפה ולבקש מידע אישי,סיסמתכניסה(עקב"שגיאה"במערכת")ועוד.
דיג מקוון(Phishing)
ע"ע איומים ומושגים.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
פעילות מקוונת-קצת סטטיסטיקה
פעילות מקוונת-קצת סטטיסטיקה
ChartPic_000045
נכון לשנת2005,קיים גידול של800אחוז בהייקף הניצול שלמסרים מידיים
תוכנות נפוצות:AIM, ICQ,Windows live messenger,Yahoo
תולעי מחשב היו הכי נפוצים.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
פעילות מקוונת-מחקר קוד פתוח
פעילות מקוונת-מחקר קוד פתוח
מחקר קוד-פתוח(Open-Source Research)
מידע רב זמין ברשת ללא מאמץ מיוחד.כל שצריך לדעת זהאצל מי הוא נמצא והיכן לחפש
מידע אחר עסקים,כתובות דוא"ל ומספרי טלפון של עובדים,מבנה ארגוני,בעלי תפקיד,מידע עסקי(דו"חות כספיים חשופיםבאופן תדיר מאתרים כלכליים).
קיימים מאות מנועי חיפוש,החל ממנועי חיפוש כלליים דוגמתגוגל ומנועי חיפוש יעודיים לאיתור אנשים כפיפל(Pipl)ו-ווינק(Wink)
ארכיון האינטרנט ומכונת הזמן מאפשרים לצפות בציר זמן בשינוייםשעבר אתר אינטרנט ובכך לאתר מידע שנמחק או שונה,ביצוע מחקרהסטורי על ארגון.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
פעילות מקוונת-רשתות חברתיות
פעילות מקוונת-רשתות חברתיות
כריית מידע ברשתות(Harvesting Networks)
אתרי רשתות חברתיים חושפים מידע רב על הגולשים
עם מי הם מקושרים,מה הם כותבים,מה הם עושים,מה עושים החבריםשלהם.
רשתות לקהלים מקצועיים דוגמת לינקדין(Linkedin.com)וקפה דה-מרקר
אוניברסיטאות וחברות משתמשים באתרים כאלו לצרכי קידום ופרסום תכנים
כל זאת מאפשר לבצע כריית מידע,הצלבות של מידע.
מנועי חיפוש יעודיים מתחילים לפתוח שעריים,דוגמת דלבר(Delver).
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
פעילות מקוונת-גרף חברתי
פעילות מקוונת-גרף חברתי
ניתן להתייחס גם לכל האינטרנט כאל רשת חברתית אחתגדולה,בגלל הקשרים בין האתרים(links).
אלגוריתם הדירוג של גוגל,הידוע בשםPageRankיודע לנצל קשריםאלו ולנתח אותם
שירות"גרף חברתי"של גוגל מציעAPIהמנתח את מבנה הקשרים ביןבלוגים,מיקרובלוגינג(דוגמת טוויטר)ואתרים חברתיים אחרים
תומך בפרוטוקולים של פרופילים וקשרים חברתיים דוגמתXFNו-FOAF (עליהם נרחיב בפרקWeb2Where).
באמצעות שירות זה ודומיו ניתן לבצע אנליזה גרפית על הרשת הכלליתוהחברתית ולהבין מי מכיר את מי,מי מקושר למי ולבצע מחקר מודיעיני.
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
פעילות מקוונת-גוגל קבוצות
פעילות מקוונת-גוגל קבוצות
גוגל קבוצות הוא שירות קבוצות דיון(פורומים)פומביים
חשיבותו בתיעוד הסטורי החל משנת1985מעצם כך שגוגל רכשה ב-2001אתDeja Newsשהיווה ארכיון מרכזי להודעות בתעבורתUsenet.
אלפי הודעות מתפרסמות מדי יום,חלקן מכילות מידע רגיש
חיפוש פשוט אחר שמות של ארגונים יניב מידע בעל ערך רבבתחום ההנדסה החברתית
שמות עובדים,כתובות דוא"ל,מקורות מידע,בעיות שעימן הארגון מתמודדוכיו"ב
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
פעילות מקוונת-גוגל קבוצות
פעילות מקוונת-גוגל קבוצות
האופרטורים בקבוצות הדיון של גוגל כוללים:
Author –חיפוש אחר שמות הכותבים של ההודעות על-פי שם.Author:@eitan.ac.il
Group –מאפשר לאתר קבוצות מסויימת הקשור לתחום מבוקש.Group:*.hacking.*
Insubject –מאפשר למצוא מילות מפתח בתוך כותרת ההודעה.Insubject:”google hacking”
Msgid –הודעת קבוצות דיון מזוה באופן יחידני על-ידי מספר מזה(ID)אשרדומה במבנהו לכתובת דוא"ל עם מספר אקראי של שם המשתמש.Msgid:123456@eitan.ac.il
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
בדיקות חדירותThe best defense is a good offense!
בדיקות חדירותThe best defense is a good offense!
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
הגדרה
הגדרה
אחד מהתהליכים החשובים בעת בדיקת רמת אבטחה של תהליךטכנולוגי,הינו שלב"בדיקת חדירות" (Penetration Testing).
נשים לב להבדל בין פורץ(האקר)לבין"מחקר חדירות"שהוא:
נסיון מורשה להפר מגבלות מסויימות בדמות מדיניות ושלמות מערכות אבטחה ארגוניות.
טכניקות בדיקה לגילוי,הבנה ותיעוד של פרצות אבטחה היכולת להמצא במערכת
קבלת נקודת מבט על אבטחה ארגונית בכלל ומיחשוב בפרט מנקודת מבטו של גורם עויין
אין זו טכניקה מוכחת נטולת כשלים
אינה יכולה להוכיח העדר כשל אבטחתי אלא רק להוכיח קיומו
לדוגמא:
השגת גישת קריאה/כתיבה לקבצים,חשבונות משתמשים ועוד
השגת הרשאות גבוהות ככל שאפשר
הפרעה או שלילה של זמינות פריטים(קבצים/שירותים וכיו"ב)
178
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מסלולו של האקר מצוי
מסלולו של האקר מצוי
179
Scanning
Footprinting
Enumeration
Gaining Access
Escalating  Privilege
Pilfering
Covering Tracks
Creating Back Doors
Woven mat
Denial of Service (DoS)
איסוף מידע,הנדסה חברתית,מבנה מערכות ועוד
אילו מערכות פעילות,סריקה יציאות(ports)ומבנה רשתות
זיהוי משתמשים פעילים ומשאבים בעלי הגנה חלשה
על סמך המידע שנאסףביצוע נסיון חדירה
נסיון לקבל שליטה מלאה על המערכת
עקב בצד אגודל,הבנת מנגנוני גישה למערכות רגישות
Rhosts, userdata, Config files, registry
בסיום חדירה למערכות פנימיות חובה להסוות עקבות
zap, rootkits
יצירת כניסות מוסוות לכניסה מאושרת בשנית
Cron, at, infect startup folder, netcatkeystroke logger,remote desktop
באם נכשל בהשגת כניסה עלול לשתק המערכת
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
סוגי בדיקות
סוגי בדיקות
בדיקת חדירות מתבצעת ברמות שונות
טכנית/תשתיות(חולשות של מערכות הפעלה,מסדי נתונים,חומת-אש,נתבים/רשתות תקשורת)
פיזית(אבטחת המבנה למשל)
אנושית-הנדסה חברתית(דיברנו על זה) –שיעורי הצלחה גבוהים(בעיקר דיג מקווןאוphishing),כלומר מתקיימת פגיעות מערכתית רבה וחולשה אנושית רבה עודיותר.
Voice over IP (VoIP)
לא נרחיב את הדיבור בנושא אבל זה תחום מתחמם מאוד להשגת מידע מהארגון.
חשוב לזכור-בדיקת חדירות היא הרבה יותר מאשר הרצת סורקיםוחיטוט בפחי אשפה!
רק הבנה של חשיבות האבטחה והמודעות אליה בשילוב התמחות בכתיבת קודמאובטח  מבטיחים הגנה לאורך זמן.
וזו המטרה של כל הקורס שדן באבטחת המארג!
180
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
סוגי בדיקות-יישומים
סוגי בדיקות-יישומים
בדיקת חדירות לישומים(Web Application Vulnerability Testing)
שיעורי הצלחה גבוהים!
בעיקר הודות לכתיבת קוד רשלנית(דיברנו על כך רבות)
כפי שראינו בפרק הדן בכתיבת קוד מאובטחיש לשלב בדיקות תוכנהוחדירות במהלך מחזור החיים של הפיתוח
איתור פגיעויות לפני הפורצים האמיתיים ושיפור איכות הקוד
יש לשים לב לא רק ליישום אלא גם
למסד הנתונים
שרת היישומים
שרת הווב
אבטחת הרשת
התממשקות עם ישומים ושרותי-ווב אחרים
181
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
סוגי בדיקותשיטות
סוגי בדיקותשיטות
בדיקת קופסה לבנה(White Box)
שיתוף מפתחי המערכת בתהליך חשיפת הפגמים בקוד תוך סקירה
לבודק יש גישה למידע פניםקוד,אלגוריתמים,מבנה נתונים
שימוש בסקירת עמיתים(כל מפתח סוקר את הקוד של חברו וההפך)
בדיקת קופסה שחורה(Black Box)
הדמיית גישת פורץ(האקר)למערכת
הבודק אינו יודע כלום על המערכת ובעצם"מגשש באפלה"ו"נופל"עלטעויות של מפתחים
בודק תוצאת פלט/קלט אל מול המפרטים המצופים
סתירה/התרסה של פרדוקס בדיקות המפתחים(developer testingparadox)
הפרדוקס נוצר מאחר ובדיקות מפתחים הן הכי יעילות ונכונות,רק שארגוניםאינם מיישמים מתודולוגיה זו כנדרש
182
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
סוגי בדיקותשיטות(המשך)
סוגי בדיקותשיטות(המשך)
בדיקת קופסה אפורה(Grey Box)
מצב משולב(היברידי)
בדיקת נסיגה(Regression Testing)
לדוגמא:הרצה מחדש של בדיקות קודמות והאם תקלות שתוקנו צצו מחדשבעקבות שינויים בקוד שנעשו בהמשך הפיתוח,כך שהתוכנה לא עובדת כמצופה
עוזר לחסוך זמן מהשלב הראשוני
שימוש בכלי בדיקה ופריצה
סקירת קוד,פיצוח סיסמאות,פגיעות חדירות
הן עבור קוד סגור והן עבור קוד פתוח
יש לזכור שכלים אוטומטיים מגלים רק חלק מהפריצות
על כן נשלב שיטות פריצה(האקינג)מתקדמות ואתיות שיאתרו(לרוב)אתמרבית הפגיעויות
שילוב בין בדיקות קופסה לבנה לקופסה שחורה
נשיג תוצאות מנקודות מבט שונות
183
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
המלצות לצעדי מנע ותיקון
המלצות לצעדי מנע ותיקון
בקרת גישה:זיהוי וניהול גישה
תקפות קלט/פלט,קידוד ותצורה(formatting)
ביטול קודSQLדינמי בתוך יישומי ווב
הבטחת שימוש נכון של אלגוריתמי הצפנה מאושרים
טיפול נכון בהודעות שגיאה מהיישום
ביטול אפשרות צפיה בתוכן ספריה(Directory Listing)
הקשחת שרת הווב ושרת היישומים
הקשחת מערכת ההפעלה
184
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
המשך קריאה
המשך קריאה
Open Application Security Community (OSASP)
Metasploit –מידע למי שעוסק בבדיקות חדירות ומערכות גילויחדירות(IDS)
ISBN: 1587052083.  Publisher: Cisco Press
185
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
המשך קריאה(מדריכים)
המשך קריאה(מדריכים)
מדריךPenetration Testing for Web Applications
מדריךGuide to penetration testing
דף אחד בסגנוןXMLהמפרט את כל הכלים והשיטות,מעיןcheat sheetשל עולם בדיקותהחדירות.
186
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
כלים נפוציםקוד פתוח
כלים נפוציםקוד פתוח
כלים נפוצים לאיתור פגיעות של שרתי ויישומי ווב
המוצרים הבאים פותחו במסגרת קוד-פתוח
חסרונם בתהליך עדכון איטי מה שגורר חוסר התייחסות מהירה לפגיעויות החדשותוהקטלניות ביותר.
הם לרוב טובים ככלי הערכה ראשוני/כללי
Nikto (בדיקת שרתי יישומים,נחשב למקיף ביותר)
Paros Proxy (בדיקת שרתי יישומים,כתוב ב-Java)
WebScarab (ניתוח ישומים המתקשרים באמצעותHTTP/HTTPS)
Whisker/libwhisker (בדיקתHTTPבעיקרCGI,פותח ב-Perl)
Burpsuite (מחקה התקפות על ישומי ווב,פותח ב-Java)
Wikto (הערכת אבטחה של שרתי ווב)
Nessus (סריקת רשת)
GNU Netcat (סריקתTCP\IP)
187
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
כלים נפוציםמסחרי
כלים נפוציםמסחרי
Rational AppScan (בעברWatchfire AppScan )
N-Stalker Web Application Security Scanner 2006 FreeEdition (קיימים גרסאות מקצועיות בתשלום)
188
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מקורות מידע
מקורות מידע
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
אתרים[2]
אתרים[2]
Web Application Security (with Java servlet)
http://www.darkreading.com/ -פורטל אבטחה,מדריכים,חדשות
http://osvdb.org/ -אתר חדשות בנושאי פגיעויות,גילוי פרצות ותקלותבתוכנה
Top 100 Security Tools List
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
ספרים מומלצים
ספרים מומלצים
Hacking Exposed series (Mc Graw Hill)
Silence on the wire (Michal Zalewski)
CISA Review Manual (Certified Information System Auditor)
http://www.isaca.org (Information Systems Audit and Control Association)
http://www.isaca.org.il/page.asp?topic_id=248 (הסניף הישראלי של האגודה)
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
חברות ישראליות ידועות
חברות ישראליות ידועות
רבות מן החברות הישראליות נמכרות לחברות בינלאומיות כךשהרשימה מתקצרת
And more...
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
כנסי אבטחת מידע
כנסי אבטחת מידע
Defcon (כנס האקרים עולמי)
RSA Conference (כנס חברות אבטחת מידע מרכזי)
BlackHat (כנס האקרים עולמי)
Shmoocon (כנס האקרים עולמי)
Y2Hackכנס ההאקרים ואבטחת מידע הישראלי))
Tausec ((כרגע פעילות הופסקה-כנס א"מ באונ'ת"א
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
בלוגים
בלוגים
http://www.gnucitizen.org/ -בלוג על האקרים,פרצות,כנסים
eitan-logo-main-small-white.gif
\IDEV\WEBSEC
מערכת המידע האקדמית איתן.  ©כל הזכויות שמורות
196
תודה!
idev_logo_toda.png