چگونه به یک هکر یا متخصص امنیت عالی تبدیل بشم

مفهوم هکر مفهومی عام‌تر از نفوذ و امنیت است. هکر کسیه که از ابزارش استفاده غیرمرسوم و هوشمندانه می کنه و موفق به چیزهایی می شه که از نظر دیگران نشدنی بوده. اما خیلی از رسانه‌ها، مفهوم هکر رو به عنوان صرفا متخصص امنیت کامپیوتر جا انداختن و هفته‌ای نیست که من توش یک ایمیل نگرفته باشم که بگه «جادی! چطوری متخصص امنیت بشم؟». مشکل کار هم اینجاست که خیلی وقت‌ها سوال کننده درک دقیقی از این شغل نداره و فقط به خاطر اسم بامزه و ظاهر هیجان انگیزش می خواد به شاخه امنیت بیاد. توی این نوشته که تقریبا جمع بندی و ترجمه آزادی از این مطلب است سعی کردم یکجا، جوابی رو آماده کنم.

اولین قدم در تبدیل شدن به یک متخصص خوب امنیت، اینه که به یک متخصص معمولی امنیت تبدیل بشین. خیلی خوبه اگر از اول دنبال تبدیل شدن به بهترین هستین اما در نهایت بهتره حواستون باشه که برای رسیدن به هر جایی باید قدم به قدم پیش رفت و حوصله داشت. بخصوص در دنیای امنیت که بهترین ها، معمولا پیشینه گسترده‌ای دارن و در حوزه‌های مختلف دانش دارن. خیلی از متخصصین امنیت و هکرهای خوب، با کارهایی مثل برنامه‌نویسی، سیستم‌عامل، شبکه، طراح و موارد مشابه شروع کردن و بعد از چرخیدن در حوزه‌های مختلف، سراغ امنیت رفتن.

تبدیل شدن به متخصص امنیت مثل اینه که بگین می‌خواین به یک نویسنده خوب تبدیل بشین. نویسنده‌های خوب فقط با کلاس‌های نویسندگی به وجود نمیان بلکه معمولا آدم‌هایی هستن که دنیا رو زندگی کردن، کتاب خوندن، سفر رفتن، فیلم دیدن، فلسفه می‌دونن، به زندگی فکر کردن و بعد نویسندگی رو هم با تمرین یا دوره یاد گرفتن. به همین شکل اگر در این لظحه شما مهارت بخصوصی در رشته‌هایی مثل شبکه، سیستم عامل، سخت افزار، رمزنگاری، برنامه نویسی سطح پایین، برنامه نویسی سطح بالا، درک ار پروتکل‌های ارتباطی، پایگاه‌های داده و موارد مشابه ندارین، پیشنهاد بهتر از این راه رو برو تا متخصص امنیت بشی اینه که در این حوزه‌ها شروع به کار کن و توشون پیشرفت کن.

مرحله بعدی اینه که با دونستن یا فعال بودن در یکی یا چند تا از این حوزه‌ها، مسائل امنیتی مرتبط رو توشون دنبال کنین. مثلا اگر سیستم عامل بلدین، با دنبال کردن باگ‌ها یا خوندن، ببینین مشکلات امنیتی چه چیزهایی می تونن باشن و کجاها می‌شه پیداشون کرد. اگر در برنامه نویسی سطح پایین هستین اصلاح‌هایی مثل اورفلو رو دنبال کنین یا اگر برنامه‌نویس سطح بالا هستین با مفاهیمی مثل اینجکشن آشنا بشین. همین مساله در شبکه و پروتکل و غیره هم ثابته. بسیاری از پروتکل‌ها مشکلاتی دارن که کاملا شناخته شده است و می‌تونین دنبالشون کنین یا حتی سراغ سخت افزار برین و ببینین بقیه چیکار کردن و تکرارشون کنین تا کم کم راهتون رو پیدا کنین. بسیاری از هکرهای بزرگ تاریخ با همین شیوه پیش رفتن و هر کدوم هم حوزه تخصصی خودشون رو داشتن. در اکثرا موارد کسی با ایده «برم بهترین متخصص امنیت بشم» شروع نکرده بلکه از حوزه‌های دیگه سراغ مساله اومده.

یکی از مشکلات فعلی دنیای امنیت همینه که افرادی که تخصصی در حوزه‌های دیگه ندارن و فقط درس امنیت می خونن، به سیستم‌ها اضافه می‌شن و بیشتر از اونی که کار مفید بکنن، دردسرهای اداری برای بقیه بخش‌ها درست می‌کنن – البته اونهم الزاما بد نیست ولی معمولا فرستادن چند بخشنامه و سختگیری در مورد پروتکل ها و اصرار به شکل خاصی از وی پی ان و قرارداد خرید وف و آپدیت کردن فایروال ها و … کاری نیست که وقتی یکی با هیجان می گه «می خوام متخصص امنیت بشم» دنبالش باشه.

اما با داشتن بحث قبلی در ذهن، بذارین نگاهی هم بندازیم به انواع شغل‌هایی که یکه متخصص امنیت می تونه داشته باشه و ببینیم راه رسیدن به هر کدومش چه چیزیه:

  • تست کننده امنیت اپلیکیشن‌های وب:‌ یاد بگیرین برنامه بنویسین تا توی این بحث از آدم‌هایی که فقط بلدن اپلیکیشن تست کنن فاصله بگیرین. درک از سیستم‌عامل و دیتابیس بهتون کمک خواهد کرد و همینطور دونستن چیزهایی مثل پی اچ پی، جاوااسکریپت، پایتون و جاوا. اگر بتونین شیوه کار چیزی رو درک کنین، شکستنش راحتتر خواهد بود. بعد از اون دنبال OWASP بگردین و مسیر رو پیدا خواهید کرد.
  • متخصص امنیت شبکه:‌ بهتره برای خودتون یک لابراتوار درست کنین که اجزای متفاوتی داشته باشه. مثلا استک لمپ (لینوکس، آپاچی، مای اسکوئل، پی اچ پی) همیشه شروع خوب و مرسومی است و بعد بررسی کنین که هر جزء از این استک چطوری امن می‌شه. درک اولیه‌تون که کامل شد می‌تونین برین سراغ PTES (استاندارد اجرای پن تست) و شیوه‌هایی که هکرها به شبکه‌ها حمله می‌کنن رو یادبگیرین و مطمئنا راحت کشف خواهید کرد که علیه هر متد باید چه کاری انجام بشه.
  • Compliance and Auditing: برای اینکار باید در مورد تکنولوژی‌های پایه‌ای و بیزنس مدل‌ها آگاهی کسب کنین. افرادی که در این سمت هستن، بیزنس و امنیت را درک می کنن و مطمئن می‌شون که کارکرد بیزنس بدون صدمه زدن به توان خلاقیت و سرعت، امن می‌شه. خوبه در مورد کسب و کارها بخوانید و با مدیرعامل‌ها و طراحان کسب و کار حرف بزنید و درک واقعی از جهان داشته باشین. در مورد شرکت‌های بزرگ تحقیق کنین و به مواردی که در Center for Internet Security به آن‌ها اشاره شده نگاه کنین. همچنین قواعدی مثل HIPAA، PCI-DDS، DISA STIG و ایزو ۲۷۰۰۱ و SOC2 رو بخوانید و فراموش نکنین که قراره سازمان بدون صدمه زدن به قابلیت‌ها و کارکردهاش‌، امن می‌شه.
  • رمزنگاری/تحلیل رمز: اگر می‌خواهید در این حوزه کار کنید خوبه در زمینه‌های ریاضی و رمزنگاری، تحصیلات آکادمیک داشته باشین و منابع علمی را دنبال کنین. یک رمزنگار ممکنه تو دانشگاه تدریس کنه یا روی الگوریتم ها کار کنه ولی کمتر شرکتی معمولی هست که یک رمزنگار استخدام کنه.
  • مشاور امنیت: کسی که به عنوان مشاور امنیت کار می‌کند، لازم است دانشی گسترده و درک خوبی از محیط‌های کاری و ساز و کار شرکت‌ها داشته باشه. برای این شغل نیاز دارین دانشی به روز از تکنولوژی‌های مورد استفاده شرکت ها و استانداردهای مورد استفاده آن‌ها داشته باشین و با Best Practiceها آشنا بشین. همچنین باید در مورد قوانین محدود کننده و نیازمندی‌های بالا دستی هم آگاه باشین تا بتونین بهترین مشاوره رو به مشتریانتون بدین. اینجا انتظار می ره شما با افق دید بسیار گسترده‌ و آگاهتون، نقاط مورد نیاز برای تقویت امنیت شرکت‌ها و در عین حال حفظ کارایی اونها و سازگاری‌‌شون با قوانین رو پیشنهاد بدین.
  • محقق آسیب‌پذیری‌ها:‌ این شغل به طور خاص نیاز داره که شما حداقل توی یک حوزه بسیار باسواد و با تجربه باشین و حداقل یک زبون برنامه نویسی، فریم ورک یا سیستم عامل رو به خوبی بدونین. بعد با این دانش روی بخش کوچیکی از یک محصول یا شرکت تمرکز می‌کنین و سعی می‌کنین مشکلاتش رو پیدا کنین. مثلا ممکنه شما در سی یا اسمبلی بهترین باشین و با سواد و دانش کامل روی یک شکل از پروتکل، بیاین و روی شیوه کار یک کتابخونه ارتباطی تمرکز کنین و اشکالاتش رو کشف کنین.
  • متخصص امنیت نرم‌افزار: معمولا مهندسان و معماران با تجربه نرم‌افزار بعد از مدتی به متخصصان امنیت هم تبدیل می‌شوند. باید حداقل در یک استک نرم افزاری متخصص باشید و بعد دانش امنیتی خود را برای امن‌تر کردن یک برنامه در آن استک متمرکز کنید. شاید هم وظیفه شما در این شغل، بهتر شدن امنیت کل یک سازمان یا پاسخ دادن به نیازهای امنیتی بقیه کارمندان و برنامه نویسان باشد.

اما واقعا چطور باید به در یکی از این حوزه‌ها به بهترین تبدیل شویم؟ اول بهتر است انتخاب کنید که چه چیزی را در کدام حوزه دوست دارید و هرچقدر که می‌توانید در آن حوزه چیز یاد بگیرید. مثلا به جای اینکه به شکل کلی سراغ یادگیری «تست نفوذ» بروید، بهتر است در چیزی مثل جنگو متخصص شوید و مشکلات امنیتی آن را بشناسید. بهتر است به جای سواد عمومی، دارای سواد تخصصی شوید. چند سال تمرکز روی یک چیز، می‌تواند شما رو به یکی از بهترین‌های آن چیز تبدیل کند. البته دوره هایی هم هست که سعی می کنن بخش هایی از کل این ماجرا رو جمع کنن و با سرفصل های رسمی ارائه بدن و مدرک معتبری هم دارن. مثلا دوره CEH مشهورترینشونه که وزارت دفاع آمریکا و سازمان امنیت ملی و غیره معتبر می دوننش. من تلاش کردم این دوره رو درس بدم که نتیجه اش توی مکتبخونه هست و اگر هم قیمتش براتون گرونه، می تونین جاهای دیگه رایگان پیداش کنین (: یه روش دیگه هم اینه که سرفصلهاش رو پیدا کنین، اونهایی که دوست دارین رو انتخاب کنین و عمیق در موردش بخونین، یادتون باشه که عمیق خوندن همیشه بهتر از وسیع فیلم دیدن است (:

اما چقدر طول می کشه؟ هیچ کس نمی‌تواند به شما بگوید چه مدت زمان برای متخصص شدن لازم است. آدم ها، توانایی‌های آن‌ها، علاقمندی‌هایشان و استعدادشان فرق می‌کند. اگر واقعا می‌خواهید یکی از بهترین‌ها باشید باید حوصله کنید و از مسیر لذت ببرید و دنبال میان‌بر نگردید. اگر حوصله ندارید می‌توانید اصولا به یک آدم غیرفنی ولی با ظاهر هیجان انگیز تبدیل شوید. چند کلمه قلمبه سلمبه، یاد گرفتن استفاده از چند برنامه (مثلا مرور ابزارهای کالی لینوکس) و حتی داشتن چند لینک در دارک نت و ارتباط با هکرها و خریدن اطلاعات از آن‌ها، روشی دیگر برای ادای یک هکر را در‌آوردن است که شاید برای یک بیزنس من، خیلی هم سر راست تر باشد ولی برای کسی که به مسائل فنی عشق می‌ورزد و قدرت واقعی را می‌خواهد، نچسب‌ترین چیز است.

اگر واقعا می‌خواهید متخصص امنیت شوید، حوصله کنید و یاد بگیرید و خواهید دید که نه فقط قدم به قدم شاهد پیشرفت خودتان خواهید بود که حتی از مسیر هم حسابی لذت خواهید برد. اما یادتان باشد همیشه مسائل قانونی را رعایت کنید و فراموش نکنید که بهترین متخصصین امنیت، باید سابقه تمیز و قابل ارائه ای داشته باشند.

اگر شما هم چیزی دارین که به نظرتون خوبه به مطلب اضافه بشه، خوشحال می شم در کامنت ها بگین تا بعدا به اصل مطلب اضافه کنم.

مرتبط:
چگونه هکر شویم، ترجمه فارسی از یک هکر واقعی یعنی اریک ریموند