Ką blogo padarė CityBee?

CityBee CityBee nuotrauka

Pastebėjau nemažai nuomonių ginančių CityBee, net lyginančių žmonių pasipiktinimą ir kolektyvinį ieškinį su raganų medžiokle ar linčo teismu.

Niekas nieko nelinčiuoja, norima tik vieno dalyko: atsakomybės. Nesuvaidintos, bet atviros ir nuoširdžios atsakomybes, su kuria ateina pripažinimas, atsiprašymas ir pasiruošimas atlyginti padarytą žalą. Iki šiol girdime tik kažkokius išsisukinėjimus. Apie komunikaciją per daug neišsiplėsiu, nes tai jau plačiai buvo aptarta.

Iš techninės pusės, tikrai buvo padaryta grubių klaidų. Nežinau ar tai NFQ, Squalio ar pačių CityBee klaidos, nes visi labai nusimetinėja atsakomybę.

Viešai prieinamos duomenų bazės kopijos

Duomenų bazės atsarginės kopijos laikomos viešoje Azure Blob saugykloje. Atsarginė kopija nebuvo šifruota. Šiame straipsnyje paaiškinama, kad Microsoft Azure šiuo aspektu yra saugi sistema, tad norint palikti duomenis viešai prieinamus reikia papildomų pastangų. Kaip ir nebūtų didelės tragedijos, jei bent slaptažodžiai ir asmeniniai duomenys būtų tinkamai šifruojami. Bet buvo kitaip.

Nebuvo slaptažodžių validavimo

Vartotojai vietoj slaptažodžio naudojo tiesiog savo vardą ar tokius slaptažodžius kaip citybee, nesvarbu, nesakysiu ar labas123. Žinoma, klientai patys kalti šioje vietoje, tačiau sistemoje svarbu turėti gerą slaptažodžio validavimą. Daugumoje servisų neužsiregistruosite jei vietoj slaptažodžio naudosite savo asmeninius duomenis ar kompanijos pavadinimą.

CityBee validavimo neturėjo bent jau iki 2018 vasario mėn., kai buvo padaryta pavogtų duomenų kopija. Greičiausiai validavimo nebuvo net iki 2020 balandžio mėn., kai pašalinis žmogus naudojosi svetimomis paskyromis. Tada CityBee reagavo geriau: deaktyvavo visų paskyrų slaptažodžius ir paprašė juos pasikeisti.

Slaptažodžiai šifruojami prastu algoritmu

SHA1 algoritmas yra laikomas nesaugiu. Negana to, kartu su šiuo algoritmu nebuvo naudojama “druska” (angl. salt) slaptažodžių šifravime. Šiame straipsnyje plačiau aprašiau kaip tai veikia. Trumpai: daugumą slaptažodžių galima pasižiūrėti naudojant viešas duomenų bazes. Viešoje erdvėje buvo pavyzdžių, kad net Seimo narių slaptažodžiai buvo “atkoduoti” ir paaiškėjo, kad jie naudojo savo vardą. Jei būtų naudojamas patikimesnis slaptažodžių šifravimo algoritmas, šita problema būtų žymiai mažesnė.

Asmens kodai nešifruojami duomenų bazės eilutėse

Jautrūs asmens duomenys kaip asmens kodas tiesiog laikomi duomenų bazės eilutėse, be jokio šifravimo. Tokius duomenis reiktų šifruoti atskiru algoritmu ir iššifruoti tik esant reikalui: tarkim vairuotojo pažymėjimo validavimui. Na gerai, gal absoliuti dauguma įmonių šito nedaro, bet bent jau nelaiko atsarginių kopijų viešai prieinamuose puslapiuose.

Kai tu valdai tokius duomenis kaip asmens kodai ar vairuotojų pažymėjimai - negali daryti tokių klaidų. Suprasčiau, jei būtų padaryta tik viena kažkuri klaida. Tai būtų tiesiog žmogiška klaida.

Kol kas sunku kažką užtikrintai teigti, nes galimai yra ir daugiau nutekintų duomenų bei krūva neatsakytų klausimų. Iš to ką turime jau dabar, matosi, kad CityBee neapdairiai tvarkė vartotojų duomenims.

Dėl to CityBee turi atsakyti už padarytą žalą. Jie nėra labdaros organizacija kurios reiktų gailėti. Tai yra verslas remiamas rizikos kapitalo. Judėti greitai su tam tikromis rizikomis yra jų pasirinkimas, tačiau reikia susitaikyti ir su galimomis pasekmėmis bei nuostoliais.

Niekas nesako, kad dabar reiktų CityBee pasmerkti visiems laikams ir nulinčiuoti. Priešingai, labai tikiuosi jie iš to pasimokys ir teiks paslaugas dar geriau. Tikiuosi ir žmonės išmoks labiau apsisaugoti internete, nebenaudos savo vardo vietoj normalaus slaptažodžio.

Nieko tam CityBee neatsitiks, gal net sustiprės, kaip rašo šio straipsnio autorius.