امنیت سایبری بزرگترین دروغ خودش رو به ما فروخته
چرا فکر میکنیم امنیت یعنی ابزار؟ و چرا این باور، خیلی از دولوپرها رو هیچوقت وارد این حوزه نمیکنه.
یه آگهی استخدام معمولی
یه سایت کاریابی باز کن، برو بخش امنیت سایبری و اولین آگهی استخدامی که میبینی رو باز کن.
احتمالاً با چیزی شبیه این روبهرو میشی:
| دسته | نمونه ابزارها |
|---|---|
| Web Security | Burp Suite، OWASP ZAP |
| Network Security | Nmap، Wireshark، Nessus |
| Exploitation | Metasploit، Hydra، John the Ripper |
| Monitoring | Splunk، ELK، QRadar |
| Enumeration | Gobuster، Dirsearch |
اگر اولین بار باشه که این لیست رو میبینی، احتمالاً یه حس آشنا سراغت میاد. همون لحظهای که با خودت میگی:
«من هیچکدوم از اینا رو بلد نیستم... پس امنیت سایبری برای من نیست.»
من دقیقاً همین حس رو تجربه کردم! و امروز فکر میکنم اون حس، نتیجهی یکی از بزرگترین سوءتفاهمهای این صنعت بوده و هست. نه به این خاطر که این ابزارها مهم نیستن. بلکه چون صنعت امنیت سایبری سالهاست به ما القا کرده که ابزارها خودِ امنیت هستن! توی حالی که اینطور نیست.
کی به ما گفت امنیت یعنی ابزار؟
چند سال پیش، با یکی از مدیرهای فنی شرکت درباره علاقهم به امنیت سایبری صحبت کردم. گفتم دوست دارم کمکم وارد این حوزه بشم. جوابش کوتاه بود.
«تو بکاندت رو انجام بده. امنیت رو بسپار به متخصصهاش.»
جملهی عجیبی نبود! حتی شاید از روی دلسوزی گفته شده بود. اما اثرش برای من یکی عجیب بود. برای مدتها حس میکردم بین من و امنیت سایبری یه دیوار شیشهای وجود داره. میتونستم این دنیا رو ببینم، دربارهش بخونم، ویدیوهاش رو ببینم، ولی انگار اجازه ورود نداشتم. چرا؟ چون فکر میکردم چیزی رو ندارم که بقیه دارن. فکر میکردم مشکل اینه که ابزارها رو بلد نیستم. امروز اگر برگردم عقب، به خود اون روزم فقط یه جمله میگم:
مشکل تو ابزار نبود. مشکل مدل ذهنیت بود.
بزرگترین دروغ صنعت امنیت
به نظر من، امنیت سایبری یه مشکل فنی نداره. مشکلش فرهنگی هست که توش داره ترویج داده میشه. اگر یه نگاه به تبلیغات دورههای آموزشی بندازیم میبینیم تقریباً همهشون با اسم یه ابزار شروع میشن.
- Metasploit از صفر تا صد
- Nmap Mastery
- Burp Suite Professional
- یادگیری Nessus
- آموزش عملی Splunk
پیام همهشون تقریباً یکیه:
«این ابزار رو یاد بگیر؛ وارد امنیت شو.»
و خب تقصیر ما هم نیست که کمکم ذهنمون این رابطه رو میسازه که امنیت مساوی است با ابزار. اما یه سؤال! اگر فقط بلد بودن ابزار کافی بود... چرا هنوز تعداد متخصصهای امنیت اینقدر کمه؟ چرا شرکتها هنوز دنبال نیروی متخصص میگردن؟ چرا هر کسی که Metasploit نصب کرده، Pentester نشده؟
چون واقعیت اینه که ابزار یاد گرفتن سخت نیست. چند ساعت مستندات، چند ویدیو، چند بار تمرین، و تمام. اما خب چیزی که امنیت سایبری واقعاً ازت میخواد، چیزی نیست که بشه توی چند ویدیو یاد گرفت.
چرا این دروغ اینقدر باورپذیر شده؟
به نظرم سه تا عامل بزرگ باعث شدن که این سوءتفاهم سالها ادامه پیدا کنه.
۱. آگهیهای استخدام
خیلی از شرکتها، مخصوصاً جاهایی که مدیر فنی امنیتی ندارن، مجبورن یه معیار برای غربال رزومهها پیدا کنن، و خب نوشتن این سطر ** «تسلط به Metasploit»** خیلی سادهتر از نوشتن اینه که بگن «درک عمیق از Authentication Protocolها، HTTP، TCP و رفتار سیستمهای شبکه.»
نتیجه چی شد؟ لیست ابزارها کمکم جای مهارتها رو گرفت.
۲. Bootcampها چیزی رو میفروشن که جذابتر باشه
بیاید واقعبین باشیم. فروش دورهای با عنوان «سه ماه مبانی شبکه» خیلی سختتر از فروش دورهای با عنوان «هک حرفهای با Metasploit» هست و خب دومی هیجان خیلی زیادی داره. به همین دلیل خیلی از Bootcampها ترجیح میدن ابزار بفروشن، نه مفهوم.
۳. ابزارها اعتمادبهنفس کاذب ایجاد میکنن
اولین باری که دستور زیر رو اجرا میکنی:
nmap -sV 192.168.1.10
یه خروجی رنگی، مرتب و حرفهای میبینی. حس میکنی داری کار مهمی انجام میدی. اما یه سؤال! اگر ازت بپرسن چرا Nmap به این نتیجه رسید؟ چند نفر واقعاً جوابش رو میدونن؟
اینجاست که تفاوت بین «استفاده از ابزار» و «فهمیدن ابزار» مشخص میشه.
مشکل برای ما دولوپرها حتی بزرگتره
جالبترین قسمت داستان برای من این بود که ما Developerها و به خصوص Backend Developerها تقریباً هر روز داریم با مفاهیمی کار میکنیم که امنیت سایبری روی همونها بنا شده.
- HTTP
- TCP
- TLS
- DNS
- Authentication
- Session Management
- Cookies
- Headers
- Status Codes
هر روز! بدون اینکه حتی اسمش رو امنیت بذاریم. اما به محض اینکه کلمهی Cybersecurity مطرح میشه، انگار همهی این تجربهها رو فراموش میکنیم. خب چرا؟
چون سالها به ما گفتن که «امنیت یه دنیای جداست». توی حالی که هرچی بیشتر یاد گرفتم، بیشتر به این نتیجه رسیدم که امنیت، دنیای جداگانهای نیست؛ بلکه زاویهی نگاه متفاوتی به همون چیزهایی هست که از قبل وجود داشتن.
ابزارها فقط نوک کوه یخ هستن
یکی از بهترین مدلهایی که برای توضیح این موضوع پیدا کردم، مدل کوه یخ بود.
graph TD subgraph Surface["چیزی که دیده میشه"] A[Nmap] B[Burp Suite] C[Metasploit] D[Nikto] E[Splunk] end subgraph Deep["چیزی که واقعاً اهمیت داره"] F[TCP/IP] G[HTTP] H[DNS] I[TLS] J[Authentication] K[Operating Systems] L[Programming] end A --> F B --> G C --> F D --> G E --> F
درسته که ابزارها هستن که دیده میشن، اسمشون توی آگهیهای استخدام میاد، روی جلد دورههای آموزشی نوشته میشن، اما چیزی که واقعاً باعث میشه یه نفر امنیت رو بفهمه، زیر سطح آب قرار داره! پروتکلها، سیستمعامل، شبکه، برنامهنویسی، و مهمتر از همه... فهمیدن مکالمهای که بین دو کامپیوتر اتفاق میافته.
نقطهای که دید من عوض شد
چند تا سؤال مدتها ذهن من رو درگیر خودشون کرده بودن! اگر امنیت سایبری واقعاً درباره ابزارهاست، پس چرا آدمهایی که سالها توی این صنعت کار کردن، مدام درباره شبکه، سیستمعامل، پروتکلها و برنامهنویسی حرف میزنن؟ چرا تقریباً هیچوقت نمیشنوی یه متخصص باتجربه بگه «اول برو Metasploit یاد بگیر.»! توی عوض بیشتر میشنوی که میگن TCP رو بفهم! برو Packetها رو بخون! ببین HTTP واقعاً چطور کار میکنه!
کمکم متوجه شدم چیزی که من فکر میکردم «مسیر یادگیری امنیت» بوده، بیشتر شبیه یه ویترین فروش دورههای آموزشی بوده تا واقعیت این صنعت. برای همین شروع کردم به خوندن نوشتهها و کتابهای آدمهایی که سالها توی این حوزه زندگی کرده بودن، نه صرفاً دربارهش آموزش داده بودن. جالب اینجا بود که تقریباً همه، با جملههای متفاوت، همون یه حرف مشترک رو میزدن.
وقتی کسایی که این صنعت رو ساختن، چیز دیگهای میگن
یکی از معروفترین جملههایی که توی این مسیر خوندم، متعلق به Lesley Carhart بود.
توی مقالهی معروف Starting an InfoSec Career یه جمله داره که به نظرم باید روی دیوار هر کسی که میخواد وارد امنیت بشه نوشته بشه:
Almost universally, I find more value in a candidate who can read a PCAP than one who can execute msfconsole.
ترجمهش میشه:
تقریباً همیشه، کاندیدی که میتونه یه فایل PCAP رو بخونه، برای من ارزشمندتر از کسی هست که فقط بلد باشه msfconsole رو اجرا کنه.
یه لحظه به این جمله فکر کن. نمیگه Metasploit به دردنمیخوره؛ نمیگه ابزارها بیفایدهان؛ داره یه چیز مهمتر میگه. فهمیدن چیزی که توی شبکه اتفاق افتاده، از اجرا کردن یک ابزار ارزش بیشتری داره.
و این تفاوت کوچیکی نیست. این تفاوت بین «دیدن خروجی» و «فهمیدن علت خروجی» هست.
جلوتر به نوشتههای Daniel Miessler رسیدم، که اون هم تقریباً به همین نتیجه رسیده بود؛ و به اعتقاد اون، شکاف استخدام توی امنیت سایبری بیشتر از هر چیز به این دلیل هست که شرکتها دنبال مهارت واقعی هستن، نه صرفاً کسی که اسم چند ابزار رو بلد باشه. برای همین سه پایهی اصلی این حوزه رو اینطوری معرفی میکنه:
- Networking
- System Administration
- Programming
یه نگاه به این لیست بندازیم! حتی یک ابزار هم داخلش نیست! همهشون مهارتهای بنیادی هستن.
بعد نوبت کتابی رسید که شاید بیشتر از هر منبع دیگهای روی نگاه من تأثیر داشت. کتاب Practical Packet Analysis نوشتهی Chris Sanders. که فلسفهی کلی این کتاب رو میشه با یه جمله خلاصه کرد:
"Tools give you answers. Understanding gives you insight."
یعنی:
ابزارها بهت جواب رو میدن؛ فهمیدن بهت بینش میده.
به نظر من این جمله میتونه خلاصهی کل این نوشته باشه.
یه سؤال ساده
فرض کن دو نفر هر دو خروجی یک ابزار رو نگاه میکنن. هر دو دقیقاً یک خروجی یکسان میبینن. اما نفر اول فقط میگه:
Nmap گفته این پورت بوده.
نفر دوم میگه:
چون SYN رفت، SYN-ACK برگشت، بعد Three-Way Handshake کامل شد، Nmap نتیجه گرفت که این پورت رو به صورت Open نشون بده.
این دو نفر، یه خروجی رو دیدن. اما یه چیزی رو نفهمیدن. و اونم این هست که هر کدومشون توی یه دنیای کاملاً متفاوت زندگی میکنن. اولی خروجی ابزار رو میبینه. دومی داره مکالمهی بین دو کامپیوتر رو میبینه.
سواد مکالمه؛ مدلی که نگاه من رو عوض کرد
یه مدت بود دنبال یه اسم برای این مدل ذهنی میگشتم.
آخرش به یه عبارت رسیدم که به نظرم دقیقترین توصیف ممکن براش بود:
Conversation Literacy
یا چیزی که خودم دوست دارم بهش بگم:
سواد مکالمه
ایده اصلی خیلی سادست. امنیت سایبری یعنی اینکه بفهمی دو تا کامپیوتر دارن دربارهی چی با هم حرف میزنن، همین. نه بیشتر، نه کمتر!
فرض کن مرورگر این درخواست رو ارسال میکنه:
GET /admin HTTP/1.1
Host: example.com
و سرور این پاسخ رو برمیگردونه:
HTTP/1.1 403 Forbidden
این فقط یه Request و Response نیست. بلکه این یه مکالمه جالب هست. کلاینت یه درخواست داده و بعد سرور جواب داده و گفته که تو دسترسی نداری. یه معنی پشت این گفتگو وجود داره.
وقتی مرورگر از DNS سؤال میکنه:
IP این دامنه چیه؟
این هم یه مکالمه هست.
وقتی TLS شروع میشه و کلاینت میگه:
این Certificate واقعاً متعلق به توئه؟
باز هم یه مکالمه میشه.
وقتی TCP برای بستن ارتباط یه FIN میفرسته...
اینم باز یه مکالمه دیگه میشه.
و تقریباً هر چیزی که توی امنیت سایبری مطالعه میکنیم، در نهایت برمیگرده به فهمیدن همین گفتگوها.
ابزارها فقط پنجره هستن
یه اشتباه رایج اینه که فکر کنیم ابزارها خودشون همیشه صد در صد درست کار میکنن و حقیقت محض هستن. در حالی که ابزارها فقط پنجرههایی هستن که از طریق اونها میشه این مکالمهها رو دید. بعضی از این پنجرهها شفافترن و بعضیها مبهمتر.
| ابزار | توی واقع چه چیزی رو نشان میدهد؟ |
|---|---|
| Wireshark | خودِ Packetها و مکالمهی واقعی |
| tcpdump | خودِ Packetها و مکالمهی واقعی، بدون رابط گرافیکی |
| Burp Suite | گفتگوی HTTP بین Client و Server |
| Nmap | نتیجهی تحلیل پاسخهای شبکه |
| Nikto | تفسیر پاسخهای HTTP |
| Splunk | رفتار ثبتشدهی سیستمها توی Logها |
وجه مشترک همهی این ابزارها چیه؟ هیچکدوم خود فکت نیستن. بلکه همهشون دارن واقعیت رو تفسیر میکنن. و این تفاوت خیلی مهمی هست که نباید فراموش کنیم.
چرا Wireshark جایگاه متفاوتی داره؟
یه دلیلی که من شخصاً Wireshark رو با خیلی از ابزارهای دیگه متفاوت میبینم این هست که کمتر از بقیه ترجمه و تفسیر میکنه و فاصله کاربر و شبکه رو توی یه لایهی خیلی ظریف ترجمه میکنه. وقتی یه Packet رو داخل Wireshark میبینی، تقریباً داری خود مکالمه رو نگاه میکنی. اما وقتی خروجی Nmap رو میبینی، داری نتیجهی تحلیل اون Packetها رو میبینی. مثل اینه که به جای خوندن متن کامل یه گفتگو، فقط گزارش خبرنگار رو بخونی.
گزارش معمولاً درسته؛ اما همیشه همهی واقعیت نیست.
یه مثال خارج از دنیای کامپیوتر
فرض کن دو نفر داخل مترو روبهروی هم نشستن و دارن به زبان چینی با هم صحبت میکنن. دو نفر دیگه هم اون طرف واگن نشستن. نفر اول یه دیکشنری چینی دستش گرفته ولی زبان چینی بلد نیست. هر چند دقیقه یه کلمه پیدا میکنه و یه جمله رو نصفه و نیمه متوجه میشه و بعد دوباره گم میشه. نفر دوم اما سالها چینی یاد گرفته و بدون هیچ دیکشنری، همهی مکالمه رو میفهمه. شوخیهاشون رو متوجه میشه، طعنههاشون رو میفهمه، حتی میتونه تشخیص بده یکی از اونها داره دروغ میگه.
شاید دیکشنری ابزار خیلی خوبی باشه! اما بلد بودن زبان نیست! ابزارهای امنیتی هم دقیقاً همین نقش رو دارن.
flowchart LR A["مکالمه واقعی بین دو کامپیوتر"] A --> B["Packets"] B --> C["Wireshark"] B --> D["tcpdump"] B --> E["Nmap"] B --> F["Burp Suite"] C --> G["فهم کاربر"] D --> G E --> G F --> G style A fill:#1f2937,color:#fff style G fill:#16a34a,color:#fff
چیزی که صنعت به ما یاد داده، با چیزی که واقعاً نیاز داره فرق میکنه
به نظرم صنعت امنیت سایبری، ناخواسته ما رو تشویق میکنه که بیشتر شبیه نفر اول باشیم.
کسی که ابزارهای زیادی بلده، اسم ابزارها رو حفظ کرده، خروجیها رو دیده، اما هنوز زبان شبکه رو روان صحبت نمیکنه. در حالی که بازار کار، مخصوصاً برای موقعیتهای فنیتر، بیشتر دنبال نفر دوم میگرده. کسی که اگر ابزار عوض شد، همچنان میتونه مسئله رو تحلیل کنه چون وابسته به ابزار نیست، بلکه وابسته به فهم لایههای اصلی این مکالمات شبکه هست.
این دقیقاً همون لحظهای بود که نگاه من به امنیت سایبری تغییر کرد و دیگه ابزارها برام مقصد نبودن. تبدیل شدن به یه وسیله کاربردی. از اون لحظه به بعد، هر بار که یه ابزار جدید میبینم، اولین سؤال توی ذهنم این نیست که دستورش چیه؟
اولین سؤال اینه که این ابزار داره کدوم مکالمه رو برای من ترجمه میکنه؟
وقتی این سؤال رو از خودت بپرسی، یاد گرفتن ابزارها هم خیلی راحتتر میشه؛ چون دیگه مجبور نیستی خروجیها رو حفظ کنی، فقط باید زبانی رو بفهمی که همهی اون ابزارها دارن دربارهش حرف میزنن.
تا اینجا درباره سوءتفاهم حرف زدیم. اینکه امنیت سایبری رو با ابزارها اشتباه گرفتیم، اینکه ابزارها فقط پنجرهای برای دیدن واقعیت هستن و نه خودِ واقعیت، و اینکه چیزی که واقعاً ارزش داره فهمیدن مکالمهای هست که بین سیستمها اتفاق میافته.
اما حالا میخوام درباره بخشی صحبت کنم که شاید برای خود من، مهمترین کشف این مسیر بود.
خبر خوب برای ما دولوپرها
اگر Backend Developer هستی، احتمالاً همین الان هم خیلی بیشتر از چیزی که فکر میکنی، برای ورود به امنیت سایبری آمادهای. مشکل این نیست که چیزی کم داری. مشکل اینه که سالها تجربهات رو با اسم دیگهای شناختی.
بذار چند مثال بزنم. هر روز که یک API مینویسی، داری درباره HTTP تصمیم میگیری. وقتی Headerها رو بررسی میکنی، داری روی Authentication و Authorization کار میکنی. وقتی Session رو مدیریت میکنی، داری یکی از مهمترین مفاهیم امنیت وب رو پیادهسازی میکنی. وقتی TLS رو تنظیم میکنی، داری امنیت ارتباط رو برقرار میکنی. وقتی Rate Limiting اضافه میکنی، داری جلوی سوءاستفاده و brute force رو میگیری. وقتی Validation مینویسی، داری با چند تا از رایجترین مسیرهای حمله مثل SQL injection مقابله میکنی. اسم همهی این کارها توی تیم توسعه میشه «توسعه نرمافزار».
اما دقیقاً همین مفاهیم، توی تیم امنیت هم وجود دارن. فقط از زاویهی متفاوت.
چیزی که امروز بلدی، فردا توی امنیت به کارت میاد
وقتی برای اولین بار این موضوع رو برای خودم روی کاغذ نوشتم، متوجه شدم چقدر بین توسعه و امنیت چیزای مشترک وجود داره.
| چیزی که امروز بلدی | توی امنیت سایبری چه کاربردی داره؟ |
|---|---|
curl -v |
دیدن Request و Response خام HTTP؛ دقیقاً همون چیزی که Burp Suite نمایش میده. |
| HTTP Status Codeها | تحلیل رفتار سرور، تشخیص خطاها و درک پاسخهای غیرعادی |
| Headerهای HTTP | Authentication، CORS، Cookieها، Cache، Security Headerها |
| DNS | درک حملاتی مثل DNS Spoofing، Cache Poisoning و Phishing |
| TLS | فهمیدن حملات MITM، اعتبارسنجی Certificateها و ارتباط امن |
| برنامهنویسی | نوشتن PoC، ابزارهای کوچک، تحلیل Logها و Automation |
| Database | SQL Injection، Permissionها و طراحی امن داده |
| Linux | Permissionها، Processها، Serviceها و تحلیل سیستم |
به این جدول که نگاه کنی، چندتا ابزار جدید میبینی؟ تقریباً هیچی. بیشترش مفاهی هست که خیلی از دولوپرها هر روز باهاشون سروکار دارن.
امنیت به توانایی جدید نیاز نداره؛ به زاویه دید جدید نیاز داره
این جمله شاید خلاصهی تمام چیزی باشه که میخوام بگم.
امنیت سایبری الزاماً از تو نمیخواد آدم جدیدی بشی؛ از تو میخواد همون چیزهایی رو که از قبل بلد بودی، از یه زاویهی دیگه ببینی. همین و بس. مثلاً وقتی یه Backend Developer این کد رو مینویسه:
if !user.is_authenticated() {
return StatusCode::UNAUTHORIZED;
}
احتمالاً به تجربهی کاربر، به ساختار API، به Clean Code و خیلی چیزای دیگه فکر میکنه؛ اما یه Security Engineer ممکنه به سؤالهای دیگهای فکر کنه، مثلا:
- آیا امکان دور زدن Authentication وجود داره؟
- اگر Session رو جعل کنیم چه اتفاقی میافته؟
- آیا Authorization هم بررسی شده؟
- این Endpoint آیا Rate Limit داره؟
- این جواب اطلاعات اضافی رو لو میده یا نه؟
کد یکی هیچ فرقی نکرده ولی نگاه فرق میکنه.
تفاوت توسعه و امنیت
میشه این تفاوت رو اینطوری توضیح داد:
flowchart LR A["Developer"] A --> B["چطوری این سیستم رو بسازم؟"] C["Security Engineer"] C --> D["چطوری این سیستم خراب میشه؟"] B --> E["همون سیستم"] D --> E
هر دو دارن دربارهی یه سیستم فکر میکنند. یکی دنبال ساختن اون هست و یکی دیگه دنبال شکستن و دور زدنش. اما هر دو باید زبان سیستم رو بلد باشن.
اگر قرار باشه امروز شروع کنم...
مسیری که امروز انتخاب میکنم، احتمالاً چیزی شبیه به این میشه.
flowchart TD A["Networking Fundamentals"] A --> B["TCP/IP"] B --> C["HTTP"] C --> D["DNS"] D --> E["TLS"] E --> F["Packet Analysis"] F --> G["Linux"] G --> H["Programming"] H --> I["Security Tools"]
ابزارها آخر مسیر هستن، نه اولش. چون وقتی مفاهیم رو بفهمیم، ابزارها تقریباً خودشون شروع میکنن make sense کردن.
اما اگر برعکس حرکت کنی، به احتمال زیاد، سالها ابزار یاد میگیری، بدون اینکه واقعاً بدونی پشت صحنه چه اتفاقی افتاده.
اگر فقط چهار قدم وقت داشته باشی
اگر بخواهم تمام حرف این پست رو تبدیل به یک برنامهی عملی کنم، احتمالاً این چهار قدم رو پیشنهاد میدم.
۱. پروتکلها رو یاد بگیر، نه اسم ابزارها
HTTP.
TCP.
DNS.
این سه مورد، پایهی بخش بزرگی از امنیت شبکه و امنیت وب هستن.
اگر اینها رو عمیق بفهمی، خیلی از ابزارها دیگه اسرارآمیز به نظر نمیرسن.
۲. از ابزارهایی که همین حالا بلدی، عمیقتر استفاده کن
مثلاً اگر Backend Developer هستی، احتمالاً بارها این دستور رو اجرا کردی:
curl -v https://example.com
اما این بار، خروجی رو فقط برای تست API نبین، بلکه سعی کن مکالمه رو بخونی، هر Header رو بررسی کنی، هر Redirect رو دنبال کنی، و هر Status Code رو تحلیل کنی.
۳. Wireshark رو باز کن؛ نه برای تحلیل، فقط برای تماشا
خیلیها از اولین برخورد با Wireshark میترسن. صفحه پر از Packetهای مختلف میشه، اعداد، رنگها، پروتکلها، اما لازم نیست روز اول همهچیز رو بفهمی. فقط یه Capture ساده بگیر.
یه سایت رو باز کن. بعد ببین مرورگر و سرور واقعاً چه چیزهایی به هم میگن. همین مشاهدهی ساده، بیشتر از دهها ساعت حفظ کردن دستورهای مختلف فلان ابزار و بهمان ابزار بهت یاد میده.
۴. روی یک پروتکل عمیق شو
اگر بخوام فقط یک موضوع رو پیشنهاد بدهم، اون TCP هست. Three-Way Handshake، Flagها، Connection Stateها، Retransmission، Timeout. اگر TCP رو خوب بفهمی، نگاهت به شبکه برای همیشه عوض میشه.
اگر فقط سه منبع برای مطالعه داشته باشی
در تمام مدتی که برای مسیر برنامهریزی کردم، بعضی منابع بیشتر از بقیه روی طرز فکر من اثر گذاشتن.
اگر قرار باشه فقط سه مورد رو معرفی کنم، احتمالاً همینها هستند.
| منبع | چرا ارزش خواندن دارد؟ |
|---|---|
| Starting an InfoSec Career — Lesley Carhart | یکی از صادقانهترین مقالههایی که درباره شروع مسیر امنیت نوشته شده. |
| Practical Packet Analysis — Chris Sanders | کتابی که Packetها رو از چند خط داده، به یک داستان قابل فهم تبدیل میکنه. |
| Computer Networking: A Top-Down Approach — Kurose & Ross | به نظرم یکی از بهترین کتابهای یادگیری شبکه برای کسایی هست که میخوان واقعاً بفهمن کامپیوترها چطوری با هم صحبت میکنن. |
جمعبندی
وقتی این مقاله رو شروع کردم، یک ادعای نسبتاً بزرگ مطرح کردم. گفتم:
بزرگترین دروغ امنیت سایبری این هست که امنیت رو با ابزارها یکی میدونن.
هنوز هم به همین جمله اعتقاد دارم. نه چون ابزارها بیاهمیت هستن؛ اتفاقاً برعکس، ابزارها فوقالعادهان. اما فقط وقتی که زبان پشتشون رو بلد باشی. مشکل از جایی شروع میشه که ابزار، جای فهم رو میگیره. وقتی فکر میکنیم اگر اسم چند ابزار رو حفظ کنیم، وارد امنیت شدیم. در حالی که امنیت سایبری، قبل از هر چیز، دربارهی فهمیدن دلیل پشت یه حمله، یه ابزار، یه باگ، یه کانفیک و این چیزها هست. فهمیدن اینکه دو کامپیوتر چطور با هم حرف میزنن.
فهمیدن اینکه چرا یه Packet ارسال شده. چرا یک Header وجود داره. چرا یک Status Code برگشته. چرا یک Connection برقرار نشده.
و به همین دلیل، اگر امروز از من بپرسن امنیت سایبری رو توی یک جمله تعریف کن، احتمالاً میگم:
امنیت سایبری، سواد مکالمه بین کامپیوترهاست.
یه پیشنهاد برای شروع
اگر تا اینجا همراه من بودی، ازت میخواهم فقط یه کار انجام بدی. ترمینالت رو باز کن و این دستور رو اجرا کن:
curl -v https://example.com
این بار، خروجی رو مثل همیشه نبین. سعی کن مکالمه رو بخونی.
وقتی یک Header ناشناس دیدی، برو دنبالش. وقتی یک Status Code عجیب دیدی، دلیلش رو پیدا کن. وقتی TLS شروع شد، ببین دقیقاً چه اتفاقی افتاده. همین.
لازم نیست امروز Nmap یا Burp Suite یا Metasploit رو یاد بگیری. فقط سعی کن زبان این گفتگو رو بفهمی. به نظر من، وقتی این زبان رو یاد بگیری، ابزارها دیگه ترسناک نیستن؛ فقط مترجمهایی هستن که هر کدوم از زاویهای متفاوت، همون مکالمه رو برات روایت میکنن.
منابع و مطالعه بیشتر
- Starting an InfoSec Career — Lesley Carhart؛ مقالهای که بیش از هر منبع دیگهای روی نگاه من به شروع مسیر امنیت تأثیر گذاشت.
- The Cybersecurity Hiring Gap — Daniel Miessler؛ تحلیلی درباره اینکه چرا شرکتها بیشتر از ابزار، به دنبال مهارتهای واقعی هستن.
- How to Build a Cybersecurity Career — Daniel Miessler؛ درباره سه پایهی اصلی این حوزه: شبکه، مدیریت سیستم و برنامهنویسی.
- Practical Packet Analysis — Chris Sanders؛ کتابی که نگاهت به Packetها رو از ریشه تغییر میده.
- Computer Networking: A Top-Down Approach — James Kurose و Keith Ross؛ یکی از بهترین منابع برای فهمیدن اینکه کامپیوترها واقعاً چطور با هم ارتباط برقرار میکنن.
یادداشت شخصی: این نو.شته بخشی از مستند کردن مسیر یادگیری خودم هست. همزمان با نوشتن این مطالب، مجموعه ویدیوهایی هم منتشر میکنم که توی اون همین ایدهها رو بهصورت عملی بررسی میکنم. توی ویدیوی اول این مجموعه، یه آزمایش ساده با Nmap و Wireshark انجام دادم تا نشون بدم چطور یه ابزار میتونه واقعیت رو تفسیر کنه و چرا دیدن خودِ مکالمه، تصویر دقیقتری از اون چیزی که واقعاً اتفاق افتاده به ما میده. امیدوارم این مجموعه، برای کسایی که مثل چند سال پیشِ خودم از دیدن فهرست بلند ابزارها میترسن، نقطهی شروعی باشه تا امنیت سایبری رو نه بهعنوان مجموعهای از ابزارها، بلکه بهعنوان زبانی برای فهمیدن دنیای کامپیوترها ببینن.
دیدگاهها
یکی از بهترین پستهات بود واقعا خسته نباشی
پاسخ