VDSO - VDSO
![]() | tento článek potřebuje další citace pro ověření.Červen 2010) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
vDSO (virtuální dynamický sdílený objekt) je Linuxové jádro mechanismus pro export pečlivě vybrané sady prostor jádra rutiny uživatelský prostor aplikace tak, aby aplikace mohly tyto rutiny prostoru jádra volat v průběhu procesu, aniž by to mělo za následek výkonnostní a přepínač režimu z uživatelský režim na režim jádra to je inherentní při volání těchto stejných rutin prostoru jádra pomocí systémové volání rozhraní.[1][2]
vDSO používá standardní mechanismy pro propojení a načítání tj. standardní Spustitelný a propojitelný formát (ELF).[3][4] vDSO je oblast paměti přidělená v uživatelském prostoru, která odhaluje některé funkce jádra. vDSO je dynamicky přiděleno, nabízí vylepšenou bezpečnost prostřednictvím randomizace rozvržení adresního prostoru a podporuje více než 4 systémová volání. Nějaký C standardní knihovny, jako glibc, může poskytovat odkazy vDSO, takže pokud jádro nemá podporu vDSO, tradiční Syscall je vyrobeno.[5] vDSO pomáhá snížit režii volání na jednoduchých rutinách jádra a může také fungovat jako způsob výběru nejlepší metody volání systému u některých počítačové architektury jako IA-32.[6] Výhodou oproti jiným metodám je, že takové exportované rutiny mohou poskytovat správné TRPASLÍK (Debug With Attributed Record Format) debugging information. Implementace obecně předpokládá háčky v dynamickém linkeru k nalezení vDSO.
Vsyscall
vDSO byl vyvinut s cílem nabídnout vsyscall funkce při překonávání svých omezení: malé množství staticky přiděleno paměť, která umožňuje pouze 4 systémová volání a stejné adresy binární rozhraní aplikace (ABI) v každém procesu, což ohrožuje bezpečnost. Tento problém se zabezpečením byl zmírněn emulace virtuálního systémového volání, ale emulace zavádí další latenci.[5]
Reference
- ^ Enrico Perla; Massimiliano Oldani (16. prosince 2016). Hackování jádra: Exploits verstehen, schreiben und abwehren: Schwachstellen in Kernel-Architekturen erkennen und Gegenmaßnahmen ergreifen (v němčině). Franzis Verlag. str. 466–. ISBN 978-3-645-20503-0.
- ^ "vDSO - přehled virtuálního sdíleného objektu ELF". Kanonický. Citováno 10. prosince 2015.
- ^ „Vytvoření vDSO: plukovníkovo další kuře“. Linuxjournal.com. Citováno 16. února 2015.
- ^ „On vsyscalls and the vDSO“. Lwn.net. Citováno 16. února 2015.
- ^ A b „Odpověď komunity na otázku“ Co jsou vDSO a vsyscall?"". Citováno 19. listopadu 2016.
- ^ "Anatomie systémového volání, část 2". Lwn.net. Citováno 19. listopadu 2018.