70% awọn iṣoro aabo ni Chromium ṣẹlẹ nipasẹ awọn aṣiṣe iranti

Awọn olupilẹṣẹ ti iṣẹ akanṣe Chromium atupale 912 eewu giga ati awọn ailagbara to ṣe pataki ti a damọ ni awọn idasilẹ iduroṣinṣin ti Chrome lati ọdun 2015, ati pari pe 70% ninu wọn ni o fa nipasẹ ailewu iranti (awọn aṣiṣe nigba ṣiṣẹ pẹlu awọn itọka ninu koodu C/C ++). Idaji ninu awọn iṣoro wọnyi (36.1%) ṣẹlẹ nipasẹ iraye si ifipamọ lẹhin idasilẹ iranti ti o ni nkan ṣe pẹlu rẹ (lilo-lẹhin-ọfẹ).

70% awọn iṣoro aabo ni Chromium ṣẹlẹ nipasẹ awọn aṣiṣe iranti

Nigbati o n ṣe apẹrẹ Chromium o jẹ ibẹrẹ gbele, pe o ṣee ṣe fun awọn aṣiṣe lati han ninu koodu naa, nitorinaa a ṣe itọkasi nla lori lilo iyasọtọ apoti iyanrin lati ṣe idinwo awọn abajade ti awọn ailagbara. Lọwọlọwọ, awọn aye ti lilo imọ-ẹrọ yii ti de opin awọn agbara wọn ati pipin siwaju si awọn ilana jẹ aiṣedeede lati oju-ọna ti lilo awọn orisun.

Lati ṣetọju aabo koodu koodu, Google tun fi agbara mu "ofin ti meji“, ni ibamu si eyiti eyikeyi koodu ti a ṣafikun ko gbọdọ pade diẹ sii ju meji ninu awọn ipo mẹta: ṣiṣẹ pẹlu data titẹ sii ti ko wulo, lilo ede siseto ti ko ni aabo (C/C ++) ati ṣiṣe pẹlu awọn anfani ti o ga. Ofin yii tumọ si pe koodu fun sisẹ data ita gbọdọ boya dinku si awọn anfani ti o kere ju (ya sọtọ) tabi kọ ni ede siseto to ni aabo.

Lati mu ilọsiwaju aabo ti ipilẹ koodu sii, a ti ṣe ifilọlẹ iṣẹ akanṣe lati yago fun awọn aṣiṣe iranti lati han ni ipilẹ koodu. Awọn ọna akọkọ mẹta lo wa: ṣiṣẹda awọn ile-ikawe C ++ pẹlu awọn iṣẹ fun iṣẹ ailewu ti iranti ati faagun ipari ti ikojọpọ idoti, ni lilo awọn ọna aabo ohun elo. MTE (Afikun Tagging Memory) ati awọn paati kikọ ni awọn ede ti o rii daju iṣẹ ailewu pẹlu iranti (Java, Kotlin, JavaScript, Rust, Swift).

O nireti pe iṣẹ yoo wa ni idojukọ ni awọn agbegbe meji:

  • Iyipada pataki si ilana idagbasoke C ++, eyiti ko yọkuro ipa odi lori iṣẹ (awọn sọwedowo awọn aala afikun ati ikojọpọ idoti). Dipo awọn itọka aise, o dabaa lati lo iru naa MiraclePtr, eyiti o fun ọ laaye lati dinku lilo lilo-lẹhin awọn aṣiṣe ọfẹ si awọn ipadanu ti ko ṣe irokeke aabo, laisi ipa odi ti o ṣe akiyesi lori iṣẹ ṣiṣe, agbara iranti ati iduroṣinṣin.
  • Lilo awọn ede ti a ṣe apẹrẹ lati ṣe awọn sọwedowo aabo iranti ni akoko akopọ (yoo yọkuro ipa odi lori iṣẹ ṣiṣe ni iru awọn sọwedowo lakoko ṣiṣe koodu, ṣugbọn yoo yorisi awọn idiyele afikun fun siseto ibaraenisepo koodu ni ede tuntun pẹlu koodu ninu C ++).

Lilo awọn ile-ikawe iranti-ailewu ni o rọrun julọ, ṣugbọn tun ni ọna ti ko munadoko. Atunkọ koodu ni ipata ti wa ni iwon bi awọn julọ munadoko, sugbon tun gan gbowolori ọna.

70% awọn iṣoro aabo ni Chromium ṣẹlẹ nipasẹ awọn aṣiṣe iranti

orisun: opennet.ru

Fi ọrọìwòye kun