اپلیکیشن اندرویدی فلشکارت آموزشی آموزش امنیت در C با تمرکز بر جلوگیری از Buffer Overflow
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب آموزش امنیت در C با تمرکز بر جلوگیری از Buffer Overflow
موضوع کلی: برنامه نویسی
موضوع میانی: سی (C)
📋 سرفصلهای کتاب (100 موضوع)
- 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)
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.