Dezvoltatorul Wireguard a accelerat semnificativ apelul getrandom() în Linux

Jason A. Donenfeld, autorul VPN WireGuard, a prezentat patch-uri care accelerează semnificativ obținerea numerelor aleatoare de la sistem prin funcția getrandom(), implementată prin intermediul apelului de sistem corespunzător din Linux. Avantajul acestei soluții în comparație cu utilizarea /dev/random sau /dev/urandom este rezistența la atacurile de epuizare a descriptorilor de fișiere, care pot duce la generarea de chei criptografice neinițializate și nesigure.

Optimizarea propusă se bazează pe utilizarea mecanismului vDSO (virtual dynamic shared object), care permite mutarea handler-ului apelului de sistem din nucleu în spațiul utilizatorului, evitând comutările de context. În cazul fucției getrandom(), implementarea apelului de sistem asociat este realizată sub formă de vDSO, codul fiind preîncărcat în spațiul de adresare al procesului direct de nucleu. Această abordare a permis accelerarea obținerii numerelor aleatoare în unele situații de până la 15 ori și mai mult.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster