cve-search - a free software to collect, search and analyse common vulnerabilities and exposures in software



Similar documents
EFFECTIVE VULNERABILITY SCANNING DEMYSTIFYING SCANNER OUTPUT DATA

Software Vulnerability Assessment

ECS 235A Project - NVD Visualization Using TreeMaps

Secure Content Automation Protocol (SCAP): How it is increasingly used to automate enterprise security management activities

CDM Vulnerability Management (VUL) Capability

Manage Vulnerabilities (VULN) Capability Data Sheet

JAVASCRIPT CHARTING. Scaling for the Enterprise with Metric Insights Copyright Metric insights, Inc.

SAP NetWeaver 7.4 Planning Product Availability Matrix (Planning PAM)

ArcGIS Server Security Threats & Best Practices David Cordes Michael Young

IT Risk Management: Guide to Software Risk Assessments and Audits

Risk Assessment and Security Testing Johannes Viehmann 2015 of Large Scale Networked Systems with RACOMAT

Newsletter - September T o o l s W a t c h T e a m NJ OUCHN & MJ SOLER

White Paper. Understanding NIST FISMA Requirements

1 Scope of Assessment

User s Guide. Skybox Risk Control Revision: 11

How to Grow and Transform your Security Program into the Cloud

Regional Seminar on Cyber Preparedness ITU s work in Cybersecurity and Global Cybersecurity Index (GCI)

APPENDIX A Web Redesign Infrastructure. Deployment Overview

Over 30% of Official Images in Docker Hub Contain High Priority Security Vulnerabilities

VRDA Vulnerability Response Decision Assistance

THREAT VISIBILITY & VULNERABILITY ASSESSMENT

Open Source Technologies on Microsoft Azure

Copyright 2015 Splunk Inc. Affordable Security: Making the most of free tools and data. Craig Merchant. Senior Security Architect, Oracle

Security Vulnerabilities in Open Source Java Libraries. Patrycja Wegrzynowicz CTO, Yonita, Inc.

TECHNICAL VULNERABILITY & PATCH MANAGEMENT

Continuous security audit automation with Spacewalk, Puppet, Mcollective and SCAP

Security compliance automation with Red Hat Satellite

Product comparison. GFI LanGuard 2014 vs. Microsoft Windows Server Update Services 3.0 SP2

HTML5 and security on the new web

Penetration Testing Guidelines For the Financial Industry in Singapore. 31 July 2015

Security Vulnerability Management. Mark J Cox

LAMP Server A Brief Overview

ORACLE USER PRODUCTIVITY KIT V3.6.1 TECHNICAL SPECIFICATIONS (WITH ENABLEMENT SERVICE PACK 3)

Qualys PC/SCAP Auditor

CYBER TRENDS & INDUSTRY PENETRATION TESTING. Technology Risk Supervision Division Monetary Authority of Singapore

PASTA Abstract. Process for Attack S imulation & Threat Assessment Abstract. VerSprite, LLC Copyright 2013

Federal Desktop Core Configuration (FDCC)

Secunia Vulnerability Intelligence Manager

WHITE PAPER. Domo Advanced Architecture

Vulnerability Scanning Requirements and Process Clarification Comment Disposition and FAQ 11/27/2014

Northwestern University Dell Kace Patch Management

Deep Security/Intrusion Defense Firewall - IDS/IPS Coverage Statistics and Comparison

Microsoft Azure: Opção de Nuvem para Todo o Desenvolvedor. Danilo Bordini & Osvaldo Daibert

The purpose of this report is to educate our prospective clients about capabilities of Hackers Locked.

2013 Ruby on Rails Exploits. CS 558 Allan Wirth

StreamServe Persuasion SP5 Supported platforms and software

Programming Flaws and How to Fix Them

STOPPING LAYER 7 ATTACKS with F5 ASM. Sven Müller Security Solution Architect

INFORMATION SUPPLEMENT. Migrating from SSL and Early TLS. Version 1.0 Date: April 2015 Author: PCI Security Standards Council

Deep Security Intrusion Detection & Prevention (IDS/IPS) Coverage Statistics and Comparison

CS 558 Internet Systems and Technologies

apiomat Enterprise Mobile Enterprise Application Platform the Next Generation

Cloud Powered Mobile Apps with Microsoft Azure

Web Design Technology

Common Platform Enumeration (CPE) Technical Use Case Analysis

Service Manager and the Heartbleed Vulnerability (CVE )

Consolidate by Migrating Your Databases to Oracle Database 11g. Fred Louis Enterprise Architect

BMC Client Management - SCAP Implementation Statement. Version 12.0

DBX. SQL database extension for Splunk. Siegfried Puchbauer

Lumension Guide to Patch Management Best Practices

How To Test For Performance

IBM MobileFirst Hands-on Labs environment with Linux on z Systems and z/os

Secunia Vulnerability Intelligence Manager (VIM) 4.0

PAKITI Patching Status System

Oracle WebLogic Server: Remote Monitoring and Management

2. Highlights and Updates: ITSM for Databases

AJAX Storage: A Look at Flash Cookies and Internet Explorer Persistence

============================================================= =============================================================

Software Requirements Specification

LASTLINE WHITEPAPER. Large-Scale Detection of Malicious Web Pages

ios SDK possibilities & limitations

YOUR APP. OUR CLOUD.

Pentests more than just using the proper tools

WHEN THE HUNTER BECOMES THE HUNTED HUNTING DOWN BOTNETS USING NETWORK TRAFFIC ANALYSIS

Cyber Security Risks for Banking Institutions.

EAS-SEC Project: Securing Enterprise Business Applications

Using the Juliet Test Suite to compare Static Security Scanners

The Importance of Patching Non-Microsoft Applications

Microsoft Security Intelligence Report volume 7 (January through June 2009)

FDCC & SCAP Content Challenges. Kent Landfield Director, Risk and Compliance Security Research McAfee Labs

How To Use Open Source Software In Government

How To Use Qqsguard At The University Of Minneapolis

SAFE-T RSACCESS REPLACEMENT FOR MICROSOFT FOREFRONT UNIFIED ACCESS GATEWAY (UAG)

Electronic Commerce Engineering

Comprehensive Malware Detection with SecurityCenter Continuous View and Nessus. February 3, 2015 (Revision 4)

SD Elements: A Tool for Secure Application Development Management

Kony Mobile Application Management (MAM)

STEALTHbits Technologies, Inc. StealthAUDIT v5.1 System Requirements and Installation Notes

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

Transcription:

cve-search - a free software to collect, search and analyse common vulnerabilities and exposures in software Alexandre Dulaunoy and Pieter-Jan Moreels BruCON 0x07 9th October 2015

What we were looking for? Offline local search of common vulnerabilities and exposures Do you really want to search NIST (based in US) for your current vulnerable software... Fast-lookup of vulnerabilities (e.g. live evaluation of network traffic for vulnerable software). Allow localized classification of vulnerabilities (e.g. classify software following your exposure). Flexible data structure (e.g. NIST/NVD is not the only source). Allowing the use of Unix-like tools to process the vulnerabilities. Build new tools based on local database of software and hardware vulnerabilities. 2 of 23

History of cve-search Wim Remes started with a simple script to read CVE and import it in MongoDB. In late 2012, Alexandre Dulaunoy improved the back-end of cve-search and associated tools. In 2014, Pieter-Jan Moreels improved the various Web interface to make them usable. Today, Alexandre and Pieter-Jan are lead and welcome all additional contributions. 3 of 23

A functional overview of cve-search (populating databases) db mgmt.py fetch NVD/CVE from NIST db updater.py index n last new CVE db fulltext.py Whoosh index 4 of 23 db mgmt cpe dictionnary.py fetch CPE from NIST MongoDB cve cpe ranking info Redis cache

Data sources imported and used by cve-search NIST NVD Common Vulnerabilities and Exposure (CVE), Common Platform Enumeration (CPE), Official Vendor Statements, Common Weakness Enumeration (CWE), Common Attack Pattern Enumeration and Classification (CAPEC), NIST MITRE cross-reference assignment. Exploitation reference from D2 Elliot Web Exploitation Framework (D2SEC). Microsoft Bulletin (Security Vulnerabilities and Bulletin). vfeed 1 additional cross-references from Toolswatch. 1 https://github.com/toolswatch/vfeed 5 of 23

A functional overview of cve-search (tools) MongoDB cve cpe ranking info search.py / search fulltext.py dump last.py search xmpp.py index.py / minimal-web.py 6 of 23 search irc.py Whoosh search cpe.py index search cve fulltext.py doc.py DB tools db blacklist.py db cpe browser.py db fulltext.py db mgmt *.py db notification.py db ranking.py db updater.py db whitelist.py

cve-search starting up... Import and update of the CVE/NVD and CPE database: 1 % python3. 3 d b u p d a t e r. py v i Search CVE of a specific vendor (via CPE): 1 % python3. 3 s e a r c h. py p joomla : 2... 3 CVE 2012 5827 4 CVE 2012 6503 5 CVE 2012 6514 6 CVE 2013 1453 7 CVE 2013 1454 8 CVE 2013 1455 7 of 23

cve-search simple query and JSON output 1 s e a r c h. py c CVE 2013 1455 n 2 { M o d i f i e d : 2013 02 13T13 : 0 1 : 4 5. 3 5 3 0 5 : 0 0, P u b l i s h e d : 2013 02 12T20 : 5 5 : 0 5. 3 8 7 0 5 : 0 0, i d : { $ o i d : 514 cce0db26102134fa3f211 }, c v s s : 5. 0, i d : CVE 2013 1455, r e f e r e n c e s : [ h t t p : / / x f o r c e. i s s. net / x f o r c e / xfdb /81926, h t t p : / / d e v e l o p e r. joomla. org / s e c u r i t y / news /549 20130202 core i n f o r m a t i o n d i s c l o s u r e. html ], summary : Joomla! 3. 0. x through 3. 0. 2 a l l o w s a t t a c k e r s to o b t a i n s e n s i t i v e i n f o r m a t i o n v i a u n s p e c i f i e d v e c t o r s r e l a t e d to an \ U ndefined v a r i a b l e. \, v u l n e r a b l e c o n f i g u r a t i o n : [ Joomla! 3. 0. 0, Joomla! 3. 0. 1 ] } Without CPE name lookup: 1 v u l n e r a b l e c o n f i g u r a t i o n : [ cpe : / a : joomla : joomla % 2 1 : 3. 0. 0, cpe : / a : joomla : joomla % 2 1 : 3. 0. 1 ] } 8 of 23

CPE - an overview 1 cpe : / { p a r t } : { vendor } : { p r o d u c t } : { v e r s i o n } : { update } : { e d i t i o n } : { l a n g u a g e } part o a h name Operating System Application Hardware An empty part defines any element. CPE are updated at a regular interval by NIST but it happens that CPE dictionnary are updated afterwards. cve-search supports version 2.2 and 2.3 of the CPE format. 9 of 23

Which are the top vendors using the word unknown? 1 s e a r c h f u l l t e x t. py q unknown f j q r.. v u l n e r a b l e c o n f i g u r a t i o n [ 0 ] cut f 3 d : s o r t u n i q c s o r t nr head 10 10 of 23 Count CPE vendor name 1145 oracle 367 sun 327 hp 208 google 192 ibm 113 mozilla 102 microsoft 98 adobe 76 apple 68 linux

Which are the top products using the word unknown? 1 s e a r c h f u l l t e x t. py q unknown f j q r.. v u l n e r a b l e c o n f i g u r a t i o n [ 0 ] cut f3, 4 d : s o r t u n i q c s o r t nr head 10 11 of 23 Count CPE vendor/product name 191 oracle:database server 189 google:chrome 115 oracle:e-business suite 111 sun:jre 101 mozilla:firefox 99 oracle:fusion middleware 95 oracle:application server 80 sun:solaris 68 linux:linux kernel 61 sun:sunos

oracle:java versus sun:jre 1 s e a r c h. py p o r a c l e : j a v a o j s o n j q r. cvss R s c r i p t e summary ( as. numeric ( read. t a b l e ( f i l e ( s t d i n ) ) [, 1 ] ) ) 2 3 Min. 1 s t Qu. Median Mean 3 rd Qu. Max. 4 1. 8 0 7. 6 0 10.00 8. 4 5 10.00 10.00 5 6 s e a r c h. py p sun : j r e o j s o n j q r. c v ss R s c r i p t e summary ( as. numeric ( read. t a b l e ( f i l e ( s t d i n ) ) [, 1 ] ) ) 7 8 Min. 1 s t Qu. Median Mean 3 rd Qu. Max. 9 0.000 5.000 7.500 7.376 10.000 10.000 12 of 23

Ranking of vulnerabilities 1 d b r a n k i n g. py c sap : g a c c o u n t i n g r 3 2 s e a r c h. py c CVE 2012 4341 o j s o n r 3... c v s s : 1 0. 0, i d : CVE 2012 4341, r a n k i n g : [ [ { a c c o u n t i n g : 3 } ] ]... Ranking is a simple and flexible approach based on CPE value. An organisation or a dept (-g) and an integer value is set when a CPE hits. If you are a CSIRT or a local ICT team, you can use your own tagging to weight the critical software/vendor in your constituency. 13 of 23

Ranking helping for internal publishing of vulnerabilities dump last.py can be used to generate an overview of the current/recent vulnerabilities in your organization. You can limit the result to the ranked software to avoid non-related software vulnerabilities. 1 d u m p l a s t. py r l 100 f html 2 d u m p l a s t. py r l 100 f atom 14 of 23

search fulltext.py -g -s 15 of 23

Visualization using the browser (index.py) 16 of 23

Optimizing search results - Web interface github.com/cve-search/cve-search-mt (management tools) 17 of 23

Simple ReST API (minimal-web.py) 1 c u r l h t t p s : / / cve. c i r c l. l u / a p i / l a s t API returns JSON data Browse vendors (/api/browse). Find products associated to a vendor (/api/browse/microsoft). Find CVEs for a specific product (/api/search/microsoft/xbox 360). Get CVE detailed information including CAPEC and CWE (/api/cve/cve-2015-0001). Recent CVEs (/api/last). Public version running on https://cve.circl.lu/. 18 of 23

Can cve-search be used by bad guys? If you know that a system is vulnerable, you have two options: If you are a good guy, you inform the system owner to fix the vulnerability. If you are a bad guy 2, you abuse your position and compromise the vulnerable system. cve-search could help both guys. Don t forget the freedom 0 of free software The freedom to run the program, for any purpose. 2 http://www.foo.be/torinj/ 19 of 23

How can you help? Looking for open data source of software vulnerabilities to integrate into cve-search. Software or hardware vendors who provide a new open data source are elligible for 1Kg of Belgian chocolade or a pack of 6 Orval beers. Dataset of cve-search ranking can be shared with localized information (e.g. per country/region/sector). Pushing vendors to release their vulnerability information in an open way. Asking vendors to support CPE naming convention (e.g. openssl versus libssl in Debian). Fork it, abuse it and then send pull request github.com/adulau/cve-search (stable) github.com/pidgeyl/cve-search (unstable) 20 of 23

Roadmap and future Add vulnerabilities data sources from software and hardware vendors. Improve data structure and back-end to reduce code size. Expand cve-search to include vulnerabilities without CVE assignment. Improve documentation and external tools relying on cve-search. 21 of 23

Software using CVE-Search CVE-Portal CVE Notification Portal https://github.com/circl/cve-portal CVE-Scan Extract vunerabilities in systems from NMAP scans https://github.com/northernsec/cve-scan NorthernSec Vulnerability-Management Vulnerability management tool https://github.com/northernsec/vulnerability-management (Still under development) 22 of 23

Contact Details Alexandre Dulaunoy @adulau a@foo.be Pieter-Jan Moreels @PidgeyL @NorthernSec pieterjan.moreels@gmail.com 23 of 23