તેમને ઓપનએસએસએચ 9.1 માં નબળાઈ મળી કે જે malloc ને બાયપાસ કરવાની મંજૂરી આપે છે

નબળાઈ

જો શોષણ કરવામાં આવે તો, આ ખામીઓ હુમલાખોરોને સંવેદનશીલ માહિતીની અનધિકૃત ઍક્સેસ મેળવવા અથવા સામાન્ય રીતે સમસ્યાઓનું કારણ બની શકે છે.

તાજેતરમાં ક્વોલિઝ (એક તકનીકી કંપની જે ક્લાઉડ સુરક્ષામાં નિષ્ણાત છે) તેને જાણીતું બનાવ્યું તમને શું મળ્યું malloc ને બાયપાસ કરવાની રીત અને OpenSSH 9.1 માં નબળાઈનો ઉપયોગ કરીને ક્રોસઓવર શરૂ કરવા માટે ડબલેસ સુરક્ષા.

અત્યાર સુધી તે નક્કી કરવામાં આવ્યું છે આવી નબળાઈ માત્ર "સૈદ્ધાંતિક" છે, કારણ કે તે કાર્યકારી શોષણ બનાવવાની શક્યતા નથી. તે જ સમયે, કાર્યકારી શોષણ બનાવવાની સંભાવના એક મોટો પ્રશ્ન રહે છે.

નબળાઈ અંગે, તે ઉલ્લેખ છે કે સુરક્ષાને બાયપાસ કરવાની યુક્તિ ડબલ ફ્રી અને malloc થી ફ્રી પછી ઉપયોગ કરો કબજે કરેલી મેમરીને ફરીથી ફાળવવાનું છે options.kex_algorithms દ્વારા જલદી તે મફત છે.

mallocના દૃષ્ટિકોણથી, મેમરીને મુક્ત કરવા, વાંચવા અથવા લખવાનો કોઈ પ્રયાસ કરવામાં આવતો નથી જે પહેલાથી જ મફત છે; sshd ના બિંદુથી, જો કે, એલિયાસિંગ એટેક થાય છે, કારણ કે બે અલગ-અલગ ઑબ્જેક્ટના બે અલગ-અલગ પૉઇન્ટર્સ મેમરીના સમાન ભાગનો સંદર્ભ આપે છે, અને એક ઑબ્જેક્ટ પર લખવાથી બીજા ઑબ્જેક્ટ પર ઓવરરાઇટ થાય છે.

આ શક્યતાઓનું વિશ્વ ખોલે છે.

અમે ડેબિયન બુકવોર્મ (જે glibc કોડનો ઉપયોગ કરે છે) વિશે અમારી તપાસ શરૂ કરી
malloc), પરંતુ અમે આખરે OpenBSD 7.2 પર સ્વિચ કર્યું, કારણ કે OpenBSD
malloc (તેના ખૂબ જ રક્ષણાત્મક પ્રોગ્રામિંગ હોવા છતાં) બે લક્ષણો ધરાવે છે જે
આ ખાસ ફ્રી ડબલ બગ માટે તેને ખાસ કરીને રસપ્રદ બનાવો:

નબળાઈ ડબલ રિલીઝને કારણે છે પ્રી-ઓથેન્ટિકેશન સ્ટેજમાં મેમરી એરિયા. નબળાઈ માટે શરતો બનાવવા માટે, ફક્ત SSH ક્લાયંટનું બેનર બદલો "SSH_BUG_CURVE2.0PAD" અને "SSH_OLD_DHGEX" ફ્લેગો સેટ કરવા માટે "SSH-9.1-FuTTYSH_1p25519" (અથવા અન્ય જૂના SSH ક્લાયંટ) પર. આ ફ્લેગો સેટ કર્યા પછી, "options.kex_algorithms" બફર માટેની મેમરી ફ્રી થાય છે.

Qualys સંશોધકો, નબળાઈ મેનીપ્યુલેશન દરમિયાન, પ્રોસેસર રજીસ્ટર "%rip" પર નિયંત્રણ મેળવવા સક્ષમ હતા. એક્ઝિક્યુટ થવાના આગલા સ્ટેટમેન્ટ માટે નિર્દેશક ધરાવતું A. વિકસિત થયેલ એક્સપ્લોઈટ ટેકનિક sshd પ્રક્રિયાના સરનામાંની જગ્યાના કોઈપણ બિંદુ પર આઉટ-ઓફ-ડેટ OpenBSD 7.2 પર્યાવરણમાં નિયંત્રણને સ્થાનાંતરિત કરવાની મંજૂરી આપે છે, જે OpenSSH 9.1 સાથે મૂળભૂત રીતે મોકલવામાં આવે છે.

ઝડપી અપડેટ: અમે "રીપ" પર મનસ્વી નિયંત્રણ મેળવવામાં સક્ષમ હતા આ બગ દ્વારા (એટલે ​​​​કે આપણે sshd માં જ્યાં જોઈએ ત્યાં કૂદી શકીએ છીએ એડ્રેસ સ્પેસ) OpenBSD 7.2 ના અનપેચ્ડ ઇન્સ્ટોલેશન પર (ચાલી રહી છે
OpenSSH 9.1 મૂળભૂત રીતે). આ કોઈ પણ રીતે વાર્તાનો અંત નથી: આ ઇમાત્ર પગલું 1 માટે, malloc અને ડબલ ગાર્ડ્સને અવગણો.

આગળ પગલું કે જે બિલકુલ શક્ય હોય અથવા ન પણ હોય, તે છે:

- પગલું 2, ASLR, NX અને ROP હોવા છતાં મનસ્વી કોડનો અમલ કરો
રક્ષણ (આ માટે સંભવતઃ માહિતી લીકની જરૂર પડશે
સમાન ભૂલ દ્વારા અથવા ગૌણ ભૂલ દ્વારા);

- પગલું 3, sshd સેન્ડબોક્સમાંથી બહાર નીકળવું (નાની ભૂલ દ્વારા, ક્યાં તો અંદર
વિશેષાધિકૃત પિતૃ પ્રક્રિયા અથવા ઘટાડેલા કર્નલ હુમલામાં
સુપરફિસી).

એ નોંધ્યું છે કે સૂચિત પ્રોટોટાઇપ એ હુમલાના માત્ર પ્રથમ તબક્કાનું અમલીકરણ છે: કાર્યકારી શોષણ બનાવવા માટે, તમારે ASLR, NX અને ROP સુરક્ષા પદ્ધતિઓને બાયપાસ કરવાની જરૂર છે અને સેન્ડબોક્સ આઇસોલેશનમાંથી બહાર નીકળવું પડશે, જે અસંભવિત છે.

ASLR, NX અને ROP ને બાયપાસ કરવાની સમસ્યાને ઉકેલવા માટે સરનામાંની માહિતી મેળવવાની જરૂર છે, જે અન્ય નબળાઈને ઓળખીને પરિપૂર્ણ કરી શકાય છે જે માહિતી લિકેજ તરફ દોરી જાય છે. વિશેષાધિકૃત પિતૃ અથવા કર્નલ પ્રક્રિયામાં બગ સેન્ડબોક્સમાંથી બહાર નીકળવામાં મદદ કરી શકે છે.

નબળાઈ નીચે પ્રમાણે કામ કરવા માટે ઉલ્લેખિત છે:

  • -સૌપ્રથમ, compat_kex_proposal() માં મફત options.kex_algorithms, ssh ક્લાયંટનો ડોળ કરવો એ જૂનો "FuTTY" ક્લાયંટ છે.
  • -બીજું, ટૂકડો કે જે options.kex_algorithms દ્વારા કબજે કરવામાં આવ્યો હતો, તે EVP_AES_KEY માળખું સાથે, જેનું કદ 264 બાઇટ્સ છે, કી વિનિમય તબક્કા દરમિયાન "aes128-ctr" સાઇફર પસંદ કરીને ફરીથી ફાળવવામાં આવે છે. આ પુનઃસ્થાપન ~1/32 ની સંભાવના સાથે થાય છે.
  • – ત્રીજું, kex_assemble_names() (વાયા mm_getpwnamallow()) માં options.kex_algorithms (અને હવે EVP_AES_KEY સ્ટ્રક્ચર દ્વારા કબજે કરવામાં આવેલ છે) ભાગને મુક્ત (ફરીથી) કરવો. જો અને માત્ર ત્યારે જ બને છે જો ભાગનો પહેલો બાઈટ '+', '-', અથવા '^' હોય (અન્યથા kex_assemble_names() ભૂલ આપે છે અને fatal_fr() કહેવાય છે).
  • – ચોથું, 300 'A' બાઈટ સ્ટ્રિંગ સાથે, "authctxt->user" અથવા "authctxt ->શૈલી" સાથે, options.kex_algorithms (અને હજુ પણ EVP_AES_KEY સ્ટ્રક્ચર તરીકે સંદર્ભિત કરવામાં આવે છે) દ્વારા કબજો કરવામાં આવેલો ભાગ ફરીથી સોંપવામાં આવ્યો છે. પ્રમાણીકરણ તબક્કો. આ પુનઃસ્થાપન, જે અસરકારક રીતે સમગ્ર EVP_AES_KEY માળખાને 'A' બાઈટ સાથે ઓવરરાઈટ કરે છે, તે ~2/32 ની સંભાવના સાથે થાય છે.
  • – છેલ્લે, જ્યારે sshd EVP_Cipher()ને કૉલ કરે છે ત્યારે તે 0x4141414141414141 પર જાય છે, કારણ કે EVP_AES_KEY માળખું એક ફંક્શન પોઇન્ટર ધરાવે છે જે આપણા 'A' બાઇટ્સ દ્વારા ઓવરરાઇટ કરવામાં આવ્યું હતું અને તેને CRYPTO_ctr128_encrypt_cpher()EVP_ctr32 ()EVP_ctrXNUMX () દ્વારા કહેવામાં આવે છે.

અંતે, જો તમને તેના વિશે વધુ જાણવામાં રસ છે, તો તમે વિગતોનો સંપર્ક કરી શકો છો નીચેની કડીમાં


તમારી ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. આવશ્યક ક્ષેત્રો સાથે ચિહ્નિત થયેલ છે *

*

*

  1. ડેટા માટે જવાબદાર: AB ઈન્ટરનેટ નેટવર્ક્સ 2008 SL
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.