Փակել գովազդը

Հիշողության անվտանգությունը վերջերս Google-ի համար առաջնահերթություն է եղել, քանի որ հիշողության սխալները ծրագրային ապահովման մշակման մեջ ամենալուրջն են: Իրականում, այս ոլորտում խոցելիությունները պատասխանատու էին կրիտիկական խոցելիությունների մեծամասնության համար Androidu մինչև անցյալ տարի, երբ Google-ը ստեղծեց նոր հայրենական կոդի զգալի մասը AndroidRust ծրագրավորման լեզվով C/C++-ի փոխարեն: Ծրագրային ապահովման հսկան աշխատում է աջակցել իր համակարգում հիշողության խոցելիությունը մեղմելու այլ միջոցների վրա, որոնցից մեկը կոչվում է հիշողության նշում: Համակարգով աջակցվող սարքերում Android 14 կարող է լինել նոր պարամետր, որը կոչվում է Ընդլայնված հիշողության պաշտպանություն, որը կարող է միացնել այս հատկությունը:

Հիշողության պիտակավորման ընդլայնումը (MTE) Arm v9 ճարտարապետության վրա հիմնված պրոցեսորների պարտադիր ապարատային հատկանիշ է, որն ապահովում է մանրամասն informace հիշողության խաթարման մասին և պաշտպանում է հիշողության անվտանգության սխալներից: Ինչպես բացատրում է Google-ը. «Բարձր մակարդակում MTE-ն նշում է յուրաքանչյուր հիշողության բաշխում/տեղաբաշխում լրացուցիչ մետատվյալներով: Նշանակում է հիշողության տեղանքի նշիչը, որն այնուհետև կարող է կապված լինել ցուցիչների հետ, որոնք վերաբերում են այդ հիշողության դիրքին: Գործարկման ժամանակ պրոցեսորը ստուգում է, որ ցուցիչի և մետատվյալների պիտակները համընկնում են ամեն անգամ, երբ այն բեռնվում և պահպանվում է»:

Google-ն աշխատում է MTE-ին աջակցելու ծրագրային ապահովման ողջ փաթեթում Android երկար ժամանակով. Դեպի Androidu 12-ը ավելացրել է Scudo հիշողության հատկացուցիչը և աջակցում է համատեղելի սարքերի վրա գործող երեք MTE ռեժիմներին՝ համաժամանակյա ռեժիմ, ասինխրոն ռեժիմ և ասիմետրիկ ռեժիմ: Ընկերությունը նաև հնարավորություն է տվել միացնել MTE-ն համակարգի գործընթացների համար՝ համակարգի հատկությունների և/կամ շրջակա միջավայրի փոփոխականների միջոցով: Հավելվածները կարող են ավելացնել MTE աջակցություն հատկանիշի միջոցով android:memtagMode. Երբ MTE-ն միացված է գործընթացների համար Androidu, հիշողության անվտանգության սխալների ամբողջ դասերը, ինչպիսիք են Use-After-Free-ը և բուֆերային արտահոսքը, կհանգեցնեն խափանումների՝ լուռ հիշողության կոռուպցիայի փոխարեն:

Do Androidu 13 Google-ը ավելացրել է Userspace Application Binary Interface (ABI)՝ ցանկալի MTE գործառնական ռեժիմը bootloader-ին հաղորդելու համար: Սա կարող է օգտագործվել MTE-ն միացնելու համար համատեղելի սարքերում, որոնք չեն առաքվում լռելյայն միացված MTE-ով, կամ կարող է օգտագործվել այն անջատելու համար այն համատեղելի սարքերում, որոնցում այն ​​լռելյայն միացված է: Համակարգում ro.arm64.memtag.bootctl_supported համակարգի հատկությունը «true» դնելով Android 13-ը համակարգին ասաց, որ bootloader-ն աջակցում է ABI-ին և նաև ակտիվացրել է մի կոճակ մշակողի ընտրանքների ցանկում, որը թույլ է տալիս օգտվողին միացնել MTE-ն հաջորդ վերագործարկման ժամանակ:

V Androidu 14 Այնուամենայնիվ, MTE-ի միացումը համատեղելի սարքերում կարող է արդեն պահանջել սուզվել մշակողի ընտրանքների ցանկում: Եթե ​​սարքն օգտագործում է Arm v8.5+ պրոցեսոր՝ MTE աջակցությամբ, սարքի ներդրումն աջակցում է ABI-ին՝ ցանկալի MTE աշխատանքային ռեժիմը բեռնիչին հաղորդելու համար, և նոր ro.arm64.memtag.bootctl_settings_toggle համակարգի հատկությունը սահմանվում է որպես «true»: , ապա նոր էջ Ընդլայնված հիշողության պաշտպանություն v Կարգավորումներ → Անվտանգություն և գաղտնիություն → Անվտանգության լրացուցիչ կարգավորումներ. Այս էջը կարող է բացվել նաև նոր ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS գործողության միջոցով:

Հետաքրքիր է, որ Tensor G2 չիպսեթը, որն ապահովում է Google Pixel 7 սերիան, օգտագործում է Arm v8.2 պրոցեսորային միջուկներ, ինչը նշանակում է, որ այն չի աջակցում MTE-ին: Եթե ​​գալիք Google Pixel 8 սերիան կօգտագործի նոր Arm v9 միջուկները, ինչպես մյուս առաջատար սերիաները androidհեռախոսները, ապա դրանց ապարատը պետք է կարողանա աջակցել MTE-ին: Այնուամենայնիվ, մնում է հարցը, թե արդյոք «ընդլայնված հիշողության պաշտպանություն» գործառույթը կհասցնի կայուն տարբերակին Android14 թվականին

Այսօրվա ամենաընթերցվածը

.