Весь этот богатый набор возможностей часов убеждает родителей, что они получают если не полный, то достаточно существенный контроль над своим чадом. Но, с другой стороны, устройства с таким функционалом должны надежно защищать данные своих пользователей. Тем более, что такими пользователями являются дети. Страшно представить, что может произойти, если злоумышленник получит доступ к устройству ребенка и сможет следить за ним.
Терзаемый такими мыслями, я решил проверить, насколько безопасным является использование купленных мною часов.
После того, как я установил приложение Elari SafeFamily из Apple Store и добавил в него часы по QR коду, я запустил Fiddler на ноутбуке и начал анализировать трафик. Приложение отправляло данные на сервер
Тут знаходиться посилання. Щоб побачити його, зареєструйтеся будь ласка, це займе у Вас всього хвилину. Первое, на что я обратил внимание, это то, что использовался обычный HTTP протокол, никакого шифрования трафика не было, ни HTTPS, ни SSL Pinning. У меня закралась тревожная мысль, что этим дело не закончится.
Так и оказалось. Продолжая анализировать запросы и подменяя в них параметры, я обнаружил первую уязвимость. Так, запрос по адресу
- Код: Виділити все
http://api.wherecom.com:8099/umeox/api/holder/detail.json?holderId=111111&monitorId=222222
возвращал подробную информацию о ребёнке: его имя, дату рождения, рост, вес, в какой класс ходит, номер телефона, имейл родителей, фото ребёнка и главное — QR код его часов. Зная последний, любой мог добавить часы этого ребёнка в своё приложение и следить за ним так же, как это делают его родители. Суть же уязвимости заключалась в том, что изменив значение параметра monitorId в запросе в большую или меньшую сторону, мы получим данные другого ребёнка.