Thomas

Thomas

The author works at and owns Mint Security, a mean and lean security company founded in 2015. No fuzz (literally - we do not fuzz, there are companies better equipped to do that).
Share on facebook
Share on twitter
Share on linkedin
Share on xing
Share on whatsapp

Mikä on Koronavilkku?

”Koronavilkku on Terveyden ja hyvinvoinnin laitoksen tuottama sovellus, jonka avulla saat tiedon, jos olet sovelluksen arvion mukaan altistunut koronavirukselle. Jos sinulla todetaan tartunta, voit ilmoittaa siitä sovelluksella nimettömästi.”

https://koronavilkku.fi

Sovelluksen lähdekoodi on julkaistu avoimena, erityisesti riippumattoman arvioinnin helpottamiseksi.

Lisätietoja Koronavilkusta ja sen avoimesta lähdekoodista löytyy täältä.

Lähdekoodi on julkaistu GitHubissa:

  • https://github.com/THLfi/koronavilkku-backend
  • https://github.com/THLfi/koronavilkku-ios
  • https://github.com/THLfi/koronavilkku-android

Miksi me teimme tämän?

Tämä sovellus koskettaa ihmisiä hyvin henkilökohtaisella tavalla — terveyttä, COVID-19:aa ja muita arkaluontoisia henkilötietojamme. Me Mint Securityssä halusimme tutustua sovellukseen ja kantaa kortemme kekoon, kuten monet muutkin tietoturvayhteisössä ovat jo tehneet. Halusimme tuoda keskusteluun lisäarvoa ja faktoja. Sattumoisin, Mint Securityllä ja Veracodella on pitkäaikainen suhde ja siksi päätimme lähestyä heitä asiassa. Veracode on suurin globaali sovellusturvallisuusratkaisujen (AppSec) tarjoaja — mukaan lukien SAST ja SCA — ja Gartner Magic Quadrant -johtaja tietoturvatestauksessa vuonna 2020 (seitsemäntenä vuotena peräkkäin). Veracode on antanut meille ystävällisesti mahdollisuuden käyttää SAST- ja SCA-työkalujaan Koronavilkun analysointiin. Tässä artikkelissa esittelemme analyysimme tulokset.

Löydösten tarkastelu
Veracode on ystävällisesti antanut meille mahdollisuuden käyttää heidän SAST- ja SCA-työkalujaan Koronavilkun analysointiin.

Me Mint Securityssä rakastamme kontekstia ja asiayhteys on tässäkin tapauksessa erittäin olennaista. Skannaus ja raportti koskevat sovelluksen koodia, mutta myös prosessia. Suojatun koodin kehittäminen ja turvallinen kehittäminen ei ole vain kertaluonteinen operaatio. Tästä syystä Mint Security ja Veracode ovat Koronavilkku-kehitystiimin käytettävissä skannauspyyntöihin myös jatkossa.

Johtopäätökset

Koronavilkku-sovellus osoittautui tietoturvaltaan hyvin korkeatasoiseksi. Merkittäviä turvallisuuteen liittyviä havaintoja emme todenneet. Työskentelemme sekä asiakkaidemme että myös potentiaalisten asiakkaidemme kanssa Veracode SAST- ja SCA-työkaluilla, ja näemme työssämme laajan kirjon erilaisia sovelluksia ja skannaustuloksia. Tulokset Koronavilkun osalta osoittautuivat laadultaan keskimääräistä tasoa korkeammiksi.

Vastuullinen havaintojen julkistaminen

Vaikka kyseessä on avoimen lähdekoodin sovellus ja siten saatavilla kenen hyvänsä analysoitavaksi ja sorkittavaksi (ja sovelluksesta saa vapaasti muodostaa omia mielipiteitään), halusimme kuitenkin kunnioittaa sen tekijöitä. Teimme ensimmäisen skannauksemme 4. syyskuuta 2020 ja toimitimme tulokset välittömästi Koronavilkun kehitystiimille. Kehitystiimi kävi tulokset läpi — joista lisätietoja myöhemmin tässä artikkelissa — ja poikkeavat löydökset korjattiin muutamassa päivässä. Myöhemmin julkisesta lähteestä lataamamme sovelluksen uudelleenskannaus osoitti korjauksien tehonneen. Hyvin tehty!

Jos sinulla on tietoturvahavaintoja tai ongelmia Koronavilkun kanssa, ota ihan ensimmäiseksi yhteyttä Koronavilkku-kehitystiimiin — ja kerro asiasta Twitterissä sitten joskus myöhemmin.

Löydökset ja yksityiskohdat

Kaikki löydökset tarkistettiin ja tutkittiin Mint Securityn Thomasin ja Putsin toimesta, ennen raporttien julkaisua.

4. syyskuuta 2020: Skannaus 1

SAST

Skannauksessa havaittiin 6 kpl Medium ja 2 kpl Low -luokiteltua löydöstä. Ei kriittisiä löydöksiä.

  • Improper Output Neutralization for Logs – (some) exceptions were written as-is to the logs. By looking at the code, you can see that this is not a systemic error but rather a simple mistake.
  • Insufficient Entropy – cryptograpic methods are used to generate id’s. The id’s are not used for any real cryptography, hence these are false positives.
  • Cleartext Transmission of Sensitive Information – these findings are from debugging methods, hence no impact for the real application.
  • Use of Wrong Operator in String Comparison – these findings are from debugging methods, hence no impact for the real application.
  • Exposure of Sensitive Information Through Sent Data – these findings are from debugging methods, hence no impact for the real application.
Veracode Koronavilkku SAST results

SCA

SCA-skannauksen aikana ei löytynyt ongelmia. Analysoitujen Koronavilkun pakettien osana on yli 60 kolmansien osapuolten kirjastoa. Skannausten tulosta on näin ollen pidettävä erinomaisena — selvästi yli keskiarvon.

16. syyskuuta 2020: Skannaus 2

SAST

Skannauksessa havaittiin 3 kpl Medium-luokiteltua löydöstä. Ei kriittisiä löydöksiä. Huomioitakoon, että Android-pakettia ei oltu muokattu joten sitä ei myöskään skannattu uudelleen.

  • Insufficient Entropy – cryptograpic methods are used to generate id’s. The id’s are not used for any real cryptography, hence these are false positives
Kuten voidaan nähdä, Koronavilkun kehitystiimi korjasi edellisessä skannauksessa havaitut output neutralization -löydökset ja korjauksen tulokset näkyvät selvästi raportista. Tämä tarjoaa ajan mittaan läpinäkyvyyttä tietoturvan tasolle.
Veracode Koronavilkku SAST results

SCA

SCA-skannauksessa havaittiin yksi kolmannen osapuolen kirjastoon liittyvä löydös.

Veracode Koronavilkku SCA

On syytä huomioida, että kolmansien osapuolten kirjastojen hallinta on yksi nykyaikaisen ohjelmistokehityksen hankalimmista tehtävistä. Tässä analysoiduilla Koronavilkku-paketilla on yli 60 riippuvuutta. On myös tärkeä ymmärtää, että kyseisissä kolmansien osapuolten kirjastoissa olevia haavoittuvuuksia voi paljastua ja niitä voidaan paljastaa milloin tahansa — riippumatta Koronavilkun kehittäjistä ja heidän ohjelmistojulkaisuistaan. Tämä on sama tilanne kuin kaikilla sellaisilla ohjelmistoilla, jotka käyttävät kolmannen osapuolen kirjastoja.

Tässä nimenomaisessa tapauksessa Koronavilkkuun sisältyvien kirjastojen versio ei muuttunut skannausten välillä. Se mitä tapahtui, oli että tarkistusten välillä haavoittuvuus löydettiin ja liputettiin ja tämä näkyi sitten viimeisimmän tarkistuksen SCA-tuloksissa. Kolmannen osapuolen kirjastojen hallinta on jatkuva ja tylsähkö prosessi — ilman asianmukaisia työkaluja ja menettelyjä se voi olla jopa ylivoimainen.

Mobile Behavioral Analysis

Osana SAST-skannausta Veracode analysoi ja seuraa mobiililaitteen oikeuksia ja muita sovelluksen käyttäytymiseen liittyviä asioita. Tämä analyysi liittyy vain sovelluksen Android-versioon.

Veracode Koronavilkku Mobile Behaviour Analysis

Kolmansien osapuolten lisenssit

Kolmannen osapuolen lisenssiraportti on tarjottu puhtaasti lukijoiden mielenkiinnoksi. Lisensseillä on merkitystä sovellusten kaupallisessa kehittämisessä, mutta koska Koronavilkku on avoimen lähdekoodin ohjelmisto, on täysin hyväksyttävää käyttää kirjastoja lisensseillä, jotka eivät välttämättä ole muuten yhteensopivia normaalin kaupallisen ohjelmistokehityksen kanssa.

  • HIGH IMPACT

    - LGPL 3.0
    - LGPL 2.1
    - GPL 2.0

  • MEDIUM IMPACT

    - CDDL 1.0
    - EPL 1.0

  • LOW IMPACT

    - Apache 2.0
    - MIT
    - CC-BY 3.0
    - BSD-2 Clause

Raportit

Veracode Koronavilkku report 4.9.2020

Skannausraportti 4. syyskuuta 2020

Veracode Koronavilkku report 16.9.2020

Skannausraportti 16. syyskuuta 2020

Veracode feature picture

Veracode

SAST – Koodin staattinen tarkistus SCA – Kirjastoanalyysi ja inventaario SDLC sovelluskehitysintegraatio Koko sovellusportfolion tietoturvan hallinta yhdessä ja samassa palvelussa Veracoden palvelun avulla voidaan arvioida

Lue lisää »
Veracode Security Labs - user management
Veracode

Veracode Security Labs

Koodarit ovat käytännössä ne ainoat henkilöt organisaatiossa, jotka voivat korjata sovelluksissaan piileskelevät haavoittuvuudet. Veracode Security Labs auttaa täyttämään tietoturvastandardien vaatimukset ja tarjoamaan samalla koko kehitystiimille mielekkään tavan oppia lisää.

Lue lisää »
Thomas

Thomas

The author works at and owns Mint Security, a mean and lean security company founded in 2015. No fuzz (literally - we do not fuzz, there are companies better equipped to do that).
Share on facebook
Share on twitter
Share on linkedin
Share on xing
Share on whatsapp

ota yhteyttä

Pyydä rohkeasti lisätietoa. Vastaamme todennäköisesti nopeammin kuin osasit kuvitella.