Hasła, limity zapytań i konta bez e-maila
W Blocks Beyond The Stars grają też dzieci. To kształtuje nie tylko projekt gry, ale także inżynierię bezpieczeństwa, która za nią stoi. Trzy przykłady.
Konta bez e-maila — celowo. Konto gracza u nas nie wymaga adresu e-mail. To nie brak funkcji, tylko decyzja: chcemy mieć jak najmniej danych osobowych, zwłaszcza od młodych graczy. Czego nie przechowujemy, tego nie da się zgubić. (Uczciwie trzeba dodać, że ma to minus: przez to nie ma „przypomnienia hasła” przez e-mail — mówimy o tym otwarcie.)
Hasła światów – tak, jak trzeba. Jeśli chronicie swój świat hasłem, to hasło nigdy nie jest przechowywane jawnym tekstem, tylko jako skrót PBKDF2 — nawet my nie możemy go odczytać. Hasło jest sprawdzane, zanim świat zostanie obudzony, więc obcy nie mogą uruchamiać cudzych światów samymi próbami dołączenia. A po dziesięciu nieudanych próbach w ciągu 15 minut włącza się blokada przeciw zgadywaniu na siłę.
Automatyczni strażnicy. Nasz kod przechodzi przez CodeQL, statyczną analizę bezpieczeństwa GitHuba. Naprawdę nas na czymś przyłapał: ciasteczko z językiem było początkowo ustawiane bez flag Secure i HttpOnly — brzmi niewinnie, ale niepotrzebnie otwierało furtkę do ataku. Naprawione, a od tamtej pory przeglądamy każdy nowy alert.
Wspólny wątek: bezpieczeństwo to dla nas nie dział, tylko seria małych, konsekwentnych decyzji. Przy grze, którą daje się własnemu dziecku, tylko takie podejście wydaje się właściwe.
Komentarze