TL;DR wygląda na to, że wystarczy znać czyjś NIP, aby się „dobrać” do jego danych finansowych w Google Cloud. I nie wygląda to na błąd w aplikacji, który można szybko poprawić, ale na „by design”.
Jak to znaleźliśmy?
Tak naprawdę, całkowicie przypadkowo.
Pracujemy obecnie nad nową stroną Poland – to taki klon naszej strony Polityka, ale kierowany do odbiorców zagranicznych, z tekstami tłumaczonymi na język angielski, oraz docelowo poszerzony o kategorie tematyczne z serwisów Wojna i Gospodarka. W zasadzie większość funkcjonalności nowego serwisu już działa, ale… teksty nie są na bieżąco tłumaczone, w związku z czym wyświetlają się po polsku. Oczywiście niedługo będą, ale o tym może kiedy indziej.
Jak tłumaczymy te teksty? Używamy pięciu serwisów tłumaczących:
- Google Cloud Translation
- DeepL
- Amazon Translate
- Microsoft Translator
- Bing Translator
Używamy przy tym wielu różnych kont, a na każdym korzystamy z Free Tier – w tym celu zbudowaliśmy sobie na własne potrzeby proste API, które udostępnia tylko jedną prostą metodę „translate”, a pod spodem ma całą masę kluczy dostępowych i liczników przetłumaczonych bajtów.
Każdy klucz dostępowy ma zdefiniowaną quotę (zgodną z wielkością Free Tier albo przyznanych imiennie środków), a gdy licznik dojdzie do zera, API automatycznie przełącza się na kolejny klucz i kolejne konto. Tak to działa w bardzo dużym uproszczeniu. Możliwe, że niedługo udostępnimy ten mechanizm jako open source.
Co dokładnie zrobiliśmy?
Krok pierwszy
Kilka miesięcy temu wzięliśmy jedno (całkowicie przypadkowe) z wielu starych kont Gmail:
I skonfigurowaliśmy na nim usługi Google Cloud – konkretnie pod kątem uruchomienia Google Cloud Translation API:
- zwykłe konto @gmail.com (akurat to było utworzone najprawdopodobniej w 2011)
- w Google Cloud oznaczone jako Firmowe
- skonfigurowany NIP (jak na poniższym zdjęciu) i reszta danych spółki
- podpięta prywatna karta kredytowa
Krok drugi
Wzięliśmy całkiem inne konto Gmail – tym razem świeże, utworzone miesiąc temu. Poniżej widzicie adres w domenie @polskie.ai, ale tak naprawdę to zwykłe, „pojedyncze” konto Gmail, tylko z własnym adresem i tym samym bez obsługi poczty przez Google.
Na tym koncie – licząc na osobny Free Tier – również skonfigurowaliśmy Google Cloud Translation API. Podaliśmy przy tym:
- ten sam NIP co poprzednio (dla czytelników spoza Polski: pole „VAT number”)
- dokładnie te same dane spółki – włącznie z formatem adresu itp. szczegółami
- dokładnie te same właściciela konta Gmail jako takiego
- inną kartę kredytową (firmową)
I, co bardzo ważne, nie podawaliśmy żadnych haseł ani innych danych związanych z tym pierwszym kontem, a wszystko robiliśmy w całkiem innej przeglądarce – takiej, z której nigdy się nie logowaliśmy na to pierwsze konto.
Czyli ten sam NIP – i być może takie same dane spółki lub właściciela – wystarczył, aby z poziomu jednego konta uzyskać dostęp do danych na drugim. I to danych billingowo-finansowych.
Krok trzeci
Nie ma kroku trzeciego. To już było wszystko. Teraz z poziomu drugiego konta mamy pełny dostęp do danych billingowych i finansowych skonfigurowanych na pierwszym koncie. Czyli do:
- raportów z wykorzystania poszczególnych usług Google Cloud – bieżących i z poprzednich miesięcy/lat, z podziałem na usługi i projekty
- zestawień operacji finansowych, czyli nie tylko faktur, ale też tego, jakie płatności są w toku, ile Google pobrało z kart na poczet najbliższej faktury itp.
- cenników i prawdopodobnie informacji o zniżkach (ciężko powiedzieć, bo my akurat żadnych nie mamy – ale dla konkurencji to może być jedna z kluczowych do wykradzenia informacji o realnych stawkach, jakie wynegocjowały sobie duże firmy)
- faktur – włącznie z możliwością pobierania załączników PDF z tymi fakturami
- ustawień płatności takich jak na powyższym zdjęciu
- listy skonfigurowanych metod płatności (czyli najczęściej 4 ostatnich cyfr numeru karty i daty ważności) – na szczęście bez możliwości usunięcia lub modyfikacji
Powstaje jedno bardzo ważne pytanie do Google
No dobra, w zasadzie to kilka:
- Jak to możliwe, że znając tylko czyjś NIP (bo resztę danych można sobie wyciągnąć z CEIDG/KRS), możemy się „podłączyć” do jego danych rozliczeniowych?
- Czy to jest jakiś błąd w aplikacji, który się wkradł i zostanie poprawiony w ciągu powiedzmy godzin – czy coś „by design”, o czym dotychczas wiedział ten kto miał wiedzieć, a teraz trzeba będzie nauczyć się z tym żyć?
- A jeśli są jakieś dane zbierane niejawnie przez Google, które pozwoliły magicznie połączyć te 2 zupełnie różne konta, to jakie? I jak ich zbieranie, a potem łączenie na ich podstawie różnych kont, ma się do RODO?
Gdybyście chcieli testować to na własną rękę
Zbliżamy się już do końca tekstu – a skoro tak, to poświęćmy minutę na pozdrowienia. Pozdrawiamy wszystkich naszych czytelników, szczególnie tych zagranicznych, np. z Nigerii, Brazylii czy Chin. Doceniamy to, że trwacie przy nas nawet, gdy nie publikujemy nowych tekstów 🙂
A wracając do tematu – testując, czy Wam również to zadziała, pamiętajcie o dwóch sprawach:
- takie testy mogą być nielegalne – więc pamiętajcie, aby testować albo na własnych kontach, albo takich, co do których macie jakąś podstawę prawną (np. konto klienta, któremu robicie obsługę IT, testy bezpieczeństwa itp.) – albo testujcie to z takich krajów, w których w ten lub inny sposób takie testy nie będą Wam groziły jakąkolwiek odpowiedzialnością
- musicie podać (i zweryfikować) działającą kartę kredytową, więc… ryzykujecie, że Google Was obciąży za czyjeś usługi (a kart prepaid Google nie przyjmuje) – i oczywiście niech Wam nie przyjdzie do głowy pomysł testowania cudzymi kartami 🙂
Intencją autorów ani wydawcy treści prezentowanych w magazynie PAYLOAD nie jest namawianie bądź zachęcanie do łamania prawa. Jeśli popełniłeś lub masz zamiar popełnić przestępstwo, bądź masz wątpliwości, czy Twoje działania nie będą łamać prawa, powinieneś skonsultować się z najbliższą jednostką Policji lub Prokuratury, a jeśli są one związane z pieniędzmi, dla pewności również z Urzędem Skarbowym.
Nie zezwala się na użycie treści prezentowanych w magazynie PAYLOAD, ani produktów dostępnych w sklepie PAYLOAD, do celów popełniania przestępstw lub przestępstw skarbowych.