heygrc
NIS 2 cyberhygiëne en patchen in code

Bekende kwetsbaarheden, onopgelost gelaten.

Art. 21(2)(g) van NIS 2 noemt basis cyberhygiënemaatregelen als verplichte maatregelen, en een van de meest fundamentele is het up-to-date houden van software tegen bekende kwetsbaarheden. Wanneer er een oplossing bestaat voor een gepubliceerd beveiligingsadvies en u deze niet toepast, loopt u bewust een bekend risico. Deze beslissing wordt meestal genomen in een manifest, een basisimage of in de code.

How it shows up in a diff

The shapes the same control failure takes.

Cyberhygiëne verslechtert wanneer een wijziging een bekende, oplosbare kwetsbaarheid onopgelost laat. De terugkerende patronen:

  • Een afhankelijkheid wordt vastgezet op een versie met een kwetsbaarheid

    Een bibliotheek met een gepubliceerd beveiligingsadvies wordt vastgezet op de kwetsbare versie in plaats van bijgewerkt naar de gecorrigeerde versie, om herhalen van tests te vermijden.

  • Een basisimage is bevroren en niet meer onderhouden

    Een basisimage is vastgezet op een oude tag die geen beveiligingsupdates meer ontvangt, waardoor bekende kwetsbaarheden zich opstapelen.

  • Een geautomatiseerd update-mechanisme is uitgeschakeld

    Automatische updates voor afhankelijkheden of images zijn uitgeschakeld of de bijbehorende pull requests worden routinematig gesloten, waardoor correcties niet meer worden doorgevoerd.

  • Een beveiligingspatch wordt teruggedraaid

    Een update die een kwetsbaarheid oploste, wordt teruggedraaid omdat deze problemen veroorzaakte, waardoor de kwetsbaarheid opnieuw openstaat.

  • Software aan het einde van de levenscyclus blijft in gebruik

    Een runtime of bibliotheek die het einde van de levenscyclus heeft bereikt en geen correcties meer ontvangt, wordt behouden in plaats van gemigreerd.

Worked example

Een afhankelijkheid vastgezet op een versie met een bekend beveiligingsadvies.

Een bibliotheek heeft een gepubliceerd beveiligingsadvies met een beschikbare gecorrigeerde versie. Het toepassen van de fix zou betekenen dat een integratie opnieuw getest moet worden, dus een wijziging zet de bibliotheek terug naar de kwetsbare versie. De applicatie blijft werken, maar op een versie met een bekende, onopgeloste kwetsbaarheid.

package.json+1 -1
  "dependencies": {-    "image-parser": "1.4.2"+    "image-parser": "1.3.0"  }
heygrcNIS 2 Art. 21(2)(g)

Het vastzetten van image-parser op versie 1.3.0 houdt een versie met een bekend, gepubliceerd beveiligingsadvies in stand, terwijl een gecorrigeerde versie (1.4.2) beschikbaar is. Art. 21(2)(g) (basis cyberhygiënemaatregelen) omvat het up-to-date houden van software tegen bekende kwetsbaarheden. Neem de gecorrigeerde versie en test opnieuw, in plaats van de kwetsbare versie vast te houden.

What an auditor does with this

Cyberhygiëne wordt gecontroleerd op basis van wat u nog steeds uitvoert.

Een inspectie in het kader van NIS 2 zoekt naar bewijs van basis cyberhygiëne: dat bekende kwetsbaarheden binnen een redelijke termijn worden bijgehouden en opgelost, en dat software onderhouden blijft. Een wijziging die een afhankelijkheid vastzet op een kwetsbare versie, een niet-onderhouden basisimage bevriest of automatische updates uitschakelt, is de concrete tekortkoming hierachter, en deze is zichtbaar in de diff van het manifest, de lockfile of de image.

What this is, and is not

Een review, geen kwetsbaarheidsscanner.

heygrc markeert wijzigingen die een NIS 2-hygiënemaatregel raken en verwijst naar het relevante artikel, zodat de oplossing in de pull request kan worden doorgevoerd. Het voert geen kwetsbaarheidsscans uit en beheert uw patchpijplijn niet. Het detecteert het moment waarop een wijziging een bekende, oplosbare kwetsbaarheid onopgelost laat, in de diff.