SlideShare a Scribd company logo
The Owasp Orizon project: new
        static analysis in HiFi



                   Paolo Perego
                   Owasp Orizon Project leader
                   Spike Reply
                   thesp0nge@owasp.org
OWASP
EU09 Poland
              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
              http://www.owasp.org
Agenda

Orizon Framework state of art
Building a model round up: the Mirage engine
Roadmap ’09




                             OWASP AppSecEU09 Poland   2
$ whoami

Senior consultant @ Spike Reply srl
  Offense (Application penetration test)
  Defense
      Application Security
      Code review
      SSDLC design
Owasp project leader
  Owasp Orizon
  Owasp Source code flaws Top 10
Owasp Italy board member

                                  OWASP AppSecEU09 Poland   3
Owasp Orizon framework v1.20
                           Orizon interface APIs
“engine” based


     report

    analyze

    build a
    model




                        OWASP AppSecEU09 Poland    4
Owasp Orizon framework v1.20: engine


Engine commands                           Command parser
are described by a                        is generated from
grammar                                   the grammar
                                          using FreeCC


                                          start() method
Engine is an
                                          contains engine
abstract class
                                          business logic
providing a fixed
set of APIs for all
Orizon engines




                            OWASP AppSecEU09 Poland         5
Owasp Orizon framework v1.20: the
 Language Pack                   Parser is almost 100%
                                          able to understand the
                                          specific language
Parser is built
using language
grammar and
FreeCC
                                             Ready for Java,
                                             C and PHP.
Collector take
AST from the
                                             Next to come:
parser and
                                             Cobol, C++, C#,
retrieve variables,
                                             Ruby, Jsp
methods, ...




                               OWASP AppSecEU09 Poland         6
Owasp Orizon framework v1.20: build the
  model


Orizon supports
more programming
languages with an
ad hoc “Language
Pack”
                                  Modeler class uses
                                  Language Pack
SourceFinder scans                collectors to gather
the input deciding                data and building
which files can be                 the model
processed and the
language pack to
be used                    OWASP AppSecEU09 Poland   7
Owasp Orizon framework v1.20: analyze
                  Get the model




                                                  Iterate through all
Apply the rules                                   files to be
to the model                                      processed




                                                  Rules
                                                  management

                                  OWASP AppSecEU09 Poland         8
Owasp Orizon framework v1.20: report
                          Formatters manage how to
                          represent the findings in
                          various formats



Reporting
engine
manages
the findings
to be
represented
as output




                           OWASP AppSecEU09 Poland   9
It’s showtime...




                   OWASP AppSecEU09 Poland   10
Spot the difference
                             v1.0                      v1.18                          v1.20
                         EU Summit ’08              AppSec EU ’09                   Summer ’09
                  Heterogeneous engines       Engine based with a standard   Engine based with a standard
Architecture      with a non standard API     set of API                     set of API

Supported         Java                        Java, C, PHP                   Java, C, PHP, C++, Cobol, C#
languages
                  Command line with options   Command line with a shell
Interface         specified as parameters     accepting commands (OSH)
                                                                             Shell + Web based GUI

                  Sources are translated in
Modeling                                      Sources are parsed with an     Sources are parsed with an
                  XML and analysis are made
approach          over there
                                              appropriate Language Pack      appropriate Language Pack

                                              Keyword used                   Keyword + variable tracking
Model             None
                                                                             + execution flow
                                              Started variable tracking
Security check                                Written in ORL (Orizon Rule    Written in ORL (Orizon Rule
                  Written in XML
                                              Language)                      Language)

Crawling          Partial                     Yes                            Yes

Static analysis   Partial                     No                             Yes

Dynamic           No                          No                             No
analysis
                                                                OWASP AppSecEU09 Poland                    11
Roadmap

 in the short term (3 months): v1.20
   collectors must be able to retrieve more information from
    ASTs
   new Language Packs (C++, Cobol, C#)
 in the mid term (6 to 9 months): v1.50
   Modeler will be able to build
       data flow diagram
       execution flow diagram
   Owasp Orizon Guide to be released as “alpha” document
 in the long term (12 months): v1.80
   static analysis will be working
   dynamic analysis will start
                                      OWASP AppSecEU09 Poland   12
Before we leave

Thanks to
  OWASP
  the Italian chapter and its board
  the gang: Nishi, Stephen, Jason, Andrés, Alessio,
   Dinis (http://orizon.sourceforge.net/blog/the-owasp-
   orizon-team/)
  my Mom
  my Wife




                                  OWASP AppSecEU09 Poland   13
Some link

FreeCC: used to generate all the parsers in
 Orizon (http://code.google.com/p/freecc/)
Owasp Orizon links
  Homepage: http://www.owasp.org/index.php/
   Category:OWASP_Orizon_Project
  Blog: http://orizon.sourceforge.net/blog/
  Twitter: http://twitter.com/OWASPOrizon/




                              OWASP AppSecEU09 Poland   14

More Related Content

Similar to Owasp Orizon New Static Analysis In Hi Fi

vBACD - Crash Course in Open Source Cloud Computing - 2/28
vBACD - Crash Course in Open Source Cloud Computing - 2/28vBACD - Crash Course in Open Source Cloud Computing - 2/28
vBACD - Crash Course in Open Source Cloud Computing - 2/28
CloudStack - Open Source Cloud Computing Project
 
Open Source Compiler Construction for the JVM
Open Source Compiler Construction for the JVMOpen Source Compiler Construction for the JVM
Open Source Compiler Construction for the JVM
Tom Lee
 
Csrf protector
Csrf protectorCsrf protector
Csrf protector
Minhaz A V
 
Overview: Building Open Source Cloud Computing Environments
Overview: Building Open Source Cloud Computing EnvironmentsOverview: Building Open Source Cloud Computing Environments
Overview: Building Open Source Cloud Computing Environments
Mark Hinkle
 
OWASP DefectDojo - Open Source Security Sanity
OWASP DefectDojo - Open Source Security SanityOWASP DefectDojo - Open Source Security Sanity
OWASP DefectDojo - Open Source Security Sanity
Matt Tesauro
 
Ajax Security
Ajax SecurityAjax Security
Ajax Security
amiable_indian
 
OSPRay 1.0 and Beyond
OSPRay 1.0 and BeyondOSPRay 1.0 and Beyond
OSPRay 1.0 and Beyond
Intel® Software
 
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...Generating Assertion Code from OCL: A Transformational Approach Based on Simi...
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...
Shinpei Hayashi
 
Build a Cloud Day SF - Crash Course on Open Source Cloud Computing
Build a Cloud Day SF - Crash Course on Open Source Cloud ComputingBuild a Cloud Day SF - Crash Course on Open Source Cloud Computing
Build a Cloud Day SF - Crash Course on Open Source Cloud Computing
Mark Hinkle
 
Implementing alfresco as a content platform with zaizi
Implementing alfresco as a content platform with zaiziImplementing alfresco as a content platform with zaizi
Implementing alfresco as a content platform with zaizi
Alfresco Software
 
Abap course chapter 1 introduction and first program
Abap course   chapter 1 introduction and first programAbap course   chapter 1 introduction and first program
Abap course chapter 1 introduction and first program
Milind Patil
 
Continuous Automated Deployment with Apache ACE
Continuous Automated Deployment with Apache ACEContinuous Automated Deployment with Apache ACE
Continuous Automated Deployment with Apache ACE
Jan Willem Janssen
 
Summit 16: The Open Source NFV Eco-system and OPNFV's Role Therein
Summit 16: The Open Source NFV Eco-system and OPNFV's Role ThereinSummit 16: The Open Source NFV Eco-system and OPNFV's Role Therein
Summit 16: The Open Source NFV Eco-system and OPNFV's Role Therein
OPNFV
 
Operating OPNFV: Deploy it, test it, run it
Operating OPNFV: Deploy it, test it, run itOperating OPNFV: Deploy it, test it, run it
Operating OPNFV: Deploy it, test it, run it
OPNFV
 
Appium.pptx
Appium.pptxAppium.pptx
Appium.pptx
SameerAlam82
 
QSOUL/Aop
QSOUL/AopQSOUL/Aop
QSOUL/Aop
ESUG
 
Onos overview meetup sdn paris - redux
Onos overview  meetup sdn paris - reduxOnos overview  meetup sdn paris - redux
Onos overview meetup sdn paris - redux
SDN_Paris
 
vBACD- July 2012 - Crash Course in Open Source Cloud Computing
vBACD- July 2012 - Crash Course in Open Source Cloud ComputingvBACD- July 2012 - Crash Course in Open Source Cloud Computing
vBACD- July 2012 - Crash Course in Open Source Cloud Computing
CloudStack - Open Source Cloud Computing Project
 
開放原始碼 Ch1.2 intro - oss - apahce foundry (ver 2.0)
開放原始碼 Ch1.2   intro - oss - apahce foundry (ver 2.0)開放原始碼 Ch1.2   intro - oss - apahce foundry (ver 2.0)
開放原始碼 Ch1.2 intro - oss - apahce foundry (ver 2.0)
My own sweet home!
 
Basics-Of-Java
Basics-Of-JavaBasics-Of-Java
Basics-Of-Java
ssuser200038
 

Similar to Owasp Orizon New Static Analysis In Hi Fi (20)

vBACD - Crash Course in Open Source Cloud Computing - 2/28
vBACD - Crash Course in Open Source Cloud Computing - 2/28vBACD - Crash Course in Open Source Cloud Computing - 2/28
vBACD - Crash Course in Open Source Cloud Computing - 2/28
 
Open Source Compiler Construction for the JVM
Open Source Compiler Construction for the JVMOpen Source Compiler Construction for the JVM
Open Source Compiler Construction for the JVM
 
Csrf protector
Csrf protectorCsrf protector
Csrf protector
 
Overview: Building Open Source Cloud Computing Environments
Overview: Building Open Source Cloud Computing EnvironmentsOverview: Building Open Source Cloud Computing Environments
Overview: Building Open Source Cloud Computing Environments
 
OWASP DefectDojo - Open Source Security Sanity
OWASP DefectDojo - Open Source Security SanityOWASP DefectDojo - Open Source Security Sanity
OWASP DefectDojo - Open Source Security Sanity
 
Ajax Security
Ajax SecurityAjax Security
Ajax Security
 
OSPRay 1.0 and Beyond
OSPRay 1.0 and BeyondOSPRay 1.0 and Beyond
OSPRay 1.0 and Beyond
 
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...Generating Assertion Code from OCL: A Transformational Approach Based on Simi...
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...
 
Build a Cloud Day SF - Crash Course on Open Source Cloud Computing
Build a Cloud Day SF - Crash Course on Open Source Cloud ComputingBuild a Cloud Day SF - Crash Course on Open Source Cloud Computing
Build a Cloud Day SF - Crash Course on Open Source Cloud Computing
 
Implementing alfresco as a content platform with zaizi
Implementing alfresco as a content platform with zaiziImplementing alfresco as a content platform with zaizi
Implementing alfresco as a content platform with zaizi
 
Abap course chapter 1 introduction and first program
Abap course   chapter 1 introduction and first programAbap course   chapter 1 introduction and first program
Abap course chapter 1 introduction and first program
 
Continuous Automated Deployment with Apache ACE
Continuous Automated Deployment with Apache ACEContinuous Automated Deployment with Apache ACE
Continuous Automated Deployment with Apache ACE
 
Summit 16: The Open Source NFV Eco-system and OPNFV's Role Therein
Summit 16: The Open Source NFV Eco-system and OPNFV's Role ThereinSummit 16: The Open Source NFV Eco-system and OPNFV's Role Therein
Summit 16: The Open Source NFV Eco-system and OPNFV's Role Therein
 
Operating OPNFV: Deploy it, test it, run it
Operating OPNFV: Deploy it, test it, run itOperating OPNFV: Deploy it, test it, run it
Operating OPNFV: Deploy it, test it, run it
 
Appium.pptx
Appium.pptxAppium.pptx
Appium.pptx
 
QSOUL/Aop
QSOUL/AopQSOUL/Aop
QSOUL/Aop
 
Onos overview meetup sdn paris - redux
Onos overview  meetup sdn paris - reduxOnos overview  meetup sdn paris - redux
Onos overview meetup sdn paris - redux
 
vBACD- July 2012 - Crash Course in Open Source Cloud Computing
vBACD- July 2012 - Crash Course in Open Source Cloud ComputingvBACD- July 2012 - Crash Course in Open Source Cloud Computing
vBACD- July 2012 - Crash Course in Open Source Cloud Computing
 
開放原始碼 Ch1.2 intro - oss - apahce foundry (ver 2.0)
開放原始碼 Ch1.2   intro - oss - apahce foundry (ver 2.0)開放原始碼 Ch1.2   intro - oss - apahce foundry (ver 2.0)
開放原始碼 Ch1.2 intro - oss - apahce foundry (ver 2.0)
 
Basics-Of-Java
Basics-Of-JavaBasics-Of-Java
Basics-Of-Java
 

More from Paolo Perego

20220603_pperego_openSUSE conference.pdf
20220603_pperego_openSUSE conference.pdf20220603_pperego_openSUSE conference.pdf
20220603_pperego_openSUSE conference.pdf
Paolo Perego
 
Cosa c'è che non va? - Viaggio verso il nirvana del SSDLC
Cosa c'è che non va? - Viaggio verso il nirvana del SSDLCCosa c'è che non va? - Viaggio verso il nirvana del SSDLC
Cosa c'è che non va? - Viaggio verso il nirvana del SSDLCPaolo Perego
 
Put yourself in the #appsec pipeline
Put yourself in the #appsec pipelinePut yourself in the #appsec pipeline
Put yourself in the #appsec pipeline
Paolo Perego
 
Picking gem ruby for penetration testers
Picking gem ruby for penetration testersPicking gem ruby for penetration testers
Picking gem ruby for penetration testers
Paolo Perego
 
I tool owasp per la sicurezza del software 20110315
I tool owasp per la sicurezza del software 20110315I tool owasp per la sicurezza del software 20110315
I tool owasp per la sicurezza del software 20110315
Paolo Perego
 
Sicurezza Applicatica Dalla Teoria Alla Pratica
Sicurezza Applicatica Dalla Teoria Alla PraticaSicurezza Applicatica Dalla Teoria Alla Pratica
Sicurezza Applicatica Dalla Teoria Alla Pratica
Paolo Perego
 
The Art Of Code Reviewing
The Art Of Code ReviewingThe Art Of Code Reviewing
The Art Of Code Reviewing
Paolo Perego
 

More from Paolo Perego (7)

20220603_pperego_openSUSE conference.pdf
20220603_pperego_openSUSE conference.pdf20220603_pperego_openSUSE conference.pdf
20220603_pperego_openSUSE conference.pdf
 
Cosa c'è che non va? - Viaggio verso il nirvana del SSDLC
Cosa c'è che non va? - Viaggio verso il nirvana del SSDLCCosa c'è che non va? - Viaggio verso il nirvana del SSDLC
Cosa c'è che non va? - Viaggio verso il nirvana del SSDLC
 
Put yourself in the #appsec pipeline
Put yourself in the #appsec pipelinePut yourself in the #appsec pipeline
Put yourself in the #appsec pipeline
 
Picking gem ruby for penetration testers
Picking gem ruby for penetration testersPicking gem ruby for penetration testers
Picking gem ruby for penetration testers
 
I tool owasp per la sicurezza del software 20110315
I tool owasp per la sicurezza del software 20110315I tool owasp per la sicurezza del software 20110315
I tool owasp per la sicurezza del software 20110315
 
Sicurezza Applicatica Dalla Teoria Alla Pratica
Sicurezza Applicatica Dalla Teoria Alla PraticaSicurezza Applicatica Dalla Teoria Alla Pratica
Sicurezza Applicatica Dalla Teoria Alla Pratica
 
The Art Of Code Reviewing
The Art Of Code ReviewingThe Art Of Code Reviewing
The Art Of Code Reviewing
 

Owasp Orizon New Static Analysis In Hi Fi

  • 1. The Owasp Orizon project: new static analysis in HiFi Paolo Perego Owasp Orizon Project leader Spike Reply thesp0nge@owasp.org OWASP EU09 Poland 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 http://www.owasp.org
  • 2. Agenda Orizon Framework state of art Building a model round up: the Mirage engine Roadmap ’09 OWASP AppSecEU09 Poland 2
  • 3. $ whoami Senior consultant @ Spike Reply srl Offense (Application penetration test) Defense  Application Security  Code review  SSDLC design Owasp project leader Owasp Orizon Owasp Source code flaws Top 10 Owasp Italy board member OWASP AppSecEU09 Poland 3
  • 4. Owasp Orizon framework v1.20 Orizon interface APIs “engine” based report analyze build a model OWASP AppSecEU09 Poland 4
  • 5. Owasp Orizon framework v1.20: engine Engine commands Command parser are described by a is generated from grammar the grammar using FreeCC start() method Engine is an contains engine abstract class business logic providing a fixed set of APIs for all Orizon engines OWASP AppSecEU09 Poland 5
  • 6. Owasp Orizon framework v1.20: the Language Pack Parser is almost 100% able to understand the specific language Parser is built using language grammar and FreeCC Ready for Java, C and PHP. Collector take AST from the Next to come: parser and Cobol, C++, C#, retrieve variables, Ruby, Jsp methods, ... OWASP AppSecEU09 Poland 6
  • 7. Owasp Orizon framework v1.20: build the model Orizon supports more programming languages with an ad hoc “Language Pack” Modeler class uses Language Pack SourceFinder scans collectors to gather the input deciding data and building which files can be the model processed and the language pack to be used OWASP AppSecEU09 Poland 7
  • 8. Owasp Orizon framework v1.20: analyze Get the model Iterate through all Apply the rules files to be to the model processed Rules management OWASP AppSecEU09 Poland 8
  • 9. Owasp Orizon framework v1.20: report Formatters manage how to represent the findings in various formats Reporting engine manages the findings to be represented as output OWASP AppSecEU09 Poland 9
  • 10. It’s showtime... OWASP AppSecEU09 Poland 10
  • 11. Spot the difference v1.0 v1.18 v1.20 EU Summit ’08 AppSec EU ’09 Summer ’09 Heterogeneous engines Engine based with a standard Engine based with a standard Architecture with a non standard API set of API set of API Supported Java Java, C, PHP Java, C, PHP, C++, Cobol, C# languages Command line with options Command line with a shell Interface specified as parameters accepting commands (OSH) Shell + Web based GUI Sources are translated in Modeling Sources are parsed with an Sources are parsed with an XML and analysis are made approach over there appropriate Language Pack appropriate Language Pack Keyword used Keyword + variable tracking Model None + execution flow Started variable tracking Security check Written in ORL (Orizon Rule Written in ORL (Orizon Rule Written in XML Language) Language) Crawling Partial Yes Yes Static analysis Partial No Yes Dynamic No No No analysis OWASP AppSecEU09 Poland 11
  • 12. Roadmap  in the short term (3 months): v1.20 collectors must be able to retrieve more information from ASTs new Language Packs (C++, Cobol, C#)  in the mid term (6 to 9 months): v1.50 Modeler will be able to build  data flow diagram  execution flow diagram Owasp Orizon Guide to be released as “alpha” document  in the long term (12 months): v1.80 static analysis will be working dynamic analysis will start OWASP AppSecEU09 Poland 12
  • 13. Before we leave Thanks to OWASP the Italian chapter and its board the gang: Nishi, Stephen, Jason, Andrés, Alessio, Dinis (http://orizon.sourceforge.net/blog/the-owasp- orizon-team/) my Mom my Wife OWASP AppSecEU09 Poland 13
  • 14. Some link FreeCC: used to generate all the parsers in Orizon (http://code.google.com/p/freecc/) Owasp Orizon links Homepage: http://www.owasp.org/index.php/ Category:OWASP_Orizon_Project Blog: http://orizon.sourceforge.net/blog/ Twitter: http://twitter.com/OWASPOrizon/ OWASP AppSecEU09 Poland 14

Editor's Notes