Уязвимость в инфраструктуре Университета
уважаемые форумчане. Возникла такая интересная ситуация (начну немного с предыстории - много букв). В Университете М, в котором я учусь, ещё с момента моего поступления было неплохое приложение с расписанием занятий. Но год спустя отдел информационных разработок создал личный кабинет для студентов и всех сотрудников Университета, и приложение было заброшено, так как личный кабинет предоставлял своего рода журнал оценок, сведений о студенте, чат и расписание. Согласитесь, заходить на сайт личного кабинета только для расписания неудобно, поэтому обещали сделать приложение для смартфонов. Шло время, приложения не было. Поэтому несколько студентов, включая меня, решили разработать свое приложение с расписанием, данные брали из открытых источников и парсили, доступа в инфраструктуру Университета у нас не было, да и смысла мы в этом не видели. Но буквально несколько дней назад Университет выпускает все таки приложение для личного кабинета: функционал в нём урезан до расписания - можно зайти по логину-паролю и увидеть своё расписание. И здесь начинается основная история.
Я решил разобрать приложение (написано под Андроид на Java) и посмотреть, как они получают данные с расписанием (нам приходилось парсить excel-файлы с расписанием). И тут нужно отметить, что на разработку этого приложения был поставлен студент второго курса моей кафедры, которого, каким-то образом взяли на работу в отдел информационных разработок (честно говоря, не знаю, как это вообще произошло, с точки зрения навыков программирования он был худший в своей группе да и по учёбе был должником). Но да ладно, разобрав приложения и проанализировав его, я пришёл просто в ужас - никакой безопасности. Процесс авторизации был просто убогий - на сервер отправлялся запрос с ключом, который был просто вшит в приложение, просто в исходном коде (????), после данного запроса в куки помещался access_token и всё! После таких действий мы можем запросить полное расписание Университета из внутренней БД и провести некоторые манипуляции, не столь критичные. Ну, скажите вы, расписание и так в открытом доступе, что тут такого? Помните, я говорил, что в личный кабинет студент входит по логину и паролю? Так вот, авторизовавшись на сайте используя ключ, мы можем сделать ОДИН запрос с API, который вернёт всю информацию о студенте (ФИО, год обучения, где учится, на какой основе, номер телефона, почта, все оценки за все года, внутренний чат и т.д.). Ну, скажите вы, передаем логин и пароль? НЕТ. Передаем просто логин! Один! И сервер вернёт всю информацию о студенте, включая ПАРОЛЬ (????). Я конечно может чего не знаю, но, по-моему, это бред полный! И полученный пароль проверяется с введенным в приложении паролем и дается доступ к расписанию. ФУХ.
И теперь самый главный мой вопрос (не бейте за количество букв) - что мне делать? Я знаю человека, он мой преподаватель, который, если не лично разрабатывал API, то точно руководил ими и имеет связь. Я считаю это просто огромной дырой, потому что получить логин не проблема - это номер зачётки, который при поступлении в Университет выкладывается на сайте в открытом доступе в списках зачисленных, таким образом, целый год поступления будет скомпрометирован (тем более подобрать номер тоже не проблема). Вопрос в другом - если я расскажу про данную уязвимость, могут ли что-нибудь предъявить с точки зрения, скажем, закона (с точки зрения этики - все экспиременты я проводил на своём аккаунте и двух добровальцах, которые прексрано всё понимали, кроме того, я использовал прокси на всякий случай).
Хотелось бы услышать Ваше мнение по данному вопросу, так как раньше с подобным я не сталкивался.
Ответы (2 шт):
Бегите из такого универа )) Если все так как вы описали, то ничему хорошему там вас не научат. П.С. я в шоке, если это правда.
Что касается законов, то для начала откуда вы? Но в любом случае, если так легко получить доступ к конфиденциальной (персональной) информации - можно попробовать вежливо им объяснить, что распространение конфиденциальной информации приследуется по закону (в любой стране (наверное)). Но конкретнее вам только юристы скажут.
Оставьте все как есть; Не лезьте в чужие дела до тех пор пока это не является Вашей работой. С точки зрения закона (на мой взгляд), Вы получили доступ к персональным данным к которым у Вас не было доступа, и сделали это намеренно. Так как по Вашему это нарушение закона ?! Однозначно нарушение закона (на мой взгляд). Смягчающим обстоятельством может являться то, что никто не пострадал.