HTML5 - potencjalne zagrożenia | DailyWeb.pl

HTML5 - potencjalne zagrożenia

Opublikowano 6 lat temu -


Przed wami gościnny wpis Dariusza Andryskowskiego. Mam nadzieje, że zostanie z nami na dłużej :)


HTML5
jest to nowa technologia, w której nowe funkcje powoli zostają wdrażane w kolejnych wydaniach przeglądarek. Prace nad HTML5 nadal trwają, nie wydano jeszcze ostatecznej, oficjalnej wersji specyfikacji dla tego języka. Niektóre funkcjonalności, jakie obecnie oferuję nam HTML5, stwarzają duży problem bezpieczeństwa. W tym artykule opiszę zagrożenia, które mogą naruszyć naszą prywatność.

Jednym z przykładów może być atrybut <video>. Dzięki niemu można przemycić kod JavaScript w ataku XSS (Cross-Site Scripting)i ominąć tradycyjne filtry. Kolejnymi atrybutami umożliwiającymi ten sam atak jest atrybut <comment> oraz <iframe>.

Do zagrożeń można zaliczyć ciasteczka (Cookiem), pliki przechowywane na dysku komputera. Dzięki Web Storage projektanci HTML5 dali programistą JavaScript możliwość na przechowane i przesyłanie danych znacznie większych niż do tej pory oferowały pliki Cookiem, które prawidłowo nie powinny przekraczać 4096 bajtów ( wieksze pliki powodowały spowolnienie procedur akceptacji i reakcji, wysyłanej w odpowiedzi z serwera). Web Storage tworzy zbiór danych, który może zawierać od szczątkowej ilości danych po duże aplikacje internetowe. Tak więc duże przechowywanie danych nie wpływa na spowolnienie wydajności witryny. Dane są przekazywane tylko wtedy gdy są potrzebne. Tyle pozytywnych informacji dowiedzieliśmy się, ale gdzie to zagrożenie ? Zagrożenie leży w przechowywanych danych, które nie są przechowywane w postaci zaszyfrowanej. Dlatego pamiętajcie – nie umieszczajcie tam danych, które mogą przydać się hackerom, atakującym nasze aplikację, ponieważ stwarza to możliwość wycieku danych o użytkownikach.

Warto zwrócić uwagę również na flaszowe ciasteczka (Flash Cookies). Jest to nowy sposób śledzenia poczynań użytkownika w sieci. Takie serwisy jak Facebook, Youtube czy też Xing wykorzystują takie ciasteczka, które pozwalają na śledzenie aktywności użytkownika. Jest oczywiście więcej serwisów, które generują takie pliki Cookies i wykorzystują je do tych samych celów.  Kiedy ciasteczka flash komunikują się z serwisem? Zawsze kiedy jesteśmy zalogowani do takiego serwisu i przeglądamy inne strony internetowe. Przesyłanie informacji odbywa się za pomocą HTML5. Aby zabezpieczyć się przed kradzieżą naszych danych, a także ukryć informacje o naszych odwiedzanych stronach należy wylogować się z serwisów społecznościowych i kont pocztowych. Łatwo powiedzieć, ciężko zrobić lub też zapamiętać. Jak usunąć pliki Flash Cookies? Z pomocą przychodzi nam Menadżer ustawień, który można pobrać ze strony Adobe. Za pomocą tego programu można usunąć wszystkie ciasteczka flaszowe. Takie ciasteczka wykorzystywane są również w przez firmy zajmujące się reklamą, sprawdzając na co jest większy popyt, większe zainteresowanie w śród produktów.

Przechowywanie danych na dysku lokalnym może odbyć się również za pomocą Web SQL (webdatabase), której API oparte jest o SQLlite. Tu powinniśmy skupić się na bezpiecznym budowaniu zapytań SQL. Nie przestrzeganie zasad może przyczynić się do ataku SQL Injection i tym samym wykradzenia danych o użytkowniku, które wpisywał np. w polach formularza logowanie do serwisu, banku. Zdarzają się programiści, którzy nie przestrzegają  tych zasad. Dlatego kieruje te słowa do wszystkich którzy tworzą aplikacje internetowe i chcą wykorzystać API Web SQL, aby starali się tworzyć bezpieczny kod chroniąc tym samym użytkowników korzystających z ich aplikacji.

HTML5 daje nam nowe metody kodowania. Powinniśmy pamiętać, o tym aby dokument, plik  przesyłany i zwracany przez serwer miał zadeklarowane kodowanie. Tak jak już wiadomo kodowanie można ustawić w nagłówku HTTP

Content-Type: text/html; charset=”UTF-8”

lub w tagu META, który znajduje się między znacznikiem HEAD.

<head></a>
<a href="http://algorytmy.pl/doc/xhtml/?q=meta&c=0"><meta</a> <a href="http://algorytmy.pl/doc/xhtml/?q=http-equiv&c=0">http-equiv</a>="Content-type" <a href="http://algorytmy.pl/doc/xhtml/?q=content&c=0">content</a>="text/html; charset=ISO-8859-2" />
</head> 

Takim sposobem uchronimy się przed atakami na kodowanie znaków na naszej stronie.

Jesteśmy świadkami nieustannego postępu, który rozwiązuje wiele trudności, usprawniając technicznie budowanie internetowych aplikacji, dając użytkownikom łatwiejszą i przejrzystą obsługę serwisów. Tak dzieje się również dzięki HTML5. Na co pragnę zwrócić uwagę ? Na to abyśmy byli świadomi zagrożenia, z jakim możemy mieć do czynienia. Im większe możliwości zaczyna dawać nam HTML5, tym bardziej skrypty zaczynają być podatne na zewnętrzne ataki, czy też tunelowanie ruchu(technika polegająca na ukrywaniu strumienia nieautoryzowanych danych wewnątrz innego) oraz cały szereg innych ataków. Miejmy nadzieję, że oficjalne wydanie wersji HTML5, będzie miało połatane dziury, zwiększając nasze bezpieczeństwo serfowania po stronach internetowych.

-----------------------

Poradyseo.pl