איך אני מתחיל, אבטחת מידע, סייבר אבטחה והאקינג [בתהליך]

WIP: משתמשים עם רמת אמון 2 יכולים לערוך ישירות את הפוסט.
משתמשים עם רמת אמון 1 ומטה יכולים להשאיר תגובה עם תיקונים או הוספות, התגובה תוסתר ברגע שהתיקונים יוכנסו.

הקדמה

ראשית מה זה אבטחת מידע ומה זה האקינג בדיוק?

אבטחת מידעאנגלית: ( information security (infosec, או cybersecurity - אבטחת סייבר) היא הענף העוסק בהגנה מפני גישה, שימוש, חשיפה, ציתות, שיבוש, העתקה או השמדה של מידע ומערכות מידע מצד גורמים שאינם מורשים או זדוניים ולספק סודיות, שלמות וזמינות של המידע ללא תלות בסוג המידע או בצורת האחסון, פיזית או אלקטרונית.

מקור, ויקיפדיה - אבטחת מידע.

בקצרה

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

מקור - ויקיספר - אבטחת מידע.

אך להאקינג (פצחנות) יש משמעות שונה וחשוב להבדיל ביניהם,

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

מקור, ויקיפדיה - האקינג.

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

לפני שמתחילים בתחום, מומלץ שיהיה רקע טוב במערכת הפעלה, רשתות ותכנות, בעוד שהידע (הבסיסי) בשני הנושאים הראשונים הכרחי, ידע בתכנות אינו הכרחי, איך יועיל בהבנה עמוקה יותר של התחום (במיוחד בתת קטגוריה של סייבר אבטחת מידע), איך דברים עובדים, איך ניתן “לשבור אותם” ואיך ניתן להגן עליהם. אז אחרי שיש לכם את הרקע הנדרש תוכלו להמשיך לאבטחת מידע.

תחום אבטחת מידע הוא מאוד גדול, הוא כולל בתוכו נושאים פיזיים ווירטואלים שכולם קשורים במידע, אך המטרה היא אחת, לדאוג לשלמות (integrity), סודיות (confidentiality) וזמינות (availability) שלהם (איך לשמור עליהם או איך לפצח אותם). החלוקה הראשונית היא של מידע פיזי ומידע וירטואלי (סייבר), כאשר את שניהם משיגים על-ידי נהלים וישומם.


מקור

מערכות הפעלה

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

מקור, ויקיפדיה - מערכות הפעלה.

ישנן מערכות הפעלה רבות, אך הנפוצות ביותר הן חלונות, לינוקס, אנדרואיד, iOS/MacOS ואחרים. עקרונות הפעולה של מערכת הפעלה דיי דומה והיכרות עם אחת מהן לרוב מספיקה בשביל להתחיל את דרכנו. מומלץ לבחור ללמוד את המערכת הפעלה בהתאם לסביבה (Stack) שבה נפעל.

רשתות

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

מקור, ויקיפדיה - תקשורת נתונים.

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

תכנות

תִּכְנוּת מחשבים (לרוב מכונה בקצרה תִּכְנוּת, או לעיתים קִידּוּד) הוא תהליך הכתיבה, הבדיקה והתחזוקה של קוד המקור של תוכנית מחשב.

מקור - ויקיפדיה - תכנות מחשבים.

בחירת שפת התכנות הראשונה גם תלויה בסביבת עבודה (Stack), מומלץ להתחיל בשפה שכמה שיותר “קרובה” למערכת הפעלה כגון שפת סף או C שבה המערכת הפעלה נכתבה, אך לרוב הבנה עמוקה שלהם דורשת זמן רב ולא הכרחית למי שמתעסק ברמות “גבוהות” יותר של אבט"מ ופצחנות. אם אינך בטוח ביעד, שפות כגון Python ו-Java הן בחירה נבונה לתחילת הדרך (על-מנת להכיר תהליכי פיתוח).

אבטחת מידע הגנתית

WIP

אבטחת מידע התקפית

WIP

הנדסה לאחור

WIP

קריאה נוספת:

תורמים: @iTK98

6 לייקים

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

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

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

2 לייקים

אני חושב שכדאי להוסיף כמה קורסים של המרכז לחינוך סייבר:

למרבה הצער לא נתנו לי להוסיף את זה באותה תגובה…):

לייק 1

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

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

אמינות הוא אחד האלמטים היותר משמעותיים (ואקטואליים) באבט"מ, הייתי רוצה לראות פה שילוב של זה בפסקה

שאני מדבר על אמינות אני מדבר על שרתי CA, זיוף חתימות וישויות ברשת, הטכניקה לשנות את ההודעה ולא לדעת שגורם שלישי מעורב על אף החתימה ואימות זהות השולח.

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

שלא יהיה ראשון בבקשה על פי הציונים שנתתי קודם.

ההפך הוא הנכון, לרוב תתחיל להרגיש את הצורך הפרקטי רק שתגיע לרמות “גבוהות” יותר בתחום :wink:
כשאני מתייחס להאקר אני מתייחס אליו כאיש אשכולות בתחום, התמקצעות היא בונוס מעל היכולות הרחבות הבסיסיות.

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

3 לייקים

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

לייק 1

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

אני חושב ששווה להחליף את הספרים על מערכות הפעלה (וכל ספר אחר בתשלום) במדריכים מיוטיוב(או כל מדריך חינמי אחר). מערכות הפעלה זה נושא חשוב ויש עליו ים של מידע חנימי, גם בווינדוס
בנוסף:
אני חושב ששווה לתת פויינטר לאתרים שמלמדים מיונמויות כמו
overthewire
underthewire.

בנוסף קורס מבוא מצויין באבטחת מידע: https://www.edx.org/course/unlocking-information-security-part-i
ואם אתם סטודנטים באוניברסיטצ תל אביב יותר ממומלץ לעשות את הקורס “מבוא לאבטחת מידע” של אבישי וול (כותב הקורס של אדקס).

לייק 1

צודק, זה יוכנס לגוף ההודעה המקורית, הבילבול נבע מקריאה של הוויקיפדיה בעברית בלבד [1].

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

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

@barshopen ברוך הבא לפורום. כמו שאמרתי ל-@ylj, באשכול זה לא יהיו קורסים, במיוחד כאלו שבתשלום (ש-eDX מקדמים).

קישורים:

  1. Wikipedia - Information Security - Key Concepts
לייק 1

יש הבדל בין שימוש במערכת ההפעלה ותפעולה (עד לרמה של אדמין במערכת) לבין הבנת קונספטים עמוקים של עיצוב מערכת ההפעלה ואני הבניין בה.

בוא נריב, בעיניי ידע בתכנות רלוונטי פי כמה וכמה מידע ברשתות בעולם הזה. לא תוכל להבין אפילו לא במקצת קונספטים במערכת ההפעלה או אפילו לתפעל אותה במידה סבירה (לדוגמה :לכתוב סקריפט באש?), זאת לפני שתדבר עם בן אדם על אוטומציות שקורות יום יום במערכת ומבחינתו מחשב שחושב לבד זה black box (אני כמובן לא מדבר על ML אלא על חישוב בסיסי)

2 לייקים

אחד הפוסטים פוצל לנושא חדש: מהו ההבדל בין הקורס הפרונטלי לקורס אונליין (edX)

זו יותר תמצית של משהו שפרסמתי בכספ אבל זה סבבה בהתחשב בזה שזה WIP כרגע, אפשר באמת לשנות את זה ולסדר את זה לצורה יותר יפה, אני חוסך לך את העבודה כי הזכרת לי את זה

Practical Malware Analysis זה מקור מצוין לחקר נוזקות והנדסה לאחור בכללי, ספר שנחשב פחות או יותר לחובה למי שרוצה לעסוק בזה
Reversing: Secrets of Reverse Engineering ספר מפורסם ומלא בתוכן שקשור להנדסה לאחור ושיטות בנושא

שני ספרים נורא ידועים, הלינקים לאמזון

יש את (beginners.re(RE4B שהוא חינמי לגמרי, שווה לקחת בחשבון שנכון לנובמבר 2020 היוצר של הספר(יורי יוריצ’ב) רואה בו לא מעודכן, אבל הוא אחלה לגמרי גם במצב הנוכחי , חשוב לשים לב שהוא עובר על ארכיטקטורות שונות במקביל והוא יתרכז בעיקר בתבניות בהתחלה, הספר הזה מלא בחומר שהוא רלוונטי(אפשר גם לעבור רק על נושאים שאקטואלים בשבילך באותו הרגע) ויש לו אתר לאתגרים שבהם תוכל לתרגל את מה שאתה לומד במקביל - challenges.re

יש את begin.re כאופציה אינטרקטיבית (וישראלית?)

יש גם את הפלייליסט הזה של Open sec training לאסמבלי ומשם אפשר להמשיך הלאה

יש גם את הערוץ של יונתן גויכמן שמעלה את התכנים שלו בעיקר לFXP, תוכן מעשי מצוין והוא מקומי

ברדיט יש קהילות מלאות תוכן, אם מחפשים טוב אפשר למצוא אזכור לכמעט כל נושא רלוונטי
ישר קופצים לראש r/netsec ו-r/reverseengineering אבל יש מספיק קהילות עם תוכן די חופף על infosec וחקר נוזקות או הנדסה לאחור ביניהם

מעבר לזה יש המון חומר חופשי באינטרנט, באנגלית(וגם ברוסית/גרמנית יש שפע יוצא דופן אם אתה דובר שפה שלישית), בעברית יש מאמרים נורא מעניינים של Digital Whisper, זה יכול לבוא במבנה קצת שונה אבל לגמרי שווה קריאה // לא יודע כמה הפסקה הזו רלוונטית למקור מידע, אבל את Digital Whisper חייבים לציין בדרך כלשהי כי זה זהב

כן יצופה לרוב ידע בארכיטקטורות/מערכות הפעלה/sections של הבינארים שאתה אמור עובד איתם וידע low-levelי אחר לפני שאתה ניגש לעבודה, שווה לך לקרוא על stack/heap ושטויות אחרות בסגנון

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

עריכה 10: הבנתי עכשיו גם ששמתי את זה בפוסט הלא נכון ושהפוסט ההוא עודכן
נו שוין

3 לייקים

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

האם תוכל להעלות את חלק זה ואת שאר החלקים שהם wip במידה וסיימת איתם?

ברוך הבא לפורום @wolfy. אני משער שאתה מבקש שאני אסיים (בלשון עתיד) את המדריך, כי אני לא רואה הגיון באי פרסום חומר שכבר סיימתי לכתוב.

לצערי המדריך הזה פחות מושך אותי אליו (אני לא מצליח למצוא מוטיבציה לכתוב בנושא הספציפי הזה של “איך אני מתחיל”), ויש לי כמה דברים אחרים שאני רוצה לכתוב, אז אני לא יכול להבטיח מתי אני אסיים את החיבור הזה.

אבל תזכרו שהמאמר הזה הוא בגדר “ויקי” וכל אחד יכול להוסיף אליו. אני אשקיע בלהעביר אותו ל-Knowledge Base [1] שיהיה יותר נוח למצוא ולעדכן אותו.


  1. עדכון 30 באפריל, 2021 ↩︎