Ջեյսון Դոնենֆիլդը (Jason A. Donenfeld), VPN WireGuard-ի հեղինակ, ներկայացրել է փաթեթներ, որոնք զգալիորեն արագացնում են պատահական թվերի ստացումն համակարգից getrandom() ֆունկցիայի միջոցով, որն իրականացնում է համապատասխան համակարգային զանգվածը Linux-ին։ Այս լուծման առավելությունը համեմատած /dev/random կամ /dev/urandom օգտագործելու հետ այն է, որ այն չի ենթարկվում ֆայլի նկարիչների սպառման հարձակումներին, որոնք կարող են հանգեցնել չինտեսված և ոչ պատահական կրիպտոգրաֆիկ բանալիների։
Առաջարկված օպտիմացումը հիմնված է vDSO (virtual dynamic shared object) մեխանիզմի օգտագործման վրա, որն ընձեռում է հնարավորություն տեղափոխել համակարգային զանգվածի մշակումը kernel-ից օգտագործողների տարածք և խուսափել համընդհանուր փոփոխություններից։ getrandom() ֆունկցիայի դեպքում, vDSO-ի տեսքով է ձևակերպված տվյալ ֆունկցիայի հետ կապված համակարգային զանգվածի իրականացումը, որի կոդը նախապես լցվում է գործընթացի հասցեի տարածք ուղիղ kernel-ի կողմից։ Այս մոտեցումը որոշ իրավիճակներում արագացնում է պատահական թվերի ստացումը 15 անգամ և ավելի։
Ընտանիք: opennet.ru
