Fine-grained address space layout randomization on program load

Program vulnerabilities are a serious security threat. It is important to develop defenses preventing their exploitation, especially with a rapid increase of ROP attacks. State of the art defenses have some drawbacks that can be used by attackers. In this paper we propose fine-grained address space...

全面介绍

书目详细资料
发表在:Труды Института системного программирования РАН
Main Authors: A. R. Nurmukhametov, E. A. Zhabotinskiy, Sh. F. Kurmangaleev, S. S. Gaissaryan, A. V. Vishnyakov
格式: 文件
语言:英语
出版: Russian Academy of Sciences, Ivannikov Institute for System Programming 2018-10-01
主题:
在线阅读:https://ispranproceedings.elpub.ru/jour/article/view/424
_version_ 1848652022353494016
author A. R. Nurmukhametov
E. A. Zhabotinskiy
Sh. F. Kurmangaleev
S. S. Gaissaryan
A. V. Vishnyakov
author_facet A. R. Nurmukhametov
E. A. Zhabotinskiy
Sh. F. Kurmangaleev
S. S. Gaissaryan
A. V. Vishnyakov
author_sort A. R. Nurmukhametov
collection DOAJ
container_title Труды Института системного программирования РАН
description Program vulnerabilities are a serious security threat. It is important to develop defenses preventing their exploitation, especially with a rapid increase of ROP attacks. State of the art defenses have some drawbacks that can be used by attackers. In this paper we propose fine-grained address space layout randomization on program load that is able to protect from such kind of attacks. During the static linking stage executable and library files are supplemented with information about function boundaries and relocations. A system dynamic linker/loader uses this information to perform functions permutation. The proposed method was implemented for 64-bit programs on CentOS 7 operating system. The implemented method has shown good resistance to ROP attacks based on two metrics: the number of survived gadgets and the exploitability estimation of ROP chain examples. The implementation presented in this article is applicable across the entire operating system and has shown 1.5 % time overhead. The working capacity of proposed approach was demonstrated on real programs. The further research can cover forking randomization and finer granularity than on the function level. It also makes sense to implement the randomization of short functions placement, taking into account the relationships between them. The close arrangement of functions that often call each other can improve the performance of individual programs.
format Article
id doaj-dbcd722a328f4ffd89fc91b701f552e7
institution Directory of Open Access Journals
issn 2079-8156
2220-6426
language English
publishDate 2018-10-01
publisher Russian Academy of Sciences, Ivannikov Institute for System Programming
record_format Article
spelling doaj-dbcd722a328f4ffd89fc91b701f552e72025-11-02T23:36:41ZengRussian Academy of Sciences, Ivannikov Institute for System ProgrammingТруды Института системного программирования РАН2079-81562220-64262018-10-0129616318210.15514/ISPRAS-2017-29(6)-9424Fine-grained address space layout randomization on program loadA. R. Nurmukhametov0E. A. Zhabotinskiy1Sh. F. Kurmangaleev2S. S. Gaissaryan3A. V. Vishnyakov4Институт системного программирования им. В.П. Иванникова РАНИнститут системного программирования им. В.П. Иванникова РАНИнститут системного программирования им. В.П. Иванникова РАНИнститут системного программирования им. В.П. Иванникова РАН; МГУ имени М.В. Ломоносова, 2-й учебный корпус, факультет ВМК; Московский физико-технический институт; Национальный исследовательский университет «Высшая школа экономики»Институт системного программирования им. В.П. Иванникова РАНProgram vulnerabilities are a serious security threat. It is important to develop defenses preventing their exploitation, especially with a rapid increase of ROP attacks. State of the art defenses have some drawbacks that can be used by attackers. In this paper we propose fine-grained address space layout randomization on program load that is able to protect from such kind of attacks. During the static linking stage executable and library files are supplemented with information about function boundaries and relocations. A system dynamic linker/loader uses this information to perform functions permutation. The proposed method was implemented for 64-bit programs on CentOS 7 operating system. The implemented method has shown good resistance to ROP attacks based on two metrics: the number of survived gadgets and the exploitability estimation of ROP chain examples. The implementation presented in this article is applicable across the entire operating system and has shown 1.5 % time overhead. The working capacity of proposed approach was demonstrated on real programs. The further research can cover forking randomization and finer granularity than on the function level. It also makes sense to implement the randomization of short functions placement, taking into account the relationships between them. The close arrangement of functions that often call each other can improve the performance of individual programs.https://ispranproceedings.elpub.ru/jour/article/view/424рандомизация адресного пространствадиверсификацияaslrrop
spellingShingle A. R. Nurmukhametov
E. A. Zhabotinskiy
Sh. F. Kurmangaleev
S. S. Gaissaryan
A. V. Vishnyakov
Fine-grained address space layout randomization on program load
рандомизация адресного пространства
диверсификация
aslr
rop
title Fine-grained address space layout randomization on program load
title_full Fine-grained address space layout randomization on program load
title_fullStr Fine-grained address space layout randomization on program load
title_full_unstemmed Fine-grained address space layout randomization on program load
title_short Fine-grained address space layout randomization on program load
title_sort fine grained address space layout randomization on program load
topic рандомизация адресного пространства
диверсификация
aslr
rop
url https://ispranproceedings.elpub.ru/jour/article/view/424
work_keys_str_mv AT arnurmukhametov finegrainedaddressspacelayoutrandomizationonprogramload
AT eazhabotinskiy finegrainedaddressspacelayoutrandomizationonprogramload
AT shfkurmangaleev finegrainedaddressspacelayoutrandomizationonprogramload
AT ssgaissaryan finegrainedaddressspacelayoutrandomizationonprogramload
AT avvishnyakov finegrainedaddressspacelayoutrandomizationonprogramload