When Continuous Integration Meets Application Security

Slides:



Advertisements
Similar presentations
High level QA strategy for SQL Server enforcer
Advertisements

DevOps and Security: It’s Happening. Right Now.
Test Automation Framework Ashesh Jain 2007EE50403 Manager Amit Maheshwari.
Roadmap to Continuous Integration Testing and Benefits Gowri Selka, Walgreens Natalie Koltun, Walgreens May 20th, 2014 ©2013 Walgreen Co. All rights reserved.
USING CI & CD WITH MICROSOFT SQL SERVER Tim Giorgi Senior Software Developer Northwest Evaluation
Automating the Build Process using ANT SE-2030 Dr. Mark L. Hornick 1.
Continuous Integration for Databases Learn how to automate your build and test Steve Jones Red Gate Software Part II of the Continuous Delivery for Databases.
User Group 2015 Version 5 Features & Infrastructure Enhancements.
Talend 5.4 Architecture Adam Pemble Talend Professional Services.
Deploying Dynamics Applications Thomas Hansen – Director, appSolutions a|s
Chapter-4 Windows 2000 Professional Win2K Professional provides a very usable interface and was designed for use in the desktop PC. Microsoft server system.
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
Automating the Build Process using Ant SE-2030 Dr. Rob Hasker 1 Based on material by Dr. Mark L. Hornick.
COMP-14: Automating your deployments using ANT Gary S Clink Business Consultant.
AUTOBUILD Build and Deployment Automation Solution.
Discussion Panelists: Justin C. Klein Keane Sr. Information Security Specialist University of Pennsylvania Jonathan Hanny Application Security Specialist.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
Software Quality Assurance
Build Processes and Continuous Integration Automating Build Processes Software University Technical Trainers SoftUni Team.
Security (Keep your site secure at extension level) Sergey Gorstka Fastw3b.
Database Administration
© 2008 by Shawn Spiars; made available under the EPL v1.0 | March 17, 2008 Case Study – Phurnace Software and RCP Shawn Spiars Lead UI Developer Phurnace.
Sofia Event Center May 2014 Branimir Giurov C# MVP Solution Architect BulPros Consulting Continuous Integration of Sharepoint 2013 Solutions with.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Perfecto Mobile Automation
Lecture XIII: Continuous Integration CS 4593 Cloud-Oriented Big Data and Software Engineering.
Mobile Testing Overview. Agenda Mobile application quality poses a unique challenge Mobile changes the ALM cycle – Interoperability is unique to mobile.
D4Science and ETICS Building and Testing gCube and gCore Pedro Andrade CERN EGEE’08 Conference 25 September 2008 Istanbul (Turkey)
Continuous Integration for Databases Steve Jones SQLServerCentral Red Gate Software.
An Introduction to Ant. What is Ant? How do you use it? Why would you want to?
Continuous Integration for Databases Steve Jones SQLServerCentral Red Gate Software.
Tools and technology usage in PFMS application lifecycle management process LEPL Financial-Analytical Service, Ministry of Finance October, 2015 Dimitri.
Automated Build and Test
Platform as a Service (PaaS)
Joonas Sirén, Technology Architect, Emerging Technologies Accenture
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Open-O Integration Project Introduction
CMS DCS: WinCC OA Installation Strategy
View/Header and Footer to set Header information
IBM Workload Scheduler 2015 Take the Complexity Out of Workload Automation, while Keeping the Technology Up-to-Date IEM fixlets and Centralized Agent Update.
Security Testing Methods
Infrastructure Orchestration to Optimize Testing
Trends like agile development and continuous integration speak to the modern enterprise’s need to build software hyper-efficiently Jenkins:  a highly.
findbugs
Maintaining software solutions
Building a Continuous Integration Pipeline using VSTS
What is Crestron Virtual Control?
Continuous Integration For Databases
Validating Your Information Security Program (ISP 3 of 3)
Findbugs
Making the System Operational Implementation & Deployment
ABHISHEK SHARMA ARVIND SRINIVASA BABU HEMANT PRASAD 08-OCT-2018
Devops Jenkins as CI/CD tool Created By: Amrit Choudhary
Herding Cats and Security Tools
Measure Reliability of Automation – using Machine learning
Chapter 7 –Implementation Issues
Continuous Integration
How to Improve Releasing Efficiency via i18N/L10n Test Automation.
System Management in a Windows based Control Environment
SSDT and Database Project Basics
Continuous Integration Tool
CONTINUOUS INTEGRATION –WHY WE DO IT?
The Most Popular Android UI Automation Testing Tool Andrii Voitenko
Open Automation Software
Node.js Test Automation using Oracle Developer Cloud- Simplified
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Continuous Integration
Building LabKey with Gradle
Software Engineering and Architecture
Presentation transcript:

When Continuous Integration Meets Application Security SOFTWARE QUALITY CONFERENCE PACIFIC NW When Continuous Integration Meets Application Security Harish Krishnan & Vasantharaju M.S [10/18/2016]

SOFTWARE QUALITY CONFERENCE PACIFIC NW QUESTION ?

Agenda Problem Statement Continuous Integration (CI) SOFTWARE QUALITY CONFERENCE Agenda PACIFIC NW 1 Problem Statement 2 Continuous Integration (CI) 3 Application Security 4 Security Tools 5 CI + Tools 6 What do we get ?

Security comes LAST Problem Statement SOFTWARE QUALITY CONFERENCE PACIFIC NW Security comes LAST

Continuous Integration (CI) ? SOFTWARE QUALITY CONFERENCE PACIFIC NW Build the Project Deploy /Install Run unit tests Run integration tests Report results Source Repository Continuous Integration Code check-in’s Wikipedia Definition: In software engineering,  continuous integration (CI) is the practice of merging all developer working copies to a shared mainline several times a day.

TeamCity Cruise Control Jenkins Travis CI SOFTWARE QUALITY CONFERENCE PACIFIC NW Cruise Control Jenkins TeamCity Travis CI https://en.wikipedia.org/wiki/Comparison_of_continuous_integration_software

Application Security ? Wikipedia Definition: SOFTWARE QUALITY CONFERENCE PACIFIC NW Wikipedia Definition: Application security encompasses measures taken throughout the code's life-cycle to prevent gaps in the security policy of an application or the underlying system (vulnerabilities) through flaws in the design, development, deployment, upgrade, or maintenance or database of the application.

3rd Party Libraries Audit Security Tools SOFTWARE QUALITY CONFERENCE PACIFIC NW Static Analysis Coverity FindBugs Dynamic Analysis Nessus XS3canner (in-house) 3rd Party Libraries Audit OWASP Dependency Check

Static Analysis Wikipedia Definition: SOFTWARE QUALITY CONFERENCE PACIFIC NW Wikipedia Definition: Static program analysis is the analysis of computer software that is performed without actually executing programs (analysis performed on executing programs is known as dynamic analysis). In most cases the analysis is performed on some version of the source code, and in the other cases, some form of the object code.

Coverity: $$$ FindBugs: Free Static Analysis SOFTWARE QUALITY CONFERENCE PACIFIC NW Coverity: $$$ FindBugs: Free

FindBugs configuration SOFTWARE QUALITY CONFERENCE PACIFIC NW <?xml version="1.0" encoding="UTF-8"?> <FindBugsFilter> <Match> <Bug category="SECURITY"/> </Match> </FindBugsFilter> hh

FindBugs configuration (continued…) SOFTWARE QUALITY CONFERENCE PACIFIC NW <project name="FindBugs" default="findbugs" basedir="."> <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"/> <property name="findbugs.home" value="${basedir}/findbugs-3.0.1" /> <target name="findbugs"> <findbugs home="${findbugs.home}“ output="xml“ outputFile="result.xml“ includeFilter="${basedir}/filter.xml" > <sourcePath path="${basedir}/src" /> <class location="${basedir}/lib/*.jar" /> </findbugs> </target> </project>

Continuous Integration Integrating FindBugs into CI system SOFTWARE QUALITY CONFERENCE PACIFIC NW Check-Out code Build (If needed) Run Static Analysis Analyze results Report results Source Repository Continuous Integration Code check-in’s <BugInstance category="SECURITY"> <Class classname=""> <SourceLine classname="" sourcepath="" sourcefile="" end="" start=""/> </Class> </BugInstance> Programmatically parse the xml and look for any <BugInstance> elements. Depends on the Static Analysis tools FindBugs : No Coverity : Yes Runs the FindBugs ant script Example: c:\> ant findbugs

Dynamic Analysis Wikipedia Definition: SOFTWARE QUALITY CONFERENCE PACIFIC NW Wikipedia Definition: Dynamic program analysis is the analysis of computer software that is performed by executing programs on a real or virtual processor.

Nessus: $$$ XS3canner: In-house Dynamic Analysis SOFTWARE QUALITY CONFERENCE PACIFIC NW Nessus: $$$ XS3canner: In-house

Nessus Configuration Nessus Nessrest SOFTWARE QUALITY CONFERENCE Free PACIFIC NW Free Nessus REST API Nessrest Python Framework API call

Nessus Configuration (continued…) SOFTWARE QUALITY CONFERENCE Nessus Configuration (continued…) PACIFIC NW from nessrest import ness6rest as nes try: scan = nes.Scanner(url=URL, api_akey=nessus_accessKey, api_skey=nessus_secretKey, insecure=True) except Exception, e: log("Could not connect to Nessus Server: %s" % str(e)) sys.exit(1)

Nessus Configuration (continued…) SOFTWARE QUALITY CONFERENCE Nessus Configuration (continued…) PACIFIC NW scan.policy_set(POLICY) scan.scan_add(targets=TARGETS, name=scan_name) scan.scan_run() content = scan.download_scan()

Continuous Integration Integrating Nessus into CI system SOFTWARE QUALITY CONFERENCE PACIFIC NW Check-Out code Deploy /install Run Dynamic Analysis Analyze results Report results Source Repository Continuous Integration Code check-in’s For Dynamic Analysis, the Application must be running. report = scan.parse(Report) target = report.targets() vulnerabilities = target.vulns Runs the python automation scripts.

3rd Party component security audit SOFTWARE QUALITY CONFERENCE PACIFIC NW OWASP Dependency Check: Free

Dependency Check configuration SOFTWARE QUALITY CONFERENCE PACIFIC NW <target name="dependency-check" description="Dependency-Check Analysis"> <dependency-check projectname="Hello World" reportoutputdirectory="${basedir}" reportformat=“XML"> <fileset dir="lib"> <include name="**/*.jar"/> </fileset> </dependency-check> </target> hh

Continuous Integration Integrating Dependency Check into CI system SOFTWARE QUALITY CONFERENCE PACIFIC NW Check-Out code Group Libraries Run DC Tool Analyze results Report results Source Repository Continuous Integration Code check-in’s Directory containing all our libraries, for scanning. Programmatically parse the xml and look for any vulnerabilities listed. Runs the DC ant script Example: c:\> ant dependency-check

Discover and Fix vulnerabilities early in SDLC What do we get ? SOFTWARE QUALITY CONFERENCE PACIFIC NW Confidence Discover and Fix vulnerabilities early in SDLC

SOFTWARE QUALITY CONFERENCE PACIFIC NW THANK YOU