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).

Tänään esittelen teille Veracoden ”uuden” SCA:n, eli vuoden 2018 SourceClear hankinnan. Ratkaisu oli jo silloin hyvä, markkinoiden hienoin ja paras. On ajankohtaista nostaa se esille siksi, että integraatio Veracoden muuhun tarjoamaan on vuosi vuodelta parempaa. Toinen syy on se, ettei tätä ratkaisua nähtävästi tunneta vieläkään tarpeeksi hyvin kotimarkkinoillamme.

Jos aihealue ei ole vielä tuttu, todettakoon että kyseessä on SCA tuote – Software Composition Analysis – käytännössä tällä hallinnoidaan sovellusten kolmansien osapuolien kirjastoja sovelluskehitysprosessissa (eli SDLC:ssä). Siksi että Veracoden agenttipohjaisella skannauksella voidaan myös skannata kontteja, näkyy kuvaruutukaappauksissa myös käyttöjärjestelmätason kirjastoja. Tämä on uutta, hienoa ja modernia ja erilaisten käyttöjärjestelmien tukea tällä saralla viedäänkin koko ajan eteenpäin.

Blogikirjoitus on hyvin kuvaruutukaappauspohjainen, sillä vaikka faktat ovat faktoja, hankintapäätöksiä saatetaan tehdä sen perusteella miltä asiat nyt tuntuu. Yritän siis esitellä tuotteen ominaisuudet hyvällä fiilispohjalla. Aihealueiksi olen valinnut haavoittuvuudet, lisenssit, konfigurointi sekä integraation.

Yleistä agenttipohjaisesta skannauksesta

Agenttipohjainen skannaus eroaa ”package and upload” -tyyppisestä skannauksesta siten, että se ei mitenkään kannusta manuaaliseen toimintaan, vaan skriptaukseen ja automatisointiin suoraan CI/CD putkeen. Tämä on devaustiimeille luonnollista ja mielekästä.

Agenttipohjaisella skannauksella päästään myös ns. haavoittuviin metodeihin käsiksi (vulnerable methods) – vaikka kirjastossa on haavoittuvuuksia, ei sovellus kuitenkaan välttämättä käytä kirjaston haavoituvia metodeja. Tämä helpottaa merkittävästi riskipäätösten tekemistä.

Kirjastohaavoittuvuuksien hallinta

Veracode SCA - Workspace list
Veracode agentti asennetaan "workspaceen". Workspacesta agentti löytää projekteja. Kuvassa yhteenvetoraportti workspace-kokonaisuudesta.
Veracode SCA - Workspace
Workspace yhteenvetonälymässä päästään navigoimaan eteenpäin tarkempiin tietoihin.
Veracode SCA - project list
Workspacessa on projekteja. Projekteista löydetään kirjastoja ja haavoittuvuuksia.
Veracode SCA - project overview
Ylätason näkymässä näkyy yhden projektin yhteenvetotiedot sekä kaikki työkalut joista pääsee pureutumaan tuloksiin tarkemmin.
Veracode SCA - Vulnerability breakdown
Kirjastojen haavoittuvuudet kategorisoidaan kolmeen vakavuusasteeseen. Jokaiselle havainnolle kerrotaan myös CVE-tai SRCCLR-koodi, riippuen mistä kyseinen havainto on saatu. SRCCLR-koodi kertoo siitä, että se on Veracoden oman tutkimustiimin työn tuloksena tehty havainto.
Veracode SCA - dependencies
Tuloksista saadaan näkyviin myös kirjastojen keskinäiset riippuvuudet. Piilossa olevat riippuvuudet - eli kehittäjän tietämättä mukaan "raahaamat" riippuuudet voivat tuottaa yllättäviä lisenssiongelmia sekä lisää haavoittuvuuspintaa. Tämä työkalu antaa myös kehittäjälle tietoa eri kirjastojen valintojen perusteluksi - pieni vai iso footprint vs. ominaisuudet jotka kirjasto tuo mukanaan.
Veracode SCA - Library versions
Kirjastojen historia ja viimeisimmän version. Tarkemman versiohistorian saa haavoittuvuustietokannasta. Kaikista havainnoista voi myös tehdä ad-hoc tiketin esim. JIRAan
Veracode SCA - unmatched libraries
Tunnistamattomat kirjastot - tai ylimääräiset tiedostot - löytyy helposti "unmatched" hakuehdolla.
Veracode - Library versions
Kirjastoista saa versiotiedot kätevästi listattu.
Veracode SCA - skannaushistoria
Järjestelmässä pääset helposti selaamaan menneitä skannauksia ja niiden tuloksia.

Lisenssien hallinta ja seuranta

Veracode SCA - License issues
Tuloksista voidaan nähdä politiikan mukaiset kriittiset lisenssihavainnot. Havaintolistan ollessa pitkä, voidaan sopivilla suotimilla rajata näkyvyyttä vain mielenkiintoisiin tuloksiin.
Veracode SCA - licenses
Lisensseihin voidaan myös pureutua yksittäisen lisenssin kautta, ja nähdä kuinka monessa eri kirjastossa se on käytössä.
Veracode SCA - license risk
Lisenssiriskin saa kokonaisuutena näkyviin, katsomalla sekä lisenssikokonaisuutta järjestettynä riskiperusteisesti sekä näiden lisenssien esiintymistiheyttä sovelluksessa.
Veracode SCA - container licenses
Skannauksen tuloksena nähdään lisensseihin liittyvät ongelmat. Näkymä on "ongelmalähtöinen" ja siksi erilainen kuin yksittäisestä lisenssistä. Kuvassa näkyy myös konttiskannauksen tuloksia, jolloin analyysi on tehty käyttöjärjestelmätason lisensseistä, mukana myös tar ja sed, perus Linux ohjelmistosta.
Veracode SCA - Library filter
Tietoja kuten lisenssityyppiä voi suodattaa kätevästi.
Veracode SCA - License terms
Yksittäisen lisenssin lisenssiehdot on saatavilla suoraan käyttöliittymästä tarkasteltavaksi.

Agenttipohjaisen skannauksen konfiguraatioita

Veracode SCA - Webhook notifications
Voit konfiguroida skannaukselle (projektille) notifikaatiot webhookeina. Tämä mahdollistaa esim. helpon Slack- tai Teams-integraation.
Veracode SCA - Policy
Politiikasta saa yleiskuvan . kaikki säännöt ja ehdot listattuna.
Veracode SCA - Policy
Politiikan voi rakentaa mieleisekseen. Politiikassa voi editoida erilaisia sääntöjä ja toimenpiteitä kuten tikettien luominen.

Integraatiot

Agentin voi konfiguroida käytännössä mihin vaan – ja voihan sitä halutessaan ajaa vaikka oman kehityskoneen komentoriviltä käsinkin. Suosituista järjestelmistä, olen ottanut esimerkkeinä tähän blogiin Jenkinsin ja Azure Devopsin.

Veracode SCA - Jenkins
Uuden agentin luominen on yksinkertaista. Käytännössä generoidaan API-avain joka viedään CI/CD pipeline konfiguraatioon.
Veracode SCA - Azure Devops
Azure DevOps konfiguraatio on yksinkertainen ja suoraviivainen.
Veracode SCA - Jenkins
Jenkins konfiguraatio on yksinkertainen ja suoraviivainen.

Tutkimustyö haavoittuvuuksien parissa

Lopuksi – ja ehkä yksi tärkeimmistä asioista. Veracode käyttää tietenkin julkisia tietokantoja hyväkseen haavoittuvuuksien löytämisessä. Tämän lisäksi Veracodella on myös dedikoitu tiimi joka jatkuvasti käy avoimen lähdekoodin projekteja, keskustelufoorumeja ja koodeja läpi. Tutkimustyö on Veracoden asiakkaiden käytettävissä heti kun se on valmis. Asiakkailla on siis ylivertaisen teknisen toteutuksen lisäksi tältä osin merkittäviä etuja saavutettavissa.

Veracode SCA - Vulnerability database
Haavoittuvuustietokanta on kaiken teknisen hienouden taustalla oleva jalokivi. Tähän kiteytyy osittain koko järjestelmän arvo. Tietokannan käyttöliittymä mahdollistaa kaikenlaisen kirjastojen tutkimisen ja arvioimisen. Taustalla oleva tietokanta toimii myös skannausmoottorin haavoittuvuustietokantana.
Veracode feature picture

Veracode

SAST – Koodin staattinen tarkistus SCA – Kirjastoanalyysi ja inventaario SDLC sovelluskehitysintegraatio Yrityksen koko sovellusportfolion tietoturvariskien hallinta samassa palvelussa Veracoden palvelun avulla voidaan tutkia ja

Lue lisää »
Veracode container scanning
sdlc
Saku Tuominen

Veracode Container Securityn hyödyntäminen pilvisovellusten ohjelmistokehityksen turvaamisessa

Pilvipohjainen ohjelmistokehitys on kantava voima, koska se antaa mahdollisuuden rakentaa ja ottaa käyttöön sovelluksia vauhdilla ja skaalautuvasti. Mikropalveluiden, pilvi-infrastruktuurin ja API-rajapintojen ohella kontit (containers) ovat tärkeä osa tätä kehitysprosessia. Tutkitaanpa hieman konttien turvallisuusvaikutuksia pilvipohjaisten sovellusten kehittämisessä ja niiden aiheuttamien tietoturvahaasteiden hallintaa.

Lue lisää »
Veracode State of Software Security 12
Veracode
Thomas

Veracode State of Software Security 12

Viime vuoden tapaan tarkastelimme aktiivisten sovellusten koko historiaa, emme vain sovellukseen liittyvää aktiviteettia yhden vuoden aikana. Näin saamme näkymän sovellusten koko elinkaareen, mikä taas johtaa tarkempiin mittareihin ja havaintoihin.

Lue lisää »
Veracode SoSS 11: Open Source Edition
Veracode
Thomas

Veracode SoSS 11: Open Source Edition

Veracode julkisti äskettäin uuden version avoimen lähdekoodin kirjastojen skannausten tuloksista. Raportti antaa näkymän sovelluskirjastojen tietoturvan nykytilasta ja hieman viitteitä tulevaisuudesta. Raporttiin on koottu tulokset n. 13 miljoonasta skanauksesta yli 86 000 repositoryyn n. vuoden mittaisen ajanjakson aikana.

Lue lisää »
State of software security 11 is here
Veracode
Tapio Särkelä

Veracode – State of Software Security 11

Veracode julkaisi äskettäin vuosittaisen raporttinsa sovellusten tietoturvan tilasta. State of Software Security 11 antaa kattavan näkkymän millaisia haavoittuvuuksia sovellukset sisältävät, millaisia ne ovat, mikä niitä

Lue lisää »
Veracode Security Labs - training module introduction to bash terminal
Veracode
Saku Tuominen

Veracode Security Labs – Community Edition

Veracode Security Labs Community Edition on paikka, jossa kehittäjät voivat hakkeroida ja korjata aitoja sovelluksia, oppia uusimpia taktiikoita ja parhaita tietoturvakäytäntöjä — opastuksen kera, oikeaa koodia tutkien. Tämän yhteisöversion avulla kuka tahansa saa käyttöönsä tarvittavat työkalut sovellusten tietoturva-aukkojen tilkitsemiseen.

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

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).

ota yhteyttä

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