Beveiligingsgegevens · CWE

CWE: de zwakke punten achter CVEs, uitgelegd

De CWE (Opsomming van gemeenschappelijke zwakheden) is de catalogus van typen van softwarefouten. Een CVE identificeert een specifieke fout in een specifiek product; de CWE identificeert de foutcategorie die dit mogelijk maakte.

900+zwakke punten vermeld
Bovenste 25elk jaar gepubliceerd
CWE-79op de eerste plaats in 2024

· 6 minuten lezen.

CWE versus CVE: het verschil in één voorbeeld

Neem CVE-2021-44228, Log4Shell. De CWE is dat wel CWE-917: expressietaalinjectie. De twee niveaus vereisen twee verschillende oplossingen.

De CVE repareren betekent het upgraden van Log4j naar versie 2.17. Het is urgent, het gebeurt in een avond en het beschermt je alleen tegen dat ene minpunt.

De CWE repareren betekent voorkomen dat binnenkomende gegevens ooit een expressie-evaluator bereiken. Het kost tijd en vraagt ​​om een ​​ontwerpherziening – en het beschermt je ook tegen de volgende drie gebreken van dezelfde familie, inclusief de gebreken die nog geen nummer hebben.

Eén enkele CWE bestrijkt duizenden CVEs. Daarom beschrijft een beveiligingsrapport dat alleen over CVEs spreekt een momentopname en nooit een trend.

De zwakke punten waar je het meest tegenaan zult lopen

Een handvol CWE's is verantwoordelijk voor een groot deel van de gepubliceerde CVEs. Voor elk ervan maakt een bekend voorbeeld het idee concreet:

CWEZwakteWat de aanvaller krijgtBekend geval
CWE-79Cross-site scripting (XSS)Voer code uit in de browser van een andere gebruikerTalloze CMS- en plug-infouten
CWE-89SQL-injectieLees of wijzig de databaseCVE-2023-34362 (MOVEit)
CWE-787Buiten de grenzen schrijvenCorrupt geheugen, vaak helemaal tot aan de uitvoering van de codeBrowser- en netwerkstackfouten
CWE-22Pad doorlopenBestanden lezen buiten de beoogde directoryEdge-apparaat- en VPN-fouten
CWE-352Vervalsing van cross-site verzoeken (CSRF)Laat een ingelogde gebruiker handelen zonder dat hij het weetSlecht beveiligde beheerdersinterfaces
CWE-862Ontbrekende autorisatieEen functie bereiken zonder dat dit magZeer vaak voorkomende API-fouten
CWE-416Gebruik daarna gratisUitvoering van het kapingprogrammaMotorfouten weergeven
CWE-78OS-opdrachtinjectieVoer opdrachten uit op de serverApparaat- en routerfouten
CWE-917ExpressietaalinjectieVoer code uit via een geïnterpreteerde tekenreeksCVE-2021-44228 (Log4Shell)

De volledige lijst bevat meer dan 900 vermeldingen, hiërarchisch georganiseerd: van zeer algemene pijlers tot zeer specifieke varianten. Het is beschikbaar op cwe.mitre.org; we dupliceren de 900 rijen hier niet, omdat ze je niets zouden leren van de officiële catalogus.

De CWE Top 25: waar hij echt voor is

Elk jaar publiceert MITRE de CWE Bovenste 25 gevaarlijkste zwakke punten, gerangschikt door de frequentie van geassocieerde CVEs te combineren met hun ernst. In de editie van 2024 CWE-79 (XSS) staat weer bovenaan, vóór CWE-787 (buiten het bereik schrijven) en CWE-89 (SQL-injectie).

Deze ranglijst is niet bedoeld om te beslissen wat er deze week moet worden opgelost: het is om te beslissen waar een team op moet worden getraind en waarop de statische analysehulpmiddelen moeten worden afgestemd. Het is een preventie-instrument, geen alarmtriage-instrument; deze twee worden vaak door elkaar gehaald, en dat verspilt aan beide kanten tijd.

De CAPEC-, CWE-, CVE-keten

Drie catalogi, drie vragen: an aanvalspatroon (CAPEC) beschrijft hoe het gedaan wordt, a zwakte (CWE) beschrijft de fout wordt uitgebuit, a kwetsbaarheid (CVE) beschrijft waar die fout eigenlijk zit.

Toegepast op Log4Shell: code-injectie (CAPEC-242) → expressietaalinjectie (CWE-917) → Log4j 2.0 tot 2.14.1 (CVE-2021-44228). Door in deze richting te lezen, kun je anticiperen; als je de andere kant op leest, kun je reageren.

Wat het voor u betekent, in de praktijk

Drie toepassingen die passen in een teamvergadering:

  1. Tel uw CVEs bij CWE gedurende de afgelopen twaalf maanden. Als CWE-862 acht keer verschijnt, heb je geen acht bugs: je hebt een ontwerpprobleem met toegangscontrole.
  2. Stem uw analysetools af naar de drie meest voorkomende CWE's in uw code in plaats van naar de 900-standaardregels. Het percentage fout-positieve resultaten daalt en het team negeert de rapporten niet meer.
  3. Zet de CWE in het ticket, niet alleen de CVE. De ontwikkelaar die het repareert, begrijpt dan wat hij elders niet opnieuw moet schrijven.
Bronnen en officiële referentiesCWE-catalogus — cwe.mitre.org (MITRE) · CWE Top 25 — cwe.mitre.org/top25 · CVE-2021-44228-record — nvd.nist.gov.

Veelgestelde vragen

Hoeveel CWE's zijn er?

Meer dan 900, georganiseerd als een hiërarchie (pijlers, klassen, bases, varianten). Slechts een honderdtal komen regelmatig voor in de gepubliceerde CVEs: dat zijn degenen waar we ons op moeten concentreren.

CWE of CVE om de applicatiebeveiliging te verbeteren?

CWE voor preventie, omdat het een reeks fouten beschrijft die u tijdens de ontwerpfase kunt elimineren. CVE voor reactie, omdat het een specifieke fout identificeert die in een specifiek product moet worden opgelost. Beide, nooit het één in plaats van het ander.

Kan een CVE meerdere CWE's hebben?

Ja, en het is gebruikelijk. Een exploitketen combineert vaak een autorisatiezwakte met een injectie. De records vermelden vervolgens verschillende CWE's; de eerstgenoemde is meestal de meest directe oorzaak.

Free-abonnement, geen kaart

Koop alleen de CVEs die van invloed is uw werkelijke vermogen.

Declareer uw onderdelen eenmalig. We waarschuwen u zodra een fout een van hen treft, die al prioriteit heeft gekregen van KEV en EPSS, op het kanaal van uw keuze. De eerste waarschuwing gaat uit bij de volgende synchronisatie.

  • Free, geen creditcard
  • Gebouwd en gehost in Frankrijk
  • Exporteer uw gegevens op elk gewenst moment

Blijf lezen

Maak een gratis account aan