-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Zabezpieczenie procesu rejestracji #45
Comments
W najgorszym wypadku, taka osoba dostanie kod autoryzacyjny, do którego dowcipniś nie będzie miał dostępu, a co za tym idzie nie dokończy procesu rejestracji. Myślę, że w ramach MVP dodatkowe zapezpieczenia nie są potrzebne. Nawet jeśli ktoś się pokusi o spamowanie sms-ami to aplikacja może szybciej zyskać użytkowników i rozgłos, wystarczy dobrze skomponowana wiadomość z kodem ;) |
Może i racja. W najgorszym wypadku wpisze losowe / nielubianych osób numery i zaspamuje je kodami weryfikacyjnymi. Nie znam takiego rozwiązania, ale dobrym weryfikatorem jest nawiązanie przez aplikację połączenia i jakaś końcówka weryfikuje nr, z którego się dzwoni (zainicjowane przez apkę). Może takowe są. Wiem, że powszechność + prywatność to dwie ważne rzeczy, więc może nie warto komplikować, a martwić się, jak będzie problem. |
Fajnie, że o tym piszecie. To jest problem który mi także sen spędza z powiek. Zrobiliśmy już częściowo zabezpieczenia, które opisaliśmy tutaj: https://github.com/ProteGO-app/backend/blob/master/sms_registration.md Będę wdzięczny za przegląd założeń i kodu który to realizuję. Bardzo ucieszę się jeśli znajdziecie w tym jakąś lukę. |
Z czego wynika konieczność podania numeru telefonu? Czy jest to podyktowane jakimiś zewnętrznymi wymaganiami? W ProteGO-Safe/specs#34 postulowane jest porzucenie konieczności podawania numeru telefonu, co całkowicie wyeliminowałoby ten problem. |
Rzeczywiście przegapiłem dokument, w którym przedstawione są już rozwiązania. Zastanawiam się, czy w proces samej rejestracji nie zaangażować jakiejś recaptcha (Jakiś WebView, co wymagałoby modyfikacji endpointa lub tez schowania go gdzieś lub nie upubliczniania) a zastosować zwykły widok z danymi forma i tokenem captchy. Jeśli nie ma potrzeby żeby endpoint rejestracji był dostępny dla innych urządzeń itd. to można to rozważyć. |
Dzięki za wasze uwagi. Dodałem jeszcze takie zmiany #52 Widzicie jeszcze jakieś ryzyka? Czy jesteśmy zabezpieczeni przed zgadywaniem kodów? |
Oczywiście można tego też uniknąć nie wymagając numeru telefonu :) |
Jeśli API byłoby dostępne, wysyłając odpowiedniego requesta na /register można komuś zrobić psikusa, gdyż nie ma możliwości walidacji numeru telefonu, który poda się w zgłoszeniu o rejestrację.
Rozważyć więc należy możliwość dodania pola adresu IP (wiem, kwestia prywatności..), z którego poszedł request rejestracji,
co da możliwość zastosowania jakiegoś throthlingu, a w razie czego blokowania/zgłoszenia dowcipnisia. Można też korzystać z unikalnego identyfikatora urządzenia/instalacji aplikacji, ale
to jest nieweryfikowalne i wiadomo, że to co leży na urządzeniu jest raczej "jawne" i do zmanipulowania poza aplikacją.
The text was updated successfully, but these errors were encountered: