به گزارش موبوایران، در دنیای امنیت کامپیوتر، هکر کسی است که بر مکانیزمهای امنیتی در یک سیستمهای کامپیوتری و شبکه تمرکز دارد. سابقه جوامع برنامهنویسان حرفهای و جادوگران حوزه شبکهسازی به چندین دهه قبل بازمیگردد و آنها کار خود را با مینیکامپیوترها و شبکه آرپانت (که به نوعی ورژن ابتدایی اینترنت امروزی بود) آغاز کردند.
امروزه رخنه کردن به کامپیوترها و سیستمهای موبایل تبدیل به سمبلی از کار هکرها در میان عموم مردم شده، اما حقیقت اینست که فرهنگ غالب بر جامعه هکرها بسیار پیچیدهتر و اخلاقمدارانهتر از آن چیزیست که تصورش را میکنیم. برای تبدیل شدن به یک هکر، لازم است تکنیکهای بنیادین هک را بیاموزید، مثل یک هکر فکر کنید و در جامعه هکرهای اخلاقمدار به اسم و رسم برسید.
یادگیری مسائل بنیادین
سیستم عاملی مشابه UNIX (مثلا لینوکس) را اجرا کنید
۱. یکی از بهترین راهها برای اینکه پایتان را در آب بزنید اینست که دیوایسی تحت عنوان «Live CD» یا «Live USB» را به کار بگیرید: ورژنی از لینوکس که بدون دستکاری هارد دیسک شما، تماما از طریق سیدی یا یواسبی اجرا میشود. از این طریق میتوانید بدون انجام کارهای دشوار، احتمالات پیش روی خود را بررسی کنید.
۲. گذشته از لینوکس، سیستم عاملهای دیگری هم داریم که مشابه UNIX به حساب میآیند و از جمله آنها میتوان به سیستمهای BSD* اشاره کرد. محبوبترین سیستمهای BSD* را FreeBDS ،NetBSD ،OpenBDS و FragonFly BSD تشکیل دادهاند. تمام این سیستمها درست مانند لینوکس متنباز هستند ولی باید حتما این را به خاطر داشته باشید که ماهیتی متفاوت با لینوکس دارند.
۳. macOS روی Darwin هم ایده خوبی است. داروین کاملا رایگان و متنباز است و از طریق آدرس http://opensource.apple.com میتوانید به آن دسترسی داشته باشید. از آنجایی که هسته این سیستم را UNIX تشکیل داده و macOS اپل هم حسابی محبوب است، بسیاری از مردم اپلیکیشنهای لینوکس را روی macOS پورت کردهاند. با ابزارهای مدیریت پکیج مانند هومبرو، فینک یا مکپورتس قادر به دریافت این برنامهها نیز هستید. یا در یک گزینه جایگزین، میتوانید صرفا لینوکس را به صورت موازی با macOS روی سیستمهای مک به اجرا در آورید.
۴. اگر میخواهید دست به حرکتی شدیدا خرق عادت بزنید، میتوانید حتی به سراغ سیستم عاملی مانند Open Indiana بروید که براساس ورژن متنباز سیستم عامل Solaris ساخته شده (سیستم عاملی که بعدا توسط اوراکل خریداری شد و دیگر متنباز نیست). Open Indiana و Solaris بر مبنای UNIX System V ساخته شدند و به همین ترتیب، با اپلیکیشنهای لینوکس سازگاری ندارند. اما باید این را نیز افزود که پورتهای فراوانی از اپلیکیشنهای لینوکس وجود دارد. پیشنهاد نهایی ما اینست که به خاطر محبوبیت بیشتر و دسترسی به اپلیکیشنهای گستردهتر، بهتر است کارتان را با استفاده از macOS یا BSD یا لینوکس آغاز کنید.
HTML بنویسید
۱. در مرورگر کامپیوترتان، اطلاعات سورس صفحه را باز کرده و برای اینکه مثالی در ذهن داشته باشید، به بررسی کدهای HTML بپردازد. برای مثال در مرورگر فایرفاکس میتوانید به سراغ گزینه Web Developer و بعد Page Source بروید و مدتی را صرف تماشای کدها کنید.
۲. میتوانید به نوشتن HTML در برنامههای پردازش کلمه ساده مانند Notepad بپردازید و آنها را با نام دلخواه (مانند MyExampleWork.HTML) ذخیره کنید. سپس میتوانید این فایل را درون یک مرورگر آپلود کرده و شاهد ورژن ترجمه شده کدها باشید.
زبان برنامهنویسی بیاموزید
۱. پایتون یک «زبان» خوب برای شروع کردن کار است، زیرا طراحی بسیار تمیز دارد، انبوهی از اطلاعات راجع به آن در اینترنت یافت میشود و با تازهکاران نسبتا مهربان برخورد میکند. اما گول سادگی ماجرا را نخورید. پایتون چیزی به مراتب فراتر از یک اسباب بازی است: این زبان بسیار قدرتمند و انعطافپذیر بوده و گزینهای ایدهآل برای پروژههای بزرگ به حساب میآید.
۲. اگر به صورت جدی به برنامهنویسی دارید، باید به عنوان گزینه جایگزین به سراغ زبان جاوا بروید. اما هیچ یک از متخصصین جهان برنامهنویسی، جاوا را گزینهای خوب برای یادگیری نخستین زبان کامپیوتری تلقی نمیکنند.
۳. برخلاف جاوا، جاوا اسکریپت شباهت بسیار زیادی به پایتون داشته و هر دو جزو زبانهای مبتنی بر C به حساب میآیند. جاوا اسکریپت «زبان برنامهنویسی وب» است و بنابراین اگر میخواهید به یادگیری هرچه بیشتر در حوزه توسعه وب و هک ادامه دهید، یادگیری جاوا اسکریپت بهتر از پایتون خواهد بود.
۴. یک جایگزین برای جاوا اسکریپت هم PHP C خواهد بود، زبانی که هسته Unix را تشکیل داده. ++C ارتباط بسیار نزدیکی به C دارد: اگر با یکی از آنها آشنا باشید، آموختن دیگری آنقدرها سخت نخواهد بود. C به شکلی بسیار بهینه از منابع کامپیوتر شما استفاده میکند اما در عین حال لازم است زمانی بسیار طولانی را صرف دیباگ کدها کنید. به همین خاطر، عموما از استفاده از C اجتناب میشود، مگر اینکه نیازمند بهینگی حداکثری روی کامپیوترتان باشید.
۵. استفاده از یک پلتفرم برای آغاز کار مانند Backtrack 5 R3 یا Kali یا Ubuntu 12.04LTS هم احتمالا ایده خوبی باشد.
تطبیق یافتن با عادات یک هکر
خلاقانه فکر کنید
۱. بیرون از دنیای هک، هکرها تمایلات فرهنگی و معنوی گوناگونی دارند. همانقدر که سخت بازی میکنی، سخت کار کن و همانقدر که سخت کار میکنی، سخت بازی کن. برای هکرهای واقعی، مرز میان «بازی کردن»، «کار کردن»، «علم» و «هنر» باریک شده و همگی تبدیل به یک بازیگوشی خلاقانه میشوند.
۲. مطالعات علمی-تخیلی داشته باشید. با شرکت در رویدادهای مرتبط با موضوعات علمی-تخیلی، شانس فراوانی برای ملاقات با هکرها خواهید داشت.
۳. هنرهای رزمی بیاموزید. دسیپلین ذهنی مورد نیاز در هنرهای رزمی، به طرقی بسیار مهم، مشابه همان کاری است که هکرها انجام میدهند. هنرهای رزمیای که بر دسیپلین ذهنی، خودآگاهی در حالت ریلکس و کنترل تمرکز دارند، بیشتر از همه مناسب هکرها به حساب میآیند و نه آن دسته از هنرهایی که به شما در کسب قدرت خالص و تواناییهای صرفا فیزیکی کمک میکنند. تای چی یک هنر رزمی خوب برای هکرها تلقی میشود.
عاشق حل کردن مسائل باشید
میتوانید به سراغ آثار قدیمیتر مانند «Jargon File» یا «Hacker Manifesto» نوشته The Mentor بروید. این آثار شاید از لحاظ فنی سالخورده باشند، اما روحیه و ذهنیت موجود در آنها همین امروز هم به چشم میخورد.
شناختن مراجع قدرت و مقابله با آنها را بیاموزید
بزرگترین دشمنان یک هکر، ملالت، کار طاقتفرسا و مراجع قدرتی هستند که با استفاده از پنهانکاری و سانسور، گردش آزاد اطلاعات را خدشهدار میکنند. پذیرفتن زندگی هکری به معنای کنار گذاشتن مفاهیم «نرمال» کار و مالکیت است و در عوض انتخاب کردهاید که برای برابری و دانش مشترک بجنگید.
کارهایی که هکرهای خوب میکنند
نرمافزار متنباز بنویسید
به تست و دیباگ نرمافزارهای متنباز کمک کنید
سعی کنید برنامههای در تست توسعه را بیابید و اگر به آنها تمایل شخصی دارید، به تست نسخه بتای آنها بپردازید. روند طبیعی دخالت شما در توسعه این برنامهها، کمک به تست برنامه، سپس کمک در فرآیند دیباگ و در آخر کمک به پروسه دستکاری آن خواهید بود. در این مسیر خودتان نیز چیزهای زیادی میآموزید و دوستانی پیدا میکنید که بعدا به یاری شما خواهند آمد.
اطلاعات کارآمد را منتشر کنید
زیرساختها را سر پا کار نگه دارید
فرهنگ هکرها را داوطلبان هستند که زنده نگه میدارند. برای انجام این کار، انبوهی از کارهای دشوار اما ضروری باید انجام شود: چیزهایی مانند مدیریت لیستهای ایمیل، مدیریت گروههای خبری، محافظت از سایتهای آرشیو نرمافزاری بزرگ، توسعه RFCها و دیگر استانداردهای فنی مشابه. افرادی که دست به چنین کارهایی میزنند شدیدا مورد احترام هستند. زیرا همه میدانند که این کارها وقت زیادی گرفته و به اندازه سر و کله زدن با کدها سرگرمکننده نیستند. وقتی وارد چنین حوزههایی شوید، یعنی به کار خود متعهد هستید.