Невидимые наблюдатели
О том, почему уязвима система рейтинга порталов ИД Комитет, как ей могут манипулировать в своих интересах третьи лица и самое важное, как же решить эту проблему.
Предисловие
Будучи веб-разработчиком начинаешь изучать технические нюансы работы различных систем, порталов и сайтов, невольно сталкиваешься с DDOS-атаками и со взломами, c утечками и уязвимостями, которые не всегда очевидны создателям веб-сервисов и приложений.
В 21-м веке уязвимостям подвержены мы все, DDOS-атака уже не редкость, а лишь вопрос времени, когда тот или иной конкурент начнёт Вас топить, самая настоящая война уже давно ведётся не в поле, а во всемирной паутине, что уж тут говорить о безопасности, когда сотрудник такого гиганта, как Facebook, хранит пароли своих коллег на жестком диске в своей машине.
Утечки происходят регулярно и повсеместно. От них никуда не деться, но не стоит пренебрегать борьбой с ними и их предотвращением.
По сути описанными ниже методами можно топить хорошие статьи конкурентов или неугодных авторов.
Я предполагаю, что ИД Комитет уже давно в курсе этой проблемы, но почему-то до сих пор технической командой не введены дополнительные меры по борьбе с такими фальсификациями касательно голосования и фиксации просмотров.
Мысль о том, что третьи лица могут с легкостью влиять на главную страницу любого портала Комитета ужасна и я считаю, что это должно быть исправлено.
Ведь каждый из нас приходит на порталы VC, TJournal или DTF, так как доверяет этим порталам, тут люди пишут интересные истории, делятся новостями и рассказывают о своём опыте, формируется digital-сообщество. Наличие подобных уязвимостей подрывает доверие к порталам и материалам, которые публикуются.
Первые мысли о наличии тайных наблюдателей на портале VC у меня возникли после прочтения двух статей клик и клак о ботах Балабанова, а ещё сильнее усугубились после того, как мои хорошие статьи почему-то необоснованно немного заминусовали в одной из категорий, хотя я раскрыл весьма актуальные вопросы в своей статье.
C точки зрения разработчика, мне стало интересно, изменилось ли что-то на технической стороне порталов за пол года, после событий описанных в статье, к сожалению, как оказалось, ничего не изменилось.
Описание уязвимости
Все сайты Комитета работают на одной платформе, это легко заметить по схожему интерфейсу и по весьма похожему внутреннему устройству, каждое действие будь-то лайк, комментарий или сохранение статьи отправляется на конечную точку через оnclick cобытия в Javasctipt коде сайта, после чего запрос на действие обрабатывается сервером. Притензий к этой части сайта у меня нет, все реализовано правильно. Так делают все.
Для толкового программиста сделать реверс-инжиниринг всех этих запросов труда особого не составит, достаточно написать программный код c подкреплением параметров cookie к каждому запросу и оформить необходимые функции.
Для удобства и простоты использования реализовать хранение сессий в файлах, но самое главное зарегать с сотню фейковых аккаунтов для продвижения публикаций, для вывода их на главную страницу сайта, хотя судя по моим наблюдениям достаточно и 15 - 20 лайков в короткий промежуток времени.
На выходе можно получить приватный API для VC.ru, залить его на GitHub и улететь на Карибы, делать кросспостинг статей или тестировать нейросеть, чем скорее всего и занимается Тинькофф со своим ботом Олегом.
Основная проблема заключается в том, что на порталах Комитета довольно просто фальсифицировать помимо прочего просмотры, лайки и сохранения публикаций.
Как решить эту проблему
Ниже будут описаны возможные решения данной проблемы и какие первостепенные меры я бы посоветовал предпринять технической команде:
- Усложнить доступ к токену и его генерацию, не использовать что-то уж совсем банальное, как это выглядит сейчас:
- Доступ к системе голосования должен быть усовершенствован. Необходимо ввести принудительную проверку и привязку мобильных телефонов, аналогично тому, что сделал Instagram. Один телефон на не более 5 аккаунтов, лучше всего вообще один телефон на один аккаунт. Метод довольно эффективный и поможет усложнить жизнь невидимым наблюдателям при создании ботов.
- Метод проверки почты при регистрации не эффективен для борьбы со спамерами, так как данный процесс весьма просто автоматизировать.
- Для защиты аккаунтов пользователей от взлома на сайте должна быть реализована опция двухфакторной авторизации.
- Альтернативным критерием доступа к системе голосования считаю возможную реализацию связки с ЕСИА. Все таки создать большое количество учетных записей в системе Госуслуг должно вызвать трудности.
- Введение лимитов на количество лайков или просмотров со стороны одного сеанса пользователя считаю не самой эффективной мерой, но весьма полезной. Как я понимаю, это уже реализовано.
- В идеале логгировать действия пользователей и идентифицировать с помощью технологии фингерпринт, в частности анализировать с помощью нейросети на неестественное и ботоподобное поведение, как это сейчас весьма эффективно делает Instagram.
Если у Вас есть другие альтернативы по борьбе с данным видом фальсификаций, прошу Вас описать их в комментариях и помочь технической команде порталов Комитета решить эту проблему раз и навсегда.
C уваженем,
Джейкоб,
Mittelos Laboratories.