Programmatūra, kas labojas pati

Mārtiņš Rinards MIT datorzinātņu profesors ir neapšaubāms par savas grupas pētījuma galveno mērķi: nodrošināt nemirstīgu, neievainojamu programmu. Darbā, kas šomēnes tika prezentēts ACM Simpozijā par operētājsistēmu principiem Big Sky, MT, MIT pētnieku grupa, kuru vadīja Rinards un Maikls Ernsts, kurš tagad ir Vašingtonas universitātes asociētais profesors, izstrādāja programmatūru, kas var atrast un dažu minūšu laikā izlabojiet noteikta veida programmatūras kļūdas.





Saskaņā ar drošības uzņēmuma Symantec ziņojumu 2006. gadā, kad programmatūras daļā tiek atklāta potenciāli kaitīga ievainojamība, inženieriem ir nepieciešams vidēji gandrīz mēnesis, lai izstrādātu labojumu un ieviestu labojumu ietekmētajās sistēmās. Pētnieki, kas sadarbojās ar jaunuzņēmumu Determina, cer, ka jaunā programmatūra ClearView paātrinās šo procesu, padarot programmatūru ievērojami izturīgāku pret kļūmēm vai uzbrukumiem.

ClearView darbojas bez cilvēku palīdzības un bez piekļuves programmas pamatā esošajam avota kodam (bieži vien patentētam instrukciju kopumam, kas nosaka, kā programmatūra darbosies). Tā vietā sistēma uzrauga binārā uzvedību: formu, ko programma izmanto, lai izpildītu norādījumus datora aparatūrā.

Novērojot programmas parasto darbību un piešķirot kārtulu kopu, ClearView atklāj noteikta veida kļūdas, jo īpaši tās, kas rodas, kad uzbrucējs programmā ievada ļaunprātīgu ievadi. Ja kaut kas noiet greizi, ClearView nosaka anomāliju un identificē pārkāptos noteikumus. Pēc tam tiek piedāvāti vairāki iespējamie ielāpi, kas paredzēti, lai piespiestu programmatūru ievērot pārkāptos noteikumus. (Laipi tiek lietoti tieši binārajam failam, apejot avota kodu.) ClearView analizē šīs iespējas, lai izlemtu, kuras, visticamāk, darbosies, pēc tam instalē labākos kandidātus un pārbauda to efektivitāti. Ja tiek pārkāpti papildu noteikumi vai ielāps izraisa sistēmas avāriju, ClearView to noraida un izmēģina citu.



ClearView ir īpaši efektīvs, ja tas ir instalēts iekārtu grupā, kurā darbojas viena un tā pati programmatūra. Tādā gadījumā tas, ko ClearView mācās no kļūdām vienā mašīnā, tiek izmantots, lai labotu visas pārējās. Tā kā tam nav nepieciešama piekļuve avota kodam, Rinards saka, ka ClearView var izmantot programmu labošanai, neprasot sadarbību ar programmatūru izgatavotāja uzņēmumu, vai tādu programmu labošanai, kuras vairs netiek uzturētas. Viņš cer, ka sistēma papildus pašreizējās programmatūras aizsardzībai varētu pagarināt vecāko programmatūras versiju, ko radījuši uzņēmumi, kuri pārtraukuši darbību, kalpošanas laiku.

Lai pārbaudītu sistēmu, pētnieki instalēja ClearView datoru grupā, kurā darbojas Firefox, un nolīga neatkarīgu komandu, lai uzbruktu tīmekļa pārlūkprogrammai. Naidīgā komanda izmantoja 10 dažādas uzbrukuma metodes, no kurām katra ietvēra kāda ļaunprātīga koda ievadīšanu Firefox. ClearView veiksmīgi bloķēja visus iespējamos uzbrukumus, atklājot nepareizu uzvedību un pārtraucot lietojumprogrammu, pirms uzbrukums varēja dot paredzēto efektu. Pirmajā reizē, kad ClearView saskaras ar ļaunprātīgu izmantošanu, tā aizver programmu un sāk analizēt bināro failu, meklējot ielāpu, kas varētu apturēt kļūdu.

Septiņām uzbrucēju komandas pieejām ClearView izveidoja ielāpus, kas izlaboja pamatā esošās kļūdas. Visos gadījumos tā atmeta korekcijas, kurām bija negatīvas blakusparādības. Vidēji ClearView nāca klajā ar veiksmīgu ielāpu apmēram piecu minūšu laikā pēc pirmās saskares ar uzbrukumu.



Šis pētījums liek mums domāt, ka programmatūra pati par sevi nav trausla un trausla kļūdu dēļ, saka Rinards. Tas ir trausls un trausls, jo cilvēki baidās ļaut programmatūrai turpināt darbu, ja uzskata, ka ar to kaut kas nav kārtībā. Dažām programmatūras inženierijas pieejām, piemēram, atteices skaitļošanai vai pieņemamai skaitļošanai, ir līdzīga šī filozofija.

ClearView ir patiešām labs sākumpunkts, saka Juaņjuaņ Džou , datorzinātņu profesors Kalifornijas Universitātē Sandjego, kurš arī pēta programmatūras uzticamību. Džou slavē vērtēšanas procesu, ko pētnieki izmantoja projektam, bet saka, ka vēlas, lai ClearView tiktu pārbaudīts ar plašāku lietojumprogrammu klāstu.

Šķiet, ka sistēmas uzturēšanai par katru cenu ir priekšrocības, piebilst Deivids Pīrs , vecākais pasniedzējs datorzinātnēs Viktorijas Universitātē Velingtonā, Jaunzēlandē. Viņš norāda, ka ClearView ir paredzēts, lai lietotu ielāpus ikreiz, kad tas konstatē, ka kaut kas ir nogājis greizi. Dažas sistēmas ir paredzētas, lai izslēgtu darbību, kad tiek atklāta kļūda, taču, ja uzbrucēja mērķis ir sabotāža, saka Pīrss, šī pieeja ir viņu rokās.

Taču ClearView pieeja lietotājam var radīt dažas žagas, piebilst Pīrss. Piemēram, ja tīmekļa pārlūkprogrammā ir kļūda, kuras dēļ tā nevarēja apstrādāt vietrāžus URL, kas pārsniedz noteiktu garumu, ClearView ielāps var aizsargāt sistēmu, nogriežot pārāk garu vietrāžu URL galus — neļaujot programmai nedarboties, bet arī novēršot to. no darba pilnībā. Tomēr šādas problēmas, iespējams, nebūtu tieši kaitīgas. Parasti tikai hakeri mēģina izmantot šādas nepilnības, saka Pīrss, un viņi būtu tie, kas cietīs.

paslēpties