در دنیای امنیت کامپیوتر، هکر کسی است که بر مکانیزمهای امنیتی در یک سیستمهای کامپیوتری و شبکه تمرکز دارد. سابقه جوامع برنامهنویسان حرفهای و جادوگران حوزه شبکهسازی به چندین دهه قبل بازمیگردد و آنها کار خود را با مینیکامپیوترها و شبکه آرپانت (که به نوعی ورژن ابتدایی اینترنت امروزی بود) آغاز کردند.
امروزه رخنه کردن به کامپیوترها و سیستمهای موبایل تبدیل به سمبلی از کار هکرها در میان عموم مردم شده، اما حقیقت اینست که فرهنگ غالب بر جامعه هکرها بسیار پیچیدهتر و اخلاقمدارانهتر از آن چیزیست که تصورش را میکنیم. برای تبدیل شدن به یک هکر، لازم است تکنیکهای بنیادین هک را بیاموزید، مثل یک هکر فکر کنید و در جامعه هکرهای اخلاقمدار به اسم و رسم برسید.
سیستم عاملی مشابه UNIX (مثلا لینوکس) را اجرا کنید
UNIX و سیستم عاملهای مشابه UNIX، در واقع سیستم عاملهای اینترنت هستند. اگرچه میتوان استفاده از اینترنت را بدون آشنایی با UNIX یاد گرفت، اما بدون درک UNIX نمیتوان تبدیل به یک هکر اینترنتی شد. به همین خاطر، فرهنگ هک امروزی شدیدا UNIX محور به حساب میآید. چندین سیستم عامل مشابه 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 بنویسید
اگر نمیدانید چطور باید برنامه نوشت، ضروری است که کارتان را با زبان ساده HyperText Mark-Up Language (یا همان HTML) آغاز کنید و به مرور زمان، دانشتان را گسترش دهید. وقتی به یک وبسایت نگاه میکنید، تمام تصاویر و جزییات طراحی آنها با استفاده از 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ها و دیگر استانداردهای فنی مشابه. افرادی که دست به چنین کارهایی میزنند شدیدا مورد احترام هستند. زیرا همه میدانند که این کارها وقت زیادی گرفته و به اندازه سر و کله زدن با کدها سرگرمکننده نیستند. وقتی وارد چنین حوزههایی شوید، یعنی به کار خود متعهد هستید.
پاسخ ها