Global Information Lookup Global Information

Memory corruption information


Memory corruption occurs in a computer program when the contents of a memory location are modified due to programmatic behavior that exceeds the intention of the original programmer or program/language constructs; this is termed as violation of memory safety. The most likely causes of memory corruption are programming errors (software bugs). When the corrupted memory contents are used later in that program, it leads either to program crash or to strange and bizarre program behavior. Nearly 10% of application crashes on Windows systems are due to heap corruption.[1]

Modern programming languages like C and C++ have powerful features of explicit memory management and pointer arithmetic. These features are designed for developing efficient applications and system software. However, using these features incorrectly may lead to memory corruption errors.

Memory corruption is one of the most intractable class of programming errors, for two reasons:

  1. The source of the memory corruption and its manifestation may be far apart, making it hard to correlate the cause and the effect.
  2. Symptoms appear under unusual conditions, making it hard to consistently reproduce the error.

Memory corruption errors can be broadly classified into four categories:

  1. Using uninitialized memory: Contents of uninitialized memory are treated as garbage values. Using such values can lead to unpredictable program behavior.
  2. Using non-owned memory: It is common to use pointers to access and modify memory. If such a pointer is a null pointer, dangling pointer (pointing to memory that has already been freed), or to a memory location outside of current stack or heap bounds, it is referring to memory that is not then possessed by the program. Using such pointers is a serious programming flaw. Accessing such memory usually causes operating system exceptions, that most commonly lead to a program crash (unless suitable memory protection software is being used).
  3. Using memory beyond the memory that was allocated (buffer overflow): If an array is used in a loop, with incorrect terminating condition, memory beyond the array bounds may be accidentally manipulated. Buffer overflow is one of the most common programming flaws exploited by computer viruses, causing serious computer security issues (e.g. return-to-libc attack, stack-smashing protection) in widely used programs. In some cases programs can also incorrectly access the memory before the start of a buffer.
  4. Faulty heap memory management: Memory leaks and freeing non-heap or un-allocated memory are the most frequent errors caused by faulty heap memory management.

Many memory debuggers such as Purify, Valgrind, Insure++, Parasoft C/C++test, AddressSanitizer are available to detect memory corruption errors.

  1. ^ Radich, Q.; Sherer, T.; Sharkey, K.; Batchelor, D.; Kennedy, J. T.; Mabee, D.; Coulter, D.; Michael, S. (28 April 2021). "Application Verifier (Windows 7 and Windows Server 2008 R2 Application Quality Cookbook) - Win32 apps". Microsoft Developer Network. Retrieved 2022-02-09.

and 23 Related for: Memory corruption information

Request time (Page generated in 0.8265 seconds.)

Memory corruption

Last Update:

Memory corruption occurs in a computer program when the contents of a memory location are modified due to programmatic behavior that exceeds the intention...

Word Count : 478

ECC memory

Last Update:

code memory (ECC memory) is a type of computer data storage that uses an error correction code (ECC) to detect and correct n-bit data corruption which...

Word Count : 3401

Corruption

Last Update:

Corruption is a form of dishonesty or a criminal offense which is undertaken by a person or an organization which is entrusted in a position of authority...

Word Count : 13686

Memory safety

Last Update:

termination in most environments, but can cause corruption in operating system kernels or systems without memory protection, or when use of the null pointer...

Word Count : 1760

Address space layout randomization

Last Update:

computer security technique involved in preventing exploitation of memory corruption vulnerabilities. In order to prevent an attacker from reliably redirecting...

Word Count : 4211

Apple A12

Last Update:

which mitigates exploitation techniques such as those involving memory corruption, Jump-Oriented-Programming, and Return-Oriented-Programming. The A12...

Word Count : 848

Race condition

Last Update:

values that each thread was attempting to write; this could result in memory corruption if the resulting value is one that neither thread attempted to write...

Word Count : 4357

Security and privacy of iOS

Last Update:

technique of preventing memory corruption attacks such as buffer overflows. It involves placing data in randomly selected locations in memory in order to make...

Word Count : 1897

Data corruption

Last Update:

the information arriving in the systems memory is corrupted and can cause unpredictable results. Data corruption during transmission has a variety of causes...

Word Count : 2196

Code sanitizer

Last Update:

AddressSanitizer (or ASan) of 2012, which uses directly mapped shadow memory to detect memory corruption such as buffer overflows or accesses to a dangling pointer...

Word Count : 1432

Name mangling

Last Update:

this problem, and the result will usually be a crash or data- or memory corruption at runtime. Although name mangling is not generally required or used...

Word Count : 4794

Computer file

Last Update:

original on 2018-12-06. Retrieved 2019-03-17. "What Causes Flash Memory Corruption?". SecureDataRecovery. Archived from the original on 2020-07-28. Retrieved...

Word Count : 4424

Virtual machine escape

Last Update:

earlier CVE-2014-0983 Oracle VirtualBox 3D acceleration multiple memory corruption CVE-2015-3456 VENOM: buffer-overflow in QEMU's virtual floppy disk...

Word Count : 1018

Computer memory

Last Update:

terms RAM, main memory or primary storage. Archaic synonyms for main memory include core (for magnetic core memory) and store. Main memory operates at a...

Word Count : 3270

Binary Runtime Environment for Wireless

Last Update:

error) mdsptask.c (task error) oemheap3x.c (heap violation) memory.c (memory corruption) nvm.c (NVM check violation) srch_mdsp.c (index error) callheap...

Word Count : 2624

Corruption in India

Last Update:

Corruption in India is an issue which affects economy of central, state, and local government agencies. Corruption is blamed for stunting the economy of...

Word Count : 7725

Dynamic program analysis

Last Update:

Dynamic memory error debugger for C, C++, and Fortran applications that run on Windows and Linux. Purify: Mainly memory corruption detection and memory leak...

Word Count : 1074

Pwn2Own

Last Update:

Mac OS X. Nils hacked Firefox 3.6 on Windows 7 64-bit by using a memory corruption vulnerability and bypass ASLR and DEP, after which Mozilla patched...

Word Count : 7584

Interrupt handler

Last Update:

to the handler's side effect of memory corruption. If the stack is exceeded into a non-writable (or protected) memory area, the failure will usually occur...

Word Count : 1800

Privilege escalation

Last Update:

the running kernel, preventing privilege escalation attacks using memory corruption) Recent research has shown what can effectively provide protection...

Word Count : 2050

Windows Vista

Last Update:

Windows Defender scanned a specially crafted file, it would lead to memory corruption, potentially allowing an attacker to control the affected machine...

Word Count : 15657

Application domain

Last Update:

to be shared across domains, callbacks can be problematic, and any memory corruption bugs in one domain is likely to corrupt other domains. ".NET Framework...

Word Count : 471

Flash memory

Last Update:

Flash memory is an electronic non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash...

Word Count : 16848

PDF Search Engine © AllGlobal.net