کتاب آموزش امنیت در C با تمرکز بر جلوگیری از Buffer Overflow با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB

دوره آموزش امنیت در C با تمرکز بر جلوگیری از Buffer Overflow آموزش امنیت در C: متخصص جلوگیری از حملات Buffer Overflow شوید کدنویسی C را به سطح استادی برسانید: با آسیب‌پذیری Buffer Overflow برای همیشه ...

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 87,488 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: دوره آموزش امنیت در C با تمرکز بر جلوگیری از Buffer Overflow

موضوع کلی: برنامه نویسی

موضوع میانی: سی (C)

📋 سرفصل‌های دوره

  • 1. مقدمه‌ای بر زبان برنامه‌نویسی C
  • 2. نصب و پیکربندی محیط توسعه C
  • 3. ساختار یک برنامه C
  • 4. انواع داده‌ها و متغیرها در C
  • 5. عملگرها در C
  • 6. عبارات شرطی (if/else, switch)
  • 7. حلقه‌ها (for, while, do-while)
  • 8. توابع در C و ساختار آن‌ها
  • 9. مقدمه‌ای بر کامپایل و لینک در C
  • 10. خطاهای رایج برنامه‌نویسی C و رفع آن‌ها
  • 11. مفهوم حافظه در برنامه‌نویسی
  • 12. مدل حافظه در C: پشته، هیپ، داده، متن
  • 13. مقدمه‌ای بر اشاره‌گرها در C
  • 14. کار با اشاره‌گرها و آدرس‌دهی حافظه
  • 15. اشاره‌گرها و آرایه‌ها
  • 16. پوینتر آرتماتیک (Pointer Arithmetic)
  • 17. اشاره‌گر به توابع
  • 18. اشاره‌گرهای تهی (NULL Pointers)
  • 19. مشکلات رایج اشاره‌گرها (dangling, wild pointers)
  • 20. مروری بر مدیریت حافظه در C
  • 21. مقدمه‌ای بر حافظه دینامیک
  • 22. تابع malloc برای تخصیص حافظه
  • 23. تابع calloc و تفاوت آن با malloc
  • 24. تابع realloc برای تغییر اندازه حافظه
  • 25. تابع free برای آزاد کردن حافظه
  • 26. رشته‌ها در C: آرایه‌ای از کاراکترها
  • 27. پایان‌دهنده رشته (Null Terminator)
  • 28. توابع استاندارد رشته‌ای (strlen, strcpy, strcat)
  • 29. خطر استفاده از توابع ناامن رشته‌ای
  • 30. مقایسه و جستجو در رشته‌ها
  • 31. مقدمه‌ای بر امنیت نرم‌افزار
  • 32. مفاهیم آسیب‌پذیری، تهدید، ریسک و اکسپلویت
  • 33. چرخه حیات توسعه امن (SDL)
  • 34. چرا زبان C در برابر حملات آسیب‌پذیر است؟
  • 35. اصول برنامه‌نویسی امن
  • 36. تعریف سرریز بافر (Buffer Overflow)
  • 37. مکانیسم وقوع سرریز بافر
  • 38. سرریز بافر مبتنی بر پشته (Stack-based Buffer Overflow)
  • 39. سرریز بافر مبتنی بر هیپ (Heap-based Buffer Overflow)
  • 40. مثال عملی از سرریز بافر ساده
  • 41. تاثیر سرریز بافر بر جریان اجرای برنامه
  • 42. بازنویسی آدرس بازگشت (Return Address Overwrite)
  • 43. داده‌های کاربری به عنوان کد اجرایی
  • 44. کد shell (Shellcode) چیست؟
  • 45. Integer Overflow و Underflow به عنوان عوامل سرریز
  • 46. بررسی دقیق چیدمان حافظه یک فرآیند
  • 47. ساختار فریم پشته (Stack Frame)
  • 48. اشاره‌گرهای EBP و ESP (یا RBP و RSP)
  • 49. آرگومان‌های تابع و متغیرهای محلی در پشته
  • 50. نقش آدرس بازگشت در جریان کنترل برنامه
  • 51. چگونگی بازنویسی آدرس بازگشت توسط سرریز بافر
  • 52. نمونه‌سازی اکسپلویت ساده سرریز پشته
  • 53. بررسی تفاوت‌های 32 بیتی و 64 بیتی
  • 54. ابزارهای اشکال‌زدایی (مانند GDB) برای تحلیل اکسپلویت
  • 55. تمرین عملی: ساخت یک اکسپلویت ساده پشته
  • 56. مقدمه‌ای بر سرریز هیپ
  • 57. ساختار درونی هیپ و متادیتای آن
  • 58. تکنیک‌های سرریز هیپ اولیه
  • 59. چگونگی سوءاستفاده از متادیتای هیپ
  • 60. مثال عملی از سرریز هیپ ساده
  • 61. حملات Return-to-libc
  • 62. مقدمه‌ای بر Return-Oriented Programming (ROP)
  • 63. مفهوم Gadget در ROP
  • 64. NOP sleds و تکنیک‌های دور زدن
  • 65. حملات Format String و ارتباط آن با سرریز بافر
  • 66. اعتبارسنجی ورودی: چرا و چگونه؟
  • 67. تمیز کردن ورودی (Input Sanitization)
  • 68. اعتبارسنجی طول و نوع داده ورودی
  • 69. استفاده از Regular Expressions برای اعتبارسنجی
  • 70. جلوگیری از تزریق کد (Code Injection)
  • 71. توابع امن رشته‌ای: `strncpy`, `strncat`
  • 72. استفاده از `snprintf` برای ساخت امن رشته‌ها
  • 73. توابع `strlcpy` و `strlcat` (در سیستم‌های پشتیبانی‌کننده)
  • 74. محاسبه دقیق اندازه بافرها
  • 75. پایان‌دهی رشته‌ای صریح
  • 76. تخصیص امن حافظه دینامیک
  • 77. بررسی برگشتی توابع تخصیص حافظه
  • 78. پاکسازی حافظه قبل از آزاد کردن (Zeroing memory)
  • 79. جلوگیری از Integer Overflow و Underflow در محاسبات بافر
  • 80. استفاده از انواع داده با اندازه ثابت (Fixed-width integers)
  • 81. مدیریت خطا و گزارش‌دهی امن
  • 82. اصل حداقل امتیاز (Principle of Least Privilege)
  • 83. جلوگیری از شرایط مسابقه (Race Conditions)
  • 84. امنیت در ورودی/خروجی فایل
  • 85. طراحی امن API در C
  • 86. حفاظت از پشته: Stack Canaries (Stack Smashing Protector)
  • 87. جلوگیری از اجرای داده: DEP/NX bit (Data Execution Prevention / No-Execute)
  • 88. تصادفی‌سازی فضای آدرس: ASLR (Address Space Layout Randomization)
  • 89. اجرایی‌های مستقل از موقعیت: PIE (Position Independent Executables)
  • 90. فقط خواندنی کردن بخش‌های Re-locatable: RELRO (Relocation Read-Only)
  • 91. Fortify Source (`_FORTIFY_SOURCE`)
  • 92. Control Flow Integrity (CFI) مقدمه
  • 93. کامپایل با پرچم‌های امنیتی GCC (مانند `-fstack-protector-all`, `-Wformat-security`)
  • 94. ابزارهای تحلیل ویژگی‌های امنیتی باینری (مانند `checksec`)
  • 95. نحوه دور زدن جزئی یا کامل مکانیزم‌های دفاعی (برای درک عمیق‌تر)
  • 96. مقدمه‌ای بر Static Application Security Testing (SAST)
  • 97. مقدمه‌ای بر Dynamic Application Security Testing (DAST) و Fuzzing
  • 98. بازبینی امنیتی کد (Secure Code Review)
  • 99. مدل‌سازی تهدید (Threat Modeling) برای برنامه‌های C
  • 100. یکپارچه‌سازی امنیت در چرخه توسعه نرم‌افزار (DevSecOps در C)
تگ‌ها: Buffer Overflow C Programming C Security آسیب پذیری Buffer Overflow آموزش امنیت امنیت C امنیت برنامه نویسی امنیت نرم افزار بافر سرریز برنامه نویسی C++ برنامه نویسی امن جلوگیری از بافر سرریز دوره آموزش امنیت C زبان C++ کدنویسی امن C

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.