211service.com
Web Security Tool kopiuje ruchy aplikacji
W dzisiejszych czasach programiści mogą łatwo tworzyć pełnoprawne aplikacje działające w przeglądarce. Ochrona tych aplikacji przed hakerami to inna sprawa.

Graj ostrożnie : Badacze firmy Microsoft wykorzystali Ripley do zabezpieczenia kilku aplikacji internetowych, w tym gier.
Mając to na uwadze, naukowcy z Microsoft Research opracowali nowy sposób zabezpieczania złożonych aplikacji internetowych poprzez efektywne klonowanie przeglądarki użytkownika i zdalne jej uruchamianie.
Wiele najnowszych aplikacji internetowych dzieli swój kod wykonywalny między serwer i klienta. Problem polega na wykryciu, czy kod działający na domowym komputerze użytkownika został w jakiś sposób naruszony. Nowe rozwiązanie Microsoft, znane jako Ripley, zostało ogłoszone we wtorek przez Association for Computing Machinery Konferencja Bezpieczeństwa Komputerowego i Komunikacyjnego W Chicago.
Ripley idzie dalej niż poprzednie wysiłki w celu zabezpieczenia integralności aplikacji internetowych. Mówi, że zapewnia ochronę integralności do jej logicznego ekstremum Adam Barth , naukowiec z Uniwersytetu Kalifornijskiego w Berkeley, który specjalizuje się w bezpieczeństwie aplikacji internetowych. Nie był zaangażowany w projekt. Zamiast tylko sprawdzać, czy żądanie pochodzi z odpowiedniej witryny, Ripley weryfikuje, czy działania użytkownika są rzeczywiście dozwolone przez interfejs użytkownika aplikacji.
Ripley uniemożliwia złośliwemu użytkownikowi lub zdalnemu hakerowi zmianę zachowania kodu działającego w przeglądarce internetowej, tworząc dokładną kopię środowiska obliczeniowego i uruchamiając tę kopię na serwerze. Ripley następnie wysyła wszystkie działania użytkownika, w tym kliknięcia myszą, naciśnięcia klawiszy i wszelkie inne dane wejściowe, w skompresowanym strumieniu zdarzeń od klienta do serwera. Ten strumień jest uruchamiany przez sklonowaną aplikację kliencką na serwerze, a zachowanie tego wirtualnego sobowtóra jest porównywane z zachowaniem aplikacji działającej w przeglądarce użytkownika w domu. W przypadku jakichkolwiek rozbieżności Ripley odłącza klienta.
Nie można ufać niczemu, co dzieje się u klienta, mówi Ben Livshits , główny badacz w Microsoft Research w projekcie Ripley. To w zasadzie diabeł w przeglądarce z punktu widzenia programisty.
Ripley jest niewidoczny dla użytkownika końcowego i nie wpływa na normalne funkcjonowanie aplikacji internetowej. Livshits mówi, że tylko złośliwi faceci muszą się martwić, co się stanie po przesłaniu wyniku.
Jedno z wyzwań, które Livshits i jego współpracownik w Microsoft, Emre Kiciman , podczas tworzenia Ripleya, chodziło o to, jak stworzyć kopię całego środowiska klienta — aplikacji internetowej i silnika oprogramowania, która je obsługuje — która była wystarczająco mała, aby była praktyczna dla serwera WWW obsługującego duże ilości żądań od setek lub tysięcy użytkowników w pewnego razu.
Na serwerze, powiedział Livshits, jeśli musisz uruchomić replikę w przeglądarce, poniosłoby to zużycie pamięci od 50 do 60 megabajtów na instancję przeglądarki. Rozwiązaniem, które wymyślili wraz z Kicimanem, było uruchomienie bezgłowej przeglądarki — emulatora, który symuluje tylko funkcje przeglądarki internetowej niezbędne dla Ripleya. Zmniejszyło to zużycie pamięci sklonowanej przeglądarki i aplikacji do około półtora megabajta na aplikację.
Zmniejszając po stronie serwera klon aplikacji przeglądarkowej użytkownika, Livshits i Kiciman – wraz z kolegami z Cornell University w stanie Nowy Jork i Indian Institute of Technology w Delhi – jeszcze bardziej zmniejszyły obciążenie Ripleya. Z pięciu eksperymentalnych aplikacji, które obejmowały koszyk na zakupy, kilka gier i silnik do blogowania, średni wzrost opóźnienia spowodowany zwiększonym wysiłkiem procesora serwera wyniósł około jednej milisekundy.
W niektórych przypadkach Ripley nawet zwiększył wydajność aplikacji internetowych, ponieważ klon aplikacji klienckiej po stronie serwera został przepisany w .NET, języku programowania, który jest 10 do 100 razy szybszy niż JavaScript działający po stronie klienta. Czasami pozwala to Ripleyowi przewidzieć, jakie będzie następne żądanie aplikacji po stronie klienta, zanim zostanie wykonane przez klienta, i prewencyjnie przesłać dane do klienta.
To magiczna sytuacja, jeśli się nad tym zastanowić, mówi Livshits. Prowadzi to do wywoływania zdalnych procedur z zerową latencją.
Obecnie programiści zainteresowani wykorzystaniem Ripley do zabezpieczania swoich aplikacji internetowych musieliby ponownie zaimplementować idee z artykułu przedstawionego na Ripley w ich własnym ulubionym frameworku aplikacji internetowych. Ostatecznie jednak Livshits i Kiciman uważają, że Ripley może pomóc zdemokratyzować kluczową część bezpieczeństwa aplikacji internetowych, umieszczając ją w zasięgu nie-eksperckich programistów.
Do tej pory myślę, że ludzie atakowali te problemy ręcznie, mówi Kiciman. Dostajesz ekspertów, którzy nurkują i dostosowują swoje aplikacje do tych wyzwań, ale nie jest to zbyt skalowalne i niezbyt elastyczne, gdy musisz wprowadzić zmiany. To, co staramy się zrobić, to doprowadzić platformę do tworzenia stron internetowych do punktu, w którym każdy będzie mógł skorzystać z technologii, z których korzystają ci eksperci.
Barth z UC Berkeley zauważa, że Ripley jest częścią większego trendu w rozwiązaniach, które chronią integralność kodu po stronie klienta, zapewniając, że nie może wystąpić nieautoryzowane zachowanie. Postrzegam Ripley jako bardziej eksperyment myślowy: co by się stało, gdyby serwer wszystko zweryfikował? on mówi. Praca sugeruje, że bezpieczeństwo skorzystałoby, gdybyśmy zwalidowali więcej niż obecnie.