RU2015150173A - Системы и способы проверки адреса возврата процедуры - Google Patents

Системы и способы проверки адреса возврата процедуры

Info

Publication number
RU2015150173A
RU2015150173A RU2015150173A RU2015150173A RU2015150173A RU 2015150173 A RU2015150173 A RU 2015150173A RU 2015150173 A RU2015150173 A RU 2015150173A RU 2015150173 A RU2015150173 A RU 2015150173A RU 2015150173 A RU2015150173 A RU 2015150173A
Authority
RU
Grant status
Application
Patent type
Application number
RU2015150173A
Other languages
English (en)
Other versions
RU2628163C2 (ru )
Inventor
Гидеон ГЕРЦОН
Джаред В. СТАРК
Гал ДИСКИН
Original Assignee
Интел Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow

Claims (39)

1. Процессорная система, содержащая:
указатель стека для указания на первый адрес возврата, хранящийся в стеке;
указатель буфера адреса возврата для указания на второй адрес возврата, хранящийся в буфере адреса возврата; и
логическое устройство проверки адреса возврата для сравнения первого адреса возврата со вторым адресом возврата в ответ на прием команды возврата.
2. Процессорная система по п. 1, в которой логическое устройство проверки адреса возврата дополнительно выполнено с возможностью исполнения команды возврата в ответ на определение, что первый адрес возврата эквивалентен второму адресу возврата.
3. Процессорная система по п. 1, в которой логическое устройство проверки адреса возврата дополнительно выполнено с возможностью генерирования исключения из-за ошибки стека в ответ на определение, что первый адрес возврата отличается от второго адреса возврата.
4. Процессорная система по п. 1, в которой логическое устройство проверки адреса дополнительно выполнено с возможностью сохранения адреса возврата в стеке и в буфере адреса возврата в ответ на прием команды вызова.
5. Процессорная система по п. 1, в которой логическое устройство проверки адреса возврата дополнительно выполнено с возможностью исполнения, в ответ на прием команды модификации буфера адреса возврата, по меньшей мере одного действия из: сохранения адреса возврата в буфере адреса возврата или удаления адреса возврата из буфера адреса возврата.
6. Процессорная система по п. 5, в которой команда модификации буфера адреса возврата является привилегированной командой.
7. Процессорная система по п. 1, в которой логическое устройство проверки адреса возврата в процессорной системе дополнительно выполнено с возможностью исполнения, в ответ на прием команды модификации буфера адреса возврата, по меньшей мере одного действия из: увеличения указателя буфера адреса возврата или уменьшения указателя буфера адреса возврата.
8. Процессорная система по любому из п. 7, в которой команда модификации буфера адреса возврата является привилегированной командой.
9. Процессорная система по п. 1, в которой стек является резидентным в запоминающем устройстве, соединенном с возможностью связи с процессорной системой.
10. Процессорная система по любому из пп. 1-7, в которой буфер адреса возврата является по меньшей мере частично резидентным в запоминающем устройстве, встроенном в процессорную систему.
11. Процессорная система по п. 1, в которой буфер адреса возврата содержит первую часть, резидентную в запоминающем устройстве в составе процессорной системы, и вторую часть, резидентную во внешней памяти.
12. Процессорная система по п. 11, в которой внешнее запоминающее устройство реализовано посредством постоянного запоминающего устройства.
13. Процессорная система по п. 11, в которой вторая часть буфера адреса возврата выполнена с возможностью работы в качестве буфера переполнения относительно первой части.
14. Способ, содержащий этапы, на которых:
осуществляют модификацию, посредством процессорной системы, указателя стека;
осуществляют модификацию указателя буфера адреса возврата;
принимают команду возврата;
сравнивают первый адрес возврата, на который указывает указатель стека, со вторым адресом возврата, на который указывает указатель буфера адреса возврата; и
выполняют команду возврата в ответ на определение, что первый адрес возврата эквивалентен второму адресу возврата.
15. Способ по п. 14, дополнительно содержащий этап, на котором генерируют исключение ошибки стека в ответ на определение, что первый адрес возврата отличается от второго адреса возврата.
16. Способ по п. 14, дополнительно содержащий этап, на котором сохраняют адрес возврата в стеке и в буфере адреса возврата в ответ на прием команды вызова.
17. Способ по п. 14, дополнительно содержащий этапы, на которых:
принимают команду модификации буфера адреса возврата; и
выполняют по меньшей мере одно действие из: сохранения адреса возврата в буфере адреса возврата или удаления адреса возврата из буфера адреса возврата.
18. Способ по п. 14, дополнительно содержащий этапы, на которых:
инициируют указатель буфера адреса возврата, так что он указывает позицию во внутреннем буфере адреса возврата;
модифицируют указатель буфера адреса возврата;
определяют, достигнута ли граница внутреннего буфера адреса возврата; и
направляют указатель буфера адреса возврата в позицию во внешнем буфере адреса возврата.
19. Машиночитаемый энергонезависимый носитель информации, хранящий исполняемые команды, вызывающие при их исполнении процессорной системой, выполнение операций, содержащих этапы, на которых:
осуществляют модификацию указателя стека;
осуществляют модификацию указателя буфера адреса возврата;
принимают команду возврата;
сравнивают первый адрес возврата, на который указывает указатель стека, со вторым адресом возврата, на который указывает указатель буфера адреса возврата; и
выполняют команды возврата в ответ на определение, что первый адрес возврата эквивалентен второму адресу возврата.
20. Машиночитаемый энергонезависимый носитель информации по п. 19, дополнительно содержащий исполняемые команды, вызывающие при их исполнении компьютерной системой, выполнение этапа, на котором генерируют исключение ошибки стека в ответ на определение, что первый адрес возврата отличается от второго адреса возврата.
RU2015150173A 2013-06-23 2014-05-30 Системы и способы проверки адреса возврата процедуры RU2628163C2 (ru)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13924591 US9015835B2 (en) 2013-06-23 2013-06-23 Systems and methods for procedure return address verification
US13/924,591 2013-06-23
PCT/US2014/040223 WO2014209541A1 (en) 2013-06-23 2014-05-30 Systems and methods for procedure return address verification

Publications (2)

Publication Number Publication Date
RU2015150173A true true RU2015150173A (ru) 2017-05-26
RU2628163C2 RU2628163C2 (ru) 2017-08-15

Family

ID=52112154

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015150173A RU2628163C2 (ru) 2013-06-23 2014-05-30 Системы и способы проверки адреса возврата процедуры

Country Status (5)

Country Link
US (1) US9015835B2 (ru)
EP (1) EP3014461A4 (ru)
CN (1) CN105264513B (ru)
RU (1) RU2628163C2 (ru)
WO (1) WO2014209541A1 (ru)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9589133B2 (en) * 2014-08-08 2017-03-07 International Business Machines Corporation Preventing return-oriented programming exploits
US9767272B2 (en) * 2014-10-20 2017-09-19 Intel Corporation Attack Protection for valid gadget control transfers
US9646154B2 (en) * 2014-12-12 2017-05-09 Microsoft Technology Licensing, Llc Return oriented programming (ROP) attack protection
US9965619B2 (en) * 2015-07-13 2018-05-08 Intel Corporation Return address overflow buffer

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604877A (en) * 1994-01-04 1997-02-18 Intel Corporation Method and apparatus for resolving return from subroutine instructions in a computer processor
US5964868A (en) * 1996-05-15 1999-10-12 Intel Corporation Method and apparatus for implementing a speculative return stack buffer
US5850543A (en) * 1996-10-30 1998-12-15 Texas Instruments Incorporated Microprocessor with speculative instruction pipelining storing a speculative register value within branch target buffer for use in speculatively executing instructions after a return
DE19701166A1 (de) * 1997-01-15 1998-07-23 Siemens Ag Verfahren zur Überwachung der bestimmungsgemäßen Ausführung von Softwareprogrammen
US7086088B2 (en) 2002-05-15 2006-08-01 Nokia, Inc. Preventing stack buffer overflow attacks
JP3856737B2 (ja) * 2002-07-19 2006-12-13 株式会社ルネサステクノロジ データ処理装置
US20040049666A1 (en) 2002-09-11 2004-03-11 Annavaram Murali M. Method and apparatus for variable pop hardware return address stack
US6996677B2 (en) 2002-11-25 2006-02-07 Nortel Networks Limited Method and apparatus for protecting memory stacks
US20040168078A1 (en) 2002-12-04 2004-08-26 Brodley Carla E. Apparatus, system and method for protecting function return address
US7287283B1 (en) * 2003-09-25 2007-10-23 Symantec Corporation Return-to-LIBC attack blocking system and method
US20050138263A1 (en) * 2003-12-23 2005-06-23 Mckeen Francis X. Method and apparatus to retain system control when a buffer overflow attack occurs
US20080148399A1 (en) 2006-10-18 2008-06-19 Microsoft Corporation Protection against stack buffer overrun exploitation
CN101241464B (en) * 2007-02-05 2010-08-18 Zte Corp Method for checking stack frame destruction
JP2008299795A (ja) * 2007-06-04 2008-12-11 Nec Electronics Corp 分岐予測制御装置及びその方法

Also Published As

Publication number Publication date Type
RU2628163C2 (ru) 2017-08-15 grant
US9015835B2 (en) 2015-04-21 grant
WO2014209541A1 (en) 2014-12-31 application
CN105264513A (zh) 2016-01-20 application
US20140380468A1 (en) 2014-12-25 application
EP3014461A1 (en) 2016-05-04 application
EP3014461A4 (en) 2017-03-01 application
CN105264513B (zh) 2018-01-23 grant

Similar Documents

Publication Publication Date Title
RU2015128342A (ru) Звукопоглотитель
RU2015128357A (ru) Звукопоглотитель
RU2015128354A (ru) Звукопоглотитель
RU2015143131A (ru) Элемент подвески и способ его изготовления
RU2015156691A (ru) Способ и система базы данных для нахождения документов
RU2014137833A (ru) Кусочки хрустящей гранолы и получаемые из них продукты
RU2015151694A (ru) Футляр
RU2015122713A (ru) Тонкая ito-пленка и терминальное устройство
RU2015154721A (ru) КОМПОЗИЦИИ НА ОСНОВЕ RNAi SERPINA1 И СПОСОБЫ ИХ ПРИМЕНЕНИЯ
RU2015135598A (ru) Дозирующее устройство
RU2015143475A (ru) Продукт и способ лечения диареи
RU2016120161A (ru) Системы и способы увеличения выработки витамина d3
RU2015143560A (ru) Устройство и способ определения показателей жизненно важных функций пациента
RU2016131393A (ru) Однонаправленный элемент жесткости и способ
RU2016101808A (ru) Фотолюминесцентные задний откидной борт и подножка
RU2016107786A (ru) Спиртовые композиции и способ их получения
RU2015146203A (ru) Способ и система центрирования при помощи гпи
RU2015130482A (ru) Mg53 мутант, способы его мутации и применение
RU2016103224A (ru) Композиции забеливателей и их применение
RU2015127361A (ru) Способ и система планирования горизонтальных скважин в пределах неровных границ
RU2016107586A (ru) Система вентиляции смазки
RU2015136862A (ru) Подложка для защиты бумаг и способ ее изготовления
RU2015139728A (ru) Обнаружение пространственной близости
RU2016138673A (ru) Система и способ проверки дорожных поверхностей
RU2015138764A (ru) Лёгкая система вооружения