ટ્રોજન સ્ત્રોત, એટેક જે વિકાસકર્તાને અદ્રશ્ય કોડ ફેરફારો ઉમેરવાની મંજૂરી આપે છે

થોડા દિવસો પહેલા કેમ્બ્રિજ યુનિવર્સિટીના સંશોધકોએ જાહેર કર્યું ના પ્રકાશન કોડને સૂક્ષ્મ રીતે બદલવા માટેની તકનીક એપ્લિકેશન સ્રોત કોડમાં દૂષિત.

હુમલાની પદ્ધતિ તે તૈયાર કરી તે પહેલેથી જ CVE-2021-42574 હેઠળ સૂચિબદ્ધ છે તે ટ્રોજન સોર્સ નામ હેઠળ આવે છે અને તે લખાણની રચના પર આધારિત છે જે કમ્પાઇલર / દુભાષિયા અને કોડ જોનાર વ્યક્તિ માટે અલગ દેખાય છે.

ટ્રોજન સ્ત્રોત વિશે

પદ્ધતિ કોડ ટિપ્પણીઓમાં વિશિષ્ટ યુનિકોડ અક્ષરો લાગુ કરવા પર આધાર રાખે છે, જે દ્વિપક્ષીય ટેક્સ્ટના પ્રદર્શન ક્રમમાં ફેરફાર કરે છે. આ નિયંત્રણ પાત્રોની મદદથી, ટેક્સ્ટના કેટલાક ભાગો ડાબેથી જમણે પ્રદર્શિત કરી શકાય છે, જ્યારે અન્ય જમણેથી ડાબે.

રોજિંદા વ્યવહારમાં, આ નિયંત્રણ અક્ષરોનો ઉપયોગ કરી શકાય છે, ઉદાહરણ તરીકે, કોડ ફાઇલમાં હીબ્રુ અથવા અરબી શબ્દમાળાઓ દાખલ કરવા માટે. જો કે, જો તમે આ અક્ષરોનો ઉપયોગ એક જ લાઇન પર વિવિધ ટેક્સ્ટ દિશાઓ સાથેની રેખાઓને જોડવા માટે કરો છો, તો જમણેથી ડાબે પ્રદર્શિત ટેક્સ્ટ ફકરાઓ ડાબેથી જમણે પ્રદર્શિત વર્તમાન સામાન્ય ટેક્સ્ટને ઓવરલેપ કરી શકે છે.

આ પદ્ધતિ સાથે, કોડમાં દૂષિત રચના ઉમેરી શકાય છે, પરંતુ પછી કોડ જોતી વખતે આ કન્સ્ટ્રક્શન સાથેના ટેક્સ્ટને અદ્રશ્ય બનાવો, આગલી ટિપ્પણીમાં અથવા શાબ્દિકની અંદર જમણેથી ડાબે બતાવેલ અક્ષરો ઉમેરીને, જે દૂષિત ઇન્સર્ટ પર સુપરઇમ્પોઝ કરેલા સંપૂર્ણપણે અલગ અક્ષરોના પરિણામમાં પરિણમશે. આવો કોડ હજુ પણ સિમેન્ટીકલી સાચો હશે, પરંતુ તેનું અર્થઘટન અને અલગ રીતે દર્શાવવામાં આવશે.

અમે સોર્સ કોડ ફાઇલોના એન્કોડિંગમાં ચાલાકી કરવાની રીતો શોધી કાઢી છે જેથી માનવ દર્શકો અને કમ્પાઇલર્સ અલગ-અલગ તર્ક જુએ. એક ખાસ કરીને ઘાતક પદ્ધતિ કોડને તેના સાચા તર્કના એનાગ્રામ તરીકે પ્રદર્શિત કરવા માટે યુનિકોડ ડાયરેક્શનાલિટી ઓવરરાઇડ અક્ષરોનો ઉપયોગ કરે છે. અમે ચકાસ્યું છે કે આ હુમલો C, C++, C#, JavaScript, Java, Rust, Go અને Python સામે કામ કરે છે અને અમને શંકા છે કે તે અન્ય આધુનિક ભાષાઓ સામે કામ કરશે.

કોડની સમીક્ષા કરતી વખતે, વિકાસકર્તાને પાત્રોના વિઝ્યુઅલ ક્રમનો સામનો કરવો પડશે અને તે સંપાદકમાં શંકાસ્પદ ટિપ્પણી જોશે ટેક્સ્ટ, વેબ ઈન્ટરફેસ અથવા IDE, પરંતુ કમ્પાઈલર અને દુભાષિયા અક્ષરોના તાર્કિક ક્રમનો ઉપયોગ કરશે અને દૂષિત કોડને હેન્ડલ કરશે જેમ છે, ટિપ્પણીમાં દ્વિપક્ષીય ટેક્સ્ટને ધ્યાનમાં લીધા વિના. કેટલાક લોકપ્રિય કોડ સંપાદકો (VS કોડ, Emacs, Atom), તેમજ રીપોઝીટરીઝમાં કોડ જોવા માટેના ઈન્ટરફેસ (GitHub, Gitlab, BitBucket, અને તમામ એટલાસિયન ઉત્પાદનો) અસરગ્રસ્ત છે.

દૂષિત ક્રિયાઓને અમલમાં મૂકવા માટે પદ્ધતિનો ઉપયોગ કરવાની ઘણી રીતો છે: છુપાયેલા "રીટર્ન" અભિવ્યક્તિ ઉમેરો, જે કાર્યના અમલીકરણને અકાળે સમાપ્ત કરવા તરફ દોરી જાય છે; અભિવ્યક્તિઓની ટિપ્પણીમાં નિષ્કર્ષ કે જેને સામાન્ય રીતે માન્ય રચના ગણવામાં આવે છે (ઉદાહરણ તરીકે, મહત્વપૂર્ણ તપાસને અક્ષમ કરવા માટે); અન્ય સ્ટ્રિંગ મૂલ્યોની સોંપણી જે સ્ટ્રિંગ માન્યતા નિષ્ફળતા તરફ દોરી જાય છે.

ઉપરાંત, અન્ય હુમલાનો વિકલ્પ પ્રસ્તાવિત કરવામાં આવ્યો હતો (CVE-2021-42694), જેમાં હોમોગ્લિફ્સનો ઉપયોગ સામેલ છે, પ્રતીકો જે દેખાવમાં સમાન દેખાય છે, પરંતુ અર્થમાં ભિન્ન છે અને વિવિધ યુનિકોડ કોડ ધરાવે છે. વિકાસકર્તાઓને ગેરમાર્ગે દોરવા માટે આ અક્ષરોનો ઉપયોગ ફંક્શન અને વેરિયેબલ નામોમાં કેટલીક ભાષાઓમાં થઈ શકે છે. ઉદાહરણ તરીકે, તમે બે કાર્યોને અસ્પષ્ટ નામો સાથે વ્યાખ્યાયિત કરી શકો છો જે વિવિધ ક્રિયાઓ કરે છે. વિગતવાર વિશ્લેષણ વિના, તમે તરત જ સમજી શકતા નથી કે આ બે ફંક્શન્સમાંથી કયા ચોક્કસ જગ્યાએ કહેવામાં આવે છે.

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

આ ઉપરાંત નબળાઈઓ પહેલાથી જ ઠીક થવા લાગી છે GCC, LLVM/Clang, Rust, Go, Python અને binutils માટે તૈયાર. GitHub, Bitbucket અને Jira પણ GitLab સાથે મળીને ઉકેલની તૈયારીમાં છે.

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


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

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

*

*

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