Недавно в популярной онлайн-платформе для онлайн-курсов Coursera была обнаружена уязвимость. Проблема заключалась в API, что привело к предположению, что хакеры могли использовать уязвимость "BOLA" для понимания предпочтений пользователей в выборе курсов и влияния на их решения.
Кроме того, предполагается, что недавно обнаруженные уязвимости могли привести к утечке пользовательских данных до того, как были устранены. Эти недостатки были обнаружены исследователями из компании Checkmarx, занимающейся тестированием безопасности приложений , и обнародованы на прошлой неделе.
Выявленные уязвимости связаны с различными интерфейсами прикладного программирования (API) Coursera , и исследователи решили глубже изучить безопасность платформы в связи с ее растущей популярностью в условиях перехода к онлайн-работе и обучению из-за пандемии COVID-19.
Тем, кто не знаком с Coursera, следует знать, что это компания, у которой 82 миллиона пользователей и которая работает с более чем 200 компаниями и университетами. Известные партнерские отношения включают Университет Иллинойса, Университет Дьюка, Google, Мичиганский университет, International Business Machines, Имперский колледж Лондона, Стэнфордский университет и Университет Пенсильвании.
Было обнаружено несколько проблем с API, включая перечисление пользователей/учетных записей через функцию сброса пароля, недостаток ресурсов, ограничивающий работу как GraphQL, так и REST API, а также некорректную конфигурацию GraphQL. В частности, на первом месте стоит проблема с некорректной авторизацией на уровне объектов.
При взаимодействии с веб-приложением Coursera в качестве обычных пользователей (студентов) мы заметили, что недавно просмотренные курсы отображались в пользовательском интерфейсе. Чтобы представить эту информацию, мы обнаруживаем несколько запросов API GET к одной и той же конечной точке: /api/userPreferences.v1/[USER_ID-lex.europa.eu~[PREFERENCE_TYPE}.
Уязвимость API BOLA описывается как затрагивающая пользовательские настройки. Используя эту уязвимость, даже анонимные пользователи могут получить доступ к настройкам и даже изменить их. Некоторые настройки, такие как недавно просмотренные курсы и сертификаты, также приводят к утечке метаданных. Уязвимости API BOLA могут раскрыть конечные точки , обрабатывающие идентификаторы объектов, что потенциально открывает двери для более масштабных атак.
«Этой уязвимостью можно было злоупотребить, чтобы понять предпочтения курса обычных пользователей в широком масштабе, но также и для того, чтобы каким-то образом исказить выбор пользователей, поскольку манипулирование их недавними действиями повлияло на контент, представленный на домашней странице Coursera для определенного пользователь », - поясняют исследователи.
«К сожалению, проблемы с авторизацией довольно часто встречаются с API», - говорят исследователи. «Очень важно централизовать проверки контроля доступа в одном компоненте, который хорошо протестирован, постоянно тестируется и активно поддерживается. Новые конечные точки API или изменения существующих должны быть тщательно проверены на соответствие их требованиям безопасности.
Исследователи отметили, что проблемы с авторизацией довольно часто встречаются с API-интерфейсами, и поэтому важно централизовать проверки контроля доступа. Это должно осуществляться с помощью единственного, хорошо протестированного и постоянного компонента обслуживания.
Обнаруженные уязвимости были переданы команде безопасности Coursera 5 октября. Подтверждение получения отчета и начала работы над его устранением поступило 26 октября. Впоследствии Coursera направила письмо в Cherkmarx, в котором сообщалось об устранении проблем в период с 18 декабря по 2 января, после чего отправила отчет о повторном тестировании с выявленной новой проблемой. Наконец, 24 мая Coursera подтвердила, что все проблемы были исправлены.
Несмотря на то, что от раскрытия информации до исправления прошло довольно много времени, исследователи сказали, что им было приятно работать с командой безопасности Coursera.
«Их профессионализм и сотрудничество, а также быстрое владение ими - вот что мы с нетерпением ждем при взаимодействии с компаниями-разработчиками программного обеспечения», - заключили они.
Источник: https://www.checkmarx.com