BSIMM (Building Security In Maturity Model) ja SAMM (Software Assurance Maturity Model) -malleilla on samankaltainen alkuperä, joka juontaa juurensa vuosiin 2008-2009. Minulta kysytään usein, mitä yhteistä ja mitä eroa näillä kahdella mallilla on, joten kirjoitin tämän vertailun auttaakseni organisaatioita ymmärtämään, kumpi näistä kahdesta saattaisi paremmin sopia heidän tarpeisiinsa.
Mallin tyyppi
BSIMM on kuvaava malli
BSIMM on ensisijaisesti ohjelmistoturvallisuuden mittatikku. Paras tapa käyttää sitä on verrata ja asettaa vastakkain omat aloitteet ja tieto siitä, mitä muut organisaatiot ovat tekemässä. BSIMM toimii myös tiekarttana SSI:lle. Alkuun pääsee tunnistamalla omat päämäärät sekä tavoitteet ja sitten BSIMM:ia tarkastellen selvittämällä, mitkä muut toiminnot ovat järkeviä.
BSIMM:n tarkoituksena on kvantifioida erityyppisten SSI:den eri tyyppisissä organisaatioissa toteuttamat toimet. Koska näissä aloitteissa käytetään erilaisia menetelmiä ja erilaisia terminologioita, BSIMM tarvitsee viitekehyksen, jonka avulla voidaan kuvata kaikkia aloitteita yhtenäisellä tavalla. Software Security Framework (SSF) ja toimintakuvaukset tarjoavat yhteisen sanaston SSI:n keskeisten elementtien selittämiseksi. Tämä taas antaa mahdollisuuden verrata aloitteita, jotka käyttävät erilaisia termejä, toimivat eri mittakaavoissa, ovat olemassa organisaatiokaavion eri osissa, toimivat eri vertikaalimarkkinoilla tai luovat erilaisia työtuotteita. [1]
Kuvaavana mallina, BSIMM:n ainoa tavoite on tarkkailla ja raportoida. Tykkäämmekin sanoa, että kävimme naapurustossa katsomassa mitä siellä tapahtui ja havaitsimme, että ”vierailemissamme X talossa Y:stä on robotti-imureita.” Huomattavaa on, että BSIMM:ssä ei sanota että ”kaikissa taloissa on oltava robotti-imuri”, ”robotit ovat ainoa hyväksyttävä pölynimuri”, ”pölynimureita on käytettävä joka päivä” tai muita arvoarviointeja. Tarjoamme yksinkertaisia havaintoja, jotka on yksinkertaisesti raportoitu. [2]
SAMM on ohjeistava malli
SAMM on ohjeistava malli — avoin kehys, jota on helppo käyttää ja joka on täysin määritelty sekä mitattavissa. Ratkaisun yksityiskohdat ovat riittävän helppoa seurattavaa jopa muille kuin tietoturvahenkilöstölle. SAMM auttaa organisaatioita analysoimaan nykyisiä ohjelmistoturvallisuuden käytäntöjä, rakentamaan turvallisuusohjelman määritellyillä iteraatioilla, osoittamaan asteittaiset parannukset tietoturvakäytännöissä sekä määrittelemään ja mittaamaan tietoturvallisuuteen liittyviä toimintoja.
SAMM määriteltiin olemaan joustava, jotta pienet, keskisuuret ja suuret organisaatiot — mitä tahansa kehitystyyliä käyttäen — voisivat muokata sitä ja ottaa sen käyttöönsä. SAMM tarjoaa keinot tietää, missä kohtaa organisaatio on matkalla kohti ohjelmistovarmuutta; ja ymmärtää, mitä suositellaan, jotta voidaan siirtyä seuraavalle kypsyystasolle.
SAMM ei vaadi, että kaikki organisaatiot saavuttavat korkeimman kypsyystason jokaisessa kategoriassa. Kukin organisaatio voi määrittää kunkin turvallisuuskäytännön kypsyystason. Sellaisen, joka sille parhaiten sopii — ja mukauttaa käytettävissä olevat mallipohjat omiin tarpeisiinsa. [3]
OWASP SAMM:n tuottama lisäarvo syntyy siitä, että se tarjoaa keinot tietää, missä kohtaa organisaatio on matkalla kohti ohjelmistovarmuutta; ja ymmärtää, mitä suositellaan, jotta voidaan siirtyä seuraavalle kypsyysasteelle. OWASP SAMM ei vaadi, että kaikki organisaatiot saavuttavat kypsyystason 3 jokaisessa luokassa. Organisaatio todellakin itse määrittelee kunkin turvallisuuskäytännön kypsyystasolle tavoitearvon, joka sopii parhaiten organisaatiolle ja sen tarpeisiin. OWASP SAMM tarjoaa useita malleja yleisimmille organisaatiotyypeille tätä tarkoitusta varten — mutta suositeltavaa on, että malleja sopeutetaan kunkin organisaation tarpeita vastaaviksi. [4]
Kypsyystasot
BSIMM ei ole perinteinen kypsyysmalli, jossa joukko toimintoja toistetaan useilla syvyyden ja leveyden tasoilla; tee jotain tasolla 1, tee se enemmän tasolla 2, tee se paremmin tasolla 3 ja niin edelleen. Sen sijaan, BSIMM käsittää joukon ainutlaatuisia aktiviteetteja, joiden aktiivisuustasoja käytetään vain erottamaan suhteellinen esiintymistiheys, jossa toimintaa organisaatioissa havaitaan. Usein havaitut toiminnot nimetään tasoksi 1, harvemmin havaitut toiminnot nimetään tasoksi 2 ja harvoin havaitut toiminnot nimetään tasoksi 3. [5]
SAMM:n osalta kullakin turvallisuuskäytännöllä on kolme määriteltyä kypsyystasoa ja implisiittinen lähtökohta kohdassa nolla. Kunkin tason yksityiskohdat eroavat käytännöistä, mutta ne vastaavat yleensä näin:
- 0 - implisiittinen lähtökohta, joka vastaa käytäntöjen puuttumista
- 1 - jonkin turvallisuuskäytännön alustava ymmärrys ja tapauskohtainen hyödyntäminen
- 2 - turvallisuuskäytännön tehokkuuden ja / tai vaikuttavuuden kasvattaminen
- 3 - turvallisuuskäytännön kattava hallinta
Vertailu
Vertailukohde
BSIMM
SAMM
Ensisijaiset kategoriat
4 korkean tason domainia
- Governance
- Intelligence
- SSDL Touchpoints
- Deployment
5 liiketoimintoa
- Governance
- Design
- Implementation
- Verification
- Operations
3 käytäntöä per domain
Governance
- Strategy & Metrics
- Compliance & Policy
- Training
Intelligence
- Attack Models
- Security Features & Design
- Standards & Requirements
SSDL Touchpoints
- Architecture Analysis
- Code Review
- Security Testing
Deployment
- Penetration Testing
- Software Environment
- Config Mgmnt / Vuln Mgmnt
3 turvallisuuskäytäntöä per liiketoiminto
Governance
- Strategy & Metrics
- Policy & Compliance
- Education & Guidance
Design
- Threat Assessment
- Security Requirements
- Secure Architecture
Implementation
- Secure Build
- Secure Deployment
- Defect Management
Verification
- Architecture Analysis
- Requirements-driven Testing
- Security Testing
Operations
- Incident Management
- Environment Management
- Operational Management
Tulosten vertaileminen
BSIMM:ssä on mukana 130 organisaatiota, jotka on haastateltu ja jotka ovat toimittaneet osuutensa vertailutietoihin
Työskentely SAMM Benchmark -hankkeessa, tietojen keräämiseksi toteuttavista ja arvioivista organisaatioista vertailua varten
Päivitystiheys
vuosittain
2-3 vuoden välein
Arviointi
BSIMM on Synopsys:n omistama. Arviointia varten kannattaa ottaa yhteyttä heihin, kustannuksiin ja logistiikkaan liittyen.
SAMM on avoin malli. Se mahdollistaa itsearvioinnin tai arvioinnin suorittamisen useiden erilaisten konsultointiorganisaatioiden ja yksityishenkilöiden toimesta.
Kumpaa kannattaa käyttää?
Vertailun tulisi olla tosiasiallista. Se tehdään kummassakin mallissa julkaistusta tiedosta. Jos minulta kysytään, kumpaa mallia tulisi käyttää, antaisin vastaukseksi tämän — tiedon ja kokemukseni perusteella:
-
Vertailu
Jos vertailua muihin organisaatioihin on ehdottomasti tehtävä, vaihtoehtoina ovat joko suorittaa BSIMM-toimeksianto jotta saadaan raportti, joka osoittaa, miten organisaatio vertaantuu suhteessa muihin BSIMM-viitekehyksessä mukana oleviin organisaatiohin; tai suorittaa SAMM-arviointi ja korkean tason vertailu tuloksista. Se on suhteellisen vertailukelpoinen korkealla tasolla, koska turvallisuuskäytännöt ovat edelleen melko samanlaisia. Kunnes SAMM Benchmark -projekti jatkuu, tämä on ainoa oikea vaihtoehto.
-
Itseisarviointi
Jos halutaan suorittaa itsearviointia, SAMM olisi ilmeinen valinta, koska malli on avoin ja käytettävissä itsearviointiin. SAMM tarjoaa myös useita resursseja — mukaan lukien pika-aloitusoppaat ja työkalupakki — jotka auttavat arviointien keräämisessä ja mittaamisessa.
-
Ulkoinen arviointi
Jos halutaan kolmannen osapuolen suorittama arviointi, voidaan yhdessä Synopsys:n kanssa suorittaa BSIMM-arvioinnin tai valita tekijäksi jonkin useista konsultointiyrityksistä, jotka suorittavat SAMM-arviointeja.
Lähteet
Kaikki tiedot on otettu BSIMM versio 11:ssa ja OWASP SAMM 2:ssa julkaistuista tiedoista.
[1] BUILDING SECURITY IN MATURITY MODEL (BSIMM) – VERSION 11 (s. 3)
[2] BUILDING SECURITY IN MATURITY MODEL (BSIMM) – VERSION 11 (s. 9)
[3] https://owaspsamm.org/about/
[4] https://owaspsamm.org/guidance/quick-start-guide/
[5] BUILDING SECURITY IN MATURITY MODEL (BSIMM) – VERSION 11 (s. 3)
Alkuperäinen englanninkielinen kirjoitus löytyy täältä: https://owaspsamm.org/blog/2020/10/29/comparing-bsimm-and-samm/
If you have any questions, please feel free to reach out:
Brian Glas
Assistant Professor of Computer Science
Union University
Contributor to OWASP SAMM