CyberMed

Building Your Vulnerability Monitoring Program

Post-Market Security Management · 2 min read

A vulnerability monitoring program starts with an accurate SBOM, watches a defined set of sources (NVD, the CISA KEV catalog, vendor advisories) on a schedule tiered to component risk, and routes anything new into a documented assessment process. Critical components get daily checks, and automation does the heavy lifting wherever possible.

5.3.1 Information Sources

You can't fix what you don't know about. Effective monitoring requires multiple information sources:

Primary Sources

National Vulnerability Database (NVD)

  • Comprehensive CVE listings
  • CVSS scores
  • Reference links
  • Updated continuously

CISA Known Exploited Vulnerabilities (KEV) Catalog

  • Vulnerabilities actively exploited
  • Required monitoring per FDA
  • Priority patching targets

Vendor Security Advisories

  • Component supplier notices
  • OS vendor bulletins
  • Library updates
  • SDK patches

Security Research

  • Conference presentations
  • Academic papers
  • Blog posts
  • Proof-of-concepts

For how monitoring fits into the six discovery sources and the 30/60-day response expectations, see A guide to post-market cybersecurity management.

Setting Up Monitoring

flowchart TD
    A[Component Inventory/SBOM] --> B[Identify Sources]
    B --> C[Configure Alerts]
    C --> D[Daily Monitoring]
    D --> E{New Vulnerability?}
    E -->|Yes| F[Impact Assessment]
    E -->|No| D
    F --> G[Response Process]

5.3.2 Monitoring Frequency and Methods

Based on the JSP and FDA guidance:

Critical Components (Direct patient safety impact):

  • Monitor: Continuously/Daily
  • Method: Automated alerts + manual review
  • Sources: NVD, CISA KEV, vendor sites

High-Risk Components (Network-facing, privileged):

  • Monitor: Daily
  • Method: Automated scanning
  • Sources: Multiple vulnerability databases

Standard Components (Limited exposure):

  • Monitor: Weekly
  • Method: Automated tools
  • Sources: Standard databases

Low-Risk Components (Isolated, non-critical):

  • Monitor: Monthly
  • Method: Batch scanning
  • Sources: Primary databases

5.3.3 Automation Tools and Processes

Manual monitoring doesn't scale. Automate where possible:

Commercial Tools

  • Black Duck: Comprehensive scanning
  • Snyk: Developer-friendly alerts
  • WhiteSource: Policy automation
  • Sonatype: Repository integration

Open Source Options

  • OWASP Dependency Check: Free scanning
  • CVE Search: API access
  • GitHub Security Alerts: Repository monitoring
  • OSV: Open source vulnerabilities

Building Your Monitoring Pipeline

# Example monitoring script structure
def daily_vulnerability_check():
    # Load your SBOM
    components = load_sbom()
    
    # Check each component
    for component in components:
        # Query vulnerability databases
        vulns = check_nvd(component)
        vulns += check_cisa_kev(component)
        vulns += check_vendor(component)
        
        # Assess impact
        for vuln in vulns:
            if is_exploitable(vuln, component):
                severity = calculate_severity(vuln)
                create_ticket(vuln, severity)
                notify_team(vuln, severity)

5.3.4 SBOM Maintenance

Your SBOM is a living document that requires continuous updates:

Regular Updates:

  • New components added
  • Versions changed
  • Components removed
  • Dependencies updated

Update Triggers:

  • Software releases
  • Patch deployments
  • Component upgrades
  • Security updates

SBOM Version Control:

SBOM_v1.0_2024-01-01.json (Initial release)
SBOM_v1.1_2024-02-15.json (Security patch)
SBOM_v1.2_2024-03-30.json (Feature update)
SBOM_v2.0_2024-06-01.json (Major upgrade)

See how your device measures up

Take the free FDA 524B readiness assessment and get a personalized gap report covering this topic and more.

Check Your Readiness