211service.com
Tīmekļa drošības rīks kopē lietotņu kustības
Mūsdienās izstrādātājiem ir viegli izveidot pilnvērtīgas lietojumprogrammas, kas darbojas pārlūkprogrammā. Cits jautājums ir aizsargāt šīs lietojumprogrammas no hakeriem.

Spēlējiet droši : Microsoft pētnieki ir izmantojuši Ripley, lai nodrošinātu vairākas tīmekļa lietojumprogrammas, tostarp spēles.
Paturot to prātā, Microsoft Research zinātnieki ir atklājuši jaunu veidu, kā nodrošināt sarežģītas tīmekļa lietojumprogrammas, efektīvi klonējot lietotāja pārlūkprogrammu un palaižot to attālināti.
Daudzas jaunākās tīmekļa lietojumprogrammas sadala izpildāmo kodu starp serveri un klientu. Problēma ir noteikt, vai kods, kas darbojas lietotāja mājas datorā, ir kaut kādā veidā apdraudēts. Jaunais Microsoft risinājums, kas pazīstams ar nosaukumu Ripley, tika paziņots otrdien Asociācijā Computing Machinery’s Datoru un sakaru drošības konference Čikāgā.
Ripley iet tālāk nekā iepriekšējie centieni nodrošināt tīmekļa lietojumprogrammu integritāti. Integritātes aizsardzība tiek sasniegta loģiskajā galējībā, saka Ādams Bārts pētnieks Kalifornijas Universitātē Bērklijā, kurš specializējas tīmekļa lietojumprogrammu drošībā. Viņš nebija iesaistīts projektā. Tā vietā, lai tikai pārbaudītu, vai pieprasījums ir no pareizās vietnes, Ripley pārbauda, vai lietojumprogrammas lietotāja interfeiss patiešām atļauj lietotāja darbības.
Ripley neļauj ļaunprātīgam lietotājam vai attālinātam hakeram mainīt tīmekļa pārlūkprogrammā palaist koda uzvedību, izveidojot precīzu skaitļošanas vides kopiju un palaižot šo kopiju serverī. Pēc tam Ripley saspiestā notikumu straumē no klienta uz serveri nosūta visas lietotāja darbības, tostarp peles klikšķus, taustiņsitienus un jebkuru citu ievadi. Šī straume tiek darbināta, izmantojot klonētu klienta lietojumprogrammu serverī, un šī virtuālā dublējošā lietojumprogramma tiek salīdzināta ar lietojumprogrammas darbību, kas darbojas lietotāja mājas pārlūkprogrammā. Ja ir kādas neatbilstības, Ripley atvieno klientu.
Nevar uzticēties nekam, kas notiek klientā, saka Bens Livšits , Microsoft Research vadošais pētnieks par Ripley projektu. Tas būtībā ir velns pārlūkprogrammā no izstrādātāja viedokļa.
Ripley ir neredzams gala lietotājam un neietekmē parasto tīmekļa lietojumprogrammas darbību. Tikai ļaunajiem puišiem ir jāuztraucas par to, kas notiks pēc rezultāta iesniegšanas, saka Livšits.
Viens no izaicinājumiem, ko Livšits un viņa līdzstrādnieks no Microsoft, Emre Kicimans , ar kuru saskārās, veidojot Ripley, tika izveidots visas klienta vides kopija — tīmekļa lietojumprogramma un programmatūras dzinējs, kas to darbina —, kas bija pietiekami maza, lai būtu praktiska liela apjoma tīmekļa serverim, kas apstrādātu pieprasījumus no simtiem vai tūkstošiem lietotāju vietnē. vienreiz.
Livšits sacīja, ka, ja jums ir jāpalaiž replika pārlūkprogrammā, katrai pārlūkprogrammas instancei atmiņas apjoms būtu 50–60 megabaiti. Risinājums, ko viņš un Kicimana izstrādāja, bija tā vietā palaist bezgalvu pārlūkprogrammu — emulatoru, kas simulē tikai Ripley svarīgas tīmekļa pārlūkprogrammas funkcijas. Tas samazināja klonētās pārlūkprogrammas un lietojumprogrammas atmiņas apjomu no viena līdz pusotra megabaita vienai lietojumprogrammai.
Samazinot lietotāja pārlūkprogrammas lietojumprogrammas servera puses klonu, Livshits un Kiciman kopā ar kolēģiem no Kornelas universitātes, NY un Indijas Tehnoloģiju institūta, Deli, vēl vairāk samazināja Ripley veiktspēju. No piecām eksperimentālām lietojumprogrammām, kas ietvēra iepirkumu grozu, vairākas spēles un emuāru rakstīšanas programmu, vidējais latentuma pieaugums servera CPU palielināto piepūles dēļ bija aptuveni viena milisekunde.
Dažos gadījumos Ripley pat uzlaboja tīmekļa lietojumprogrammu veiktspēju, jo klienta lietojumprogrammas servera puses klons ir pārrakstīts .NET — programmēšanas valodā, kas ir 10 līdz 100 reizes ātrāka nekā klienta pusē esošais JavaScript. Dažreiz tas ļauj Ripley prognozēt, kāds būs nākamais klienta puses lietojumprogrammas pieprasījums, pirms klients to pat ir veicis, un profilaktiski nosūtīt datus klientam.
Tā ir maģiska situācija, ja tā padomā, saka Livšits. Tas noved pie nulles latentuma attālās procedūras izsaukumiem.
Pašlaik izstrādātājiem, kas vēlas izmantot Ripley, lai nodrošinātu savas tīmekļa lietojumprogrammas, būtu atkārtoti jāīsteno idejas, kas izklāstītas rakstā par Ripley, savā iecienītākajā tīmekļa lietojumprogrammu sistēmā. Tomēr galu galā Livshits un Kiciman domā, ka Ripley varētu palīdzēt demokratizēt būtisku tīmekļa lietojumprogrammu drošības daļu, padarot to pieejamu izstrādātājiem, kas nav pieredzējuši.
Līdz šim es domāju, ka cilvēki ir uzbrukuši šīm problēmām manuāli, saka Kicimans. Jūs saņemat ekspertus, kuri iesaistās un pielāgo savas lietojumprogrammas, lai risinātu šīs problēmas, taču tas nav īpaši mērogojams un nav īpaši veikls, ja nepieciešams veikt izmaiņas. Mēs cenšamies panākt, lai tīmekļa izstrādes platforma būtu tāda, lai ikviens varētu izmantot tehnoloģiju veidus, ko izmanto šie eksperti.
UC Berkeley's Barth atzīmē, ka Ripley ir daļa no plašākas tendences risinājumos, kas aizsargā klienta puses koda integritāti, nodrošinot, ka nevar notikt nesankcionēta rīcība. Es uzskatu, ka Ripley ir vairāk domu eksperiments: kas notiktu, ja serveris visu apstiprinātu? viņš saka. Darbs liecina, ka drošība būtu ieguvēja, ja mēs apstiprinātu vairāk, nekā validējam šodien.