Prev Next

Tools / System Design

What is the "Buffer overflow" attack?

Buffer overflow occurs when an application writes more data into an area of memory, called a buffer than was intended.

Buffers are created to contain a finite amount of data. When the data is longer than expected, data will overflow into one or more adjacent memory locations (buffers) replacing the original data. This results in:

  • Erratic program behaviour.
  • Data exposure to unauthorized parties.
  • Processor tricked into running arbitrary code.

Mitigation strategies:

  • Check the length of data and limit it to the expected size.
  • Never assume that code will safely handle untrusted data.
  • Use libraries explicitly created to perform string and other memory operations in a secure fasion.

More Related questions...

Difference between horizontal and vertical scaling. What is a Load Balancer? Explain few load balancing algorithms that you know. Explain CAP theorem. Explain the BASE property of the database. What is database sharding? Difference between database sharding and partitioning. Difference between eventual and strong consistency in Distributed Databases. How to choose between SQL and No-SQL Database? What is TLS? Explain Request Throttling. Difference: hard vs soft real-time system. What is NAT-T (NAT Traversal)? What does HLS stand for? Security measures to follow when you are developing your projects. Explain about EquiFax 2017 security incident. Different Injection defects. Different Authentication & access control defects. Causes of Data protection defects. What is Cross-site scripting? What is SQL injection? Explain Command injection. What is meant by Insecure redirects? Explain about "insecure upload/download" injection defect. What is the "Buffer overflow" attack? Differentiate Authentication and Authorization. What is parameter tampering? What is Cross-site request forgery (CSRF)? What is SACM (Service Asset and Configuration management)? What is digital accessibility? What is WAI-ARIA? What is VUI? What are Alexa skills? What is DNS TXT record? What is Resident Set Size (RSS)? Explain 12-Factor App methodology. What is certificate pinning? Difference between SSL authentication and Mutual SSL Authentication. What is OAUTH? What is a Canary release? What is Domain Driven Design? Difference between TLS and MTLS. What is RSocket? What is Site reliability engineering (SRE)? Difference Between Semaphore and Mutex. What is Privilege Escalation? What is SSRF? Best practices for Strong cryptography. Define Latency and throughput. What is Insecure Design? What is threat modeling? Explain STRIDE threat modeling. What is meant by tokenization? What is the PACELC theorem? What is a denial of service attack (DoS)? What is a Finite State Machine (FSM)? What is SNAT (Secure network address translation)? What is Global Traffic Manager (GTM)? What is Local Traffic Manager (LTM)? Difference: API Gateway, Load Balancer, and Reverse Proxy. What is CUDA?
Show more question and Answers...


Comments & Discussions