Abstract
In this paper memory violation detection method is considered. This method applied to program binaries, without requiring debug information. It allows to find such memory violations as out-of-bound read or writing in some buffer. The technique is based on dynamic analysis and symbolic execution. We present a tool implemented the method. We used this tool to find 11 bugs in both Linux and Windows programs, 7 of which were undocumented at the time this paper was written.
Highlights
In this paper memory violation detection method is considered. This method is applied to program binaries without requiring debug information
The technique is based on dynamic analysis and symbolic execution
Instead of representing input buffer as a symbolic variable of fixed size, we track only the prefix of buffer symbolically and a special symbolic variable that represents the length of input buffer
Summary
Важными практическими задачами в компьютерной безопасности является поиск ошибок в программном обеспечении (ПО). Обеспечение надёжности, конфиденциальности и доступности работающего программного обеспечения является актуальной задачей. Нарушать работу программного обеспечения могут различного рода ошибки. Зачастую нарушение доступа к памяти происходит из-за неправильного копирования данных, выделения и освобождения памяти. Для заданного набора входных данных фиксированного размера (далее эти входные данные обозначаются как префикс), подбираются значения префикса и значение длины этого префикса, при которых происходит нарушение работы с памятью. Предлагается особая обработка некоторых функций: ввод пользовательских данных, строковые функции, функции выделения и освобождения памяти. В третьем разделе описана общая схема работы программного инструмента, реализующего данный метод. В четвертом разделе рассказывается о деталях реализации этого инструмента. В пятом разделе представлены результаты применения данного метода. В последнем, седьмом, разделе анализируются результаты и обсуждаются дальнейшие направления исследований
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
More From: Proceedings of the Institute for System Programming of the RAS
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.