211service.com
Programinė įranga, kuri susitvarko pati
Martinas Rinardas MIT kompiuterių mokslo profesorius, nesigaili galutinio savo grupės tyrimo tikslo: pateikti nemirtingą, nepažeidžiamą programą. Šį mėnesį ACM operacinių sistemų principų simpoziume Big Sky pristatytame darbe MT, MIT tyrėjų grupė, vadovaujama Rinardo ir Michaelo Ernsto, kuris dabar yra Vašingtono universiteto docentas, sukūrė programinę įrangą, kuri gali rasti ir per kelias minutes ištaisykite tam tikrų tipų programinės įrangos klaidas.
Remiantis saugos bendrovės „Symantec“ 2006 m. ataskaitomis, kai programinėje įrangoje aptinkamas galimai žalingas pažeidžiamumas, inžinieriai vidutiniškai užtrunka beveik mėnesį, kol sugalvoja pataisą ir pašalina tai paveiktose sistemose. Tyrėjai, kurie bendradarbiavo su startuoliu pavadinimu Determina, tikisi, kad naujoji programinė įranga, pavadinta ClearView, pagreitins šį procesą, todėl programinė įranga bus žymiai atsparesnė gedimams ar atakoms.
„ClearView“ veikia be žmonių pagalbos ir neturi prieigos prie pagrindinio programos šaltinio kodo (dažnai patentuoto instrukcijų rinkinio, apibrėžiančio, kaip elgsis programinė įranga). Vietoj to, sistema stebi dvejetainio elgseną: formą, kurią programa įgauna, kad vykdytų instrukcijas kompiuterio aparatinėje įrangoje.
Stebėdamas įprastą programos elgesį ir priskirdamas taisyklių rinkinį, ClearView aptinka tam tikrų tipų klaidas, ypač tas, kurios atsiranda, kai užpuolikas į programą įveda kenkėjišką įvestį. Kai kas nors negerai, ClearView aptinka anomaliją ir nustato taisykles, kurios buvo pažeistos. Tada pateikiama keletas galimų pataisų, skirtų priversti programinę įrangą laikytis pažeistų taisyklių. (Pataisos uždedamos tiesiai į dvejetainį kodą, apeinant šaltinio kodą.) ClearView analizuoja šias galimybes, kad nuspręstų, kurios greičiausiai veiks, tada įdiegia geriausius kandidatus ir patikrina jų efektyvumą. Jei pažeidžiamos papildomos taisyklės arba jei dėl pataisos sistema sugenda, ClearView jį atmeta ir bando kitą.
„ClearView“ yra ypač efektyvus, kai jis įdiegtas mašinų grupėje, kurioje veikia ta pati programinė įranga. Tokiu atveju tai, ką „ClearView“ išmoksta iš klaidų vienoje mašinoje, naudojama visiems kitiems ištaisyti. Kadangi tai nereikalauja prieigos prie šaltinio kodo, Rinard teigia, kad „ClearView“ gali būti naudojamas programoms taisyti, nereikalaujant, kad programinę įrangą sukūrusi įmonė bendradarbiautų, arba taisyti nebeprižiūrimas programas. Jis tikisi, kad sistema gali pratęsti senesnių programinės įrangos versijų, sukurtų įmonių, kurios pasitraukė, gyvenimą, be to, kad būtų apsaugota dabartinė programinė įranga.
Norėdami išbandyti sistemą, mokslininkai įdiegė „ClearView“ kompiuterių, kuriuose veikia „Firefox“, grupėje ir pasamdė nepriklausomą komandą, kuri atakuotų žiniatinklio naršyklę. Priešiška komanda panaudojo 10 skirtingų atakų metodų, kurių kiekvienas apėmė kenkėjiško kodo įvedimą į „Firefox“. „ClearView“ sėkmingai užblokavo visas galimas atakas, aptikdama netinkamą elgesį ir nutraukdama taikomąją programą prieš tai, kai ataka galėjo turėti numatytą poveikį. Pirmą kartą „ClearView“ susidūręs su išnaudojimu, programa uždaro programą ir pradeda analizuoti dvejetainį failą, ieškodama pataisos, kuri galėjo sustabdyti klaidą.
Septyniams atakuojančios komandos metodams ClearView sukūrė pataisas, kurios ištaisė pagrindines klaidas. Visais atvejais ji atmetė korekcijas, kurios turėjo neigiamą šalutinį poveikį. Vidutiniškai „ClearView“ sėkmingai pataisydavo maždaug per penkias minutes nuo pirmojo atakos poveikio.
Šis tyrimas verčia mus manyti, kad programinė įranga pati savaime nėra trapi ir trapi dėl klaidų, sako Rinardas. Ji trapi ir trapi, nes žmonės bijo leisti programinei įrangai toliau veikti, jei mano, kad joje kažkas negerai. Kai kurie programinės įrangos inžinerijos metodai, tokie kaip gedimų nepastebimas skaičiavimas arba priimtinas skaičiavimas, laikosi šios filosofijos.
„ClearView“ yra tikrai geras atspirties taškas, sako Yuanyuan Zhou , Kalifornijos universiteto San Diege kompiuterių mokslo profesorius, kuris taip pat tiria programinės įrangos patikimumą. Zhou giria vertinimo procesą, kurį tyrėjai naudojo projektui, tačiau sako, kad nori, kad „ClearView“ būtų išbandytas įvairiose programose.
Atrodo, kad sistemos palaikymas bet kokia kaina yra naudingas, priduria Davidas Pearce'as , vyresnysis informatikos dėstytojas Viktorijos universitete Velingtone, Naujojoje Zelandijoje. Jis atkreipia dėmesį į tai, kad „ClearView“ sukurtas pritaikyti pataisas, kai tik nustato, kad kažkas nutiko. Kai kurios sistemos yra sukurtos taip, kad išsijungtų, kai aptinkama klaida, tačiau jei užpuoliko tikslas yra sabotažas, sako Pearce, šis metodas yra tiesiog jų rankose.
Tačiau „ClearView“ požiūris gali sukelti tam tikrų vartotojui trukdžių, priduria Pearce. Pavyzdžiui, jei žiniatinklio naršyklėje buvo klaida, dėl kurios ji negalėjo apdoroti tam tikro ilgio URL, „ClearView“ pataisa gali apsaugoti sistemą, nukirpdama per ilgus URL galus – neleisdama programai sugesti, bet taip pat ir užkirsti kelią jai. nuo visiško darbo. Tačiau tokios problemos tikriausiai nebūtų žalingos. Paprastai tik įsilaužėliai bando išnaudoti tokias spragas, sako Pearce, ir jie nukentės.