جلسه 25 Internet security
مقدمه
اینترنت به عنوان یک شبکه جهانی، بخش جداییناپذیر زندگی مدرن شده است. اما این گسترش، چالشهای امنیتی جدیدی را نیز به همراه آورده است. درک اصول اولیه امنیت اینترنت برای هر دانشجوی رشته کامپیوتر ضروری است.
۱.۲ تعاریف کلیدی
امنیت اطلاعات (Information Security): حفاظت از اطلاعات در برابر دسترسی، استفاده، افشا، اختلال، تغییر یا تخریب غیرمجاز.
امنیت سایبری (Cybersecurity): مجموعهای از فناوریها، فرآیندها و کنترلها که برای محافظت از سیستمها، شبکهها و دادهها در برابر حملات دیجیتال طراحی شدهاند.
تهدید (Threat): رویدادی یا عاملی بالقوه که میتواند به داراییهای اطلاعاتی آسیب برساند.
آسیبپذیری (Vulnerability): نقطه ضعفی که میتواند توسط یک تهدید مورد سوء استفاده قرار گیرد.
ریسک (Risk): احتمال وقوع یک تهدید که از یک آسیبپذیری سوء استفاده میکند و منجر به خسارت میشود.
حمله (Attack): تلاش برای دسترسی، تغییر، غیرفعال کردن، تخریب یا سرقت غیرمجاز سیستمهای کامپیوتری یا دادهها.
۱.۳ اصول اساسی امنیت (CIA Triad)
محرمانگی (Confidentiality): اطمینان از اینکه اطلاعات فقط توسط افراد مجاز قابل دسترسی هستند.
مثال: رمزگذاری اطلاعات حساس.
یکپارچگی (Integrity): اطمینان از اینکه اطلاعات دقیق، کامل و بدون تغییر غیرمجاز هستند.
مثال: استفاده از Checksum برای تأیید عدم تغییر دادهها.
دسترسپذیری (Availability): اطمینان از اینکه سیستمها و اطلاعات در زمان نیاز در دسترس کاربران مجاز هستند.
مثال: استفاده از سیستمهای پشتیبان (Backup) و بازیابی (Recovery).
۱.۴ انواع تهدیدات امنیتی رایج
بدافزار (Malware): نرمافزارهای مخرب شامل ویروسها، کرمها، تروجانها، باجافزارها و جاسوسافزارها.
حملات مهندسی اجتماعی (Social Engineering Attacks): فریب دادن کاربران برای افشای اطلاعات حساس یا انجام اقدامات ناخواسته.
مثال: فیشینگ (Phishing)، جعل هویت (Impersonation).
حملات انکار سرویس (Denial of Service - DoS) و توزیع شده انکار سرویس (Distributed Denial of Service - DDoS): تلاش برای از دسترس خارج کردن یک سرویس یا شبکه با اشباع آن با ترافیک.
حملات مرد میانی (Man-in-the-Middle - MitM): شنود یا تغییر ارتباط بین دو طرف بدون اطلاع آنها.
حملات تزریق (Injection Attacks): وارد کردن کدهای مخرب به یک برنامه یا پایگاه داده.
مثال: SQL Injection.
تمرینهای پایان فصل ۱
۱. تعاریف "تهدید"، "آسیبپذیری" و "ریسک" را با کلمات خود توضیح دهید و یک مثال برای هر کدام ارائه دهید.
۲. سه اصل اساسی امنیت (CIA Triad) را شرح دهید و برای هر کدام یک مثال کاربردی در دنیای اینترنت ذکر کنید. ۳. تفاوت بین حملات DoS و DDoS را توضیح دهید. ۴. چرا حملات مهندسی اجتماعی اغلب مؤثرتر از حملات فنی هستند؟ ۵. فرض کنید شما مسئول امنیت یک وبسایت هستید. چه اقداماتی برای اطمینان از محرمانگی، یکپارچگی و دسترسپذیری اطلاعات کاربران انجام میدهید؟
فصل ۲: رمزنگاری و پروتکلهای امنیتی
۲.۱ مقدمه
رمزنگاری ستون فقرات امنیت ارتباطات در اینترنت است. این فصل به بررسی مفاهیم رمزنگاری و پروتکلهایی که برای امنسازی ارتباطات استفاده میشوند، میپردازد.
۲.۲ مفاهیم رمزنگاری
رمزنگاری (Cryptography): علم و هنر پنهان کردن اطلاعات.
رمزگذاری (Encryption): فرآیند تبدیل دادههای قابل خواندن (متن ساده - Plaintext) به فرمتی غیرقابل خواندن (متن رمزشده - Ciphertext) با استفاده از یک الگوریتم و کلید.
رمزگشایی (Decryption): فرآیند تبدیل متن رمزشده به متن ساده با استفاده از کلید.
الگوریتم رمزنگاری (Encryption Algorithm): مجموعهای از قوانین ریاضی که برای رمزگذاری و رمزگشایی استفاده میشود.
کلید (Key): اطلاعاتی که برای اجرای الگوریتم رمزنگاری استفاده میشود.
۲.۳ انواع رمزنگاری
رمزنگاری متقارن (Symmetric Encryption): استفاده از یک کلید مشترک هم برای رمزگذاری و هم برای رمزگشایی.
الگوریتمهای رایج: AES, DES.
مزایا: سرعت بالا.
معایب: مشکل در تبادل امن کلید.
مثال: ارتباط داخلی امن بین دو سرور.
رمزنگاری نامتقارن (Asymmetric Encryption): استفاده از یک جفت کلید: یک کلید عمومی (Public Key) برای رمزگذاری و یک کلید خصوصی (Private Key) برای رمزگشایی.
الگوریتمهای رایج: RSA, ECC.
مزایا: حل مشکل تبادل کلید، امضای دیجیتال.
معایب: سرعت پایینتر نسبت به رمزنگاری متقارن.
مثال: امنسازی ارتباطات HTTPS، امضای دیجیتال ایمیلها.
۲.۴ توابع هش (Hash Functions)
تابع هش (Hash Function): تابعی که دادهها را به یک رشته با طول ثابت (هش - Hash) نگاشت میکند.
ویژگیها: یکطرفه بودن (غیرقابل بازگشت)، مقاومت در برابر برخورد (Collision Resistance).
کاربردها: تأیید یکپارچگی دادهها، ذخیره رمز عبور.
الگوریتمهای رایج: SHA-256, MD5 (غیر امن).
مثال: بررسی اینکه آیا فایل دانلود شده تغییر یافته است یا خیر.
۲.۵ پروتکلهای امنیتی اینترنت
امنیت لایه انتقال (Transport Layer Security - TLS) / لایه سوکت امن (Secure Sockets Layer - SSL): پروتکلی برای امنسازی ارتباطات بر روی شبکه.
کاربرد: HTTPS (HTTP Secure)، ایمیل امن (SMTPS, IMAPS).
فرایند: دست دادن (Handshake) برای توافق بر روی پارامترهای امنیتی و تبادل کلید.
پروتکل پیکربندی پویای میزبان (Dynamic Host Configuration Protocol - DHCP) و امنیت: DHCP اطلاعات پیکربندی شبکه را به دستگاهها اختصاص میدهد. آسیبپذیریهای آن میتواند منجر به حملات Man-in-the-Middle شود.
پروتکل تونلزنی سطح عام (Generic Routing Encapsulation - GRE) و امنیت: GRE برای تونلزنی ترافیک IP در درون بستههای IP استفاده میشود. ترکیب آن با IPsec امنیت بیشتری فراهم میکند.
پروتکل تونلزنی نقطه به نقطه (Point-to-Point Tunneling Protocol - PPTP): پروتکلی قدیمی برای ایجاد VPN که امن نیست و نباید استفاده شود.
پروتکل تونلزنی امن (Secure Socket Tunneling Protocol - SSTP): پروتکلی برای ایجاد VPN که از SSL/TLS استفاده میکند و امنتر از PPTP است.
پروتکل امنیتی امن (IPsec): مجموعهای از پروتکلها که امنیت را در سطح IP فراهم میکند.
کاربرد: VPNهای سازمانی، ارتباطات امن بین شبکه.
تمرینهای پایان فصل ۲
۱. تفاوت اصلی بین رمزنگاری متقارن و نامتقارن را شرح دهید. برای هر کدام یک مثال کاربردی در اینترنت ذکر کنید.
۲. تابع هش چیست و چه ویژگیهای کلیدی باید داشته باشد؟ دو کاربرد اصلی توابع هش را نام ببرید. ۳. SSL/TLS چگونه ارتباطات امن HTTPS را برقرار میکند؟ مراحل اصلی دست دادن (Handshake) را به طور خلاصه توضیح دهید. ۴. چرا استفاده از MD5 برای تأیید یکپارچگی دادهها دیگر توصیه نمیشود؟ ۵. فرض کنید میخواهید یک VPN برای دسترسی امن کارمندان از راه دور به شبکه داخلی شرکت راهاندازی کنید. کدام پروتکلهای VPN را پیشنهاد میدهید و چرا؟
فصل ۳: تهدیدات رایج و روشهای مقابله
۳.۱ مقدمه
شناخت تهدیدات امنیتی رایج اولین گام در ایجاد دفاع موثر است. این فصل به بررسی انواع حملات و آسیبپذیریهای متداول در وب و شبکهها میپردازد.
۳.۲ حملات وب
تزریق SQL (SQL Injection): سوء استفاده از ورودیهای کاربر برای اجرای دستورات SQL مخرب در پایگاه داده.
مثال:
SELECT * FROM users WHERE username = 'admin' OR '1'='1'
اسکریپتنویسی بین سایتها (Cross-Site Scripting - XSS): تزریق اسکریپتهای مخرب به صفحات وب که توسط کاربران دیگر اجرا میشوند.
انواع: XSS ذخیره شده (Stored XSS)، XSS بازتابی (Reflected XSS)، XSS مبتنی بر DOM (DOM-based XSS).
مثال:
<script>alert('XSS');</script>
احراز هویت شکسته (Broken Authentication): نقص در مدیریت جلسات کاربری یا احراز هویت.
مثال: استفاده از کوکیهای غیرامن، ضعف در مدیریت رمز عبور.
تنظیمات امنیتی نادرست (Security Misconfiguration): پیکربندی اشتباه سرورها، فریمورکها یا برنامهها.
مثال: استفاده از تنظیمات پیشفرض ناامن، عدم بهروزرسانی نرمافزارها.
پیچیدگی گنجاندن دادهها (Sensitive Data Exposure): افشای اطلاعات حساس مانند رمز عبور، اطلاعات کارت اعتباری به دلیل عدم رمزگذاری یا مدیریت نادرست.
اجزای آسیبپذیر (Using Components with Known Vulnerabilities): استفاده از کتابخانهها، فریمورکها یا ماژولهایی که دارای آسیبپذیری شناخته شده هستند.
۳.۳ حملات شبکه
شنود (Eavesdropping): دسترسی غیرمجاز به دادههای در حال انتقال.
ابزارها: Wireshark.
حملات Spoofing ( جعل هویت): جعل آدرس IP یا MAC برای ظاهر شدن به عنوان یک دستگاه دیگر.
حملات Brute Force: تلاش برای حدس زدن رمز عبور یا کلید با امتحان کردن تمام ترکیبات ممکن.
Sniffing و Spoofing DNS: دستکاری پاسخهای DNS برای هدایت کاربران به سایتهای مخرب.
هک روتر (Router Hacking): دسترسی غیرمجاز به تنظیمات روتر برای تغییر مسیر ترافیک یا دسترسی به شبکه داخلی.
۳.۴ روشهای مقابله با تهدیدات
فایروال (Firewall): سیستمی که ترافیک شبکه را بر اساس قوانین امنیتی مشخص، کنترل و فیلتر میکند.
انواع: فایروالهای مبتنی بر بسته (Packet-filtering)، فایروالهای مبتنی بر حالت (Stateful inspection)، فایروالهای برنامههای کاربردی (Application-level gateways - Proxy).
سیستمهای تشخیص و جلوگیری از نفوذ (Intrusion Detection Systems - IDS / Intrusion Prevention Systems - IPS):
IDS: ترافیک مخرب را شناسایی و هشدار میدهد.
IPS: علاوه بر شناسایی، اقدام به مسدود کردن ترافیک مخرب میکند.
رمزگذاری (Encryption): استفاده از پروتکلهای امن (HTTPS, SFTP, VPN) برای محافظت از دادهها در حال انتقال.
مدیریت وصله (Patch Management): بهروز نگه داشتن نرمافزارها و سیستمعاملها برای رفع آسیبپذیریهای شناخته شده.
آموزش آگاهی امنیتی (Security Awareness Training): آموزش کاربران در مورد خطرات و نحوه شناسایی حملات مهندسی اجتماعی.
استفاده از رمزهای عبور قوی و احراز هویت چند عاملی (Multi-Factor Authentication - MFA): افزایش امنیت حسابهای کاربری.
ممیزی امنیتی (Security Audits) و تست نفوذ (Penetration Testing): ارزیابی منظم وضعیت امنیتی سیستمها.
محدود کردن دسترسی (Least Privilege Principle): اعطای حداقل دسترسی لازم به کاربران و سیستمها.
تمرینهای پایان فصل ۳
۱. تفاوت بین حملات XSS و SQL Injection را توضیح دهید و برای هر کدام یک سناریوی حمله ساده ذکر کنید.
۲. چرا "اجزای آسیبپذیر" یک تهدید جدی محسوب میشوند؟ چگونه میتوان این خطر را کاهش داد؟ ۳. یک فایروال چه وظایفی دارد؟ دو نوع اصلی فایروال را نام ببرید. ۴. تفاوت بین IDS و IPS چیست؟ ۵. فرض کنید یک شرکت متوسط دارید. چه راهکارهایی برای محافظت از شبکهتان در برابر تهدیدات رایج پیشنهاد میدهید؟
فصل ۴: حریم خصوصی و امنیت دادهها
۴.۱ مقدمه
حفظ حریم خصوصی دادهها و امنیت اطلاعات شخصی در عصر دیجیتال از اهمیت بالایی برخوردار است. این فصل به بررسی جنبههای حریم خصوصی و تکنیکهای محافظت از دادهها در اینترنت میپردازد.
۴.۲ مفهوم حریم خصوصی در اینترنت
حریم خصوصی دادهها (Data Privacy): حق افراد بر کنترل جمعآوری، استفاده و افشای اطلاعات شخصیشان.
حریم خصوصی در ارتباطات (Communication Privacy): اطمینان از اینکه مکالمات و پیامهای کاربران خصوصی باقی میمانند.
حریم خصوصی رفتار (Behavioral Privacy): محافظت از الگوهای رفتاری کاربران در فضای آنلاین.
قوانین و مقررات مربوط به حریم خصوصی:
GDPR (General Data Protection Regulation): مقررات عمومی حفاظت از داده اتحادیه اروپا.
CCPA (California Consumer Privacy Act): قانون حریم خصوصی مصرفکنندگان کالیفرنیا.
۴.۳ جمعآوری و استفاده از دادهها
کوکیها (Cookies): فایلهای متنی کوچکی که وبسایتها برای ذخیره اطلاعات در مرورگر کاربر استفاده میکنند.
انواع: کوکیهای ضروری، کوکیهای عملکردی، کوکیهای تحلیلی، کوکیهای هدفمند.
ردیابی آنلاین (Online Tracking): استفاده از تکنیکهایی مانند اثرانگشت مرورگر (Browser Fingerprinting) و پیکسلهای ردیابی (Tracking Pixels) برای جمعآوری اطلاعات رفتار کاربر.
مدلهای کسبوکار مبتنی بر داده: بسیاری از سرویسهای رایگان اطلاعات کاربران را جمعآوری و برای تبلیغات هدفمند یا فروش به شخص ثالث استفاده میکنند.
۴.۴ تکنیکهای حفظ حریم خصوصی
ناشناسسازی (Anonymization) و شبهناشناسسازی (Pseudonymization):
ناشناسسازی: حذف اطلاعات قابل شناسایی از دادهها به گونهای که بازگشت به هویت فرد غیرممکن باشد.
شبهناشناسسازی: جایگزینی شناسههای مستقیم با شناسههای مصنوعی (نام مستعار).
رمزگذاری سرتاسری (End-to-End Encryption - E2EE): اطمینان از اینکه فقط فرستنده و گیرنده پیام میتوانند محتوای آن را بخوانند.
مثال: WhatsApp, Signal.
شبکههای ناشناسسازی (Anonymity Networks):
Tor (The Onion Router): شبکهای که ترافیک اینترنت را از طریق چندین سرور داوطلبانه (گره - nodes) عبور میدهد تا هویت کاربر پنهان بماند.
حفظ حریم خصوصی در مرورگر:
استفاده از حالت ناشناس (Incognito Mode).
مسدود کردن ردیابها و کوکیهای شخص ثالث.
تنظیمات حریم خصوصی مرورگر.
۴.۵ امنیت دادهها
پشتیبانگیری و بازیابی (Backup and Recovery): اطمینان از قابلیت دسترسی به دادهها در صورت از دست رفتن.
رمزگذاری دیسک (Disk Encryption): رمزگذاری تمام دادههای ذخیره شده بر روی یک درایو.
مدیریت دسترسی (Access Control): اطمینان از اینکه فقط کاربران مجاز به دادههای خاص دسترسی دارند.
حفاظت در برابر از دست دادن داده (Data Loss Prevention - DLP): ابزارها و فرآیندهایی برای جلوگیری از خروج غیرمجاز دادههای حساس.
تمرینهای پایان فصل ۴
۱. تفاوت بین "ناشناسسازی" و "شبهناشناسسازی" را توضیح دهید.
۲. چگونه کوکیها میتوانند بر حریم خصوصی کاربران تأثیر بگذارند؟ مثال بزنید. ۳. رمزگذاری سرتاسری (E2EE) چیست و چرا برای حفظ حریم خصوصی در ارتباطات مهم است؟ ۴. شبکه Tor چگونه به حفظ ناشناسسازی کاربران کمک میکند؟ ۵. چرا صرفاً استفاده از رمزهای عبور قوی برای حفظ امنیت دادهها کافی نیست؟ چه راهکارهای دیگری لازم است؟
فصل ۵: امنیت شبکههای بیسیم و اینترنت اشیاء (IoT)
۵.۱ مقدمه
با گسترش شبکههای بیسیم و دستگاههای اینترنت اشیاء، چالشهای امنیتی جدیدی مطرح شده است. این فصل به بررسی این تهدیدات و راهکارهای مقابله با آنها میپردازد.
۵.۲ امنیت شبکههای بیسیم (Wi-Fi)
پروتکلهای امنیتی Wi-Fi:
WEP (Wired Equivalent Privacy): پروتکل قدیمی و ناامن.
WPA (Wi-Fi Protected Access): نسخه بهبود یافته WEP.
WPA2: پروتکل استاندارد امنیتی فعلی با استفاده از AES.
WPA3: جدیدترین استاندارد با بهبودهای امنیتی بیشتر.
حملات رایج به شبکههای Wi-Fi:
رمزگشایی ترافیک WEP/WPA: با استفاده از ابزارهایی مانند Aircrack-ng.
حملات Evil Twin Access Point: راهاندازی یک نقطه دسترسی جعلی با نام مشابه نقطه دسترسی قانونی برای فریب کاربران.
حملات Deauthentication: قطع اتصال کاربران از شبکه قانونی.
بهترین روشها برای امنسازی شبکههای Wi-Fi:
استفاده از WPA2/WPA3 با رمز عبور قوی.
تغییر نام پیشفرض SSID و غیرفعال کردن پخش آن.
استفاده از فیلترینگ آدرس MAC (با محدودیتهای امنیتی).
بهروزرسانی منظم firmware روتر.
۵.۳ امنیت اینترنت اشیاء (IoT)
ماهیت و چالشهای امنیتی IoT:
تعداد زیاد دستگاهها با قدرت پردازشی محدود.
فقدان استانداردهای امنیتی یکپارچه.
آپدیتهای امنیتی نادر یا ناکافی.
رابطهای کاربری ضعیف یا غیرموجود.
انواع دستگاههای IoT و تهدیدات مرتبط:
دستگاههای خانگی هوشمند (Smart Home Devices): دوربینهای امنیتی، ترموستاتها، لامپهای هوشمند.
تهدیدات: دسترسی غیرمجاز به دوربینها، کنترل خانه از راه دور.
دستگاههای پوشیدنی (Wearables): ساعتهای هوشمند، ردیابهای تناسب اندام.
تهدیدات: دسترسی به دادههای سلامتی، ردیابی موقعیت مکانی.
دستگاههای صنعتی (Industrial IoT - IIoT): سنسورها در کارخانهها، سیستمهای کنترل.
تهدیدات: اختلال در فرآیندهای صنعتی، سرقت اطلاعات صنعتی.
روشهای بهبود امنیت IoT:
انتخاب دستگاههای امن: بررسی اعتبار سازنده و سیاستهای امنیتی.
تغییر رمزهای عبور پیشفرض: استفاده از رمزهای عبور قوی و منحصر به فرد.
محدود کردن دسترسی شبکه: قرار دادن دستگاههای IoT در یک شبکه جداگانه (VLAN).
غیرفعال کردن ویژگیهای غیرضروری: مانند دسترسی از راه دور اگر نیاز نیست.
بهروزرسانی firmware: نصب بهروزرسانیهای امنیتی به محض انتشار.
استفاده از رمزگذاری: در صورت پشتیبانی دستگاه.
۵.۴ امنیت شبکه های سلولی و موبایل
شبکههای نسلهای مختلف (2G, 3G, 4G, 5G): پیشرفتهای امنیتی با هر نسل.
تهدیدات رایج:
حملات IMSI Catcher (Stingray): شبیهسازی دکل مخابراتی برای رهگیری ارتباطات.
حملات SMS Spoofing: ارسال پیامک با هویت جعلی.
بدافزارهای موبایل: ویروسها، جاسوسافزارها که بر روی گوشیهای هوشمند نصب میشوند.
راهکارها:
استفاده از رمزگذاری در اپلیکیشنها.
نصب آنتیویروس موبایل.
فعال کردن قفل صفحه و احراز هویت.
احتیاط در دانلود اپلیکیشنها و کلیک بر روی لینکها.
تمرینهای پایان فصل ۵
۱. تفاوت بین WPA2 و WPA3 را شرح دهید.
۲. حمله "Evil Twin Access Point" چگونه کار میکند؟ چگونه میتوان از قربانی شدن در برابر این حمله جلوگیری کرد؟ ۳. چرا دستگاههای IoT نسبت به کامپیوترهای شخصی یا سرورها، در معرض خطرات امنیتی بیشتری قرار دارند؟ ۴. فرض کنید یک خانه هوشمند دارید. پنج اقدام امنیتی کلیدی که برای محافظت از دستگاههایتان انجام میدهید را نام ببرید. ۵. "IMSI Catcher" چیست و چه خطراتی برای امنیت موبایل کاربران دارد؟