Samuli Suonpää Profile picture
Uskontojournalisti. Puhetta uskonnosta ymmärrettävästi, kirkosta kriittisesti ja yhteiskunnasta uskonnon kautta.

Oct 23, 2020, 15 tweets

Osapuilleen tusinan twiitin mittainen lanka #Vastaamo-tietomurrosta. Puhun tietomurrosta, Pythonista ja SQL-tietokannoista, joista mistään en oikeastaan kovin paljon tiedä. Varovaisuutta lukijalle, siis. 1/n

Perjantainvastaisena yönä #Vastaamo -tietomurron tekijä jakoi Tor-verkossa kolmannen erän potilastietoja, jälleen 100 ihmisen tiedot. Lisäksi yöllä oli jaossa, kenties vahingossa, myös paljon suurempi paketti lataamo.tar. Tämä paketti sisälsi vähintään n. 2000 ihmisen tiedot. 2/n

Potilastietojen lisäksi paketin sisällä oli Python-skripti "profile_gen.py". Olisiko se voinut unohtua tähän? Tiedoston aikaleima oli 11.10.2020, klo 18:23. Kyse on skriptistä, joka lukee potilastietoja tietokannasta ja muodostaa tekstitiedostoja. 3/n

Tämän skriptin avulla tuskin on murtauduttu mihinkään! Skripti ottaa ymmärtääkseni yhteyden paikalliseen tietokantaan. Skripti on muodostanut myöhemmin jakoon päätyneet tekstitiedostot, mitä ilmeisimmin tässä vaiheessa jo varastetusta ja kopioidusta tietokannasta. 4/n

Tietokannan nimi on “fidb”, käyttäjätunnus “root”, salasana “root”. Nyt lienee kuitenkin jo kyse murtautujan omasta tietokannasta! Tämän perusteella ei voi päätellä #Vastaamo’n tietokannan salasanasta yhtään mitään! 5/n

Skriptissä ei ole mitään, mikä viittaisi suomen kieleen. Kaikki muuttujien nimet, samoin kuin tuotettaviin tekstitiedostoihin kirjoitettavat selitetekstit ("Phone", "SSN", "Patient paid…" yms.) ovat englanniksi. 6/n

Tietoja noudetaan kahdesta tietokantataulusta: patients ja appointment_patiens. Ensimmäinen sisältää potilastiedot, jälkimmäinen tiedot potilasakäynneistä. Koodi yhdistää potilaan tiedot potilastapahtumiin ja muodostaa näistä määrämuotoisia tekstitiedostoja. 7/n

Tiedostot kirjoitetaan potilaan nimen mukaan nimettyihin yksittäisiin tekstitiedostoihin hakemiston patients/ alle. Myös tässä suuressa paketissa oli tekstitiedostoja hakemistossa patients. 8/n

Itse toimenpide, jonka koodi suorittaa, on niin yksinkertainen, että tällaisen minäkin osaisin ohjelmoida. Koodi näyttää minun (harjaantumattomiin!) silmiini siistiltä ja ammattimaiselta. Ainakaan kyse ei ole kenenkään ensimmäisestä Python-harjoituksesta. 9/n

Koodissa käytetyt ohjemointikonventiot ja muotoilu viittaavat minusta selvästi aiempaan ohjelmointikokemukseen. Edelleen, minun python-kokemukseni on niin vähäistä, että saatan erehtyäkin. 10/n

Python-skripti ja hakemisto patients/ ovat sijainneet hakemistossa therapissed/ (noin kirjoitettuna!) alla. Paketti on muodostettu komennolla
$ tar cf vastaamo.tar therapissed/
11/n

Tekstitiedostojen päiväys paketin sisällä on 23.10.2020 klo 01:07. Jakoon päätynyt paketti lienee siis muodostettu silloin. Käsittääkseni uusia tiedostoja oli yöllä jaossa jo tätä ennen.

Ja, kuten sanoin, skriptin tiedostopäiväys on 11.10.2020. 12/n

Näyttäisi siltä, että murtautujalla on omalla laitteella SQL-tietokanta, josta tiedostot muodostettiin paikallisesti ja ne taisivat paikallisesti päätyä jakoonkin. Yksi laite, jossa on kaikki, ja joka jakaa Tor-verkkoon välillä enemmän kuin oli suunniteltu? 13/n

Lisähuomio: SQL-kyselyissä ei käytetä mitään rajauksia esim. piävämäärän suhteen. Skripti tekee tiedostot kaikesta, mitä kannasta löytää. Jos vuotta 2018 uudempaa aineistoa ei ole päätynyt / päädy jakoon, en usko murtautujalla uudempaa aineistoa hallussaan olevankaan. 14/n

Toinen lisähuomio: skripti ei nähdäkseni käsittele html-koodia mitenkään eikä tee merkistömuunnoksia. Skripti ei myöskään näytä koskevan päivämäärän ja kellonajan muotoiluun. Osaisikohan tästä joku päätellä jotakin? 15/15

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling