وب (Web)
وب یعنی سیستم و فناوریهایی که باعث میشن ما بتونیم سایتها و سرویسهای اینترنتی رو استفاده کنیم
وقتی آدرس یک سایت رو وارد میکنی مرورگر درخواستت رو به سرور اون سایت میفرسته و سرور هم اطلاعات مورد نیاز رو برمیگردونه و سایت برای تو نمایش داده میشه
اول باید بفهمی مرورگر و سرور چه کاری انجام میدن
بعد باید با درخواست و پاسخ آشنا بشی یعنی مرورگر چیزی رو درخواست میکنه و سرور جوابش رو میده
بعد میرسی به صفحه وب و چیزهایی که باعث ساخته شدن ظاهر و عملکرد سایت میشن
کوکی هم اطلاعات کوچکیه که سایت روی مرورگر ذخیره میکنه و میتونه برای چیزهایی مثل ورود به حساب کاربری استفاده بشه
نشست هم کمک میکنه سایت بفهمه درخواستهای مختلف مربوط به کدوم کاربر هستن
بعد باید مفهوم ورود به حساب و سطح دسترسی رو یاد بگیری تا بفهمی چه کسی اجازه دیدن یا تغییر دادن چه اطلاعاتی رو داره
در مرحله بعد میتونی امنیت وب رو یاد بگیری و بفهمی آسیبپذیریهای سایتها چطور ایجاد میشن و چطور میشه در محیطهای آزمایشی اونها رو شناسایی و برطرف کرد
این بخش برای یادگیری امنیت سایبری خیلی مهمه چون بخش زیادی از سرویسهای امروزی از طریق وب کار میکنن
Code Block
پایگاه داده (Database)
پایگاه داده یعنی جایی که اطلاعات یک برنامه یا سایت داخلش ذخیره میشه
مثلاً وقتی توی یک سایت ثبت نام میکنی اطلاعاتی مثل نام کاربری و ایمیل و اطلاعات حساب میتونه داخل پایگاه داده ذخیره بشه
اول باید بفهمی اطلاعات چطور ذخیره میشن و چطور میشه اونها رو مرتب و دستهبندی کرد
بعد باید مفهوم جدول رو یاد بگیری که مثل یک جدول بزرگ برای نگهداری اطلاعاته
هر جدول میتونه بخشهای مختلفی داشته باشه مثل نام و سن و ایمیل
بعد باید یاد بگیری چطور اطلاعات رو پیدا کنی و اضافه کنی و تغییر بدی یا حذف کنی
موضوع مهم بعدی دسترسی هست یعنی چه کسی اجازه داره اطلاعات رو ببینه یا تغییر بده
برای امنیت هم باید بفهمی پایگاه داده چطور میتونه در برابر ورودیهای خطرناک محافظت بشه
یکی از مباحث معروف امنیت پایگاه داده تزریق اسکیوال هست که در محیطهای آموزشی یاد میگیری چطور اتفاق میفته و چطور میشه جلوی اون رو گرفت
پس خلاصه اینکه پایگاه داده یعنی
ذخیره اطلاعات
مرتب کردن اطلاعات
پیدا کردن اطلاعات
تغییر دادن اطلاعات
مدیریت دسترسی به اطلاعات
وقتی این مفاهیم رو خوب بفهمی درک امنیت سایتها و برنامههای اینترنتی خیلی راحتتر میشه
Code Block
امینت (Cybersecurity)
امنیت یعنی محافظت کردن از اطلاعات و سیستمها در برابر دسترسی یا تغییر غیرمجاز
اول باید بفهمی اطلاعات از چی باید محافظت بشن
مثلاً اطلاعات شخصی حسابهای کاربری فایلها و اطلاعات یک سایت
بعد باید با احراز هویت آشنا بشی
یعنی سیستم مطمئن بشه کسی که وارد حساب شده واقعاً صاحب اون حسابه
بعد میرسی به سطح دسترسی
یعنی هر کاربر فقط به بخشهایی دسترسی داشته باشه که اجازهش رو داره
موضوع مهم بعدی رمزنگاری هست
یعنی اطلاعات به شکلی تبدیل بشن که افراد غیرمجاز نتونن به راحتی اونها رو بخونن
بعد باید مفهوم آسیبپذیری رو یاد بگیری
آسیبپذیری یعنی یک ضعف در برنامه یا سیستم که ممکنه باعث ایجاد مشکل امنیتی بشه
همچنین باید یاد بگیری تهدیدها چطور ایجاد میشن و چطور میشه جلوی اونها رو گرفت
در نهایت باید با پشتیبانگیری و ثبت رویدادها هم آشنا بشی تا اگر مشکلی پیش اومد اطلاعات قابل بازیابی باشن و بشه اتفاقات سیستم رو بررسی کرد
خلاصه امنیت یعنی
شناخت خطرها
پیدا کردن ضعفها
محافظت از اطلاعات
کنترل دسترسی
جلوگیری از دسترسی غیرمجاز
و بررسی اتفاقات مشکوک
Code Block
شناسایی (Reconnaissance)
شناسایی یعنی قبل از هر کاری درباره یک سیستم یا سایت اطلاعات جمع کنی تا بفهمی با چه چیزی طرف هستی
مثلاً اول مشخص میکنی سیستم چه سرویسهایی داره و چه فناوریهایی استفاده میکنه
بعد بررسی میکنی چه بخشهایی از سایت یا سیستم در دسترس هستن
همچنین میتونی اطلاعات عمومی مثل دامنه و زیردامنهها و فناوریهای استفاده شده در سایت رو بررسی کنی
در امنیت سایبری شناسایی خیلی مهمه چون بدون شناخت درست از هدف نمیدونی باید چه چیزی رو بررسی کنی
البته این کار باید فقط روی سیستمهایی انجام بشه که اجازه بررسیشون رو داری
خلاصه شناسایی یعنی
شناخت هدف
جمعآوری اطلاعات عمومی
پیدا کردن بخشهای قابل بررسی
شناخت فناوریهای استفاده شده
و آماده شدن برای بررسی امنیتی (Security Assessment)
Code Block
اسکن و بررسی (Scanning & Enumeration)
اسکن یعنی یک سیستم یا شبکه مجاز رو بررسی کنی تا بفهمی چه چیزهایی روی اون فعال هستن
مثلاً میشه بررسی کرد چه دستگاههایی در یک شبکه آزمایشگاهی وجود دارن و چه سرویسهایی روی اونها فعال هست
بعد نوبت شناسایی سرویسها (Enumeration) میرسه که اطلاعات دقیقتری درباره سرویسهای پیدا شده جمع میکنی
برای این کار ابزارهایی مثل Nmap در محیطهای آموزشی و آزمایشگاهی استفاده میشن
هدف این مرحله این نیست که وارد سیستم بشی بلکه فقط میخوای بفهمی سیستم چه وضعیتی داره و چه بخشهایی نیاز به بررسی امنیتی دارن
خلاصه
اسکن یعنی پیدا کردن چیزهای فعال
شناسایی سرویسها یعنی فهمیدن این سرویسها چی هستن
و بررسی امنیتی یعنی پیدا کردن مواردی که ممکنه نیاز به اصلاح داشته باشن
این کار رو فقط روی سیستمهایی انجام بده که اجازه بررسیشون رو داری
Code Block
آسیبپذیریشناسی (Vulnerability Assessment)
آسیبپذیریشناسی یعنی پیدا کردن ضعفهای امنیتی یک سیستم یا برنامه و بررسی اینکه چقدر میتونن خطرناک باشن
مثلاً ممکنه یک برنامه از یک نسخه قدیمی استفاده کنه یا تنظیمات امنیتی مناسبی نداشته باشه
در این مرحله فقط پیدا کردن مشکل مهم نیست بلکه باید بفهمی مشکل کجاست و چرا ایجاد شده و چطور میشه برطرفش کرد
معمولاً اول اطلاعات سیستم رو بررسی میکنی و بعد با روشهای مختلف دنبال ضعفهای احتمالی میگردی
ابزارهایی هم وجود دارن که میتونن در پیدا کردن بعضی از آسیبپذیریها کمک کنن ولی نتیجه ابزار همیشه نیاز به بررسی انسانی داره
بعد از پیدا کردن مشکل باید شدت آسیبپذیری (Severity) رو مشخص کنی تا معلوم بشه کدوم مشکل اولویت بیشتری برای رفع کردن داره
هدف اصلی این مرحله اینه که قبل از اینکه یک ضعف توسط فرد غیرمجاز مورد سوءاستفاده قرار بگیره اون رو پیدا و برطرف کنی
این بررسی هم باید فقط روی سیستمهایی انجام بشه که اجازه تستشون رو داری
Code Block
تست نفوذ (Penetration Testing)
تست نفوذ یعنی یک سیستم یا سایت رو با اجازه صاحبش بررسی کنی تا مشخص بشه آیا ضعفهای امنیتی واقعاً قابل سوءاستفاده هستن یا نه
اول از اطلاعاتی که در مراحل قبلی جمع شده استفاده میکنی و موارد مشکوک رو بررسی میکنی
بعد در یک محیط کنترلشده تلاش میکنی مشخص کنی یک آسیبپذیری چه مقدار خطر ایجاد میکنه
هدف اصلی این کار خرابکاری یا دسترسی به اطلاعات دیگران نیست
هدف اینه که ضعف امنیتی پیدا بشه و قبل از سوءاستفاده برطرف بشه
بعد از بررسی هم نتیجهها ثبت میشن و برای هر مشکل راهکار رفع کردنش پیشنهاد میشه
خلاصه تست نفوذ یعنی
پیدا کردن ضعف
بررسی میزان خطر
تست کنترلشده با اجازه
ثبت نتیجه
و در نهایت برطرف کردن مشکل
تست نفوذ بدون اجازه صاحب سیستم میتونه غیرقانونی باشه
Code Block
امنیت وب (Web Security)
امنیت وب یعنی محافظت از سایتها و برنامههای اینترنتی در برابر حمله و دسترسی غیرمجاز
اول باید بفهمی یک سایت چطور کار میکنه و اطلاعات بین مرورگر و سرور چطور جابهجا میشه
بعد باید مواردی مثل ورود به حساب (Authentication) و سطح دسترسی (Authorization) و نشست کاربر (Session) رو یاد بگیری
بعد میرسی به آسیبپذیریهای معروف وب مثل تزریق (Injection) و اسکریپت بین سایتی (XSS) و مشکلات مربوط به دسترسی کاربران
یکی از منابع معروف برای یادگیری این موضوع OWASP Top 10 هست که مهمترین دستههای آسیبپذیری وب رو معرفی میکنه
در مرحله بعد میتونی یاد بگیری چطور این مشکلات رو در محیطهای آموزشی پیدا کنی و مهمتر از اون چطور برطرفشون کنی
هدف امنیت وب اینه که اطلاعات کاربران و خود سایت در برابر دسترسی غیرمجاز و سوءاستفاده محافظت بشن
تمام این تمرینها هم باید روی سایتها و محیطهایی انجام بشه که اجازه تستشون رو داری
Code Block
ارتقای سطح دسترسی (Privilege Escalation)
ارتقای سطح دسترسی یعنی وقتی یک کاربر دسترسی محدودی داره بررسی کنی آیا یک ضعف امنیتی باعث میشه بتونه به دسترسی بیشتری برسه یا نه
مثلاً یک کاربر معمولی نباید به تنظیمات مهم سیستم یا اطلاعات حساس دسترسی داشته باشه
در بررسی امنیتی باید بفهمی چه دسترسیهایی وجود دارن و آیا تنظیمات اشتباهی باعث ایجاد دسترسی اضافی شدن یا نه
این موضوع هم در لینوکس (Linux) و هم در ویندوز (Windows) وجود داره
هدف اصلی یادگیری این بخش اینه که بفهمی سیستم چطور جلوی افزایش دسترسی غیرمجاز رو میگیره و اگر ضعفی وجود داشت چطور باید برطرفش کرد
خلاصه
شناخت سطح دسترسی فعلی
بررسی تنظیمات و مجوزها
پیدا کردن ضعفهای احتمالی
بررسی در محیط آزمایشگاهی
و در نهایت برطرف کردن مشکل
این بخش رو باید فقط روی سیستمهایی که اجازه تستشون رو داری تمرین کنی
Code Block
گزارشنویسی (Reporting)
گزارشنویسی یعنی بعد از بررسی امنیتی تمام چیزهایی که پیدا کردی رو مرتب و قابل فهم بنویسی
اول باید مشخص کنی چه چیزی رو بررسی کردی و چه محدودهای برای تست داشتی
بعد مشکلات امنیتی پیدا شده رو توضیح میدی و میگی مشکل کجاست و چه خطری ایجاد میکنه
برای هر مشکل بهتره میزان اهمیت یا شدت اون رو هم مشخص کنی تا معلوم بشه کدوم مورد باید زودتر برطرف بشه
بعد راهکار رفع آسیبپذیری (Remediation) رو پیشنهاد میدی
در آخر هم نتیجه کلی بررسی رو مینویسی تا مسئول سیستم بدونه چه مشکلاتی وجود داشته و برای امنتر کردن سیستم باید چه کارهایی انجام بده
خلاصه
چی رو بررسی کردی
چه مشکلی پیدا شد
چقدر خطرناکه
چرا اتفاق افتاده
چطور باید برطرف بشه
و چه پیشنهادی برای امنتر شدن سیستم داری
Code Block
مسیر کلی یادگیری هک و امنیت سایبری
برای یادگیری هک باید از پایه شروع کنی و اول پایتون (Python) و لینوکس (Linux) رو یاد بگیری و بعد بری سراغ شبکه (Networking) و وب (Web) و پایگاه داده (Database)
بعد از این پایهها باید مفاهیم امنیت (Security) و شناسایی (Reconnaissance) و اسکن و بررسی (Scanning) و آسیبپذیریشناسی (Vulnerability Assessment) رو یاد بگیری و در ادامه با تست نفوذ (Penetration Testing) و امنیت وب (Web Security) و ارتقای سطح دسترسی (Privilege Escalation) آشنا بشی
در آخر هم باید بلد باشی نتایج بررسیهات رو درست گزارشنویسی (Reporting) کنی
همه این موارد باید فقط برای یادگیری و روی سیستمهایی انجام بشن که اجازه تستشون رو داری
استفاده از این مهارتها برای دسترسی غیرمجاز به سیستمها یا اطلاعات دیگران غیرقانونیه و میتونه جرم سایبری محسوب بشه
Code Block
امروز میخوام دوتا برنامه کاربردی و آموزشی در سطح مبتدی معرفی کنم
یکی برای موبایل یکی برای Pc
Code Block