Fine-Grained Address Space Layout Randomization on Program Load
- Авторлар: Nurmukhametov A.R.1, Zhabotinskiy E.A.1, Kurmangaleev S.F.1, Gaissaryan S.S.1, Vishnyakov A.V.1
-
Мекемелер:
- Ivannikov Institute for System Programming, Russian Academy of Sciences
- Шығарылым: Том 44, № 5 (2018)
- Беттер: 363-370
- Бөлім: Article
- URL: https://journals.rcsi.science/0361-7688/article/view/176669
- DOI: https://doi.org/10.1134/S0361768818050080
- ID: 176669
Дәйексөз келтіру
Аннотация
Software vulnerabilities are a serious security threat. It is important to develop protection mechanisms preventing their exploitation, especially with a rapid increase of ROP attacks. State of the art protection mechanisms 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, the executable and library files are supplemented with information about function boundaries and relocations. A system dynamic linker/loader uses this information to perform permutation of functions. The proposed method was implemented for 64-bit programs on CentOS 7 operating system. The implemented method has shown good resistance to ROP attacks evaluated by 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 no compatibility problems affecting the program performance. 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.
Негізгі сөздер
Авторлар туралы
A. Nurmukhametov
Ivannikov Institute for System Programming, Russian Academy of Sciences
Хат алмасуға жауапты Автор.
Email: oleshka@ispras.ru
Ресей, Moscow, 109004
E. Zhabotinskiy
Ivannikov Institute for System Programming, Russian Academy of Sciences
Хат алмасуға жауапты Автор.
Email: ezhabotinskiy@ispras.ru
Ресей, Moscow, 109004
Sh. Kurmangaleev
Ivannikov Institute for System Programming, Russian Academy of Sciences
Хат алмасуға жауапты Автор.
Email: kursh@ispras.ru
Ресей, Moscow, 109004
S. Gaissaryan
Ivannikov Institute for System Programming, Russian Academy of Sciences
Хат алмасуға жауапты Автор.
Email: ssg@ispras.ru
Ресей, Moscow, 109004
A. Vishnyakov
Ivannikov Institute for System Programming, Russian Academy of Sciences
Хат алмасуға жауапты Автор.
Email: vishnya@ispras.ru
Ресей, Moscow, 109004
Қосымша файлдар
