هکر به‌معنای واقعی کلمه کیست و چگونه می‌توانیم هکر شویم؟

هکر به‌معنای واقعی کلمه کیست و چگونه می‌توانیم هکر شویم؟

در تعاریف حوزهٔ امنیت کامپیوتر، هکر کسی است که روی مکانیزم امنیت کامپیوتر یا سیستم‌های مبتنی بر شبکه تمرکز دارد. جامعهٔ مشترکی از متخصصان برنامه‌نویسی کامپیوتر و شبکه وجود دارد که عقبه‌ٔ آن به دهه‌ها قبل و زمان اولین میکروکامپیوترها و آزمایشات اولیه Arpanet برمی‌گردد و می‌شود گفت که اعضای این جامعه، اولین «هکرها» بودند (برای آشنایی بیشتر با Arpanet، به مقالهٔ Robert Taylor: کسی‌ که شاید نامش ناآشنا باشد، اما یکی از مهم‌ترین افراد در حوزهٔ فناوری است! مراجعه نمایید.) 

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

اصول اولیه
پیش از تبدیل شدن به یک هکر به‌معنای واقعی کلمه، یکسری کلیات هستند که علاقمندان بدون شک باید به آن‌ها تسلط پیدا کنند که در ادامه، ۳ مورد از اصلی‌ترین آن‌ها را مورد بررسی قرار خواهیم داد:

۱. کار با لینوکس را یاد بگیرید
یک سیستم‌عامل مبتنی بر یونیکس مثل گنو/لینوکس راه‌اندازی کنید (سیستم‌عامل UNIX و دیگر سیستم‌عامل‌های مبتنی بر آن، جزو OS‌های اصلی بستر اینترنت هستند.) شما بدون درک UNIX، می‌توانید یاد بگیرید چه‌طور از اینترنت استفاده کنید اما هرگز قادر نخواهید بود که به یک هکر اینترنتی مبدل شوید. به‌همین دلیل، جامعهٔ هک امروز به‌شدت بر روی UNIX متمرکز است.

تعداد زیادی از سیستم‌عامل‌های UNIX-like وجود دارند که محبوب‌ترین آن‌ها GNU/Linux است. نیاز به توضیح نیست که شما می‌توانید از سیستم‌عامل لینوکس در کنار ویندوز مایکروسافت در یک لپ‌تاپ یا پی‌سی به‌صورت هم‌زمان استفاده کنید (اگر علاقمند به یادگیری بیشتر در مورد لینوکس هستید، می‌توانید به دورهٔ آموزش آنلاین و رایگان لینوکس در سکان آکادمی مراجعه نمایید.) 

یکی راه خوب برای شروع این است که چیزی را که طرفداران لینوکس Live Distro (توزیع زنده) می‌گویند راه‌اندازی کنید. با این روش، بدون هرگونه تغییر در سیستم‌عامل فعلی، می‌توان از لینوکس استفاده کرد (این راهی‌ است که شما می‌توانید به تمام امکانات توزیع مد نظر خود -مثلاً اوبونتو- بدون این‌که کار خاصی انجام دهید، نگاهی بیندازید.)

در کنار لینوکس، سیستم‌عامل‌های دیگر UNIX-like نیز وجود دارند مثل خانوادهٔ BSD که محبوب‌ترین آن‌ها عبارتند از FreeBSD ،NETBSD ،OpenBSD و Dragon Fly BSD که همهٔ آن‌ها مانند لینوکس، اپن‌سورس هستند.

macOS بر پایهٔ Darwin که یک سیستم‌عامل یونیکسی که خود بر پایه FreeBSD است می‌باشد. به‌دلیل این‌که هستهٔ داروین برپایهٔ یونیکس بوده و نیز macOS بسیار محبوب است، بسیاری از اپلیکیشن‌های لینوکس برای macOS به‌اصطلاح پورت شده‌اند که شما می‌توانید آن برنامه‌ها را با یک نرم‌افزار مدیریت پکیج مثل homebrew ،fink یا macports دریافت کنید. 

اگر می‌خواهید خیلی تخصصی باشید، می‌توانید از یک سیستم‌عامل مثل Open Indiana استفاده کنید. Open Indiana بر پایهٔ نسخه اپن‌سورس سیستم‌عامل Solaris -قبل از این‌که توسط اوراکل خریداری شده و از اپن‌سورسی خارج شود- می‌باشد. Open Indiana و Solaris بر پایهٔ UNIX System V می‌باشند؛ بنابراین با اپلیکیشن‌های لینوکسی سازگار نیستند! گرچه پورت‌های بسیاری از اپلیکیشن‌های لینوکس برای Open Indiana وجود دارد اما  بهتر است از macOS ،BSD یا GNU/Linux استفاده کنید چراکه آن‌ها محبوب‌تر هستند و نرم‌افزارهای بسیار بیشتری برای آن‌ها به بازار عرضه شده است. 

۲. زبان وب را بشناسید 
اگر شما برنامه‌نویسی بلد نیستید، ضروری است با یادگیری اصول زبان HTML (که تحت هیچ عنوان جزو زبان‌های برنامه‌نویسی به‌شمار نمی‌آید) شروع کرده و تدریجاً در آن تبحر کسب کنید. چیزی که شما در هنگام نگاه کردن به یک وب‌سایت از قبیل تصاویر، عکس‌ها و طراحی اجزا می‌بینید، همگی با استفاده از زبان‌های HTML و CSS کدنویسی شده‌اند. به‌عنوان یک پروژهٔ تست، شروع به یادگیری ساختن یک وب‌سایت شخصی کنید و سعی کنید به مرور زمان، دانش خود را گسترده‌تر کنید.

برای درک بهتر‌ چگونگی کارکرد زبان HTML،‌ در مرورگر خود یک وب‌سایت -مثلاً سکان آکادمی- را باز کرده و Page Source آن‌را مشاهده کنید (به‌طور مثال، در مرورگر گوگل کروم برای این‌کار روی صفحه کلیک راست نموده سپس گزینهٔ View page source را کلیک نمایید.)

روی‌هم‌رفته، یادگیری زبان‌های اصلی وب همچون HTML، CSS و در نهایت JavaScript حداقل‌هایی است که در این زمینه بایستی فرا گرفت.

۳. یک زبان برنامه‌نویسی را فرا بگیرید  
قبل از شروع به شعر نوشتن به زبان فارسی، شما باید دستور زبان فارسی را خوب یاد بگیرید؛ علاوه بر این، قبل از این‌که یاد بگیرید چه‌طور قوانین را دور بزنید، اول بایستی زیروبم آن‌ها را به‌خوبی فرا بگیرید.

در حوزهٔ هک هم چنین قضیه‌ای کاملاً صادق است؛ به‌عبارت دیگر، حتماً باید به یک زبان‌برنامه‌نویسی حرفه‌ای تسلط کامل داشته باشد؛ درواقع، اگر هدف نهایی شما این است که یک هکر حرفه‌ای شوید، شما به بیش از یک دستور زبان ساده برای خلق شاهکارهای‌تان نیاز دارید!

Python زبان خوبی برای شروع است (برای شروع یادگیری زبان پایتون، به دورهٔ آموزش آنلاین و رایگان زبان برنامه‌نویسی پایتون در سکان آکادمی مراجعه نمایید.) به‌دلیل این که تمیز طراحی شده، به‌خوبی مستندسازی شده و نسبتاً برای مبتدیان راحت‌تر است (چراکه سینتکس آن بسیار شبیه به زبان محاوره‌ای انگلیسی است.) این زبان خیلی قدرتمند، انعطاف‌پذیر و بسیار مناسب برای پروژه‌های بزرگ است. جاوا گزینه‌ی دیگری است اما استفاده از آن به‌عنوان زبان اول خیلی پیشنهاد نمی‌شود (برای شروع یادگیری زبان جاوا، به دورهٔ آموزش آنلاین و رایگان زبان جاوا در سکان آکادمی مراجعه نمایید.)

اگر شما علاقمند باشید تا به‌طور جدی‌تر برنامه‌نویسی یاد بگیرید، باید به دنبال یادگیری زبان C باشید. زبان C، هستهٔ اصلی Unix است. ++C بسیار مرتبط با C است و اگر شما یکی را بدانید، یادگیری دیگری چندان سخت نخواهد بود! C با منابع ماشین بسیار سازگار است، اما زمان زیادی در هنگام Debugging از شما می‌گیرد که به‌همین دلیل بسیاری از آن استفاده نمی‌کنند، مگر این‌که بازدهی و سازگاری کامپیوتر شما به‌طور قابل‌توجهی برایتان مهم باشد.

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

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

خواندن داستان‌های تخیلی شاید برای هکرها بیش از هر قشر دیگری جذاب باشند چراکه ایشان به انجام کارهای عجیب‌وغریب عادت دارند.

کارهایی که منجر به افزایش نظم فکری شما می‌شوند انجام دهید و همواره سعی کنید میزان تفکر انتقادی را در خود افزایش دهید چراکه یک هکر می‌بایست این توانایی را داشته باشد تا به یک مسئله، از زوایای مختلفی نگاه کند.

۲. عاشق حل کردن مسائل باشید
هیچ مسئله‌ای نباید ۲ بار حل شود؛ جامعه‌ای را در نظر بگیرید که وقت تمام اعضای آن به ارزشمندی وقت هکرها است. هکرها معتقدند که به اشتراک‌گذاری اطلاعات یک مسئولیت اخلاقی است. وقتی شما مسائل را حل کردید، اطلاعات خود را منتشر کنید تا به همه در حل همان موضوع کمکی کرده باشید.

شما مجبور نیستید معتقد باشید که موظفید که همهٔ داشته‌های خلاقانه خود را منتشر کنید، اگرچه هکرهایی که این کار را انجام می‌دهند بیشترین احترام را از سایر هکرها دریافت می‌کنند.

۳. با مخفی‌کاری مبارزه کنید
دشمن اصلی هکرها کسانی هستند که با مخفی‌کاری درصدد هستند تا نوعی از اطلاعات را از دید عموم مخفی کنند و این همان چیزی است که اکثر ایشان را به دور زدن درهای دستیابی به اطلاعات مخفیانه ترغیب می‌کند.

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

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

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

۲. به تست و دیباگینگ نرم‌افزارهای اپن‌سورس کمک کنید
هر دولوپر اپن‌سورس باتجربه‌ای به شما خواهد گفت که تسترهای خوب به اندازه‌ٔ وزنشان با طلا برابری می‌کنند چراکه می‌توانند باگ‌هایی که از چشم خود دولوپر و سایر کاربران دور افتاده را به‌سادگی تشخیص داده و اعلام کنند.

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

۳. اطلاعات مفید منتشر کنید
هر آن چیزی را که یاد می‌گیرد، بدون هیچ‌گونه چشم داشتی با دیگران به اشتراک بگذارید چراکه با این کار، هم می‌توانید به رشد دانش در میان سایر کاربران کمک کرده و هم برای خود اعتبار کسب کنید.

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

۵. سعی کنید به یک قهرمان تبدیل شوید
این چیزی نیست که شما به‌خاطر انجام دادن آن جایگاه خاصی کسب کنید. تا زمانی که برای مدتی در کار بمانید و به‌خاطر یکی از ۴ مورد معرفی شده در بالا مشهور بشوید. جامعهٔ هکرها به‌طور مشخص رهبر ندارد اما می‌توان به یک قهرمان در چنین جامعه‌ای مبدل شد. درواقع، وقتی شما به‌مدت طولانی در چنین جامعه‌ای عضو باشید، این احتمال وجود دارد که به مرور زمان به یک قهرمان تبدیل شوید.

در پایان این نکته را هم مد نظر داشته باشید که هکرها به افراد خودنما و مغرور اصلاً اعتماد ندارند و اگر کسی به‌خاطر غرورش مشهور شود، فاتحه‌اش خوانده شده است! 

منبع