Jaa


Gh-500:n opiskeluopas: GitHubin edistynyt suojaus

Tenttisuunnittelu

Audience Profile -

Tämä koe on suunniteltu järjestelmänvalvojille, ohjelmistokehittäjille, sovellusten järjestelmänvalvojille ja IT-ammattilaisille, joilla on keskitason kokemus GitHub Enterprise Administrationista.

Mitatut taidot

HUOM. Kutakin mitattua osaamista seuraavilla luetteloilla on tarkoitus havainnollistaa sitä, miten kyseistä osaamista arvioidaan. Aiheeseen liittyviä aiheita voidaan käsitellä kokeessa.

HUOMAUTUS: Useimmat kysymykset koskevat ominaisuuksia, jotka ovat yleisesti saatavilla. Koe voi sisältää kysymyksiä esikatseluominaisuuksista, jos näitä ominaisuuksia käytetään yleisesti.

Toimialue 1: Kuvaus GHAS-suojausominaisuuksista ja -toiminnoista (15%)

GhaS-ominaisuuksien ja niiden roolin kontrasti tietoturvaekosysteemissä

  • Erotetaan automaattisesti avoimen lähdekoodin projekteihin tulevat suojausominaisuudet ja käytettävissä olevat ominaisuudet, kun GHAS yhdistetään GHEC:hen tai GHES:iin

  • Suojauksen yleiskatsauksen ominaisuuksien ja etujen kuvaus

  • Salaisen skannauksen ja koodin skannauksen erojen kuvaaminen

  • Kuvaile, miten salaisen koodin skannaaminen, koodin skannaaminen ja Dependabot luovat suojatumman ohjelmistokehityksen elinkaaren

  • Verrataan turvallisuusskenaariota eristetyn suojauksen tarkasteluun ja kehittyneeseen skenaarioon niin, että suojaus on integroitu ohjelmistokehityksen elinkaaren kuhunkin vaiheeseen

Tiettyjen GHAS-ominaisuuksien selittäminen ja käyttäminen

  • Kuvaile, miten haavoittuvassa asemassa olevat riippuvuudet tunnistetaan (tarkastelemalla luettelotiedostoja ja vertaamalla tunnettujen haavoittuvuuksien tietokantoihin)

  • Valitse, miten toimit GHAS:n hälytyksissä

  • Ilmoituksen huomiotta jättämisen selittämään vaikutukset

  • Selittämään kehittäjän roolin, kun hän löytää suojaushälytyksen

  • Eri suojausominaisuuksien ilmoitusten tarkasteleminen käyttöoikeuksien hallinnan erojen mukaisesti

  • Määritä, missä Dependabot-hälytyksiä käytetään ohjelmistokehityksen elinkaaressa

Toimialue 2: Salaisen koodin skannauksen määrittäminen ja käyttäminen (15%)

Salaisen koodin skannauksen määrittäminen ja käyttäminen

  • Salaisen koodin skannauksen kuvaaminen

  • Kuvaile push-suojausta

  • Kelpoisuustarkistukset

  • Kontrastin salaisen skannauksen saatavuus julkisissa ja yksityisissä säilöissä

  • Ota käyttöön salaisten säilöjen skannaaminen

  • Valitse asianmukainen vastaus salaisen skannauksen hälytykseen

  • Selvitä, luodaanko hälytys annetulle salaiselle koodille, kuviolle tai palveluntarjoajalle

  • Selvitä, näkyykö tietty käyttäjärooli salaisia skannausilmoituksia ja miten hänelle ilmoitetaan

Salaisen koodin oletustarkistustoiminnon mukauttaminen

  • Salaisen skannausilmoituksen vastaanottajien määrittäminen (sisältää myös sen, miten voit antaa käyttöoikeudet muille jäsenille ja tiimeille kuin järjestelmänvalvojille)

  • Jätä pois tietyt tiedostot salaisten koodien skannaamisesta

  • Mukautetun salaisen koodin skannauksen ottaminen käyttöön säilössä

Toimialue 3: Dependabotin ja riippuvuuden tarkistuksen määrittäminen ja käyttäminen (35%)

Riippuvuuksien haavoittuvuuksien hallinnan työkalut

  • Riippuvuuskaavion määrittäminen

  • Riippuvuuskaavion luonnin kuvaus

  • Kuvaile, mikä SBOM-ohjelmisto on ja mitä SBOM-muotoa GitHub käyttää

  • Määritä riippuvuuden haavoittuvuus

  • Kuvaile Dependabot-hälytyksiä

  • Kuvaile Dependabot-suojauspäivityksiä

  • Kuvaile riippuvuustarkastuksia

  • Kuvaile, miten hälytyksiä luodaan haavoittuville riippuvuuksille (jotka perustuvat GitHub Advisory Database -tietokannasta peräisin olevasta riippuvuuskaaviosta)

  • Kuvaile Dependabot- ja Dependency Review -tarkistusten välisiä eroja

Ota käyttöön ja määritä työkaluja haavoittuvassa asemassa olevien riippuvuuksien hallintaan

  • Määritä julkisten ja yksityisten säilöjen Dependabot-hälytysten oletusasetukset

  • Määritä käyttöoikeudet ja roolit, joita dependabot-hälytysten ottaminen käyttöön edellyttää

  • Määritä dependabot-hälytysten tarkasteluun tarvittavat käyttöoikeudet ja roolit

  • Ota käyttöön Dependabot-hälytykset yksityisissä säilöissä

  • Ota Dependabot-hälytykset käyttöön organisaatioille

  • Kelvollisen Dependabot-määritystiedoston luominen käyttöoikeuspäivitysten ryhmittelemiseksi

  • Luo Dependabot-sääntö matalan vakavuuden hälytysten automaattiseksi hylkäämiseksi, kunnes korjaustiedosto on käytettävissä

  • Luo riippuvuussuhteen tarkistus GitHub Actions -työnkulku

  • Käyttöoikeustarkistusten ja mukautetun vakavuusrajan määrittäminen riippuvuuden tarkistuksen työnkulussa

  • Ilmoitusten määrittäminen haavoittuville riippuvuuksille

Heikossa asemassa olevien riippuvuuksien tunnistaminen ja korjaaminen

  • Dependabot-hälytyksen haavoittuvan riippuvuuden tunnistaminen

  • Pull-pyynnön heikossa asemassa olevien riippuvuuksien tunnistaminen

  • Ota Käyttöön Dependabot-suojauspäivitykset

  • Korjaa Dependabot-ilmoituksen haavoittuvuus Suojaus-välilehdessä (voi sisältää riippuvuuden päivittämisen tai poistamisen).

  • Korjaa Dependabot-hälytyksen haavoittuvuus pull-pyynnön kontekstissa (voi sisältää riippuvuussuhteen päivittämisen tai poistamisen).

  • Tee toimia dependabot-hälytyksissä testaamalla ja yhdistämällä pull-pyyntöjä

Toimialue 4: Koodin skannauksen määrittäminen ja käyttäminen CodeQL:n avulla (25%)

Koodin skannaamisen käyttö kolmansien osapuolten työkaluilla

  • Ota koodin tarkistus käyttöön kolmannen osapuolen analyysissa käytettäväksi

  • Vertailla CodeQL:n ja kolmannen osapuolen analyysin käytön vaiheita koodin skannaamisen käyttöönoton yhteydessä

  • Verrataan sitä, miten CodeQL-analyysi toteutetaan GitHub Actions -työnkulussa verrattuna kolmannen osapuolen CI-työkaluun

  • Lataa kolmannen osapuolen SARIF-tulokset SARIF-päätepisteen kautta

Koodin skannauksen kuvaaminen ja ottaminen käyttöön

  • Kuvaile, miten koodin skannaaminen sopii ohjelmistokehityksen elinkaareen

  • Verrata koodin tarkistustyönkulkujen tiheyttä (tapahtumien ajoittamiin ja käynnistämiin)

  • Valitse käynnistintapahtuma tietylle kehitysmallille (esimerkiksi pull-pyynnölle ja tietyille tiedostoille)

  • Muokkaa Toiminnot-työnkulun oletusmallia, jotta se sopii aktiiviseen, avoimeen lähdekoodiin ja tuotantosäilöön

  • CodeQL-analyysin koodin skannauksen tulosten tarkasteleminen

  • Vianmäärityksen tehnyt koodin tarkistustyönkulku CodeQL:n avulla, mukaan lukien mukautettujen määritysten luominen tai muuttaminen CodeQL-työnkulussa

  • Seuraa tietovuo läpi koodia käyttämällä Näytä polut -käyttökokemusta

  • Koodin tarkistusilmoituksen syyn selittäminen ilmoituksesta linkitetyn dokumentaation avulla

  • Selvitä, onko koodin tarkistusilmoitus hylättävä ja miksi se on hylättävä

  • Kuvaa mahdollisia puutteita CodeQL:ssä kääntämismallin ja kielituen avulla

  • SarIF-luokan määrittämisen tarkoitus

Toimialue 5: GitHubin kehittyneen suojauksen parhaiden käytäntöjen ja tulosten kuvaus ja korjaavien toimenpiteiden toteuttaminen (10%)

GitHubin suojauksen lisätulokset ja parhaat käytännöt

  • Käytä yleisiä haavoittuvuuksia ja altistuksia (CVE) ja common weakness -luettelointia (CWE) gitHub advanced security -hälytyksen kuvaamiseen ja mahdollisten korjausten luetteloon

  • Kuvaile turvallisuushälytysten sulkemis- ja hylkäämisprosessi (irtisanomisen dokumentointi ja tietoihin perustuvan päätöksen tekeminen)

  • CodeQL-kyselymallien oletusasetusten kuvaus

  • Kuvaile, miten CodeQL analysoi koodia ja tuottaa tuloksia, mukaan lukien erot käännetyn ja tulkitun kielen välillä

  • Määritä kehitys- ja tietoturvatiimien roolit ja vastuut ohjelmistokehityksen työnkulussa

  • Kuvaile, miten koodin skannaamisen tilatarkistusten vakavuusrajaa voidaan muuttaa

  • Selitä, miten suodattimia ja lajittelua voidaan käyttää salaisen skannauksen korjaamisen priorisointiin (voimassaolo:aktiivinen)

  • Selitä, miten CodeQL- ja riippuvuussuhteen tarkistustyönkulut voidaan pakottaa säilön sääntöjen avulla

  • Kuvaile, miten koodin skannaaminen voidaan määrittää aiemmin heikkouksien tunnistamiseen ja korjaamiseen (pull-pyynnön jälkeen)

  • Määritä, miten salaisen koodin skannaaminen voidaan määrittää aiemmin heikkouksien tunnistamiseen ja korjaamiseen (push-suojauksen käyttöönotto)

  • Kuvaile, miten riippuvuusanalyysi voidaan määrittää tunnistamaan ja korjaamaan heikkouksia aiemmin (ota käyttöön riippuvuustarkistus, joka tarkistetaan pull-pyynnön yhteydessä)