У нас вы можете посмотреть бесплатно Easy Mistakes in C: Buffer Overflows, Memory Pitfalls, and SEI CERT Coding Standards или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
📥 RESOURCES & DOWNLOADS • Buffer Overflow (stack_function_call_example.zip): https://drive.google.com/file/d/1OIQ9... • GDB: – Summary Instructions: https://drive.google.com/file/d/1HL7K... – Source: https://drive.google.com/file/d/1oTyh... • SEI CERT C Coding Standard: https://wiki.sei.cmu.edu/confluence/s... – SEI CERT C++ Coding Standard: https://wiki.sei.cmu.edu/confluence/s... – SEI CERT Wiki: https://wiki.sei.cmu.edu/confluence/ – Link Collection of the Examples: https://docs.google.com/document/d/1n... – Randomness 101: LavaRand in Production: https://blog.cloudflare.com/randomnes... ✏️ EXERCISES • Unsafe printf: https://drive.google.com/drive/folder... • Buffer Overflow and GDB: https://drive.google.com/drive/folder... • DCL30-C (Declare Objects with Appropriate Storage Durations): https://drive.google.com/drive/folder... 🧠 QUIZ https://forms.gle/f1rcjYd8y5g5xo3c9 Have you ever wondered why buffer overflows remain one of the most dangerous vulnerabilities in software, even decades after the Morris worm caused an Internet blackout in 1988? In this comprehensive section, we dive deep into the common mistakes that C developers make when managing memory manually. You will learn exactly how buffer overflows occur, how they can be exploited to hijack program execution, and most importantly, how to prevent them in your own code. We begin with a hands-on exploration of buffer overflows using a practical demonstration with GDB (GNU Debugger). You will see firsthand what happens on the stack when a function is called, how local variables, return addresses, and base pointers are stored, and how an overflow can overwrite critical data. We examine the differences between von Neumann and Harvard architectures (relevant to ATmega microcontrollers) and discuss mitigation strategies including safe string functions like strncpy and compiler-based protections like stack canaries. The section introduces the SEI CERT C/C++ Coding Standard, a comprehensive resource for writing safe, reliable, and secure systems. We cover essential rules including: DCL30-C (proper storage durations and static variables), EXP33-C (uninitialized memory dangers), EXP34-C (NULL pointer dereference prevention), EXP42-C (struct padding and comparison pitfalls), STR31-C (string storage requirements), MEM30-C (memory leaks and dangling pointers), FIO47-C (format string validation), ENV33-C (system() function risks), MSC30-C/MSC32-C (pseudorandom number generator best practices), and FLP30-C (floating-point precision issues in loops). Each rule is demonstrated with practical code examples showing both problematic patterns and their correct solutions. You will gain deep insight into how memory works at the byte level, why padding fields exist in structs, why floats cannot represent all numbers precisely, and how seemingly innocent code can lead to crashes or security vulnerabilities. By the end of this section, you will have the knowledge to write more robust C code and avoid the pitfalls that trap even experienced developers. #C #CProgramming #BufferOverflow #SEICERT #MemorySafety #GDB #Debugging #EmbeddedSystems #ATmega #CodingStandards #SecurityVulnerabilities #StackOverflow #Pointers #MemoryManagement #FloatingPoint #Arduino 📖 CHAPTERS 0:00 Introduction 1:08 Buffer Overflow 12:20 Demo Buffer Overflow and GDB 33:55 SEI CERT C/C++ Coding Standard 36:06 DCL30-C (Declare Objects with Appropriate Storage Durations) 41:00 EXP33-C (Do not read uninitialized Memory) 43:40 EXP34-C (Do not dereference NULL Pointers) 47:21 EXP42-C (Do not compare padding Data, packed structs) 58:06 STR31-C (Guarantee that Storage for Strings has sufficient Space for Characters and the NULL Terminator) 59:44 MEM30-C (Do not access freed Memory) 1:02:40 FIO47-C (Use valid Format Strings) 1:03:41 ENV33-C (Do not call system()) 1:06:08 MSC30-C/MSC32-C (Pseudorandom Number Generators) 1:09:54 FLP30-C (Do not use Floating-Point Variables as Loop Counters, Floating Point Numbers in a Computer) 1:16:17 Summary and What's next?