211service.com
Web Security Tool kopíruje pohyby aplikací
V dnešní době je pro vývojáře snadné vytvářet plnohodnotné aplikace, které běží v prohlížeči. Zabezpečení těchto aplikací před hackery je jiná věc.

Hrát na jistotu : Výzkumníci společnosti Microsoft použili Ripley k zabezpečení několika webových aplikací, včetně her.
S ohledem na to vědci z Microsoft Research odhalili nový způsob, jak zabezpečit složité webové aplikace efektivním klonováním prohlížeče uživatele a jeho vzdáleným spuštěním.
Mnoho nejnovějších webových aplikací rozděluje svůj spustitelný kód mezi server a klienta. Problémem je zjišťování, zda kód běžící na domácím počítači uživatele nebyl nějakým způsobem kompromitován. Nové řešení společnosti Microsoft, známé jako Ripley, bylo oznámeno v úterý na půdě Association for Computing Machinery’s Konference o bezpečnosti počítačů a komunikací v Chicagu.
Ripley jde dále než předchozí snahy o zabezpečení integrity webových aplikací. Dovádí ochranu integrity do logického extrému, říká Adam Barth , výzkumník z Kalifornské univerzity v Berkeley, který se specializuje na bezpečnost webových aplikací. Nebyl zapojen do projektu. Namísto pouhého ověření, že požadavek přišel ze správného webu, Ripley ověří, že akce uživatele jsou skutečně povoleny uživatelským rozhraním aplikace.
Ripley zabraňuje uživateli se zlými úmysly nebo vzdálenému hackerovi ve změně chování kódu spuštěného ve webovém prohlížeči tím, že vytvoří přesnou kopii výpočetního prostředí a spustí tuto kopii na serveru. Ripley poté odesílá všechny akce uživatele, včetně kliknutí myší, úhozů a jakýchkoli dalších vstupů, v komprimovaném proudu událostí z klienta na server. Tento proud běží prostřednictvím klonované klientské aplikace na serveru a chování tohoto virtuálního dvojníka je porovnáváno s chováním aplikace spuštěné v prohlížeči uživatele doma. Pokud se vyskytnou nějaké nesrovnalosti, Ripley odpojí klienta.
Nemůžete věřit ničemu, co se děje v klientovi, říká Ben Livshits , vedoucí výzkumný pracovník společnosti Microsoft Research na projektu Ripley. Z pohledu vývojáře je to v podstatě ďábel v prohlížeči.
Ripley je pro koncového uživatele neviditelná a neovlivňuje normální funkci webové aplikace. Jsou to pouze zlomyslní kluci, kteří se musí starat o to, co se stane, jakmile podají výsledek, říká Livshits.
Jedna z výzev, kterou Livshits a jeho spolupracovník v Microsoftu, Emre Kiciman , které se při budování Ripley potýkalo s tím, jak vytvořit kopii celého klientského prostředí – webové aplikace a softwarového enginu, který ji spouští –, která byla dostatečně malá, aby byla praktická pro velkoobjemový webový server zpracovávající požadavky stovek nebo tisíců uživatelů na jednou.
Na serveru, řekl Livshits, pokud musíte spustit repliku v prohlížeči, budete mít paměťovou stopu 50 až 60 megabajtů na instanci prohlížeče. Řešením, které on a Kiciman vymysleli, bylo místo toho spustit bezhlavý prohlížeč – emulátor, který simuluje pouze funkce webového prohlížeče nezbytné pro Ripley. To snížilo paměťovou stopu klonovaného prohlížeče a aplikace na jeden až jeden a půl megabajtu na aplikaci.
Livshits a Kiciman – spolu s kolegy z Cornell University, NY a Indian Institute of Technology, Delhi – ještě více snížili výkonovou režii Ripley zmenšením klonu uživatelské aplikace založené na prohlížeči na straně serveru. Z pěti experimentálních aplikací, které zahrnovaly nákupní košík, několik her a blogovací engine, bylo průměrné zvýšení latence v důsledku zvýšeného úsilí procesoru serveru kolem jedné milisekundy.
V některých případech Ripley dokonce zlepšil výkon webových aplikací, protože serverový klon klientské aplikace je přepsán do .NET, programovacího jazyka, který je 10 až 100krát rychlejší než JavaScript běžící na straně klienta. Někdy to umožňuje Ripley předvídat, jaký bude další požadavek klientské aplikace ještě předtím, než jej klient vůbec podá, a preventivně odeslat data klientovi.
To je magická situace, pokud o tom přemýšlíte, říká Livshits. Vede k volání vzdálených procedur s nulovou latencí.
V současné době by vývojáři, kteří mají zájem o použití Ripley k zabezpečení svých webových aplikací, museli znovu implementovat myšlenky z článku prezentovaného na Ripley na svém vlastním oblíbeném webovém aplikačním frameworku. Nakonec si však Livshits a Kiciman myslí, že Ripley by mohla pomoci demokratizovat podstatnou část zabezpečení webových aplikací a dát ji na dosah neodborným vývojářům.
Až dosud si myslím, že lidé na tyto problémy útočili ručně, říká Kiciman. Získáte odborníky, kteří se ponoří a přizpůsobí své aplikace těmto výzvám, ale to není příliš škálovatelné a není příliš agilní, když potřebujete provést změny. O co se snažíme, je dostat platformu pro vývoj webu do bodu, kdy každý může využít typy technologií, které tito odborníci používají.
Barth z UC Berkeley poznamenává, že Ripley je součástí většího trendu v řešeních, která chrání integritu kódu na straně klienta tím, že zajišťují, že nemůže dojít k žádnému neoprávněnému chování. Ripleyovou vidím spíše jako myšlenkový experiment: Co by se stalo, kdyby server vše ověřil? on říká. Práce naznačuje, že zabezpečení by prospělo, kdybychom ověřovali více, než ověřujeme dnes.