EXTERNAL USE
DECEMBER 2019
INTRODUCING: VIGILES – LINUX SECURITY MONITORING TOOL
INTRODUCTION AND OVERVIEW
NXP External Use
INTRODUCING: VIGILES LINUX SECURITY MONITORING TOOL INTRODUCTION - - PowerPoint PPT Presentation
INTRODUCING: VIGILES LINUX SECURITY MONITORING TOOL INTRODUCTION AND OVERVIEW DECEMBER 2019 EXTERNAL USE NXP External Use Agenda Keeping your product secure Why do I care? What is a CVE? Challenges with CVEs and keeping
EXTERNAL USE
DECEMBER 2019
INTRODUCING: VIGILES – LINUX SECURITY MONITORING TOOL
INTRODUCTION AND OVERVIEW
NXP External Use
EXTERNAL USE 2
Agenda
▪ Keeping your product secure
▪ Challenges with CVEs and keeping secure ▪ Vigiles – tools for finding CVEs and fixes
▪ Q&A
EXTERNAL USE 3
Security risk on critical applications
City Kiosk Medical Government Military
EXTERNAL USE 4
CVE – Publicly recognized security issue
▪ CVE-ID ▪ Description of the issue ▪ Estimated severity (CVSS - Common Vulnerability Scoring System )
▪ Estimated impact and domain scores
▪ Affected products, version numbers (CPEs - Common Platform Enumeration)
–
Key piece for automation
▪ List of reference links
▪ Vulnerability Type (CWE - Common weakness enumeration)
EXTERNAL USE 5
Example: CVE-2018-18074
Impact
CVSS v3.0 Severity and Metrics: Base Score: 9.8 CRITICAL Vector: AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Impact Score: 5.9 Exploitability Score: 3.9 Attack Vector (AV): Network Attack Complexity (AC): Low Privileges Required (PR): None User Interaction (UI): None Scope (S): Unchanged Confidentiality (C): High Integrity (I): High Availability (A): High
Current Description
The Requests package before 2.20.0 for Python sends an HTTP Authorization header to an http URI upon receiving a same-hostname https-to-http redirect, which makes it easier for remote attackers to discover credentials by sniffing the network.
Known Affected Software Configurations cpe:2.3:a:python-requests:requests:*:*:*:*:*:*:*: * Up to (excluding) 2.20.0
EXTERNAL USE 6
Source: cvedetails
Vulnerabilities are increasing!
devices secure?
− Companies must
integrate additional governance into development processes
Issue severity scores
(all issues) Avg. = 6.1
Vulnerabilities By Year
Reported vulnerabilities have reached 14558+ in 2019 (avg. 280 a week)
Vulnerability Distribution By CVSS Scores
EXTERNAL USE 7
Options for product developers
With 280+ vulnerabilities reported each week, product developers can …
Ignore them Increase security risk for customers, liability for themselves Adopt automated monitoring & tracking and mitigation tool Vigiles cuts security management & mitigation burden by 90% Use open source vulnerability assessment tools Reduce time spent but chase many false positives, miss issues, does not help fixes Deal with them via manual process Consume many hours of key staff time, still miss many issues, fixes are difficult
EXTERNAL USE 8
Manual monitoring process is expensive and error-prone
linux-kernel, Linux, kernel, etc.
Name Version Linux kernel 4.4.15 LTS
1.0.2o bash 4.4.19 … …
Software manifest
source are used/maintained Challenges
EXTERNAL USE 9
Manual process of finding & analyzing patches is time-consuming
Release Find Patch Find Version with a Fix APPLY PATCHES RETEST ENTIRE BSP Unfixed CVE List
patches for all CVEs
that could be used and are maintained is very time-consuming
Challenges
EXTERNAL USE 10
Challenges with keeping devices secure – CVE data quality
(False positives and misses)
▪ Inconsistent naming
▪ Typos
–
CVE-2016-1234: 2.2.3 instead of 2.23 (corrected now)
–
CVE-2016-1494: python instead of rsa (corrected now)
▪ Incorrect/incomplete analysis
▪ Outdated information
▪ No version or cpe information
cpe:2.3:a:gnu:gnutls:-:*:*:*:*:*:*:*
EXTERNAL USE 11
*approx numbers: As of 7/30/2019
Challenges with keeping devices secure – Linux kernel CVEs
▪ Typically, new CVE is listed as affecting all versions till latest ▪ Kernel maintainers do a fantastic job at backporting fixes to LTS
EXTERNAL USE 12
Challenges with keeping devices secure – delays in CVE reporting / analysis
CVE-2019-6690 (python-gnupg) 1/19: Vulnerability discovered (private) 1/20: PoC created 1/22: Applied for CVE, vendor notified 1/23: CVE-2019-6690 assigned 1/23: Vendor responded, fix committed 1/25: Disclosed on oss-security (public) 3/21: NVD publishes CVE 4/2 : NVD analysis - adds cpe tags 68 days from being public to NVD analysis CVE-2019-5436 (libcurl) 4/29: Reported on hackerone (private) 4/29: Fix developed (private) 5/15: Disclosed on distros list (private) 5/20: Fix appears on github 5/22: Disclosed on oss-security (public) 5/28: NVD publishes CVE 5/29: NVD analysis - adds cpe tags 7 days from being public to NVD analysis
EXTERNAL USE 13
NXP Presents Vigiles*: Keeping your Linux BSP Secure
www.nxp.com/vigiles
Features
non-issues
Benefits
your product lifecycles
* Vigiles is powered by a third-party vendor
On-demand security monitoring for more secure systems
when rolled out
− As time goes on, new CVEs are reported, and developers customize BSPs
to meet product requirements, resulting in possible exposure to security issues − Staying secure is a process that must be implemented by your engineering team
and take action
− Automatically scans for and identifies vulnerabilities specific to your projects
and software components
− Produces highly accurate security reports, which combined with a very low
false positive rate provides you with product ongoing security management that is streamlined and highly efficient
EXTERNAL USE 14 Customer BSP Or Source Component List
Vigiles
Yocto-Layer
meta-timesys
Vulnerability Scanner Notification service Patch Notifier
BSP Maintenance Patch/Update Manager
For NXP Pro-Support customers Web Dashboard CVE Reports
Yocto manifest Results
End user
CVE Manager Feeds
CVE Analyzer NVD feed Canonical NVD Analyzer Kernel Analyzer Curated CVE Database
Conflict Notifier
UI Security bulletins Issue trackers
Vigiles team
Automatic filter & disambiguation
Status tracker
Patch /Version Database Buildroot Component List
Vigiles Technology Architecture
EXTERNAL USE 15
How to start with Vigiles – www.nxp.com/vigiles
Register for 30-day Vigiles trial
EXTERNAL USE 16
NXP Yocto – Vigiles starting point
−
Can be added to any NXP Yocto BSP (https://github.com/TimesysGit/meta-timesys)
RELEASE=thud git clone https://github.com/TimesysGit/meta-timesys.git -b $RELEASE
−
Comes pre-integrated into NXP’s Yocto BSP - starting from Yocto “Thud”
(https://source.codeaurora.org/external/imx/imx-manifest/)
EXTERNAL USE 17
Vigiles process for Yocto Project
INHERIT += "vigiles" VIGILES_KEY_FILE = "/tools/timesys/linuxlink_key"
configuration
VIGILES_KERNEL_CONFIG = "/projects/kernel/linux-4.14-ts+imx-1.0/.config"
$ bitbake -c vigiles_check core-image-minimal
EXTERNAL USE 18
EXTERNAL USE 19
Vigiles Solution
Notification Management Upload Yocto, Buildroot, Factory, or CSV manifests Yocto – Command-line Capable Unfixed and Fixed CVE Trend Team Sharing for Triage Collaboration
EXTERNAL USE 20
Vigiles: BASIC – On-Demand Report
EXTERNAL USE 21
Vigiles: PLUS – adds collaboration, sorting and filtering
Configuration specific Security Reports Product Source Configuration Team Sharing of Product Configuration and Reports
EXTERNAL USE 22
Vigiles: PRIME – Includes links to patches and more filtering
Link to the patch in kernel mainline Team collaboration and triage notes (PLUS) Minimum version with a fix Link to CVE details (PLUS) Filter by CVSS (PLUS) Filter by CVE Vector Filter by kernel Config Not Relevant - Move to whitelist (PLUS)
EXTERNAL USE 23
Three options for a more secure solution
NXP Pro-Support can be added to any package to assist with patch assistance and/or a semi-annual BSP maintenance package
EXTERNAL USE 24
DIY vulnerability mitigation cost: $96k vs. $10k
− $20K = weekly review of CVEs to stay on top — Less accurate and more false positives
− $20K = average BSP requires 50 patches/year − $8K = toolchain patches to fix C/C++ runtime security issues
− Not including patching and testing
Do It Yourself: $96,000 / year Vigiles: Starts at $10,000 / year
Monitoring Finding Patching and Testing
EXTERNAL USE 25
Layered approach
▪ Secure by design – one time implementation
▪ Stay secure – ongoing process
EXTERNAL USE 26
Benefits of using NXP Vigiles
−
more coverage, better accuracy, early notification
−
Identifies/notifies on newly discovered CVEs AND fixes
−
fewer false positives, identifies already fixed CVEs, advanced filtering
−
history, collaboration tools, notes, whitelist, exported reports
−
plugs into Yocto, security scan can be triggered for every build
EXTERNAL USE 27