Лучший канал о каршеринге, более 9300 читателей!

Что не так с безопасностью и приложением Делимобиля

Каршеровод Lex объясняет, почему работа программистов Делимобиля вызывает у него неприязнь и беспокойство.

Начнем с безопасности Делимобиля

У BelkaCar, Yandex.Drive, YouDrive отсутствует пароль как таковой и вход осуществляется по одноразовому паролю (коду) из СМС. Делимобиль тоже решил последовать этой тенденции, но понял её неправильно. У Делимобиля все еще есть пароль, но его нельзя поменять, при этом никакого подтверждения через СМС нет, даже если заходить с другого устройства. На вопрос о пароле поддержка Делимобиля ответила следующее:

После обновления ,на свой пароль нельзя поменять,сделано в целях безопастности

Ответ поддержки Делимобиля

Давайте разберемся, что это за «безопасность» и что может пойти не так.

Новый пароль назначает сам Делимобиль, причём там используются только маленькие буквы и цифры, длина пароля — всего 6 символов, и в нем должно быть от 1 до 3 цифр (оценка произведена на основе 15 восстановленных паролей). Оценить один из сгенерированных паролей можно в окне регистрации в Яндекс.Почте, а также на сайте Касперского в тематическом разделе:

Оценка пароля при регистрации почты в Яндексе

Оценка пароля Kaspersky lab

Как мы видим, пароль не слишком надежный, так как он слишком короткий, нет больших букв, мало цифр и уж тем более специальных символов, которые значительно усложняют пароль.

Жирный минус: Приведение всех паролей к единому стандарту и отсутствие проверки на количество неправильных входов – золотая жила не только для мамкиных хакеров. То есть я ввел свой пароль 20 раз неправильно, но на 21 раз я спокойно зашел в аккаунт – такого быть не должно! Я обратился в поддержку Делимобиля с вопросом, есть ли блокировка аккаунта при вводе определенного количества неправильных паролей, ответ был такой: «Не блокируется». Правда, этот ответ я получал целых 22 часа, так как сначала они не хотели отвечать на него.

Суть в том, что можно подобрать пароль к любому аккаунту, достаточно знать только номер телефона, который используется в качестве логина, ведь нам уже известна длина пароля. Количество возможных комбинаций паролей для заданной длины без учета условия от 1 до 3 цифр в пароле составит:

36^6 = 2 176 782 336, где 36 – это возможные символы 26 маленьких букв английского алфавита и 10 цифр, а 6 – длина пароля.

В случае с алфавитом, который используется в Делимобиле («abcdifghigklmnopqrstuvwxyz0123456789»), пароль «cvma2j» окажется в списке возможных паролей 121 632 210-м. Поэтому подобрать его будет проще простого, так как список возможных паролей будет пройден лишь на 5,6%. Но все зависит ещё от самого списка.

А теперь вариант при большем алфавите: «abcdifghigklmnopqrstuvwxyzABCDIFGHIGKLMNOPQRSTUVWXYZ0123456789 !,.%^:’*&@$».

74^6 = 164 206 490 176. Алфавит увеличился в два раза, а количество возможных комбинаций увеличилось в ~75 раз или на 162 029 707 840. А пароль «cvma2j» окажется в списке возможных паролей уже не 121 632 210-м, а 5 072 598 038-м, и такое количество запросов уже сложно будет не заметить.

Небольшой плюсик: Сгенерированные пароли у Делимобиля полностью случайные, а следовательно стандартная книга паролей (10-15 млн паролей) не подойдет, и тогда в силу вступит полный перебор всех возможных вариантов. Также этот метод делает более надежными аккаунты тех, кто любит ставить дату рождения в поле для пароля. Но если злоумышленник захочет вскрыть чей-либо аккаунт, то он заведомо знает, что используется в паролях – это 26 маленьких букв английского алфавита и 10 цифр.

Решение: Использовать для входа одноразовый пароль через СМС либо генерировать более сложные пароли с алфавитом «abcdifghigklmnopqrstuvwxyzABCDIFGHIGKLMNOPQRSTUVWXYZ0123456789 !,.%^:’*&@$». Самое оптимальное – это шанс 27,3% для каждого из трех блоков («abcdifghigklmnopqrstuvwxyz», «ABCDIFGHIGKLMNOPQRSTUVWXYZ», «0123456789») и шанс 18,1% для блока «!,.%^:’*&», при этом длина пароля должна быть как минимум 11 знаков, ИМХО.

Я считаю, что одноразовый пароль намного лучше. Его нужно хранить только до того момента, пока не зайдет пользователь, в отличие от постоянного хранения в зашифрованном виде через какую-нибудь хеш-функцию.

Бронирование

При бронировании машины YouDrive и BelkaCar уведомляют о бронировании машины через пуш-уведомления – так пользователь может понять, что он случайно нажал забронировать или кто-то использует его аккаунт.

Отсутствие интернета

При отсутствии интернета сразу выкидывает из приложения, и потом приходится заново заходить, вспоминая тот самый 6-символьный пароль. Зачем? Ни у одного каршеринга из данной четверки, кроме Делимобиля, не вылетает приложение при отсутствии интернета, а лишь сообщает об отсутствии сети. Да пусть будет «Хьюстон, у нас проблемы», но зато не вылетает.

Отображение

Когда количество машин больше девяти, то они группируются со значком бесконечности. Зачем? Вдруг мне нравится ваш сервис, и я хочу более отдаленно посмотреть, что есть в округе, и добраться до вашей машины на другой. Только при сильном приближении они разгруппировываются, и машины оказываются далеко не в той точке, где произошла эта группировка. Если вы не хотите, чтобы показывалось количество машин, сделайте как у Яндекса.

Карточка машины

Также я хотел бы сказать о карточке машины в Делимобиль – она неинформативная. Есть люди, которых укачивает в старом Солярисе и не укачивает в новом, но определить это не так-то просто. Единственный идентификатор и по совместительству лайфхак – это номер машины: если там стоит регион 799 – это новый Солярис, а если 777 – старый. Неужели сложно поставить разные фотографии на машины или хотя бы написать, какая именно машина вас может ожидать, если её забронировать?

Утром в приложении как написано 7 руб/мин – так и написано, а на борту машины написано 3 руб/мин. Сложно подгружать одну цифру?

Фиксирование вмятин и повреждений

По части фиксации вмятин и повреждений YouDrive первый – фотки машины тянутся от других пользователей, и нет необходимости заново фотографировать все повреждения. У BelkaCar прикрепленная фотка сразу отправляется на сервер, пока ты ищешь другие повреждения. Очень полезно, когда машина между домами и там не очень хорошо ловит интернет.

И только с Делимобилем возникают проблемы: пофоткал их «модель» со всех сторон, сел в машину, нажимаешь «Подписать» и ждешь, пока все фотки отправятся на сервер. Бывало, что из-за этого и пяти минут не хватало на «осмотр автомобиля», а ведь «время – деньги».

Счетчик

Только в Делимобиле можно заплатить за неполную минуту, даже если ты использовал в этой минуте лишь одну секунду. Да, всё честно – как и заявлено, но когда машина не закрывается с первого раза, а счетчик идет дальше – тут начинаешь расстраиваться в технологиях 21 века. Ладно хоть сейчас машины у Делимобиля закрываются с первого раза, а не с десятого, как это было раньше. Это, конечно, плюс.

И только в Делимобиле надо выключать фары после завершения аренды, иначе она не закроется, при этом у выключенной машины они не горят — тогда зачем это? Посчитаем в человеко-часах.

Для завершения аренды сервер обрабатывает 8 секунд информацию о машине и сообщает мне, что фары не выключены, 2 секунды я делаю анализ ошибки и выключаю фары, потом ещё 8 секунд — повторная обработка информации о машине, также предположим, что машину арендуют в среднем 8 раз в день, а машин 2500, получаем:

(8 + 2 + 8) * 8 * 2500 = 360 000 секунд = 6000 минут = 100 часов

Ровно столько Делимобиль может убить времени всего за один день, если каждый пользователь не вспомнит, что только у данного каршеринга надо выключать фары. Конечно, убить 100 часов за день — идеально при данных значениях, и не все забывают выключить фары, но в совокупности с другими «фишками» все это вполне потянет на серийного программиста или программистов. А если пользователь забудет включить фары при старте аренды и его остановит сотрудник ДПС, то тут уже не 16 секунд и штраф 500₽.

Фишка явно рассчитана на динозавров, но мы же открываем машины смартфоном, а не стандартным ключом.

Промокод

Использовать в качестве промокода телефон, когда он же является и логином, идея «хорошая». Особенно при размещении в интернете, когда ты хочешь скрыть свой номер телефона от посторонних глаз, а такую информацию размещаешь в свободном доступе. А ведь у кого-то можно даже создать свой промокод – неужели это так сложно, Делимобиль? Ну хотя бы что-нибудь простое, но никак не логин…

Итог

Информационная безопасность – это комплекс мер по защите от утечки информации и неавторизированного доступа, а также использование передовых мер идентификации и аутентификации пользователей. То есть безопасность аккаунта лежит не только на пользователях, но и на компании, предоставляющей услуги, причем доказать, что потеря пароля произошла на стороне поставщика услуг, практически невозможно, если только она не носит массовый характер.

Если мой аккаунт в Делимобиле вдруг взломают или начнут им пользоваться, я узнаю об этом только на этапе списания денег, а не когда в него вошли или забронировали машину. Я очень надеюсь, что Делимобиль наймет хороших программистов и ИБ-шников, так как приложение оставляет желать лучшего – им просто-напросто неприятно пользоваться. Но не всегда плохой продукт говорит о том, что программисты не так уж и хороши – возможно, в Делимобиле некомпетентные сотрудники составляют ТЗ. Также я уверен, что вы просто решили на этом сэкономить. Но как можно экономить, если вы планируете добавить еще 2500 машин? Наверное, экономически невыгодно делать удобное и красивое приложение.

Только простой и интуитивно понятный продукт станет востребованным и массово используемым, как это было с iPhone, но, к сожалению, таким он уже не является.

Промокоды автора, которые дадут бонусы вам и помогут сказать автору «спасибо» =)

  • промокод Делимобиль — 48552A4E594121 (400 руб. на счет)
  • промокод BelkaCar — CSQJ1345 (300 руб. на счет)
  • промокод YouDrive – gkJe6Q (скидка 50% на первую поездку)
  • промокод МатрешCar – 0SZO4B (300 руб. на счет)

Если вы хотите написать в блог каршеровода, свяжитесь с нами по почте. Если вам нужна помощь с блогом, напишите Polly Volkova в нашем телеграм-чате.

Правила сообщества
  • комментируйте!
  • будьте вежливы, уважайте участников;
  • старайтесь оставлять информативные, полезные и интересные комментарии;
  • соблюдайте действующее законодательство;
  • мы не приветствуем размещение промокодов и рекламы;
  • лучшие комментарии будут отмечены редакцией;
  • вы тоже можете стать автором или участником проекта и продвигать свои промокоды;