קורס // שפת סף Assembly

קורס // שפת סף Assembly // קורס // שפת סף Assembly //

CYBER & IT

רמה/שלב

5 שבועות

משך זמן

40

שעות אקדמיות

טרם נקבע

מועד פתיחת קורס

לפי לוז

ימי ושעות לימוד

  • מידע על הקורס
  • חטיבות לימוד
  • קורסים נוספים

01

אודות התכנית

בהקשר של הגנת סייבר, נדרש ידע ב-Assembly כבסיס ללימודי Reverse Engineering, אשר בתורו – מהווה בסיס ללימודי Malware Analysis.

מעבדי אינטל משמשים ככוח העיקרי במחשוב האישי כבר מעל 30 שנה.
הבנת עקרונות ה- low level הנמצאים במעבדי אינטל משמשת לא רק כיסודות להבנת ארכיטקטורת מעבדי אינטל, אלא גם לחומרה אחרת (של אינטל ואחרים), וכן משמשת כיסוד מובהק להבנת הנדסה לאחור (reverse engineering) של תוכנות, תכנון קומפיילרים, הבנת מערכות הפעלה וניצול פגיעויות במערכות אלו.
בתכנית לימודי אסמבלי המבוססת בעיקר על התנסות, נלמד את העקרונות הבסיסיים ונתאר את החומרה שקוד אסמבלי משתמש בו.
נתאר את הפקודות הנפוצות הנראים כקוד אסמבלי, נלמד אותן לעומקן ונבין מה מתרחש “מאחורי הקלעים”.

קרא עוד

02

מטרת התכנית

בסיום התכנית תהיה לבוגרים הבנה מעמיקה בקריאת קוד אסמבלי והבנתו.

תשתית לתכניות מתקדמות יותר בתחום, ובראשן – לימודי Reverse Engineering ו- Malware Analysis.

קרא עוד

03

קהל יעד:

לבעלי עניין להתפתח בתחום ההנדסה לאחור או לפתח כישורי ניתוח נוזקות.

קרא עוד

04

תנאי קבלה

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

קרא עוד

05

מטלות תכנית הלימודים

קיימת חובת נוכחות ב-80% מהמפגשים.

בנושאים הטכניים – תרגול (Hands-on) בכיתה (מעבדה).

קרא עוד

06

מתכונת ואופי הלימודים

משך התוכנית כ- 40 שעות.
הלימודים מתקיימים בקמפוס See Security ברמת-גן (צמוד לתחנת רכבת מרכז).

קרא עוד

07

חטיבות לימוד

  • Stepping through a small program and watching the changes to the stack at each instruction (push, pop, call, ret (return), mov)
  • Stepping through a slightly more complicated program (adds lea (load effective address), add, sub)
  • Understanding the correspondence between C and assembly control transfer mechanisms (e.g. goto in C == jmp in ams)
  • Understanding conditional control flow and how loops are translated from C to asm(conditional jumps, jge(jump greater than or equal), jle(jump less than or equal), ja(jump above), cmp (compare), test, etc)
  • Boolean logic (and, or, xor, not)
  • Logical and Arithmetic bit shift instructions and the cases where each would be used (shl (logical shift left), shr (logical shift right), sal (arithmetic shift left), sar(arithmetic shift right))
  • Signed and unsigned multiplication and division
  • Special one instruction loops and how C functions like memset or memcpy can be implemented in one instruction plus setup (rep stos (repeat store to string), rep mov (repeat mov)
  • Misc instructions like leave and nop (no operation)
  • Running examples in the Visual Studio debugger on Windows and the Gnu Debugger (GDB) on Linux