AES-NI ee OpenSSL ama u wareejinta kernel: kee baad u baahan tahay?
Kala sooc taageerada tilmaamaha CPU iyo halka baakadaha lagu habeeyo: hubi backend-ka crypto, cipher-ka la isku afgartay iyo wadada firfircoon ka hor inta aadan hagaajin.
Laba calaamadood ayaa loo isticmaalaa sidii inay isku mid yihiin: hardware-ku dedejisay iyo kernel-ka loo wareejiyay. Mid waxa uu sharraxaa tilmaamaha ay fuliso AES routine ee maktabad, midka kalena waxa uu sharraxaa halka habaynta baakadaha ay dhacdo. VPN waxa uu yeelan karaa kan koowaad kan labaad la’aan, kan labaad kan koowaad la’aan, ama labadaba wada. Go’aam kasta oo ku saabsan waxqabadka waa in uu ku bilaabmaa magacaabista midka labada aad dhab ahaan beddelayso.
Laba dhidib, ma aha hal dhibco
Dhidibka koowaad waa hirgelinta: ma koodka sameeya AES-256-GCM ayaa loo diraa nooc isticmaala tilmaamaha gaarka ah ee processor-ka ama hawl-gal la qaadi karo oo u fulisa sida xisaab caadi ah. Doorashadan waxa ay ku nooshahay gudaha maktabadda crypto oo la sameeyaa marka ay bilaabato.
Dhidibka labaad waa meelaynta: ma baakaddu waxa ay maraa wadada beddelka kernel-ka ama daemon ku sugan meelaha isticmaalaha ayaa ka akhriya aaladda tunnel, oo qariya oo dib u qoraa.
Midna dhidib midka kale ma xaddido. VPN ku sugan meelaha isticmaalaha oo ku yaal CPU leh tilmaamaha AES ayaa isticmaali kara wakhti kasta, iyo wadada kernel-ka ee CPU aan lahayn waxa ay ku noqotaa hirgelinta software. Calaamadaha ku jira agabka iibiyayaashu marar dhif ah ma muujiyaan farqigan, taasina waa sababta talooyinka hagaajinta ee laga koobiyeeyay labada xaaladood ay inta badan waxba yeelan waayaan.
Dhidibka koowaad: kee kood ayaa qariya
OpenSSL waxa ay ogaataa sifooyinka processor-ka inta lagu jiro bilowga oo isticmaasha natiijada si ay u doorato wadooyin kood oo la hagaajiyay, sida dokumentiga awoodaha x86 ku sharraxayo. AES-NI waa mid ka mid ah awoodaha la diiwaangeliyay ee ka dambeeya diristaas. Midna wax ka mid ah tan ma dalbato in maktabaddu noqoto qayb kernel.
Xaqiiji in sifadu ay u muuqato hawsha ka hor inta aadan u malayn in wadada degdegga ah la isticmaalayo. Linux waxa isha laga helaa goobta flags ee /proc/cpuinfo, gudaha martidana waxa ay ka tarjumaysaa waxa hypervisor-ku soo bandhigo ee ma aha magaca qaabka martigeliyaha jireed.
grep -m1 '^flags' /proc/cpuinfo | grep -o '\baes\b'
openssl list -providers -verboseAmarka labaad waxa uu magacaabaa bixiyeyaasha lagu raray build-kaas. Ma kuu sheegayo maktabadda ay adeegga VPN ku xidhay, iyo hal martigeliye ayaa qaadi kara laba rakib oo OpenSSL ah halka hawsha socota ay isticmaalayso mid keliya.
Dhidibka labaad: halka wadada baakadaha ay socoto
Meelaynta kernel-ka waxa ay ka dhigan tahay in beddelku ku dhaco mishiinka IPsec ee kernel-ka laftiisa ama gudaha darawalka tunnel ee kernel-ka, sidaas darteed baakaduhu uma baahna safar tag iyo ku soo noqosho iyada oo loo marayo hawsha meelaha isticmaalaha koox kasta. Tan waxa ay yareyn kartaa koobiyada iyo isbeddelka macnaha, oo waxa ay ku fidin kartaa shaqada cores-ka si aan daemon hal xadhig ah u awoodin. Waxa kale oo ay u rartaa tiriyeyaasha iyo raadadka aad akhriyi doonto marka qulqulka hoos u dhaco, sababtoo ah shaqadu hadda waxa ay ka dhacdaa dhinaca kale ee xad aanad maamulin. U qaado kharashka debug-ka, ma aha oo kaliya go’aan waxqabad.
Ma abuurto taageerada tilmaamaha, ma habayso cipher, oo ma shaqeyso wado jirta.
Virtualisation waxa ay dhidibkan ku darsataa laab. Marti waxa la siin karaa qaab CPU oo la daboolay oo qariya sifooyinka martigeliyaha haysto, martida gudahana waxa ay arki kartaa wax ka yar. Akhri aragtida awoodaha gudaha deegaanka uu VPN dhab ahaan ku socdo, ma aha console-ka hypervisor.
Doorasho kastaa maxay iibsataa, iyo waxa aanay awoodin
Su’aasha waxqabadku waa halka waqtigu tagaa. Haddii hal xadhig mashquul ah, koobiyo buffer oo soo noqnoqda ama wicitaan nidaam baakad kasta ay xaddidaan qulqulka, u rarista beddelka wado ka saarta kharashkaas waxa ay caawin kartaa, haddii kernel-ku hirgeliyo beddelka aad u baahan tahay.
Haddii xadku yahay xidhiidh sare oo ciriiri ah, wado leh khasaare, waqti dheer oo tag iyo soo noqosho, adeeg goob ah oo buuxa ama hal xadhig oo ku dheggan hal core, meelayntu waxba muhiim ah ma beddesho. Isku mid ayaa khuseeya doorashada tilmaamaha: AES ku yaal hardware gaar ah ma hagaajin karo wado maqan oo ma caawin doono haddii tunnel-ku shaqayn waayo sababtoo ah xallinta magacyada ayaa guuldareysta.
Meelaha labaduba khuseeyaan, way isku darmaan. Wadada kernel-ku waxa ay isticmaali kartaa isla dirista heerka tilmaamaha gudaha API crypto ee kernel-ka, wadada meelaha isticmaalahana oo leh maktabad si wanaagsan loo doortay ayaa horey u isticmaalaysa. Go@APOS;aanku ma aha kee ayaa ka degdeg badan macne ahaan; waa kharashkee ayaad caddayn u haysataa.
Qor afarta xaqiiqo ka hor inta aadan wax beddelin
Qor binary-ga adeegga iyo maktabadda crypto ee uu ku xidhan yahay, sababtoo ah iyaga ayaa go@APOS;aamiya dhidibka koowaad. Kadib qor ilaalinta xogta la isku afgartay, sababtoo ah cipher aan lahayn wado tilmaame gaar ah ayaa si ka duwan u dhaqma kan leh, set-kana labada dhinac ayaa dooranaya.
Kadib, aragtida awoodaha gudaha deegaanka socda, ugu dambayntana wadada baakadaha firfircoon oo leh caddayn in qaabka aad u malaynayso in la daariyay uu dhab ahaan yahay. Module la raray ma aha caddayn in profile isticmaalayo, iyo sadarka habayntu ma aha caddayn in kernel-ku aqbalay.
Beddel hal shay, kadibna la barbardhig culeys shaqo joogto ah oo leh isla bartamaha iyo isla jihada wareejinta. Sheegashada xawaaraha aadan qiyaasin waxa ay ka qiimo yar tahay qoraal sheegaya in backend-ku waligiis shaki ku jirin.