دنیای هکرها برای مدتی طولانی همچون کلافی از رمز و راز و تصورات غلط بوده است. هالیوود معمولا هکرها را افرادی بیاخلاق نشان میدهد که با پنهان شدن پشت صفحه کامپیوتر، شبکهها و سیستمهای کامپیوتری بزرگ را صرفا برای منافع شخصی خود به نابودی میکشند. اما هکر بودن صرفا این نیست و این روزها هکرهایی اخلاقمدار نیز داریم که از مهارتها و کنجکاوی خود برای از بین بردن آسیبپذیریها (پیش از اینکه مورد سوء استفاده قرار بگیرند) استفاده میکنند.
چطور هکر شویم و هکر شدن چه پیشنیازهایی دارد؟
بسته به اینکه میخواهید چه مسیری را در پیش بگیرید و وارد چه سازمانهایی شوید، به عنوان یک هکر نیاز به گستره وسیعی از مهارتها و تواناییها خواهید داشت. یکی از مهمترین پیشنیازها، دریافت گواهیهایی مانند Certified Ethical Hacker است که برای به دست آوردن آنها نیاز به مهارتهای زیر خواهید داشت:
- دانش قابل توجه راجع به سیستمهای کامپیوتری و شبکهها
- درک کامل پروتکلهای امنیتی کنونی که در سیستم عامل هایی مانند لینوکس، ویندوز و مک پیاده شدهاند
- توانایی هک کردن شبکهها یا سیستمها و سنجش آسیبپذیریها
- توانایی بهکارگیری تدابیر پیشگیرانه، ترمیمی و محافظتی در برلاابر حملات
- تسلط بر نحوه شناسایی و کرک کردن انواع مختلفی از رمزهای عبور
- آشنایی با فازها و روششناسیهای گوناگون در هک اخلاقمدارانه (Ethical Hacking)
- آشنایی با نحوه پاکسازی شواهد دیجیتال رخنه به سیستمها و شبکهها
- پیروی از دستورالعملها و رویههای اخلاقی
- آشنایی با تکنیکهای گوناگون حمله سایبری مانند فیشینگ، مهندسی اجتماعی، تروجانها، سرقت هویت و موارد مشابه و همینطور تکنیکها و تدابیر ضروری برای مقابله با آنها
علاوه بر این، شرکت EC-Council که بر آزمون و گواهی Certified Ethical Hacker نظارت دارد میگوید شرکتکنندگان باید بر چندین زبان کدنویسی مختلف – مثل پایتون، SQL، پیاچپی، جاوا، سی و سی پلاس پلاس – نیز مسلط باشند.
یادگیری زبان پایتون و زبانهای دیگری که گفته شد را میتوانید از منابع فارسی مانند کوئرا و فرادرس و یا منابع انگلیسی مانند وبسایت Coursera دنبال کنید.
چند نوع هکر داریم؟
گذشته از هکرهای اخلاقمدار، هکرهای دیگری نیز داریم که رویکردهای گوناگونی در پیش میگیرند. در ادامه میگوییم این هکرها چه هستند و چه میکنند.
- هکر اخلاقمدار یا کلاهسفید (White Hat Hacker): این هکرها را میتوان متخصصینی در امنیت سایبری توصیف کرد که برای شناسایی آسیبپذیریهای نرمافزارها، سختافزار و شبکهها استخدام میشوند. کلاهسفیدها این آسیبپذیریها را به صاحب سیستم یا شبکه اطلاع میدهند و از روشها، ابزارها و تکنیکهایی یکسان با همتایان کلاهمشکی خود کمک میگیرند.
- هکر کلاهمشکی (Black Hat Hacker): کلاهمشکیها به شکلی غیرقانونی وارد شبکهها و سیستمها میشوند و ضمن ایجاد اختلال در عملکرد آنها، اطلاعات مهم را به سرقت میبرند، جاسوسی میکنند و گاهی هم صرفا به خوشگذرانی مشغول میشوند. این هکرها معمولا دانشی عمیق راجع به پروتکلهای امنیتی و روشهای حمله دارند و قادر به نوشتن بدافزارهایی با قابلیت رخنه به سیستمها هستند.
- هکر کلاهخاکستری (Gray Hat Hacker): کلاهخاکستریها ویژگیهای هکرهای کلاهسفید و کلاهمشکی را با یکدیگر ترکیب میکنند. برای مثال ممکن است بدون هیچ هدف بدخواهانهای، آسیبپذیریهای سیستمها را بیابند، اما در عین حال از صاحب سیستمها اجازه نگیرند. کلاههاکستریها معمولا این آسیبپذیریها را گزارش میکنند و در ازای برطرفسازی آنها، خواستار مبالغ گوناگون میشوند. اگر مالک سیستم پاسخ ندهد یا همکاری نکند، فعالیتهای هکر کلاهخاکستری میتواند خطرناکتر از قبل شود.
- هکر کلاهسبز (Green Hat Hacker): کلاهسبزها معمولا هکرهای آماتور و تازهوارد هستند که علیرغم اشتیاق فراوان خود، هنوز از مهارتهای پیشرفته بیبهره ماندهاند. این هکرها همچنان در حال گسترش تواناییهای خود هستند تا ورودی جدیتر به جهان هک داشته باشند.
- هکر کلاهآبی (Blue Hat Hacker): عبارت هکر کلاهآبی میتواند برای توصیف دو گروه از افراد استفاده شود. گروه اول، هکرهای آماتوری هستند که تلاش بر انتقامگیری دارند. گروه دوم هم متخصصانی در حوزه امنیت هستند که از سوی شرکتها استخدام میشوند تا آسیبپذیریهای نرمافزاری را بررسی کنند (مثلا سیستم عامل ویندوز شرکت مایکروسافت).
- هکر کلاهقرمز (Red Hat Hacker): هکر کلاهقرمز، دشمن قسمخورده هکر کلاهمشکی است و معمولا شهرت خود را با شکار قانونشکنان به دست میآورد. کلاهقرمزها به دنبال هکرهای بدخواه میگردند، اما صرفا کار آنها را گزارش نمیکنند. در عوض از تکنیکهایی پیچیده برای ایجاد اختلال در فرایندهای کلاهمشکیها و یا حتی نابودی کامپیوترهای آنها استفاده میکنند.
- هکتیویست (Hacktivist): هکتیویستها هکرهایی با انگیزههای سیاسی و اجتماعی هستند هستند که وارد شبکههای متعلق به آژانسهای دولتی، سازمانهای چند ملیتی و سیستمهای مشابه میشوند تا به اهداف خود دست یابند.
- اسکریپت کیدی (Script Kiddie): اسکریپت کیدی به هر هکر بیتجربهای گفته میشود که از اسکریپتها و نرمافزارهای از پیشآماده برای حمله به سیستمها کمک میگیرد.
- هکر گیمینگ (Gaming Hacker): چنین هکری از تاکتیکها، ترندها و آسیبپذیریهای بازیهای ویدیویی برای سرقت اطلاعات شخصی بازیکنان – مانند اطلاعات بانکی آنها – بهره میگیرد.
آیا کسب درآمد از هک به عنوان یک شغل امکانپذیر است؟
برخلاف آنچه عموم مردم تصور میکنند، فعالیتهای غیرقانونی تنها روش کسب درآمد از سوی هکرها به حساب نمیآیند. هکرهای اخلاقمداری که دورههای آموزش هک و امنیت را به شکل قاعدهمند پشت سر گذاشتهاند نیز فرصتهای فراوان برای استخدام یا کار پروژهای دارند.
کسبوکارهایی که هکرهای اخلاقمدار را استخدام میکنند، انتظار دارند گزارشی پرجزییات از یافتههای امنیتی ارائه کنید و راجع به تدابیر بهکار گرفته شده در شبکه، مشاوره دهید. میانگین درآمد هکرهای کلاهسفید در کشورهای توسعهیافته معادل ۷۱ هزار دلار است و دریافت پاداشهای ۱۵ الی ۲۰ هزار دلاری هم امری رایج در جهان هکرها به حساب میآید.
رایجترین تکنیکهای هکرها
اگرچه پیشرفتهای تکنولوژی منجر به ظهور تکنیکهای نوین و دگرگونی تکنیکهای قدیمی میشوند، تکنیکهایی که در ادامه آوردهایم به شکل مداوم به کار بسته میشوند و آشنایی با آنها در فرایند آموزش امنیت و هک ضروری است:
- فیشینگ (Phishing): هکرهای مجرم میتوانند ایمیلی کلاهبردارانه بسازند که به نظر شبیه به ایمیلهای سازمانی معتبر است و کاربران را به باز کردن آنها تشویق میکنند. سپس از کاربر خواسته میشود اطلاعات شخصی – مانند تاریخ تولد، شماره ملی و اطلاعات بانکی – را با هکر به اشتراک بگذارد.
- ویروس و کدهای بدخواه: هکرها میتوانند کدهای بدخواهانه – مانند کرمها (Worms) و اسبهای تروا (Trojan Horses) را درون فایلهای سایت قرار دهند، معمولا هم با هدف سرقت کوکیهایی که فعالیتهای آنلاین کاربران را پایش میکنند.
- کلیکجکینگ (Clickjacking): در این تکنیک، هکر یک رابط کاربری (UI) دروغین را همراه با لینک مورد نظر خود درون صفحهای معتبر قرار داده و کاربران را تشویق به کلیک روی آن میکند. سپس هکر میتواند بدون آگاهی کاربران، به کامپیوتر آنها دسترسی یابد.
- حملات محرومسازی از سرویس (DoS و DDoS): این تکنیکها، با تحت فشار گذاشتن منابع، دسترسی به سیستمها، شبکهها و سرویسها را برای کاربران غیرممکن میکنند. هکرهای مجرم معمولا از این تکنیک برای از کار انداختن سرورها، سیستمها و شبکهها استفاده و جریان طبیعی ترافیک را مختل میکنند.
- مسمومسازی کش DNS: این تکنیک که به آن جعل دیاناس (DNS Spoofing) هم گفته میشود، از DNS کلاینتها و وبسرورها برای هدایت ترافیک اینترنتی به سرورهای دروغین کمک میگیرد.
- تزریق SQL: این تکنیک، کد SQL را به کادرهای متنی در فرمهای اینترنتی تزریق میکند تا هکر به منابع و دادهها دسترسی یابد.
- تزریق کیلاگر (Keylogger): برنامههای کیلاگر در قالب بدافزار وارد سیستمها میشوند و تکتک عبارات تایپشده با کیبورد را ضبط میکنند. به این ترتیب هکر میتواند اطلاعات شخصی، حسابهای کاربری و اطلاعات بانکی را به سرقت ببرد.
- حمله بروتفورس (Brute-force Attack): این حمله معمولا به کمک ابزارهای خودکاری انجام میشود که آنقدر ترکیبهای مختلفی از نام کاربری و رمز عبور را تست میکنند تا بالاخره ترکیب صحیح پیدا شود.
تست نفوذ چیست و چه مراحلی دارد؟
یکی از مهمترین وظایف هکرهای کلاهسفید و همینطور یکی از مهمترین مهارتهایی که در فرایند آموزش امنیت و هک خواهند آموخت، تست نفوذ یا Penetration Test است. این تست که تحت عنوان Pen Test هم شناخته میشود، حملات سایبری را علیه سیستمهای کامپیوتری شبیهسازی میکند تا آسیبپذیریهای بالقوه کشف شوند.
هکرهای اخلاقمدار این تست را در چند مرحله پیش میبرند که در ادامه آنها را بررسی میکنیم.
برنامهریزی و اکتشاف
در مرحله اول چنین کارهایی انجام میشود:
- تعریف کردن مقیاس و اهداف تست نفوذ، از جمله سیستمهایی که مورد تست قرار میگیرند و روشهای تست.
- جمعآوری اطلاعات (مثلا راجع به شبکه، نامهای دامنه و میل سرور) برای درک بهتر کارکرد هدف و آسیبپذیریهای بالقوه.
اسکن
در گام بعدی لازم است درک کنیم که اپلیکیشن هدف چه واکنشی به تلاشهای گوناگون برای نفوذ نشان میدهد. برای این کار معمولا از دو روش زیر استفاده میشود:
- تحلیل آماری: کدهای اپلیکیشن بررسی میشوند تا رفتار آن به هنگام اجرا تخمین زده شود. این ابزارها میتوانند در هر مرتبه، تمام کدها را اسکن کنند.
- تحلیل پویا یا داینامیک: کدهای اپلیکیشن را میتوان در حالت اجرا نیز اسکن کرد. این نوع اسکن شکلی سازندهتر دارد و اجازه میدهد پرفورمنس اپلیکیشن را در لحظه پایش کنید.
دسترسییابی
در این مرحله از حملات وباپلیکیشن – مانند اسکریپتنویسی میانسایتی (Cross-Site Scripting)، تزریق SQL و درهای پشتی (Backdoors) – استفاده میشود تا بتوان از آسیبپذیریهای سیستم هدف پرده برداشت. تسترها سپس سعی میکنند از این آسیبپذیریها سوء استفاده کنند. برای مثال سعی میکنند سطح دسترسی را بالا ببرند، اطلاعات را بدزدند و یا ترافیک ورودی را مختل کنند تا سطح آسیب بالقوه مشخص شود.
حفظ دسترسی
هدف این مرحله، تشخیص این است که سیستمهای آلوده برای چه مدت در دسترس هکرهای بدخواه باقی میمانند و سطح دسترسی چقدر عمیق است. در واقع تلاش بر شبیهسازی «تهدیدهای پیشرفته و ماندگار» است، یعنی اوقاتی که هکر برای مدتی طولانی (مثلا چند ماه) در سیستم باقی میماند تا حساسترین اطلاعات سازمان را به سرقت ببرد.
تحلیل
و در نهایت به مرحله آخر میرسیم. در این مرحله، نتایج به دست آمده از تست نفوذ تبدیل به گزارشی عظیم میشوند که موارد زیر را در بر میگیرد:
- مشخصات آسیبپذیریهایی که کشف شدند و مورد سوء استفاده قرار گرفتند
- اطلاعات حساسی که دسترسی به آنها امکانپذیر شده است
- مدت زمانی که تستر نفوذ توانسته بدون شناسایی در سیستم باقی بماند
هکر هالیوودی چه فرقی با هکر واقعی دارد؟
سریالهای تلویزیونی و فیلمهای سینمایی میتوانند با داستانسرایی و فضاسازی صحیح، مخاطبان را در فضایی ساختگی غرق کنند و از توجه به جزییات بسیار ریز بینیاز شوند. با این حال وقتی نوبت به نمایش هک کردن و هکرها میرسد، هالیوود آنقدر دور از واقعیت عمل میکند که اکنون تصویری کاملا اشتباه از هکرها ترسیم شده است.
- تنها گروهی کوچک از نوابغ هکر نمیشوند: هکرهای فیلمهای سینمایی معمولا نوابغی گوشهگیر و خودشیفته نشان داده میشوند که هیچکس به اندازه آنها دانش کامپیوتری ندارد. در دنیای واقعی اما هرکسی میتواند با دورههای آموزش امنیت و هک و یا خودآموزی از طریق یوتیوب، این دانش فنی را به دست آورد.
- هکرها نیاز به سختافزارها و نرمافزارهای بهخصوص دارند: هکرها در فیلمها افرادی بینهایت خطرناک هستند، زیرا میتوانند از طریق ماشینحساب به شبکه وایفای متصل شوند و شبکهای کامل را هک کنند. اما هک واقعی نیاز به ابزارها و برنامههای بهخصوص برای سناریوهای گوناگون دارد. برای مثال فیشینگ با تنها یک لپتاپ امکانپذیر است، اما برای نفوذ به دیتابیسها نیاز به مزرعه سرور خواهید داشت.
- هک کاملا راجع به خواندن کدها است: یکی از رایجترین کلیشههای هالیوودی، مانیتورهایی است که با جزییات گرافیکی متعدد – مثل جمجمههای خندان و بمبهای ساعتی – پر شدهاند. در دنیای واقعی اما کار هکرها خواندن خطوط مختلف کد، یکی پس از دیگری است و عناصر گرافیکی صرفا منجر به حواسپرتی خواهند شد.
- هک کردن، جادو جمبل نیست: اگر فیلم Live Free or Die Hard را معیار قرار دهیم، هکرها نهتنها میتوانند کامپیوتر شما را از طریق یک ویروس منفجر کنند، بلکه میتوانند تمام کارکردهای کشوری کامل را مختل کنند، آن هم ظرف تنها چند لحظه. مختل کردن تمام زیرساختهای کشوری کامل، اگر غیرممکن نباشد، روزها و ماهها زمان نمیبرد، نه صرفا چند دقیقه یا چند ثانیه.
- فرایند هک میتواند گاهی واقعا حوصلهسربر باشد: فیلمها به ما میگویند که هکرها باحالترین و سایبرپانکترین شغل جهان را دارند و دائما در حال کسب درآمد از فعالیتهایی هستند که خون را به جوش میآورند. اما آنچه فیلمها نشان نمیدهند این است که صبوری و کارهای بینتیجه، بخش اعظمی از کار هکرها را تشکیل میدهند. حتی باهوشترین و ماهرترین هکرهای جهان هم باید وقت و انرژی زیادی صرف فعالیتهای خود کنند.
- هک کردن لزوما غیرقانونی نیست: یکی از رایجترین ویژگیهای هکرهای هالیوودی این است که در نقش قانونگریزان عصر دیجیتال نشان داده میشوند. اما هک کردن لزوما همیشه غیرقانونی نیست. همانطور که پیشتر اشاره کردیم، هکرهای کلاهسفید متخصصانی در حوزه امنیت هستند که موازین اخلاقی را رعایت و آسیبپذیریها را پیش از اینکه مورد سوء استفاده قرار بگیرند، شناسایی و رفع میکنند.
سوالات متداول پیرامون آموزش امنیت و هک و هکر شدن
چه کسی هکر به حساب میآید؟
عبارت «هکر» (Hacker) در اصل به هرکسی گفته میشود که از مهارتهای کامپیوتری، شبکه و دیگر تواناییهای خود برای فائق آمدن بر مشکلات فنی کمک میگیرد. در گذر زمان کلمه هکر معنایی دیگر نیز یافت و به افرادی گفته میشود که به شکل غیرقانونی و با اهداف مجرمانه وارد سیستمها و شبکههای گوناگون میشوند.
هکر اخلاقمدار کیست و چه میکند؟
هکر اخلاقمدار به هکرهایی گفته میشود که آسیبپذیریهای موجود در سیستمها یا شبکهها را مییابند و گامهای لازم برای برطرفسازی ایرادات را برمیدارند. این هکرها به استخدام شرکتهایی درمیآیند که میخواهند نواقص سیستمها و شبکههای خود را بیابند و به خاطر تخصص منحصر به فرد خود، درآمدی قابل توجه کسب میکنند.
هکرهای اخلاقمدار در چه شرکتها و سازمانهایی استخدام میشوند؟
درحالی که این متن را میخوانید، صنایع گوناگون تقاضا فراوان برای استخدام هکرهای اخلاقمدار نشان میدهند. چنین هکرهایی میتوانند در شرکتها و سازمانهایی مانند آنچه در ادامه آوردهایم استخدام شوند:
- شرکتهای نرمافزاری: این شرکتها معمولا تست نرمافزار و یافتن آسیبپذیریها را به هکرهای کلاهسفید واگذار میکنند.
- شرکتهای سختافزاری: به صورت مشابه، شرکتهای سختافزاری هم هکرهای اخلاقمدار را برای یافتن و برطرفسازی ایرادات امنیتی استخدام میکنند. برای مثال میشود به محصولات بسیار آسیبپذیر مانند روترها اشاره کرد که مستعد نفوذ از طریق حملات نرمافزاری هستند.
- آژانسهای دولتی: برخی آژانسهای دولتی از هکرهای اخلاقمدار میخواهند که روشهایی نوین برای دسترسی یافتن به سیستمهای کامپیوتری دولتی بیابند.
- انستیتوهای مالی: انستیتوهای مالی گوناگون – مثل بانکها – از هکرها برای آزمودن تدابیر امنیتی خود کمک میگیرند و از آنها میخواهند به سیستمهای کامپیوتری و سرویسهای بانکداری آنلاین نفوذ کنند.
- شرکتهای قانونی: این شرکتها هم به دلیل نگهداری اطلاعات بسیار محرمانه و ارزشمند، به استخدام هکرهای کلاهسفید تمایل نشان میدهند.
آیا برای هکر شدن به IQ بالایی نیاز داریم؟
فیلمهای هالیوودی منجر به شکلگیری این شائبه شدهاند که یکی از مهمترین پیشنیازهای هکر شدن، داشتن امتیاز IQ بالاتر از عموم مردم است. اما این باور، افسانهای بیش نیست و هرکسی که خلاقیت، مهارتهای حل مساله، ثبات قدم و درکی عمیق از تکنولوژی از خود به نمایش بگذارد میتواند با آموزش امنیت و هک تبدیل به هکر شود.