Anders Moller and Michael I. Schwartzbach.Static Program Analysis. — Department of Computer Science, Aarhus University, 2015. — Травень.
berkeley.edu
inst.eecs.berkeley.edu
Dawn Song.Memory safety — Attacks and Defenses. — Berkeley CS161 Computer Security, 2015. — Весна. / «In fact, after configuration errors, implementation errors are probably the largest single class of security errors exploited in practice.»
Dawn Song.Memory safety — Attacks and Defenses. — Berkeley CS161 Computer Security, 2015. — Весна. / «… preventing attackers from reading or writing to memory locations other than those intended by the programmer.»
Bruce Eckel. Thinking in Java. Fourth Edition. / «Both arrays and containers guarantee that you can't abuse them. Whether you're using an array or a container, you'll get a RuntimeException if you exceed the bounds, indicating a programmer error.»
comp.lang.c. Question 5.1. Архів оригіналу за 27 вересня 2016. Процитовано 24 листопада 2016. / «The language definition states that for each pointer type, there is a special value …»
cppreference.com
en.cppreference.com
operator new, operator new[]. Архів оригіналу за 29 березня 2018. Процитовано 25 листопада 2016. / «throws std::bad_alloc or another exception derived from std::bad_alloc (since C++11) on failure to allocate memory»
devx.com
Danny Kalev (5 вересня 2000). Understanding Stack Overflow. Архів оригіналу за 5 жовтня 2012. Процитовано 25 листопада 2016. / «The two most common causes for a stack overflow …»
dwheeler.com
David A. Wheeler. Secure Programming HOWTO. — Published v3.72, 2015. / «Buffer overflows are an extremely common and dangerous security flaw …»
Richard Jones and Paul Kelly.Bounds Checking for C. — Imperial College, 1995. — Липень. / «One response to this analysis is to discard C, since this lack of efficient checkability is responsible for many software failures.»
ieee.org
ieeexplore.ieee.org
Laszlo Szekeres, Mathias Payer, Dawn Song.SoK: Eternal War in Memory. — 2013 IEEE Symposium on Security and Privacy, 2013. / «Memory corruption bugs in software written in low-level languages like C or C++ are one of the oldest problems in computer security.»
Laszlo Szekeres, Mathias Payer, Dawn Song.SoK: Eternal War in Memory. — 2013 IEEE Symposium on Security and Privacy, 2013. / «This problem has existed for more than 30 years …»
Laszlo Szekeres, Mathias Payer, Dawn Song.SoK: Eternal War in Memory. — 2013 IEEE Symposium on Security and Privacy, 2013. / «Applications written in low-level languages like C or C++ are prone to these kinds of bugs. The lack of memory safety … enables attackers to exploit memory bugs by maliciously altering the program's behavior or even taking full control over the control-flow.»
Laszlo Szekeres, Mathias Payer, Dawn Song.SoK: Eternal War in Memory. — 2013 IEEE Symposium on Security and Privacy, 2013. / «… in finding the balance betweeneffectiveness(security)andefficiency.»
Laszlo Szekeres, Mathias Payer, Dawn Song.SoK: Eternal War in Memory. — 2013 IEEE Symposium on Security and Privacy, 2013.
indiana.edu
homes.soic.indiana.edu
Yan Huang. Heap Overflows and Double-Free Attacks(PDF). Архів оригіналу(PDF) за 17 квітня 2018. Процитовано 24 листопада 2016. / «If free(p) has already been called before, undefined behavior occurs.»
Memory Management. Архів оригіналу за 10 вересня 2018. Процитовано 25 листопада 2016. / «The C++ operators new and delete guarantee proper construction and destruction … The C-style functions … don't ensure that.»
linuxdevcenter.com
Mulyadi Santosa (11/30/2006). When Linux Runs Out of Memory. Архів оригіналу за 14 квітня 2018. Процитовано 15 листопада 2016. / «… you can no longer allocate more memory and the kernel kills a task (usually the current running one).»
llvm.org
Dinakar Dhurjati and Vikram Adve.Backwards-Compatible Array Bounds Checking for C with Very Low Overhead. — Department of Computer Science University of Illinois at Urbana-Champaign. / «… an unsolved problem despite a long history of work on detecting array bounds violations or buffer overruns, because the best existing solutions to date are either far too expensive for use in deployed production code …»
Microsoft Developer Network. Интеллектуальные указатели (современный C++). Архів оригіналу за 5 грудня 2017. Процитовано 25 листопада 2016. / «Они чрезвычайно важны для идиомы программирования RAII или Resource Acquisition Is Initialialization …»
learn.microsoft.com
malloc. learn.microsoft.com(амер.). 7 лютого 2023. Процитовано 8 березня 2024.
minsk.by
nestor.minsk.by
Компьютерная газета. Ссылка в никуда, или сломанный указатель. Архів оригіналу за 22 червня 2018. Процитовано 24 листопада 2016. / «… уязвимости, к которым может привести неправильное использование указателей и ссылок.»
Common Weakness Enumeration (08 грудня 2015). CWE-126: Buffer Over-read. Архів оригіналу за 27 вересня 2016. Процитовано 24 листопада 2016. / «This typically occurs when the pointer or its index is incremented to a position beyond the bounds of the buffer …»
Common Weakness Enumeration (08 грудня 2015). CWE-416: Use After Free. Архів оригіналу за 18 липня 2019. Процитовано 24 листопада 2016. / «Referencing memory after it has been freed can cause a program to crash, use unexpected values, or execute code.»
Common Weakness Enumeration (08 грудня 2015). CWE-415: Double Free. Архів оригіналу за 27 вересня 2016. Процитовано 24 листопада 2016. / «When a program calls free() twice with the same argument …»
Common Weakness Enumeration (08 грудня 2015). CWE-457: Use of Uninitialized Variable. Архів оригіналу за 2 жовтня 2016. Процитовано 25 листопада 2016. / «An attacker can sometimes control or read these contents.»
Common Weakness Enumeration (08 грудня 2015). CWE-252: Unchecked Return Value. Архів оригіналу за 18 липня 2019. Процитовано 25 листопада 2016. / «The software does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.»
OWASP. Memory leak. Архів оригіналу за 23 листопада 2016. Процитовано 25 листопада 2016.
rhul.ac.uk
isg.rhul.ac.uk
Victor van der Veen, Nitish dutt-Sharma, Lorenzo Cavallaro, Herbert Bos.Memory Errors: The Past, the Present, and the Future. — RAID’12; Amsterdam, The Netherlands, . / «… and still rank among the top 3 most dangerous software errors.»
Victor van der Veen, Nitish dutt-Sharma, Lorenzo Cavallaro, Herbert Bos.Memory Errors: The Past, the Present, and the Future. — RAID’12; Amsterdam, The Netherlands, . / «Memory errors were first publicly discussed in 1972 by the Computer Security Technology Planning Study Panel.»
Victor van der Veen, Nitish dutt-Sharma, Lorenzo Cavallaro, Herbert Bos.Memory Errors: The Past, the Present, and the Future. — RAID’12; Amsterdam, The Netherlands, . / «The Internet Worm exploited a number of vulnerabilities, including memory error-related ones.»
Semantic Designs. Memory Safety analysis with CheckPointer. Архів оригіналу за 18 квітня 2018. Процитовано 25 листопада 2016. / «Programs with pointers can commit a variety of errors in accessing memory …»
David Kieras.Using C++11’s Smart Pointers. — EECS Department, University of Michigan, 2016. — Червень. / «Smart pointers are class objects that behave like built-in pointers but also manage objects that you create …»
Edsger W. Dijkstra.Why numbering should start at zero (EWD 831). — Plataanstraat 5, 5671 AL NUENEN, The Netherlands, . / «… the use of the other three conventions has been a constant source of clumsiness and mistakes …»
uwm.edu
cs.uwm.edu
John Boyland.Position Paper: Handling „Out Of Memory“ Errors. — University of Wisconsin-Milwaukee, USA. Архівовано з джерела 22 березня 2016. Процитовано 2018-04-10. [Архівовано 2016-03-22 у Wayback Machine.] / «An „out of memory“ error can be catastrophic for a program, especially one written in a language such as Java that uses memory allocation frequently.»
Common Weakness Enumeration (08 грудня 2015). CWE-126: Buffer Over-read. Архів оригіналу за 27 вересня 2016. Процитовано 24 листопада 2016. / «This typically occurs when the pointer or its index is incremented to a position beyond the bounds of the buffer …»
Компьютерная газета. Ссылка в никуда, или сломанный указатель. Архів оригіналу за 22 червня 2018. Процитовано 24 листопада 2016. / «… уязвимости, к которым может привести неправильное использование указателей и ссылок.»
Common Weakness Enumeration (08 грудня 2015). CWE-416: Use After Free. Архів оригіналу за 18 липня 2019. Процитовано 24 листопада 2016. / «Referencing memory after it has been freed can cause a program to crash, use unexpected values, or execute code.»
comp.lang.c. Question 5.1. Архів оригіналу за 27 вересня 2016. Процитовано 24 листопада 2016. / «The language definition states that for each pointer type, there is a special value …»
Common Weakness Enumeration (08 грудня 2015). CWE-415: Double Free. Архів оригіналу за 27 вересня 2016. Процитовано 24 листопада 2016. / «When a program calls free() twice with the same argument …»
Yan Huang. Heap Overflows and Double-Free Attacks(PDF). Архів оригіналу(PDF) за 17 квітня 2018. Процитовано 24 листопада 2016. / «If free(p) has already been called before, undefined behavior occurs.»
Memory Management. Архів оригіналу за 10 вересня 2018. Процитовано 25 листопада 2016. / «The C++ operators new and delete guarantee proper construction and destruction … The C-style functions … don't ensure that.»
OWASP. Memory leak. Архів оригіналу за 23 листопада 2016. Процитовано 25 листопада 2016.
Common Weakness Enumeration (08 грудня 2015). CWE-457: Use of Uninitialized Variable. Архів оригіналу за 2 жовтня 2016. Процитовано 25 листопада 2016. / «An attacker can sometimes control or read these contents.»
John Boyland.Position Paper: Handling „Out Of Memory“ Errors. — University of Wisconsin-Milwaukee, USA. Архівовано з джерела 22 березня 2016. Процитовано 2018-04-10. [Архівовано 2016-03-22 у Wayback Machine.] / «An „out of memory“ error can be catastrophic for a program, especially one written in a language such as Java that uses memory allocation frequently.»
Mulyadi Santosa (11/30/2006). When Linux Runs Out of Memory. Архів оригіналу за 14 квітня 2018. Процитовано 15 листопада 2016. / «… you can no longer allocate more memory and the kernel kills a task (usually the current running one).»
Semantic Designs. Memory Safety analysis with CheckPointer. Архів оригіналу за 18 квітня 2018. Процитовано 25 листопада 2016. / «Programs with pointers can commit a variety of errors in accessing memory …»
Microsoft Developer Network. Интеллектуальные указатели (современный C++). Архів оригіналу за 5 грудня 2017. Процитовано 25 листопада 2016. / «Они чрезвычайно важны для идиомы программирования RAII или Resource Acquisition Is Initialialization …»
Common Weakness Enumeration (08 грудня 2015). CWE-252: Unchecked Return Value. Архів оригіналу за 18 липня 2019. Процитовано 25 листопада 2016. / «The software does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.»
operator new, operator new[]. Архів оригіналу за 29 березня 2018. Процитовано 25 листопада 2016. / «throws std::bad_alloc or another exception derived from std::bad_alloc (since C++11) on failure to allocate memory»
Danny Kalev (5 вересня 2000). Understanding Stack Overflow. Архів оригіналу за 5 жовтня 2012. Процитовано 25 листопада 2016. / «The two most common causes for a stack overflow …»