Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.

Slides:



Advertisements
Similar presentations
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Advertisements

Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
Test Case Management and Results Tracking System October 2008 D E L I V E R I N G Q U A L I T Y (Short Version)
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the Creative Commons Attribution-ShareAlike.
The OWASP Foundation Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the Creative Commons Attribution-ShareAlike.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. The Web Services Modeling Toolkit Mick Kerrigan.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
The OWASP Foundation Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Using Programmer-Written Compiler Extensions to Catch Security Holes Authors: Ken Ashcraft and Dawson Engler Presented by : Hong Chen CS590F 2/7/2007.
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
28/1/2001 Seminar in Databases in the Internet Environment Introduction to J ava S erver P ages technology by Naomi Chen.
Introduction to Java Programming, 4E
Input Validation For Free Text Fields ADD Project Members: Hagar Offer & Ran Mor Academic Advisor: Dr Gera Weiss Technical Advisors: Raffi Lipkin & Nadav.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Overview of Search Engines
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
NDT Tools Tutorial: How-To setup your own NDT server Rich Carlson Summer 04 Joint Tech July 19, 2004.
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Bacon A Penetration and Auditing Framework Hernan Gips
5-7 November 2014 DR Workflow Practical Digital Content Management from Digital Libraries & Archives Perspective.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the Creative Commons Attribution-ShareAlike.
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
The Network Performance Advisor J. W. Ferguson NLANR/DAST & NCSA.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
POS 406 Java Technology And Beginning Java Code
Introduction to Java Programming with Forte Y. Daniel Liang.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Eagle: Maturation and Evolution 17th Annual Tcl Conference Joe Mistachkin.
Some possible final exam questions. DISCLAIMER models only These questions are models only. Some of these questions may or may not appear in the final.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
OWASP ESAPI SwingSet An introduction by Fabio Cerullo.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Search Overview Search Features: WSS and Office Search Architecture Content Sources and.
Core Java Introduction Byju Veedu Ness Technologies httpdownload.oracle.com/javase/tutorial/getStarted/intro/definition.html.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the Creative Commons Attribution-ShareAlike.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Week 4 - Friday.  What did we talk about last time?  Some extra systems programming stuff  Scope.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
Variable Scope & Lifetime
Java Interview Questions
Automate Custom Solutions Deployment on Office 365 and Azure
Software Development with uMPS
The Owasp Orizon Project
Getting Started With Solr
Eagle: Maturation and Evolution
Presentation transcript:

Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation OWASP AppSec NYC’08 The Owasp Orizon Project: towards version 1.0 Paolo Perego Owasp Orizon Project Leader Spike Reply

OWASP Owasp AppSec NYC ’08, New York City – 25th September 2 Agenda  where do we leave in Ghent, last May…  road towards version 1.0

OWASP Owasp AppSec NYC ’08, New York City – 25th September $ whoami  Senior Security Spike Reply Srl  penetration testing  secure application building  code review & source code assessment  Owasp Orizon Project leader  Active member in  Owasp Italian chapter  Owasp Code Review Project 3

OWASP Owasp AppSec NYC ’08, New York City – 25th September Kickoff  A lot of commercial solutions are available for code reviewing  good in finding bugs  skilled support  Expensive  Open source solutions are available too  limited number of security checks  good support from open source community  open 4 Why do I need Orizon?

OWASP Owasp AppSec NYC ’08, New York City – 25th September Some preliminary info  Orizon is code review engine I started back in 2006  It supports  Static analysis  Dynamic analysis via code execution  Orizon  Language independent  The source is translated in XML and then analized  A library with security checks is provided  The library is self contained in Orizon JAR archive  The checks are gathered in “safe coding recipes” in XML 5

OWASP Owasp AppSec NYC ’08, New York City – 25th September Were do we leave in Ghent, last May…  During Owasp AppSec EU’2008  Orizon reached v0.90  Plugins were introduced  A Java SWT Gui were added  Orizon included also Milk embedded into it  Feedbacks were good  Major criticisms (… thanks Dinis)  There is too much noise in translated XML  Building a source object model is a better approach  More effort must be redirected to static analysis 6

OWASP Owasp AppSec NYC ’08, New York City – 25th September Were do we leave in Ghent, last May… 7 Preprocessing Code reviewing Reporting Code crawling XML Translator engine Jericho engineDawn engine Reporting engine Crawler engine Plugin engine

OWASP Owasp AppSec NYC ’08, New York City – 25th September Road towards version 1.0… the needs for a change  Input file management  Scanning a directory recursively is not supported  Library management  Standalone file is difficult to deploy  Hard to find a default location to the library from orizon path  Translated XML files  Too much noise  Hard to retrieve information to build an object model 8

OWASP Owasp AppSec NYC ’08, New York City – 25th September Road towards version 1.0… the stack 9 XML Translator factory Reporting engine Dynamic analysis Static analysis Statistics Control Flow Call Graph Data Graph

OWASP Owasp AppSec NYC ’08, New York City – 25th September Road towards version 1.0… the workflow Session initialization Input type is detected A session Object is created For each input file a SessionInfo object is created as well Preprocessing Scan each file to build AST in memory Parse AST and create 4 different XML files Statistical information Methods and subroutine calls Variable instantiation and changes Control flow Static analysis Security checks are applied in accord to the given translated XML element Source code can be crawled to find some dangerous keywords Reporting Results are represented in different formats XML Plain Text 10

OWASP Owasp AppSec NYC ’08, New York City – 25th September Road towards version 1.0… session initialization  A Session object is created  Properties collected from command line are stored into the session (-o, -- orizon key=value)  init() method causes  Each input file is associated with a SessionInfo  Each input file is inspected and the correspondent AST is built 11

OWASP Owasp AppSec NYC ’08, New York City – 25th September Road towards version 1.0… session initialization  Upon creation the XML file names are built  inspect() method will do all the dirty work collecting all the results in the DefaultTranslator object  getStats() and friend will take DefaultTranslator object and creating the XML file 12

OWASP Owasp AppSec NYC ’08, New York City – 25th September Road towards version 1.0… preprocessing  scan() is the method invoked when creating AST  nameService () methods are the ones creating the XML files 13

OWASP Owasp AppSec NYC ’08, New York City – 25th September DEMO Preprocessing: the newer XML file format generated by Orizon 14

OWASP Owasp AppSec NYC ’08, New York City – 25th September Road towards version 1.0… static analysis  Source code crawling  Introduced in Orizon v0.70  The good: a quick an dirty review can be performed  The bad: results are more prone to false potives 15

OWASP Owasp AppSec NYC ’08, New York City – 25th September Road towards version 1.0… static analysis  The new library  Embedded in Orizon Jar file  Same flaw category layout as Owasp Code Review guide  library.xml is used as library descriptor 16

OWASP Owasp AppSec NYC ’08, New York City – 25th September Road towards version 1.0… static analysis  A cookbook is a source flaws family  A file named cookbook.xml must be present and used as cookbook descriptor  A weight is given to each cookbook to better fine tuning code review score 17

OWASP Owasp AppSec NYC ’08, New York City – 25th September Road towards version 1.0… static analysis  Recipes are XML files containing security checks  Each recipe and each check have got their own weight score  Checks are divided in family  Design  Keyword  Execution 18

OWASP Owasp AppSec NYC ’08, New York City – 25th September Road towards version 1.0… static analysis  org.owasp.orizon.core. Source  Reads translated XML files  Initializes Jericho  Fire up core review 19

OWASP Owasp AppSec NYC ’08, New York City – 25th September DEMO Static analysis 20

OWASP Owasp AppSec NYC ’08, New York City – 25th September Road towards version 1.0… plugins  An interface is provided and all plugins must implement it  org.owasp.orizon.plugin.Plugin  A loader class  Extract plugin class from a given jar file  Checks if the plugin is intended for this orizon version  Load the class and returns it to Jericho engine 21

OWASP Owasp AppSec NYC ’08, New York City – 25th September Road towards version 1.0… plugins  Jericho engine will  Instanciate a new object  Run the plugin via start() and stop() methods  The plugin will be called this way 22 <check id="O_EX_1" severity="error" impact="high" description="This check will be handled by an external piece of code" positive_fail="false" external="yes" jar="c:\users\thesp0nge\test.jar" package="" class="Test" >

OWASP Owasp AppSec NYC ’08, New York City – 25th September Road towards version 1.0… plugins 23 public class PluginDemo { public static void main(String args[]) { Loader l = new Loader("c:\\users\\thesp0nge\\test.jar"); try { // Plugin p = (Plugin)l.load("Test").newInstance(); Class c = l.load("Test"); if (c==null) return ; Plugin p = (Plugin)c.newInstance(); p.start(); p.stop(); System.out.println("here"); } catch (Exception e) { e.printStackTrace(); System.err.println("main: "+ e.getMessage()); return ; }

OWASP Owasp AppSec NYC ’08, New York City – 25th September Road towards version 1.0… what’s missing?  Full support for  Local analysis (control flow)  Global analysis (call graph)  Taint propagation  Scoring system in accord to Owasp Code Review Scoring system  GUI for Mac OS X  SWT libraries must be ported to AQUA 24

OWASP Owasp AppSec NYC ’08, New York City – 25th September Roadmap towards version 1.0… 25 2 nd October 2008Orizon v1.0rc1 2 nd birthday party, also code reviewers want to have fun Full support for statistics XML file handling Initial support for local analysis over the source Scoring system released in DRAFT version Owasp Orizon Guide November Owasp Meeting in Portugal Orizon v1.0 Full support for local analysis Initial support for taint propagation 2Q 2009Orizon v1.5 Support for O2 Crif input file format

OWASP Owasp AppSec NYC ’08, New York City – 25th September some links before we leave…  Orizon site:  Orizon blog:  Orizon Owasp: SP_Orizon_Project SP_Orizon_Project  Milk site (for milk and arachne):  Contact me: 26

OWASP Owasp AppSec NYC ’08, New York City – 25th September 27 Q&A

Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation OWASP AppSec NYC’08 The Owasp Orizon Project internals Paolo Perego Owasp Orizon Project Leader Spike Reply