OAuth небезопасен, или я этого не понял?

я подумал о безопасности своего API веб-службы REST и решил взглянуть на другие крупные службы и на то, как они это делают. В качестве примера я решил изучить OAuth Твиттера. Прочитав руководство для начинающих, я немного растерялся и был шокирован.

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

В качестве примера возьмем LinkedIn. Они запрашивают ваше имя пользователя и пароль Gmail в своей собственной форме, и вы не знаете, как они будут их использовать. Они могут просто украсть его и сохранить в своей БД, они могут использовать OAuth для gmail (и они не показывают страницу Gmail с информацией, какой тип доступа они запрашивают), они могут делать с этой информацией все, что захотят.

Я пытаюсь сказать не о том, что протокол связи OAuth небезопасен, а о том, что существует множество способов использовать его ненадлежащим образом, чтобы обмануть пользователя и получить его учетные данные.

Кстати, в самом протоколе OAuth были некоторые недостатки безопасности: ( http://oauth.net/advisories/2009-1/ ), и я почти уверен, что их больше, но никого это не волнует. найти их.

15
задан Shamshun 28 October 2018 в 20:32
поделиться