GHAS en het belang van haar integrale kenmerken definiëren
In deze les behandelen we het volgende:
- Geheim scannen
- Code scannen
- Dependabot
- Een veiligere levenscyclus voor softwareontwikkeling maken met belangrijke functies
Laten we beginnen met een kort overzicht van GHAS.
Wat is GHAS?
GitHub Advanced Security (of GHAS) is een oplossing voor toepassingsbeveiliging waarmee ontwikkelaars hun code kunnen beveiligen en risico's kunnen beheren zonder hun werkstroom te verstoren.
GHAS biedt nu mogelijkheden als twee verschillende producten: GitHub Secret Protection en GitHub Code Security. Met deze scheiding kunnen organisaties de functies inschakelen die het beste overeenkomen met hun beveiligingsprioriteiten en -licenties.
Advanced Security is rechtstreeks in uw werkstroom ingesloten om beveiligingsproblemen en referentielekken te voorkomen zonder de ontwikkeling te vertragen. GitHub Advanced Security lijkt erop dat uw persoonlijke beveiligingsadviseur elke coderegel bekijkt met inzichten van beveiligingsexperts van over de hele wereld.
Het waarborgen van de beveiliging van toepassingen en de softwareleveringsketen is nog nooit belangrijker geweest. Gartner voorspelt dat 45% van de wereldwijde organisaties in 2025 wordt beïnvloed door een toeleveringsketenaanval. Volgens het 2022 Verizon Data Breach Investigation Report blijven toepassingen een top aanvalsvector en bevinden ze zich in het centrum van meer dan 40% van alle gegevensschendingen.
Het integreren van beveiliging in uw softwareontwikkelingsproces lijkt misschien een lastig proces, dus laten we meer dan drie belangrijke functies van GHAS bekijken en hoe ze uw team helpen bij de nieuwste beveiligingsrisico's: geheim scannen, code scannen en Dependabot.
Geheim scannen
Geheim scannen is een kritieke GitHub-beveiligingsfunctie waarmee gevoelige informatie, zoals API-sleutels en tokens, in uw broncode wordt geïdentificeerd en voorkomen. Geheim scannen is gratis beschikbaar voor alle openbare opslagplaatsen en kan ook worden ingeschakeld voor privéopslagplaatsen met een GitHub Advanced Security-licentie (GHAS).
Dit helpt onbevoegde toegang te voorkomen en vertrouwelijke gegevens te beveiligen. Geheim scannen werkt door te zoeken naar vooraf gedefinieerde patronen en handtekeningen die wijzen op gevoelige informatie, zodat potentiële beveiligingsrisico's onmiddellijk worden aangepakt. Standaard zoekt geheim scannen naar zeer nauwkeurige patronen die zijn geleverd door een GitHub Partner. Aangepaste patronen kunnen echter worden gemaakt voor andere gebruiksvoorbeelden.
Scannen van geheimen omvat:
- Pushbeveiliging voorkomt proactief geheime lekken door code te scannen op doorvoer en een push te blokkeren als er een geheim aanwezig is.
- De mogelijkheid om eenvoudig waarschuwingen weer te geven en te herstellen zonder GitHub te verlaten.
In een veilige levenscyclus van softwareontwikkeling detecteert geheimscans blootgestelde geheimen, waardoor teams deze zo vroeg mogelijk kunnen intrekken of draaien, vaak voordat ze kunnen worden gebruikt voor schadelijke doeleinden, waardoor het risico op gegevensschendingen wordt verminderd en vertrouwelijkheid tijdens de ontwikkeling wordt bewaard.
Nu gaan we het scannen van code bekijken.
Code scannen
Codescans is een integraal onderdeel van GHAS waarmee broncode wordt geanalyseerd op beveiligingsproblemen en coderingsfouten. Er worden statische analysetechnieken gebruikt om potentiële problemen te identificeren, zoals SQL-injectie, cross-site scripting en bufferoverloop. Door geautomatiseerde feedback rechtstreeks binnen de werkstroom voor pull-aanvragen te geven, kunnen ontwikkelaars met codescans beveiligingsproblemen vroeg in het ontwikkelingsproces aanpakken.
Codescan verbetert de codekwaliteit en helpt beveiligingsrisico's te minimaliseren door problemen vroeg in de ontwikkelingslevenscyclus te identificeren en op te lossen. Omdat scanregels continu worden bijgewerkt, kan codescan ook beveiligingsproblemen detecteren die mogelijk al in productie zijn.
Dependabot
Dependabot is een geautomatiseerd hulpprogramma voor afhankelijkheidsbeheer dat verantwoordelijk is voor het up-to-date houden van projectafhankelijkheden. Er wordt regelmatig gecontroleerd op updates voor bibliotheken en frameworks die in een project worden gebruikt en er worden automatisch pull-aanvragen geopend om afhankelijkheden bij te werken naar hun nieuwste, beveiligde versies.
Dependabot omvat:
- Waarschuwingen voor bekende beveiligingsproblemen
- Beveiligingsupdates voor kwetsbare pakketten
- Versie-updates om afhankelijkheden actueel te houden
Dependabot werkt nauw samen met de afhankelijkheidsgrafiek om te bepalen welke afhankelijkheden in gebruik zijn en deze kruislings te verwijzen naar de GitHub Advisory Database om beveiligingsproblemen te detecteren.
Met De geavanceerde beveiliging van GitHub worden de mogelijkheden van Dependabot verbeterd door afhankelijkheidsbeoordeling, zodat u een voorbeeld kunt bekijken van kwetsbare pakketten die zijn geïntroduceerd in een pull-aanvraag en het toevoegen van onveilige afhankelijkheden voordat u gaat samenvoegen.
Waar kan ik geheimen scannen, code scannen en Dependabot-waarschuwingen inschakelen
Als u een van de waarschuwingen van een opslagplaatsniveau wilt inschakelen, gaat u eerst naar het beveiligingstabblad van uw opslagplaats.
Schakel vervolgens uw waarschuwingen in het beveiligingsoverzicht in.
Nu we alle 3 van de integrale functies van GHAS hebben bekeken en ingeschakeld, bespreken we hoe we ze allemaal kunnen implementeren om een veiligere levenscyclus voor softwareontwikkeling te creëren.
Een veiligere levenscyclus voor softwareontwikkeling maken met alle 3 functies
Geheim scannen, code scannen en Dependabot dragen gezamenlijk bij aan het creëren van een veiligere levenscyclus voor softwareontwikkeling. Geheim scannen voorkomt onbedoelde blootstelling van gevoelige informatie. Met codescans worden beveiligingsproblemen in de codebasis geïdentificeerd en aangepakt. En Dependabot automatiseert afhankelijkheidsbeheer.
Door deze functies te integreren, kunnen ontwikkelteams proactief beveiligingsproblemen aanpakken in elke fase van de ontwikkelingslevenscyclus. Deze proactieve benadering minimaliseert de kans dat beveiligingsincidenten productie bereiken, wat resulteert in een toleranter, veiliger en efficiënt softwareontwikkelingsproces.
De gecombineerde impact van deze integrale functies zorgt ervoor dat beveiliging geen zelfstandige overweging is, maar een integraal onderdeel van de gehele ontwikkelwerkstroom.
Beveiligingsfuncties voor opensource-projecten
Openbare projecten op GitHub profiteren van bepaalde standaardbeveiligingsfuncties, zoals het scannen van geheimen en afhankelijkheidsgrafieken. GitHub scant automatisch openbare opslagplaatsen op partnerpatronen en biedt waarschuwingen aan beheerders van opslagplaatsen. Openbare projecten kunnen er ook voor kiezen om codescans, Dependabot en Dependency Review in te schakelen zonder een GitHub Advanced Security-licentie.
Deze functies zijn echter fundamenteel en bieden mogelijk niet de beveiliging die nodig is voor complexere projecten of bedrijfsomgevingen.
Wanneer GitHub Advanced Security (GHAS) is gekoppeld aan GitHub Enterprise Cloud (GHEC), is de uitgebreide set beveiligingsfuncties ook beschikbaar voor interne en privéprojecten:
- Codescan: zoek naar mogelijke beveiligingsproblemen en coderingsfouten in uw code.
- Geheimen scannen: geheimen detecteren, bijvoorbeeld sleutels en tokens, die zijn ingecheckt in privéopslagplaatsen. Waarschuwingen voor het scannen van geheimen voor gebruikers en partners zijn gratis beschikbaar voor openbare opslagplaatsen op GitHub.com. Als pushbeveiliging is ingeschakeld, worden er ook geheimen gedetecteerd wanneer ze naar uw opslagplaats worden gepusht.
- Afhankelijkheidsbeoordeling: toon de volledige impact van wijzigingen in afhankelijkheden en bekijk details van kwetsbare versies voordat u een pull-aanvraag samenvoegt.
De onderstaande tabel bevat een overzicht van de beschikbaarheid van Geavanceerde Beveiligingsfuncties van GitHub voor openbare en privéopslagplaatsen.
| Feature | Openbare opslagplaats | Privéopslagplaats zonder geavanceerde beveiliging | Privéopslagplaats met Geavanceerde beveiliging |
|---|---|---|---|
| Code scannen | ✅ | ❌ | ✅ |
| Geheim scannen | ✅ | ❌ | ✅ |
| Afhankelijkheidsbeoordeling | ✅ | ❌ | ✅ |