થોડા દિવસો પહેલા એ Google સુરક્ષા ટીમ સંશોધક, પ્રકાશિત જે સમાચાર મને મળ્યા છે નબળાઈ (પહેલેથી CVE-2023-20593 હેઠળ સૂચિબદ્ધ) AMD પ્રોસેસરો પર Zen2 માઇક્રોઆર્કિટેક્ચર પર આધારિત છે જેનો ઉપયોગ રજિસ્ટર શોધવા માટે થઈ શકે છે જ્યારે અન્ય પ્રક્રિયાઓ સમાન CPU કોર પર ચાલી રહી હોય.
આ નબળાઈ મહત્વપૂર્ણ માનવામાં આવે છે, ત્યારથી હુમલો વર્ચ્યુઅલ મશીનો અને અલગ વાતાવરણમાંથી કરી શકાય છે. સારમાં, આ મુદ્દો ક્લાસિક ઉપયોગ-આફ્ટર-ફ્રી નબળાઈઓ જેવો દેખાય છે જે મેમરીને મુક્ત કર્યા પછી એક્સેસ કરવાને કારણે થાય છે.
સાથે સમસ્યા થાય છે AMD Ryzen 3000, Ryzen PRO 3000, Ryzen Threadripper 3000, Radeon ગ્રાફિક્સ સાથે Ryzen 4000, Ryzen PRO 4000, Radeon ગ્રાફિક્સ સાથે Ryzen 5000, Radeon ગ્રાફિક્સ સાથે Ryzen 7020 અને પ્રોસેસરોની શ્રેણી EPYC 7002.
નબળાઈ વિશે, તેનો ઉલ્લેખ કરવામાં આવ્યો છે કારણ કે પ્રોસેસર્સમાં, રજિસ્ટરની સામગ્રીને સંગ્રહિત કરવા માટે, એક રજિસ્ટર ફાઇલ (RF, રજિસ્ટર ફાઇલ) નો ઉપયોગ કરવામાં આવે છે, જે એક એવી વ્યવસ્થા છે જે સમાન કોરનાં તમામ કાર્યોમાં વહેંચવામાં આવે છે. સી.પી. યુ. રેકોર્ડ ફાળવણી કોષ્ટક (RAT) લોગ ફાઇલ સંસાધનોમાં ચોક્કસ નામો સાથેના રેકોર્ડને જોડવા માટે જવાબદાર છે. આ કિસ્સામાં, શૂન્ય મૂલ્ય રજિસ્ટર ફાઇલમાં ખાલી મૂલ્યને સંગ્રહિત કરીને નહીં, પરંતુ RAT કોષ્ટકમાં z-bit ફ્લેગ સેટ કરીને રજિસ્ટરમાં સંગ્રહિત થાય છે.
નબળાઈ એ હકીકતને કારણે છે કે જો સટ્ટાકીય અમલ દરમિયાન z બીટ સેટ કરવામાં આવે તો સૂચનાઓ અનુસાર, ખરાબ શાખાની આગાહીના કિસ્સામાં તેને ફક્ત રીસેટ કરવા માટે પૂરતું નથી, કારણ કે લોગ ફાઇલમાં જગ્યા સટ્ટાકીય અમલથી ફરીથી ફાળવી શકાય છે.
જાહેર થયેલી અસર ત્યારે થાય છે જ્યારે રેકોર્ડનું નામ એકસાથે બદલવામાં આવે છે, એક સૂચના કે જેના માટે જોડાવા ઓપ્ટિમાઇઝેશન લાગુ કરવામાં આવે છે તેનો ઉપયોગ કરવામાં આવે છે, અને VZEROUPPER વેક્ટર સૂચના અનુમાનિત રીતે ચલાવવામાં આવે છે કે z બીટ સુયોજિત કરે છે અને લોગ ફાઈલમાંથી સ્ત્રોતોને મુક્ત કરે છે. જો શાખાની આગાહી નિષ્ફળ જાય અને સટ્ટાકીય VZEROUPPER ઑપરેશન પાછું ફેરવવામાં આવે, તો વેક્ટર રજિસ્ટરની સામગ્રી દૂષિત થઈ શકે છે, કારણ કે z-bit રોલ કરવામાં આવે છે, પરંતુ મુક્ત કરેલ સંસાધન અવગણવામાં આવે છે.
VZEROUPPER સૂચનાના મેનીપ્યુલેશન દ્વારા, AVX (એડવાન્સ વેક્ટર એક્સ્ટેન્શન્સ) અને SSE (સ્ટ્રીમિંગ SIMD એક્સ્ટેન્શન્સ) મોડ્સમાં ઉપયોગમાં લેવાતા YMM વેક્ટર રજિસ્ટરમાં પ્રોસેસ્ડ ડેટાના નિયંત્રિત લીકેજને પ્રાપ્ત કરવું શક્ય છે. આ રજિસ્ટર સક્રિય રીતે મેમરી કોપી અને સ્ટ્રિંગ પ્રોસેસિંગ ફંક્શનમાં ઉપયોગમાં લેવાય છે, ઉદાહરણ તરીકે Glibc લાઇબ્રેરીમાં તેનો ઉપયોગ memcpy, strcmp અને strlen ફંક્શનમાં થાય છે.
નબળાઈ દર્શાવવા માટે, કોડનેમ Zenbleed, એક પ્રોટોટાઇપ શોષણ તૈયાર કરવામાં આવ્યું છે જે અનપ્રાવિલેજ્ડ યુઝરને AES-NI અથવા REP-MOVS સૂચનાઓ (સામાન્ય રીતે memcpy ફંક્શનમાં ઉપયોગમાં લેવાય છે) માં પ્રક્રિયા કરાયેલ ડેટાને નિર્ધારિત કરવાની મંજૂરી આપે છે, જેનો ઉપયોગ વિશેષાધિકૃત સહિત અન્ય પ્રક્રિયાઓમાં પ્રક્રિયા કરાયેલ એન્ક્રિપ્શન કી અને વપરાશકર્તા પાસવર્ડને પુનઃનિર્માણ કરવા માટે કરી શકાય છે. શોષણનું ડેટા લિકેજ પ્રદર્શન આશરે 30 KB પ્રતિ સેકન્ડ છે.
નબળાઇ માઇક્રોકોડ અપડેટ સ્તરમાં નિશ્ચિત. Linux માટે સુધારેલ માઇક્રોકોડ ડાઉનલોડ કરવા માટે એક પેચ તૈયાર કરવામાં આવ્યો છે. જો કે જો માઇક્રોકોડને અપડેટ કરવું શક્ય ન હોય તો, નબળાઈને અવરોધિત કરવા માટે એક ઉપાય છે, જે કામગીરીમાં ઘટાડો તરફ દોરી જાય છે.
આ કરવા માટે, કંટ્રોલ બીટ DE_CFG[9] CPU માં ગોઠવેલું હોવું જોઈએ અને આ માટે, ટર્મિનલમાં, નીચેનો આદેશ લખવો આવશ્યક છે:
તે ઉલ્લેખનીય છે કે SMT મોડને અક્ષમ કરવાથી નબળાઈને અવરોધિત થતી નથી અને નબળાઈને અવરોધિત કરવાનો ફિક્સ કર્નલ અપડેટ્સ 6.4.6, 6.1.41, 5.15.122, 5.10.187, 5.4.250 અને 4.19.289 ની અંદર લાગુ કરવામાં આવ્યો હતો.
આ માટે નબળાઈ માહિતીને ટ્રેક કરવામાં રસ છે વિવિધ વિતરણોમાં, તેઓ નીચેના પૃષ્ઠોમાં તે કરી શકે છે: ડેબિયન, ઉબુન્ટુ, જેન્ટૂ, આરએચએલ, SUSE, Fedora, આર્ક, ઓપનબીએસડી, ફ્રીબીએસડી, નેટબીએસડી.
છેલ્લે, જો તમે તેના વિશે વધુ જાણવામાં સક્ષમ થવામાં રસ ધરાવો છો, તો તમે માં વિગતોનો સંપર્ક કરી શકો છો નીચેની કડી