دوره آموزشی کدنویسی امن درسی پلاس پلاس
50 دقیقهپیشرفته2025-07-30
مدرسین

Eduardo Corpeño
Electrical Engineer, Computer Programmer, and Teacher for 15+ years
جزئیات دوره
توی این دوره یاد میگیری چطور کد C++ رو بهصورت امن بنویسی و جلوی باگها و حفرههای امنیتی رایج این زبان رو بگیری. این آموزش روی روشهای عملی و در سطح کد تمرکز داره تا بتونی از مشکلاتی مثل مدیریت نادرست ورودیها، خطاهای حافظه و مشکلات طول عمر آبجکتها جلوگیری کنی.
با استفاده از ویژگیهای مدرن C++ و استانداردهای کدنویسی امن، یاد میگیری کدهایی بنویسی که مقاومتر و امنتر باشن. این دوره برای برنامهنویسهایی عالیه که میخوان اپلیکیشنهای مقاوم در برابر حملات و خطاها بسازن.
🎯 اهداف یادگیری
1️⃣ شناسایی ویژگیهای زبان C++ که ممکنه باعث باگهای امنیتی و رفتارهای تعریفنشده بشن.
2️⃣ استفاده از روشهای مدرن C++ برای مدیریت امن ورودیها، حافظه و منابع.
3️⃣ ارزیابی کد برای پیدا کردن مشکلاتی مثل use-after-free، آسیبپذیری رشتههای فرمت، و لو رفتن دادهها.
4️⃣ تحلیل مدیریت دادههای خارجی و طول عمر آبجکتها برای جلوگیری از سوءاستفاده.
5️⃣ ایجاد پیادهسازیهای امن در C++ با الگوهای ایمن، ویژگیهای کامپایلر و حفاظتهای زمان اجرا.
با استفاده از ویژگیهای مدرن C++ و استانداردهای کدنویسی امن، یاد میگیری کدهایی بنویسی که مقاومتر و امنتر باشن. این دوره برای برنامهنویسهایی عالیه که میخوان اپلیکیشنهای مقاوم در برابر حملات و خطاها بسازن.
🎯 اهداف یادگیری
1️⃣ شناسایی ویژگیهای زبان C++ که ممکنه باعث باگهای امنیتی و رفتارهای تعریفنشده بشن.
2️⃣ استفاده از روشهای مدرن C++ برای مدیریت امن ورودیها، حافظه و منابع.
3️⃣ ارزیابی کد برای پیدا کردن مشکلاتی مثل use-after-free، آسیبپذیری رشتههای فرمت، و لو رفتن دادهها.
4️⃣ تحلیل مدیریت دادههای خارجی و طول عمر آبجکتها برای جلوگیری از سوءاستفاده.
5️⃣ ایجاد پیادهسازیهای امن در C++ با الگوهای ایمن، ویژگیهای کامپایلر و حفاظتهای زمان اجرا.
مهارت ها
C++AdvancedProgramming LanguagesOpen SourceSoftware Development
سرفصل ها
مقدمه
- باگهای امنیتی به سوءاستفاده تبدیل میشوند
- استانداردهای کدنویسی امن
- استفاده از فایلهای تمرین در GitHub Codespaces
امنیت با زبان شروع میشود
- ویژگیهای قابل بهرهبرداری زبان در ++C
- خطرات رفتار نامشخص
- جایگزینهای امنتر در ++C مدرن
- اصلاح عبارات ناامن
اعتبارسنجی و اعتمادسازی دادههای خارجی
- مدیریت دفاعی ورودیها
- تبدیلهای عددی و رشتهای ایمن
- جلوگیری از آسیبپذیریهای رشته قالببندی
- چالش - ایمنسازی یک تابع تجزیه داده
- راهکار - ایمنسازی یک تابع تجزیه داده
رشتهها، رازها و افشاگری
- استفاده امن از std - - string و نمای رشتهای
- اجتناب از آسیبپذیریهای رشتهای به سبک C
- جلوگیری از نشت اطلاعات در لاگها
- چالش - هک کردن رمز عبور رمزگذاری شده
- راه حل - هک کردن رمز عبور رمزگذاری شده
سوءاستفادههای مربوط به طول عمر حافظه و شیء
- سناریوهای خطرناک اشارهگر و مرجع
- جلوگیری از استفاده پس از آزادسازی و حذفهای دوگانه
- جلوگیری از نشت حافظه
- چالش - نکات هوشمندانه
- راه حل - اشاره گرهای هوشمند
تقویت ساختار و رفتارتان
- پرچمهای کامپایلر و لینکر برای امنیت
- نوشتن کد مدیریت خطای امن
نتیجهگیری
- مراحل بعدی