הכוונה מקצועית

shtrudel012

New member
הכוונה מקצועית

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

בגדול אני מגיע מעולם התקשורת , יש לי CCNA וניסיון של שלוש שנים עם פיירוואלים (כולל IPS ועוד מערכות של א. מידע) הבעיה היא שאני לא רואה את עצמי ממשיך בעולם תפעול המערכות אלא נכנס לרבדים אחרים . (רבדים של קוד)
בשירות הצבאי נגעתי (בנוסף) טיפה בלינוקס , ווירטואליזציה (ללא הסמכות מיוחדות בתחום)
לגבי תכנות , אני די זקוק לרענון (אני לומד מהר) , למדתי בתיכון VB6 ובשירות למדתי לבד פייתון ו C++ (כאשר ב C++ התאהבתי) .
כאשר אני לומד משהו ובמיוחד כשאני עוסק בו , אני רוצה לדעת שאני לא לומד אותו באופן שטחי אלא ברובד הכי עמוק שאפשר .
ענף ה reverse מאוד חדש לי והוא נראה לי מאוד מעניין .

איך להתחיל ? והאם כדאי ללמוד קורסים כמו CISSP או דומים לו ?
 

Y. Welis

New member
לדעתי מדובר בעיקר בתיכנות

כך שידע באסמבלי הוא מרכזי. כמה זה יהיה קריטי בשוק - לדעתי זה מרכיב אחד מתוך כמה. לא העיקר.
 

טרמפיסט

New member
נסיון לעזור

תפקידים הדורשים Reverse Engineering משתרעים לרוב בין עבודה כחוקר אבטחת מידע (Security Researcher) שלעיתים נדרש לפתוח קובץ בינארי כדי להבין מה קורה בו, לבין חוקרי נוזקות (Malware Researcher) שעולמם מורכב בעיקר ממשימות RE מפרכות של תוכנות שעושות הכל כדי להערים על אלו המנסים לנתח אותן - הן סטטאית והן דינאמית.

בסה"כ Reverse Engineering הוא מיומנות שניתן ללמוד ולפתח אותה וכיום, בניגוד לעבר, ישנם אלפי מקורות איכותיים ללימוד ובעיקר להתחלה. למרות שאני מניח שאתה מתייחס ל-RE של בינארים שקומפלו עבור x86, דע לך שעולם ה-RE לא מוגבל לארכיטקטורה של אינטל: חוקרים רבים מתמקדים בפלטפורמות "זניחות" כמו ראוטרים, ממירים, טלוויזיות חכמות, מערכות רכב ועוד ועוד - אשר נשענים לרוב על ארכיטקטורות כמו MIPS, ARM או ARC. בלוג מעניין ומפורסם בשם devttys0 עוסק בדיוק בזה.

כדי להתחיל ללמוד Reverse Engineering לארכיטקטורת אינטל, כדאי מאוד ללמוד Ansi C לעומק וכן x86 Assembly; התרגול הטוב ביותר להתחיל בו הוא בניית תוכניות פשוטות (ללא אופטימזציות קומפיילר) ופתיחתן באמצעות הכלים המתאימים. אימון על בינארי שאת הקוד שלו אתה מכיר, נותן את האפשרות לקשר בין קטעי קוד באסמבלי לבין קוד המקור שלהם. אפשר להמשיך משם לקבצים בינארים שאינם מוכרים ולתרגל על מאות אלפי ה-crackmes, keygenmes, unpackmes שנמצאים ברשת בדיוק למטרה הזו. כדאי מאוד ללמוד שפת סקריפטינג כלשהי שתעזור לך לבצע מטלות שונות ורפפטיביות ביעילות; ההמלצה הראשונה היא Python ואחריה PERL או RUBY.

כתלות בפלטפורמה אליה אתה מכוון, הכלים הנפוצים בשוק הם כלים מסחריים אך ישנן גם אפשרויות חינמיות שאינן נופלות (טוב נו, נופלות - אבל לא בהרבה) מאלה המסחריות: IDA Pro הוא ה-Disassmebler המוביל היום ומקביליו החינמיים הם OllyDbg ו-Immunity Debugger. חוקר צריך גם עורך בינארי שאפשר לסמוך עליו: 010 הוא ההמלצה שלי בגלל היכולת לפרסר מבנים בקובץ הבינארי, אך יש אלפים כמוהו - ובחינם. אם אתה מתכוון לתרגל על בינארים מהאינטרנט, כדאי לעשות זאת ב-"סביבה סטרילית", כלומר על גבי מכונה וירטואלית: VMWare או VirtualBox. מדריכים קלאסיים שישמשו אותך בהתחלה הם "Lenas Reversing for Newbies" וכמובן "TiGa's IDA Series" שנמצא באתר Woodmann. ישנן קהילות רבות שיעזרו לך להתחיל (וגם להמשיך!); אחת מהוותיקות והידועות היא OpenRCE אך יש גם קהילת האקינג ישראלית - שאני מניח שלינק אליה לא יתקבל כאן בברכה, אך אני מאמין שלא תתקשה למצוא אותה.

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

אל תחשוש מעבודה מאומצת ושיהיה שהצלחה!
 

orell

New member
אין קשר בין

Reverse ולבין cissp, cissp זאת הסמכה שנוטה לניהול ולא ל handson תלמד שפות תכנות, לא חסר באינטרנט. אני לא לגמרי בטוח מה נחוץ אבל בטח החבר׳ה כאן יוכלו להשלים אותי
 
למעלה