Уязвимост в Titan, вътрешна услуга за анализи на Microsoft, би могла да позволи на атакуващ да чете данни на служители и аналитични данни от търсенето в Bing, разкри 16-годишен изследовател по сигурността.
Изследователят, който използва псевдонима Faav, установил, че Titan не проверява подписа на токените за вход. Това му позволило да се представи за администратор на услугата и да изпълнява SQL заявки към 17 свързани бази данни, съдържащи приблизително 17,3 трилиона реда.
Той постигнал това с помощта на Antares – автоматизиран инструмент за откриване на уязвимости, разработен от самия него. В своя доклад той споделя, че Antares е маркирал Titan и е прекарал десет дни в преодоляване на проверките за автентикация, преди самият той да предприеме финалната стъпка.
„Antares нямаше да стигне дотук сам, както и аз. Неговата упоритост, съчетана с човешка интуиция, направи това откритие възможно.“
Преодоляване на проверките на токените
Уеб интерфейсът на Titan е бил достъпен само през Microsoft VPN, но Antares е открил отделен API краен адрес с публична документация. Един от неговите маршрути, /v2/Query, приемал сурови SQL заявки.
Заявките без заглавка за оторизация са били отхвърляни. Докато Faav проучвал стотици други следи, Antares продължавал да се връща към Titan.
„Всичко започна с токен от моя външен Entra тестов клиент (tenant), създаден месеци по-рано и използван редовно за тестове. Titan върна грешка за несъответстващ tenant. Промяната на tenant към този на Microsoft доведе до грешка в аудиторията (audience). Промяната на аудиторията се сблъска с грешка в списъка с разрешени приложения. Промяната на идентификатора на приложението най-накрая достигна до търсене на потребител“, обяснява младият изследовател.
„Инжектираният код продължаваше да се променя, докато подписът оставаше абсолютно същият, а Titan продължаваше да приема новите твърдения (claims) – подобно на охранител, който проверява името на всяка лична карта, но никога не поглежда снимката. Това беше първата голяма следа, че подписите не се верифицират“, добави той.
След това Faav изпратил токен със зададен алгоритъм none и празна секция за подпис. Той преминал всяка проверка и стигнал до търсенето на потребител, което върнало грешка „user not found“.
В продължение на дни Antares пробвал адреси във формат на имейл в полето upn на токена. На 5 септември Faav променил стойността на admin. Titan третирал полето като локално потребителско име и го свързал с потребителски ID 1, който притежавал ролята Admin. Това дало на Faav администраторски достъп и му позволило да изпълнява SQL заявки в услугата.
Данни за служители и анализи от Bing
Базата данни с метаданни на платформата Titan е съдържала приблизително 25 000 записа за акаунти и имейли, 17 990 имейл записа на служители и 15 001 организационни записа за служители, пише Faav. Информацията за служителите включвала длъжности, отдели и управленска йерархия за персонала, свързан с Titan.

Потребителски запис на приложението с идентифицираща информация и активност при вход (Източник: Публикация в блог)
Той отбеляза, че това обхваща подгрупа от служителите на Microsoft и би могло да помогне на атакуващ да изгради целенасочени атаки чрез социално инженерство – нещо, което той не е тествал.
Тийнейджърът също така получил достъп до източник за анализи на Bing и извлякъл две едноредови извадки от последния му дял. Те съдържали полета за търсене, идентификатори и местоположение. Стойностите за местоположение показвали информация на ниво държава или щат, извлечена чрез обратни IP справки, пояснява той.
Тъй като MUID (идентификатори, които Microsoft съхранява в браузърите на потребителите) са присъствали в повече от един масив от данни, е напълно възможно потребителската активност да е можела да бъде корелирана между отделните услуги, според Faav.
Faav определи числото от 17,3 трилиона като оценка за обема на съхранение от метаданните на базата данни, която вероятно включва исторически, дублирани и производни данни.
Разкриване на уязвимостта и отговорът на Microsoft
Faav докладва уязвимостта на Центъра за реагиране на инциденти по сигурността на Microsoft (MSRC) на 5 септември. От MSRC са го помолили да спре тестовете и са изискали неговия IP адрес, за да потвърдят, че няма активност извън рамките на изследването му. Крайната точка е била защитена и ограничена на 9 септември, а на 17 септември той е получил награда от 5 000 долара по програмата за докладване на грешки.
Той подчертава, че никога не е достъпвал клиентски данни или лична информация (PII) и не е използвал двете извадки от Bing, за да идентифицира конкретни лица, да свързва записи между набори от данни или да изгражда профили.
„Оценяваме възможността да разследваме констатациите, докладвани от Faav. Неговият доклад и координираното разкриване на уязвимостта ни помогнаха да защитим по-добре нашите клиенти чрез подобряване на защитата на нашите услуги. Ние ценим и насърчаваме отговорните изследвания в областта на сигурността в съответствие с условията на програмата Microsoft Bug Bounty и очакваме с нетърпение да продължим съвместната работа с Faav в бъдеще“, се казва в изявление на Microsoft, цитирано в неговата публикация.
Faav разкрива, че Microsoft е имал редакционен контрол върху публикацията и компанията е съкратила определени раздели и графики, като е преформулирала описанието на въздействието преди самото публикуване.