Что такое IDOR уязвимость и как от нее защититься?

01 декабря 2020

Что такое IDOR уязвимость и как от нее защититься?

Для любого владельца сайта в первую очередь должна быть важна безопасность интернет-ресурса. Ведь если злоумышленники получат доступ к ценной информации, то это может грозить не только денежными потерями, но и утратой репутации. По этой причине следует знать основные виды угроз, среди которых одной из популярных является IDOR уязвимость. Что это такое, по каким причинам возникает эта уязвимость и какие следует ждать последствия после взлома – все это будет рассказано в статье ниже.




Что такое IDOR?

IDOR (Insecure Direct Object Reference) – в переводе это означает небезопасные прямые ссылки на объект. Другими словами, это уязвимость, благодаря которой злоумышленники могут получить доступ к файлам и данным сайта без разрешения администратора.

Наиболее простой способ взлома через ИДОР уязвимость – случайный подбор идентификатора пользователя, ранее зарегистрированного на каком-либо конкретном сайте.

К примеру, во время регистрации в онлайн магазине пользователь заметил в окне браузера ссылку: onlinestore.ru/user/details/edit?id=39082330. Первая часть ссылки мало интересует, а вот идентификационный номер: id=39082330 – вполне может помочь при взломе. Ради эксперимента, хакер решил вместо двух последних цифр «30» решил подставить «29» и ввести полученную ссылку в адресную строку. После чего он попал на страницу другого пользователя этого сайта, где может редактировать, удалять или копировать личную информацию.




Почему возникает IDOR?

Исходя из примера выше, можно сделать вывод, что любой пользователь может, случайным образом перебирая цифры в адресной строке, получить доступ к конфиденциальной информации. Кроме того, бывают случаи более серьезного взлома через IDOR уязвимость. Например, Ибрагим Раафат во время тестирования сервиса Yahoo обнаружил, что может удалить 1,5 миллиона записей. Для этого ему требовалось только добавить переменную FID в адрес соответствующей записи.


Так как по каким причинам возникает уязвимость IDOR:

  • отсутствие контроля доступа;
  • отсутствие косвенных ссылочных карт;
  • отсутствие проверки входных данных пользователей.

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

И, конечно же, при всех совершенных методах защиты, не стоит забывать про самые простые. Следует использовать такие идентификационные номера, которые невозможно или очень трудно подобрать случайным образом. И еще желательно настроить и постоянно использовать подпись идентификатора, которая еще сильнее снизит шансы злоумышленников получить доступ к ресурсу через ИДОР уязвимость.




Последствия от IDOR уязвимости

Конечно, если сайт взломает злоумышленник, то он не остановится на получении доступа к персональным данным или к каким-либо функциям интернет-ресурса. Взломщик постарается использовать полученную возможность на благо себе: ради денег, самоудовлетворения и так далее. Но владельцу сайта ничем хорошим это не светит. Ведь последствия от ИДОР уязвимости самые серьезные:


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

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




Актуальность и примеры IDOR уязвимости

К примеру, в мае 2020 года Mail.ru Group заплатила 600 000 рублей (8000$) российскому исследователю Ramazon (его никнейм: r0hack) за обнаруженную IDOR уязвимость. Этот пользователь обнаружил, что при помощи комбинирования Improrer Access + IDOR, он может получить доступ к персональным данным зарегистрированных людей на сайте city-mobil.ru.


Так, используя эту уязвимость, злоумышленник мог получить паспортные данные и информацию с водительского электронного удостоверения любого зарегистрированного таксиста. Но на этом не заканчивается. Так же можно было менять настройки профиля и денежных переводов. Ramazan передал уязвимость компании Mail.ru через их Bug Bounty программу, за что компания заплатила ему 8 тысяч долларов.


И эти траты в разы меньше тех, которые могли быть, если бы мошенник решил в своих интересах воспользоваться этой информацией (в особенности денежными переводами). Компания Mail.ru Group практически сразу исправила эту уязвимость. Поэтому сейчас невозможно обойти защиту этого сайта таким способом.




Резюмируя

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