Użytkownik opublikował wpis na łamach którego stwierdził, iż ktoś podszył się pod niego na serwerze Discord polskiej społeczności. Ja zaś spróbuję wyjaśnić dlaczego Discord przez jeden błąd nie powinien zostać dopuszczony do użytku.
Link do tego postu znajdziecie tutaj, a ja zabieram się za wyjaśnienie sprawy trochę pod kątem technicznym.
Discord podczas rejestracji każdego użytkownika generuje dla niego specjalne ID będące identyfikatorem a oprócz tego użytkownik otrzymuje specjalny tag widoczny w aplikacji oraz może dla swojego konta przypisać nick. Nick można zmieniać w sposób globalny ale też można go zmienić dla poszczególnego serwera. Mając nick globalny np. Alicja na jednym serwerze możemy być widoczni jako Stefan a na drugim jako StarszaPaniHot65. Oczywiście możliwe jest też ustawienie swojego avatara ale tylko w sposób globalny - jeden dla wszystkich serwerów.
Mając wersję premium możliwa jest również zmiana taga (więc po co on jest?) ale do czego zmierzam - zmiana nicku nie jest w żaden sposób weryfikowana.
Jak to powinno działać?
Każda zmiana nicku powinna być weryfikowana. Jeśli zmieniamy nick na AlaMaKota a z takim nickiem jest już ktoś na danym serwerze, to powinien pojawić się komunikat iż dany nick jest zajęty (dotyczy to również zmiany nicku dla całego konta). Dodatkowo niedopuszczalna powinna być sytuacja ustawienia tak zwanego pustego nicku, czyli nic nie wpisujemy i aplikacja akceptuje tę sytuację. Oprócz tego obok nicku użytkownika powinien widnieć unikalny adres ID a nie jakiś tag, który można zmieniać.
Jak to działa obecnie?
Obecnie działa to tak, że każdy może zmienić sobie nick na jaki mu pasuje, nie ważne czy w sposób lokalny czy globalny - nie zachodzi żadna walidacja czy wpisywany przez nas nick jest wykorzystywany, czy też nie. Ten błąd powoduje, że dochodzi do takich sytuacji:
Źródło własne.Źródło własne.Wystarczy teraz tylko wziąć avatar interesującego nas użytkownika, zwyzywać komuś rodzinę do 7 pokolenia wstecz a potem to ta prawdziwa osoba będzie musiała się tłumaczyć z tego, czego nie zrobiła. Oczywiście admini mają logi i mogą wywnioskować kto jest kto jednak pozostali uczestnicy czatu już do takich danych dostępu nie mają.
Błąd ze statusem "wysoki"
Początkowo myślałem, że ten błąd można zaklasyfikować jako średni, ponieważ idzie w miarę łatwy sposób rozpoznać użytkownika po tym tagu ale z racji tego, że jego można też zmienić ten błąd w moich oczach uzyskuje status wysoki. Z takim błędem oprogramowanie w ogóle nie powinno być dopuszczone do fazy produkcyjnej, czyli udostępnione użytkownikom w formie publicznej.
Dotyczy to całego Discorda
W ustawieniach konkretnego serwera można zablokować zmianę nicka, ale ta opcja blokuje tylko zmianę pseudonimu bezpośrednio na serwerze - nic nie stoi na przeszkodzie, aby zmienić nick w sposób globalny na używany przez innego użytkownika. Problem dotyczy całego oprogramowania Discord.
Źródła
Obserwacje własne.
Wsparcie
Podobało się? Obserwuj i wspieraj!