Pasywny fingerprinting klienta HTTP/2
Napisał: Patryk Krawaczyński
08/06/2017 w Bezpieczeństwo Brak komentarzy. (artykuł nr 615, ilość słów: 259)
P
aswyny fingerprinting odnosi się do zbierania atrybutów klienta lub serwera będącego w zasięgu naszego połączenia sieciowego. Atrybuty mogą być zbierane z warstwy transportu, sesji lub aplikacji (np. właściwości TCP, możliwości szyfrowania TLS lub charakterystyki implementacji protokołu HTTP). Można je wykorzystać do celów dedukcji informacji np. o używanym systemie operacyjnym (typie i wersji), jego czasie uptime, a w przypadku klientów – typu używanej przeglądarki (i nie mowa tutaj o user-agent, który można dowolnie zmieniać). Ponadto pasywne rozpoznawanie klienta może służyć do dodawania unikatowości / entropii to tożsamości danego klienta w sieci, w szczególności przy użyciu metody wielowarstwowego fingerprintingu. Powszechnie stosowanymi podejściami do “oznaczania obiektów” internetowych są: TCP/IP, TLS / SSL oraz HTTP od strony klienta i serwera.
W drugiej wersji protokołu HTTP został zmieniony sposób w jaki dane są przesyłane po sieci. Zamiast protokołu czysto tekstowego z wersji pierwszej mamy do czynienia z w pełni binarną wersją wraz z strumieniami i ramkami. Tak fundamentalna zmiana oznacza, że wdrożenia po stronie klientów i serwerów muszą zostać wykonane od nowa w celu obsługi funkcji nowego protokołu. Jak zawsze wprowadza to niuanse w implementacjach (każdy wydawca przeglądarki zrobi to na swój sposób) protokołu, które dają możliwość pasywnej identyfikacji klientów.
Więcej informacji: Passive Fingerprinting of HTTP/2 Clients, Device fingerprint