Impact of Plugins on Web Application Security OWASP. The OWASP Foundation http://www.owasp.org



Similar documents
Java vs. PHP: Security Implications of Language Choice for Web Applications

Choosing a Content Management System (CMS)

Idea: Measuring the Effect of Code Complexity on Static Analysis Results

Integrating Web Application Security into the IT Curriculum

Streamlining Application Vulnerability Management: Communication Between Development and Security Teams

Web Application Security: Exercise Development Approaches

Continuous???? Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

State of The Art: Automated Black Box Web Application Vulnerability Testing. Jason Bau, Elie Bursztein, Divij Gupta, John Mitchell

Content Management System (Comparison between Top- Three CMS Platforms)

WHITE PAPER. OPEN SOURCE vs. PROPRIETARY CMS: WHICH IS STRONGER?

Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security

HP Fortify application security

A Close Look at Drupal 7

Comparing Application Security Tools

Absolute Beginner s Guide to Drupal

From the Bottom to the Top: The Evolution of Application Monitoring

Measuring the Effect of Code Complexity on Static Analysis Results

The easy way to a nice looking website design. By a total non-designer (Me!)

HP Fortify Application Security Lucas v. Stockhausen PreSales Manager HP Fortify EMEA Enterprise Security

5 Mistakes to Avoid on Your Drupal Website

Optimizing Drupal Performance. Benchmark Results

$920+ GST Paid Annually. e-commerce Website Hosting Service HOSTING:: WHAT YOU GET WORDPRESS:: THEME + PLUG-IN UPDATES

A Beginner s Guide to Website Budgets The Website You Can Get For What You Have To Spend

Data Breaches and Web Servers: The Giant Sucking Sound

Bring your intranet to the IBM i With Drupal and Zend Server

Eliminating SQL Injection and Cross-Site Scripting With Aspect Oriented Programming

Open Source Content Management System for content development: a comparative study

Digital Marketing Training Institute

Drupal Performance Tuning

GETTING STARTED WITH DRUPAL. by Stephen Cross

SYSTEM DEPLOYMENT & SECURITY AUDITING WITH RHN SATELLITE & NESSUS

Web Application Security Payloads. Andrés Riancho Director of Web Security OWASP AppSec USA Minneapolis

SFC Featured Categories, Magento Extension Documentation

StableFlow is a software development company, focused on software outsourcing services to companies ranging from startups to large enterprise.

A Short Term E-commerce Course

Product Roadmap. Sushant Rao Principal Product Manager Fortify Software, a HP company

A guide for Selecting Content Management System for Web Application Development

The Prevalence of Flash Vulnerabilities on the Web

Nikolay Zaynelov Annual LUG-БГ Meeting nikolay.zaynelov.com


Building Success on Acquia Cloud. Buyer s Guide

The importance of Drupal Cache. Luis F. Ribeiro Ci&T Inc. 2013

Web Hosting Control Panel

Module 1: Overview. Module 2: AlienVault USM Solution Deployment. Module 3: AlienVault USM Basic Configuration

Automatic vs. Manual Code Analysis

6 reasons to choose us for your web hosting

HTML5. Turn this page to see Quick Guide of CTTC

HP ESP Partner Enablement Fortify Proof of Concept Boot Camp Training

TYPO3 6.x Enterprise Web CMS

WebLink 3 rd Party Integration Guide

CyberSecurity Innovation Assessing your Organizations Vulnerability to a Cyber breach

OA2 Overview and Site Planning. Building collaboration sites to communicate securely, share assets & accomplish work together online.

HTML5 and security on the new web

Middleweight Drupal Developer.

Bring your intranet to the IBM i With Drupal and Zend Server

Application Code Development Standards

62 Questions to Ask Before You Write an RFP oho.com

SEO for Content Management Systems. Brent D. Payne Tribune

Secure Coding. Code development practice Mitigates basic vulnerabilities. Made by security experts, for non-security experts

Drupal CMS for marketing sites

Faichi Solutions. The Changing Face of Drupal with Drupal 8

Web Hosting Control Panel

White Paper. Software Development Best Practices: Enterprise Code Portal

DIGITAL MARKETING TRAINING

ASL IT SECURITY BEGINNERS WEB HACKING AND EXPLOITATION

A Step- by- Step Guide for Building a Website for Your Business

An Advanced E-commerce Course

From 0 to Drupal in Six Months

Hack-proof Your Drupal App. Key Habits of Secure Drupal Coding

The Evolution of Application Monitoring

Building Your First Drupal 8 Company Site

Secure Coding in Node.js

HackMiami Web Application Scanner 2013 PwnOff

Pentesting Web Frameworks (preview of next year's SEC642 update)

A (Web) Face for Radio. NPR and Drupal7 David Moore

A Study of Android Application Security

Is your software secure?

Module developer s tutorial

THE OPEN UNIVERSITY OF TANZANIA

Securing the PHP Environment with PHPSecInfo. Ed Finkler

Esigate Module Documentation

How To Use Google Analytics On Wordpress On A Pc Or Mac Or Mac (For Free) On A Blog Or Pc Or Ipad (For A Free)

Transcription:

Impact of Plugins on Web Application Security Cincinnati Chapter Meeting June 29 th, 2010 James Walden and Maureen Doyle Northern Kentucky University Copyright The Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the License. The Foundation http://www.owasp.org

Topics 1. Plugins 2. Measuring Vulnerabilities 3. Plugin Vulnerabilities 4. Comparing Core and Plugin Security 5. Top 10 Vulnerabilities 6. Conclusions 2

Plugins Plugins add features to web applications: Advertising E-commerce Media Security Site Navigation Statistics Themes User Management 3

What makes up a web application? Is it the core code or code code + plugins? Some apps are almost always deployed with plugins. Plugins are written by non-core developers. Core site may or may not track plugin security. Some apps are packaged in distributions with plugins such as Drupal which has: OpenAtrium (Development Seed) Acquia Drupal OpenPublish Pressflow (Four Kitchens) 4

Research Objective Goal: Identify differences between security of core code and plugins for web applications. Research questions: 1. Are plugins less secure than core code? 2. How are vulnerabilities distributed across plugins? 3. How do different applications compare in terms of plugin security? 5

Measuring Vulnerabilities Reported Vulnerabilities in NVD or OSVDB Coarse-grained time evolution. Difficult to correlate with revision. Undercounts actual vulnerabilities. Dynamic Analysis Expensive. False positives and negatives. Requires installation of application. Static Analysis False positives and negatives. Static Analysis Vulnerability Density = vulns/kloc. 6

Measuring Web Application Vulnerabilities NVD doesn t offer a web application category. Even if they did Commercial web sites don t require users to patch, so vulnerabilities are rarely sent to public vuln DBs. We have to report on open source vulnerabilities. Advantages of open source Publicly reported vulnerabilities. Source code available to measure vulnerabilities. Source code available for software metrics. Multiple versions of source code available, making it possible to do time comparisons. 7

Open Source Web Applications Selection process PHP web applications from freshmeat.net. A central plugin repository. Automatable downloads. At least 10 plugins. Why PHP? Most popular web applications written in PHP. Can compare applications evenly. Range of projects 12 projects met selection criteria. 13,535 plugins for these applications. Plugins per app ranged from 10 to 8989 plugins. 8

Open Source Applications are Targets 9

Results Plugins slightly less secure than core. Plugins made up 91% of 11.7 MLOC. Contained 92% of 135,907 vulnerabilities. Plugin SAVD correlates strongly with code size. ρ = 0.91. Larger plugins are more likely to have vulnerabities. Core SAVD does not correlate with code size. 10

Plugin Size Distribution 11

Plugin Vulnerability Distribution 12

Percentage of Vulnerable Plugins by Size 13

Static Analysis Vulnerability Density (SAVD) Number of vulnerabilities found by a static analysis tool per 1000 lines of source code. Fortify SourceAnalyzer 5.8.0 Aggregate SAVD Use aggregate of source code for all plugins. Total vulnerabilities / Total KSLOC Average SAVD Compute SAVD for each plugin individually. Average individual plugin SAVD values. 14

SAVD by Plugin Size 15

Average vs. Aggregate SAVD of Plugins 16

Plugin Counts and Maximum Plugin SAVD 17

Do plugins make your site less secure? Core code developed by small core team. Team experienced with core code over years. May or may not be paid full-time developers. Most sites have some form of security information. Plugins developed by many people. Wide variety of programming experience. Few develop more than one plugin and so have little experience with application compared to core team. Few plugins mention security unless a vulnerability has been previously reported. 18

Core vs. Plugin SAVD 19

Drupal Core vs. Plugins Drupal tracked both core and plugin vulns since 2006. Most popular CMS with 1.58% of web sites including whitehouse.gov www.drupalsecurityreport.org Secure coding documentation. XSS Filter API. DB API to handle SQLi attacks. Input validation API. 20

WordPress: Effect of Adding Plugins on SAVD 21

SAVD Drupal: Effect of Adding Plugins on SAVD 10 9 8 aggregate SAVD, all projects aggregate SAVD, drupal avg SAVD, drupal 7 6 5 4 3 2 1 0 0 10 20 30 40 50 60 70 80 90 100 Plugins Added 22

Vulnerability Categories Mapped Fortify categories to Top 10 2010. SCA 5.8 reports 73 categories, only 25 in this code. 18 of 25 categories mapped to 5 of Top 10. 7 remaining categories did not map to Top 10. 23

Top 10: Core vs. Plugin SAVD 24

Drupal: Core vs. Plugins by Category www.drupalsecurityreport.org 25

Vulnerabilities: Core vs. Plugin by App 26

Conclusions Plugin code is not always worse than core code. Older apps with more plugins tend to have more secure core code. Security documentation tends to indicate apps with more secure core code. Large number of NVD vulnerabilities does not necessarily indicate poor security. Plugin size is important for security 30% of plugins <50 lines have vulnerabities Over 50% of plugins >50 lines have vulnerabilities 27