Літаральна пару дзён таму я
Напішу адразу, што дзякуючы адэкватнасці супрацоўнікаў «Доктар побач», уразлівасць была хутка (2 гадзіны з моманту апавяшчэння ўначы!) ухіленая і хутчэй за ўсё ўцечкі персанальных і медыцынскіх дадзеных не здарылася. У адрозненні ад інцыдэнту з DOC+, дзе мне дакладна вядома, што прынамсі адзін json-файл з дадзенымі, памерам 3.5 Гб патрапіў у «адкрыты свет», а пры гэтым афіцыйная пазіцыя выглядае так: «У адкрытым доступе часова аказаўся нязначны аб'ём дадзеных, які не можа прывесці да негатыўных наступстваў для супрацоўнікаў і карыстальнікаў сэрвісу DOC+.«.
Са мной, як з уладальнікам Telegram-канала
Сутнасць уразлівасці складалася ў тым, што, ведаючы URL і знаходзячыся ў сістэме пад сваім уліковым запісам, можна было праглядаць дадзеныя іншых пацыентаў.
Для рэгістрацыі новага ўліковага запісу ў сістэме "Доктар побач" фактычна патрабуецца толькі нумар мабільнага тэлефона, на які прыходзіць пацвярджаючая СМС, таму праблем з уваходам у асабісты кабінет узнікнуць ні ў каго не магло.
Пасля таго як карыстач заходзіў у асабісты кабінет ён мог адразу, змяняючы URL у адрасным радку свайго браўзэра, праглядаць справаздачы, утрымоўвальныя персанальныя дадзеныя пацыентаў і нават медыцынскія дыягназы.
Істотная праблема заключалася ў тым, што сэрвіс выкарыстоўвае скразную нумарацыю справаздач і з гэтых нумароў ужо фармуе URL:
https://[адрес сайта]/…/…/40261/…
Таму дастаткова было ўсталяваць мінімальны дапушчальны лік (7911) і максімальны (42926 - на момант наяўнасці ўразлівасці), каб вылічыць агульную колькасць (35015) справаздач у сістэме і нават (пры наяўнасці злога намеру) выпампаваць іх усё простым скрыптам.
Сярод даступных для прагляду дадзеных былі: ПІБ лекара і пацыента, даты нараджэння лекара і пацыента, тэлефоны лекара і пацыента, падлога лекара і пацыента, адрасы электроннай пошты лекара і пацыента, спецыялізацыя лекара, дата кансультацыі, кошт кансультацыі і ў некаторых выпадках нават дыягназ ( у выглядзе каментара да справаздачы).
Дадзеная ўразлівасць па ісце вельмі падобная на тую, што была
Як я ўказаў з самага пачатку, супрацоўнікі "Доктар побач" праявілі рэальны прафесіяналізм і нягледзячы на тое, што аб уразлівасці я ім паведаміў у 23:00 (Мск), доступ у асабісты кабінет быў адразу зачынены для ўсіх, а да 1:00 ( Мск) дадзеная ўразлівасць была ўхіленая.
Не магу не штурхнуць яшчэ раз PR-аддзел усё таго ж DOC+ (ТАА «Новая Медыцына»). заяўляючыу адкрытым доступе часова апынуўся нязначны аб'ём дадзеных», яны выпускаюць з-пад увагі, што ў нашым распараджэнні ёсць дадзеныя «аб'ектыўнага кантролю», а менавіта пошукавік Shodan. Як дакладна прымецілі ў каментарах да таго артыкула — паводле Shodan, дата першай фіксацыі адкрытага сервера ClickHouse на IP-адрасе DOC+: 15.02.2019 03:08:00, дата апошняй фіксацыі: 17.03.2019 09:52:00. Памер базы даных каля 40 Гб.
А ўсяго было 15 фіксацый:
15.02.2019 03:08:00
16.02.2019 07:29:00
24.02.2019 02:03:00
24.02.2019 02:50:00
25.02.2019 20:39:00
27.02.2019 07:37:00
02.03.2019 14:08:00
06.03.2019 22:30:00
08.03.2019 00:23:00
08.03.2019 14:07:00
09.03.2019 05:27:00
09.03.2019 22:08:00
13.03.2019 03:58:00
15.03.2019 08:45:00
17.03.2019 09:52:00
З заявы атрымоўваецца, што часова гэта крыху больш за месяц, а нязначны аб'ём дадзеных гэта прыкладна 40 гігабайт. Ну не ведаю…
Але вернемся да "Доктар побач".
На дадзены момант мая прафесійная параноя не дае спакою толькі па адной пакінутай дробнай праблеме – па адказе сервера можна пазнаць колькасць справаздач у сістэме. Калі спрабуеш атрымаць справаздачу па URL, да якога няма доступу (але сама справаздача пры гэтым ёсць), то сервер вяртае ACCESS_DENIED, а калі спрабуеш атрымаць справаздачу, якой няма, то вяртаецца НЕ_ЗНАЙДЗЕНЫ. Сочачы за павелічэннем колькасці справаздач у сістэме ў дынаміку (раз у тыдзень, месяц і да т.п.) можна ацаніць загружанасць сэрвісу і аб'ёмы паслуг. Гэта вядома не парушае персанальных дадзеных пацыентаў і лекараў, але можа быць парушэннем камерцыйнай таямніцы кампаніі.
Крыніца: habr.com