کتاب آموزش امنیت در C با تمرکز بر جلوگیری از Buffer Overflow با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره آموزش امنیت در C با تمرکز بر جلوگیری از Buffer Overflow آموزش امنیت در C: متخصص جلوگیری از حملات Buffer Overflow شوید کدنویسی C را به سطح استادی برسانید: با آسیبپذیری Buffer Overflow برای همیشه ...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره آموزش امنیت در 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
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.