Ib txoj kev tawm tsam tau raug npaj los txiav txim siab qee qhov cim xeeb ntawm lub server

Ib pawg ntawm cov kws tshawb fawb los ntawm Technical University of Graz (Austria), yav dhau los paub txog kev tsim MDS, NetSpectre, Throwhammer thiab ZombieLoad tawm tsam, tau tshaj tawm txoj kev tawm tsam sab nraud (CVE-2021-3714) tawm tsam Memory-Deduplication mechanism. , uas tso cai rau txiav txim siab muaj nyob rau hauv lub cim xeeb ntawm qee cov ntaub ntawv, teeb tsa lub byte-by-byte xau ntawm cov ntsiab lus nco, lossis txiav txim siab lub cim xeeb layout los hla qhov chaw nyob raws li kev tiv thaiv (ASLR) kev tiv thaiv. Txoj kev tshiab txawv ntawm yav dhau los ua qauv qhia txawv ntawm kev tawm tsam ntawm kev tawm tsam los ntawm kev tawm tsam los ntawm tus tswv tsev sab nraud siv raws li qhov kev hloov pauv lub sijhawm teb rau kev thov xa mus rau tus neeg tawm tsam ntawm HTTP / 1 thiab HTTP / 2 raws tu qauv. Lub peev xwm los ua tiav qhov kev tawm tsam tau tshwm sim rau cov servers raws li Linux thiab Windows.

Kev tawm tsam ntawm lub cim xeeb deduplication mechanism siv qhov sib txawv ntawm lub sijhawm ua haujlwm ntawm kev sau ntawv ua cov channel kom xau cov ntaub ntawv hauv cov xwm txheej uas muaj kev hloov pauv hauv cov ntaub ntawv ua rau lub cloning ntawm nplooj ntawv deduplicated nco siv Copy-On-Sau (COW) mechanism. . Thaum lub sijhawm ua haujlwm, lub kernel pom cov nplooj ntawv cim xeeb zoo ib yam los ntawm cov txheej txheem sib txawv thiab sib koom ua ke, kos cov nplooj ntawv cim xeeb zoo ib yam rau hauv ib cheeb tsam ntawm lub cev nco kom khaws ib daim ntawv xwb. Thaum ib qho ntawm cov txheej txheem sim hloov cov ntaub ntawv cuam tshuam nrog cov nplooj ntawv deduplicated, qhov kev zam (nplooj txhaum) tshwm sim thiab, siv cov txheej txheem Copy-On-Sau, cais daim ntawv ntawm nplooj ntawv nco tau raug tsim, uas tau muab rau cov txheej txheem. Lub sij hawm ntxiv yog siv ua kom tiav daim ntawv theej, uas tej zaum yuav yog ib qho kev qhia ntawm cov ntaub ntawv hloov pauv cuam tshuam nrog lwm cov txheej txheem.

Cov kws tshawb fawb tau pom tias qhov kev ncua uas tshwm sim los ntawm COW mechanism tuaj yeem ntes tsis tau tsuas yog hauv zos, tab sis kuj los ntawm kev txheeb xyuas cov kev hloov pauv hauv cov lus teb lub sij hawm xa tuaj hauv lub network. Ntau txoj hauv kev tau raug npaj los txiav txim siab cov ntsiab lus ntawm lub cim xeeb los ntawm cov chaw taws teeb tswj los ntawm kev txheeb xyuas lub sijhawm ua tiav ntawm kev thov dhau HTTP / 1 thiab HTTP / 2 raws tu qauv. Txhawm rau txuag cov templates xaiv, cov ntawv thov web txheem yog siv los khaws cov ntaub ntawv tau txais hauv kev thov hauv nco.

Lub hauv paus ntsiab lus dav dav ntawm qhov kev tawm tsam npau taws kom sau cov nplooj ntawv nco ntawm lub server nrog cov ntaub ntawv uas muaj peev xwm rov ua dua cov ntsiab lus ntawm nplooj ntawv nco uas twb muaj lawm ntawm lub server. Tus neeg tawm tsam tom qab ntawd tos lub sijhawm xav tau rau cov ntsiav kom deduplicate thiab sib koom ua ke ntawm nplooj ntawv nco, tom qab ntawd hloov kho cov ntaub ntawv tswj hwm thiab tshuaj xyuas lub sijhawm teb los txiav txim siab seb qhov ntaus puas ua tiav.

Ib txoj kev tawm tsam tau raug npaj los txiav txim siab qee qhov cim xeeb ntawm lub server

Thaum lub sij hawm kev sim, qhov siab tshaj plaws cov ntaub ntawv xau tus nqi yog 34.41 bytes ib teev thaum tawm tsam los ntawm lub ntiaj teb no network thiab 302.16 bytes ib teev thaum tawm tsam los ntawm ib lub zos network, uas yog ceev tshaj li lwm txoj kev ntawm extracting cov ntaub ntawv los ntawm peb-tog channel (piv txwv li, hauv NetSpectre nres, cov ntaub ntawv hloov pauv tus nqi yog 7.5 bytes ntawm ib teev).

Peb txoj kev tawm tsam ua haujlwm tau raug npaj. Thawj qhov kev xaiv tso cai rau koj los txiav txim siab cov ntaub ntawv hauv lub cim xeeb ntawm lub vev xaib server uas siv Memcached. Qhov kev tawm tsam npau taws mus rau kev thauj khoom qee yam ntawm cov ntaub ntawv mus rau hauv Memcached cia, tshem tawm cov blocks deduplicated, rov sau tib lub ntsiab lus thiab tsim ib qho xwm txheej rau COW luam tawm los ntawm kev hloov cov ntsiab lus ntawm lub block. Thaum lub sijhawm sim nrog Memcached, nws tuaj yeem txiav txim siab hauv 166.51 vib nas this ntawm libc tau nruab rau ntawm lub kaw lus khiav hauv lub tshuab virtual.

Qhov kev xaiv thib ob ua rau nws muaj peev xwm nrhiav tau cov ntsiab lus ntawm cov ntaub ntawv hauv MariaDB DBMS, thaum siv InnoDB cia, los ntawm kev tsim cov ntsiab lus byte byte. Kev tawm tsam yog ua los ntawm kev xa cov lus thov hloov tshwj xeeb, ua rau ib leeg-byte tsis sib haum xeeb hauv nplooj ntawv nco thiab tshuaj xyuas lub sijhawm teb los txiav txim siab tias qhov kev kwv yees txog cov ntsiab lus ntawm byte yog qhov tseeb. Tus nqi ntawm qhov xau no tsawg thiab muaj li 1.5 bytes ib teev thaum tawm tsam los ntawm lub network hauv zos. Qhov zoo ntawm txoj kev yog tias nws tuaj yeem siv los rov qab tsis paub cov ntsiab lus nco.

Qhov kev xaiv thib peb ua rau nws muaj peev xwm hla dhau KASLR kev tiv thaiv mechanism hauv 4 feeb thiab tau txais cov ntaub ntawv hais txog lub cim xeeb offset ntawm lub tshuab virtual kernel duab, nyob rau hauv qhov xwm txheej uas qhov chaw nyob offset nyob hauv nplooj ntawv nco uas lwm cov ntaub ntawv tsis hloov. Qhov kev tawm tsam tau ua los ntawm tus tswv tsev nyob 14 hops los ntawm kev tawm tsam. Code piv txwv rau kev siv cov kev tawm tsam tawm tsam tau cog lus tias yuav luam tawm ntawm GitHub.

Tau qhov twg los: opennet.ru

Ntxiv ib saib