Google પાસે છે રસ્ટને આવકાર્યોમેમરી સેફ પ્રોગ્રામિંગ લેંગ્વેજ, તેના ભાગ રૂપે નબળાઈઓને ઘટાડવાની તેની ક્ષમતામાં નોંધપાત્ર પરિબળ તરીકે સલામત કોડિંગ પહેલ
મેમરી એક્સેસ નબળાઈઓ ઘણીવાર પ્રોગ્રામિંગ ભાષાઓમાં થાય છે જે મેમરી સુરક્ષિત નથી. 2019 માં, મેમરી સુરક્ષા સમસ્યાઓ તમામ Android નબળાઈઓમાં 76% માટે જવાબદાર છે.
જવાબમાં, ઘણા ડેવલપર્સ અને ટેક જાયન્ટ્સ મેમરી સેફ લેંગ્વેજનો ઉપયોગ કરવા તરફ આગળ વધી રહ્યા છે જે તેમને સુરક્ષિત-બાય-ડિઝાઈન સોફ્ટવેર અને ટેક્નોલોજી બનાવવામાં મદદ કરે છે.
નબળાઈઓ રસ્ટિંગ દૂર
તેના બ્લોગમાં, ગૂગલે પાંચ વર્ષના સમયગાળામાં નવા પ્રોજેક્ટ્સ અને વિકાસમાં મેમરી સેફ કોડના ક્રમશઃ ઉપયોગ દ્વારા મેમરી સુરક્ષિત ભાષાઓમાં સંક્રમણનું સિમ્યુલેશન રજૂ કર્યું. પરિણામો દર્શાવે છે કે મેમરી અસુરક્ષિત ભાષાઓમાં કોડ લખવામાં ધીમે ધીમે વધારો થયો હોવા છતાં, મેમરી સુરક્ષા નબળાઈઓમાં નોંધપાત્ર ઘટાડો થયો છે.
ગૂગલ કહે છે, કારણ કે નબળાઈઓ ઝડપથી ક્ષીણ થઈ જાય છે. નવો કોડ કે જે મેમરી અસુરક્ષિત ભાષાઓમાં લખવામાં આવે છે તેમાં ઘણી વખત બગ્સ અને નબળાઈઓ હોય છે, પરંતુ કોડની સમીક્ષા કરવામાં આવે છે અને રિફ્રેશ કરવામાં આવતી નબળાઈઓ ધીમે ધીમે દૂર કરવામાં આવે છે જે સમય જતાં કોડને વધુ સુરક્ષિત બનાવે છે. તેથી, નબળાઈઓનો મુખ્ય સ્ત્રોત નવો કોડ છે, અને નવા પ્રોજેક્ટ્સ અને વિકાસ શરૂ કરતી વખતે મેમરી સુરક્ષિત પ્રોગ્રામિંગ ભાષાઓના ઉપયોગને પ્રાધાન્ય આપવાથી, નબળાઈઓની સંખ્યામાં નોંધપાત્ર ઘટાડો થાય છે.
મેમરી સેફ પ્રોગ્રામિંગ લેંગ્વેજનો ઉપયોગ કરવા તરફ Googleના પોતાના પરિવર્તનમાં, મેમરી-સંબંધિત નબળાઈઓની સંખ્યામાં નોંધપાત્ર ઘટાડો થયો છે, જેમાં 2024માં મેમરી સલામત નબળાઈઓ ઘટીને 24% થઈ ગઈ છે – જે 2019 થી તદ્દન વિપરીત છે અને 70%ના ઉદ્યોગના ધોરણથી પણ નીચે છે. .
(ઇમેજ ક્રેડિટ: ગૂગલ)
જોકે મેમરી સુરક્ષિત ભાષાઓનો ઉપયોગ કરવો એ સિલ્વર બુલેટ નથી, અને Google સ્વીકારે છે કે “પાછળની દૃષ્ટિના લાભ સાથે, તે સ્પષ્ટ છે કે અમે જોખમના સ્વીકાર્ય સ્તરને હાંસલ કરે તેવા ખરેખર માપી શકાય તેવા અને ટકાઉ ઉકેલને પ્રાપ્ત કરવાનું બાકી છે.”
મેમરી સલામતી નબળાઈઓ સુધી પહોંચવા માટેની વ્યૂહરચનાઓ પ્રતિક્રિયાશીલ પેચિંગ સાથે શરૂ થઈ, જ્યાં સોફ્ટવેર ઉત્પાદકો દ્વારા મેમરી સલામત નબળાઈઓને પ્રાથમિકતા આપવામાં આવે છે, અન્ય મુદ્દાઓનું વધુ ઝડપથી શોષણ કરવામાં આવે છે.
બીજા અભિગમમાં સક્રિય ઘટાડાનો સમાવેશ થતો હતો, જ્યાં વિકાસકર્તાઓને સ્ટેક કેનેરી અને કંટ્રોલ-ફ્લો ઇન્ટિગ્રિટી જેવા કે એક્ઝેક્યુશન સ્પીડ, બેટરી લાઇફ, પૂંછડી લેટન્સી અને મેમરી વપરાશની કિંમતે ઘટાડવા માટે પ્રોત્સાહિત કરવામાં આવ્યા હતા. વિકાસકર્તાઓ નવા અને સર્જનાત્મક રીતે નબળાઈઓનું શોષણ કરવાની હુમલાખોરોની ક્ષમતાને જાળવી રાખવામાં પણ અસમર્થ હતા.
ત્રીજું આવ્યું સક્રિય નબળાઈ શોધ, જ્યાં ધ્યાન ‘ફઝિંગ’ દ્વારા નબળાઈઓને શોધવા પર હતું, જ્યાં અસુરક્ષિત મેમરીના લક્ષણો દ્વારા નબળાઈઓને ટ્રેક કરવામાં આવે છે. જો કે, જેમ કે Google નિર્દેશ કરે છે, આ ટૂલ્સ ટીમો માટે ઉપયોગમાં લેવા માટે બિનકાર્યક્ષમ અને સમય-સઘન છે અને ઘણી વખત બહુવિધ પાસ હોવા છતાં પણ તમામ નબળાઈઓને શોધી શકતા નથી.
Google ની ચોથી યુક્તિ તેથી ઉચ્ચ-ખાતરી નિવારણ અને સુરક્ષિત-બાય-ડિઝાઇન વિકાસમાં જોડાવવાની છે. રસ્ટ જેવી પ્રોગ્રામિંગ ભાષાઓનો ઉપયોગ કરીને, વિકાસકર્તાઓએ લખેલા કોડના ગુણધર્મો જાણે છે અને સમજે છે અને તે ગુણધર્મોના આધારે નબળાઈઓનું અનુમાન કરી શકે છે. આ શરૂઆતથી નબળાઈઓની સંખ્યા ઘટાડીને વિકાસકર્તાઓ પર ખર્ચ ઘટાડે છે, જેમાં મેમરી સલામત સમસ્યાઓની બહારની નબળાઈઓનો સમાવેશ થાય છે. આ સંચિત ખર્ચમાં ઘટાડો વિકાસકર્તાઓને વધુ ઉત્પાદક બનાવવાનો વધારાનો લાભ પણ ધરાવે છે.
“આ ખ્યાલ સરળ છે:,” Google બ્લોગ નોંધે છે, “એકવાર આપણે નવી નબળાઈઓનો ટેપ બંધ કરી દઈએ, તે ઝડપથી ઘટે છે, અમારા તમામ કોડને સુરક્ષિત બનાવે છે, સુરક્ષા ડિઝાઇનની અસરકારકતામાં વધારો કરે છે, અને વર્તમાન સાથે સંકળાયેલ માપનીયતા પડકારોને દૂર કરે છે. મેમરી સલામતી વ્યૂહરચનાઓ જેમ કે તેઓ લક્ષિત રીતે વધુ અસરકારક રીતે લાગુ કરી શકાય છે.