Что такое наша с вами информационная безопасность? Как часто вы задаетесь этим вопросом? Что вы делайте для того, чтобы повысить свою защищенность в сети? Попробую ответить — редко и мало. Однако, как показывает практика — пора начинать.
Итак, приступим. Для начала предлагаю читающим захватить чашку кофе, печенек и половину часа свободного времени в наше путешествие по миру ИБ.
Очень много школ в нашей стране уже переведены на электронные системы контроля успеваемости учащихся, а остальные подтягиваются к этой планке, но насколько это хорошо? И стоит ли?
На эти и другие вопросы, на примере одной из таких систем, я попытаюсь вам ответить.
Не так давно, в каком-то 2009, Российское образование начало повсеместно внедрять так называемые ЭКЖ (Электронный классный журнал). Директора и учителя в восторге, родители всегда в курсе успеваемости своих чад, а дети мотивированы учиться, чтобы не получить «электронную» двойку и всегда радовать родителей. Но, как говорится, не тут-то было! Всеми расхваленные продукты только на тестах были великолепными, а в реальности?
Все начинается…
- Медленная загрузка данных самой программы. (20Мбит/с около 8-10 сек), а иногда просто не работало
- Через раз работающие СМС сервисы оповещения об оценках, а то и вовсе не работающие, как и веб-морда журнала
- Преподаватели жалуются на сложность (изначально, в начале года/четверти/..) заполнения и время тратится в разы больше, чем на бумажный журнал
- Дети негодуют, ведь раньше подошел к журналу — полистал, посмотрел (читай исправил) оценки и счастлив, а теперь и при хорошей связи не всегда посмотришь, не говоря уж про исправление.
И прибавилась проблема сохранности всей информации, не просто каких-то оценок, а паспортных данных, домашних адресов и прочей конфиденциальной информации, ведь все хранится и добавляется, редактируется,… в одной программе, с которой «общается» наш журнал.
Так как эта система быстро «расползалась» по широкой-необъятной, то через несколько лет в интернете начали появляться посты любителей о том, что не все так гладко и есть лазейки. Я проверил пару постов, но толком ничего серьезного не обнаружил: банальная замена Cookie-файлов и возможность поставить оценку «0», для того чтобы средний балл за четверть был, примерно, за отметку 6.45. Конечно, данные были отправлены разработчикам и «0» пофиксили в следующем апдейте, но «печенье» забыли и тут понеслась.
За 2 часа, ночью в один из понедельников, я обнаружил то, о чем «трубил» тот первый пост — возможность использования SQL-инъекции, и не просто какой-то а-ля юзер-привелегия, а root-доступ к серваку с той самой, главной базой данных.
Наигравшись вдоволь с входом без пароля под какой-нибудь Марьей Ивановной мне захотелось большего, доступ к админке и попробовать поделать свои запросы.
Час-другой, анализ трафика и успех пришёл. Все было до безобразия банально. Все запросы передавались в открытом виде между клиентом и сервером, а ответы содержали всегда чуть больше необходимой информации, что и помогло осуществить запланированное.
В первых пакетах всегда были данные о тебе (Марье Ивановне) — Логин и пароль вида ivanovna&[password_hash], простым комментированием пароля я избавился от необходимости его даже вводить, чем баловался в первое время.
Позже заметил, что запросы попросту отправляются в 2 директории (с определенной очередностью), одна из которых в базу журнала, а втора в общую, главную базу. Это не могло не радовать, я понял, что все болтается на Firebird, с оф сайта забрал пару запросов на выдачу структуры, а-ля проверка на привилегию, и… сработало. Имея на руках 2 структуры различных БД я понял — все работает: drop'ы, create'ы и тд.
За несколько минут получил информацию обо всех, кто в школе, а потом и их данные.
Простой запрос даёт нам всю инфу об учениках учебного заведения…
… и преподавательском составе…
… а при особой сноровке по их ID можно получать более обширные сведения.
Через несколько дней, проверив те же дыры в других школах (из выдачи google.com) я понял, что все это серьезно и сообщил обо всех уязвимостях системному администратору и директору учебного заведения.
Позже мы еще с админом повеселились, опробовали (официально) дропика, а директор, по моей просьбе, на встрече с руководством этой компании сообщил о багах.
Время шло, ничего не менялось, баги остались, 1 пофиксили (перешли на новую версию единицы), остальные работают…
Пару дней назад проверил — а воз и ныне там…
Подводя итог хочется сказать, что первый опыт общения с иностранными компаниями был намного лучше, нежели с отечественными: скорость ответа администратора (сообщал о доступе к хайрезам в обход системы списывания «кредитов»), вежливое общение, да и накинули фри месяц про-доступа.
P.s. Название организации не сообщается, воимя добра.
Автор: gJamDev