קוד ייעודי

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה לניווט קפיצה לחיפוש

קוד ייעודיאנגלית: Shellcode) הוא חלק בקוד של אקספלויט המנצל פרצת אבטחה המהווה את ה"מטען המועיל" שיפעל על המחשב הנתקף. הקוד הייעודי בדרך כלל מתחיל בפקודת מעטפת שמאפשרת לשלוט במחשב המותקף. קוד ייעודי בדרך כלל כתוב בשפת מכונה.

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

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

סוגים של קוד ייעודי[עריכת קוד מקור | עריכה]

Gnome-edit-clear.svg
ערך זה זקוק לעריכה: הסיבה לכך היא: לא ברור.
אתם מוזמנים לסייע ולתקן את הבעיות, אך אנא אל תורידו את ההודעה כל עוד לא תוקן הדף. אם אתם סבורים כי אין בדף בעיה, ניתן לציין זאת בדף השיחה.

ישנן שתי משפחות של "קוד ייעודי": קוד מקומי וקוד מרוחק.

קוד ייעודי מקומי[עריכת קוד מקור | עריכה]

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

קוד ייעודי מרוחק[עריכת קוד מקור | עריכה]

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

הורד ובצע (Download and execute)[עריכת קוד מקור | עריכה]

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

קוד ייעודי רב שלבי[עריכת קוד מקור | עריכה]

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

ביצה חבויה[עריכת קוד מקור | עריכה]

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

חביתה[עריכת קוד מקור | עריכה]

בדומה ל"ביצה חבויה", אלא שהתוקף משלב לתוך ה Process מספר "חבילות קוד" שונות והקוד "המחפש", יודע למצוא את אותן חבילות קוד, לחבר אותן לוגית ולהריץ אותן יחד, באותו Process במחשב היעד.

חקירת קוד ייעודי[עריכת קוד מקור | עריכה]

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