Vývojář Wireguard výrazně zrychlil volání getrandom() v Linuxu

Jason Donenfeld, autor VPN WireGuard, představil patche, které výrazně zrychlují získávání náhodných čísel ze systému pomocí funkce getrandom(), implementované prostřednictvím příslušného systémového volání Linuxu. Výhodou takového řešení oproti použití /dev/random nebo /dev/urandom je odolnost vůči útokům na vyčerpání deskriptorů souborů, které mohou vést k neinicializovaným a nenáhodným kryptografickým klíčům.

Navrhovaná optimalizace je založena na využití mechanismu vDSO (virtual dynamic shared object), který umožňuje přesunout obsluhu systémového volání z jádra do prostoru uživatele a vyhnout se přepínání kontextu. V případě getrandom() je implementace souvisejícího systémového volání zabalena do vDSO, jejíž kód je předem načten do adresového prostoru procesu přímo jádrem. Takový přístup umožnil zrychlit získávání náhodných čísel v některých situacích až 15krát a více.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster