Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Static analysis tools

801 views

Published on

A brief description on static analysis tools.

Published in: Data & Analytics
  • Be the first to comment

Static analysis tools

  1. 1. STATIC ANALYSIS TOOLS LET’S BEGIN…
  2. 2. What is Static Analysis? 2 Static aannaallyyssiiss iiss tthhee aannaallyyssiiss ooff ccoommppuutteerr ssooffttwwaarree tthhaatt iiss ppeerrffoorrmmeedd wwiitthhoouutt aaccttuuaallllyy eexxeeccuuttiinngg,, oorr rruunnnniinngg,, tthhaatt ssooffttwwaarree.. SSttaattiicc aannaallyyssiiss ttoooollss llooookk aatt aapppplliiccaattiioonnss iinn aa nnoonn-- rruunnttiimmee eennvviirroonnmmeenntt.. TThhiiss mmeetthhoodd ooff tteessttiinngg hhaass ddiissttiinncctt aaddvvaannttaaggeess iinn tthhaatt iitt ccaann eevvaalluuaattee bbootthh wweebb aanndd nnoonn--wweebb aapppplliiccaattiioonnss aanndd tthhrroouugghh aaddvvaanncceedd mmooddeelliinngg,, ccaann ddeetteecctt ffllaawwss iinn tthhee ssooffttwwaarree’’ss iinnppuuttss aanndd oouuttppuuttss tthhaatt ccaannnnoott bbee sseeeenn tthhrroouugghh ddyynnaammiicc wweebb ssccaannnniinngg aalloonnee.. IInn tthhee ppaasstt tthhiiss tteecchhnniiqquuee rreeqquuiirreedd ssoouurrccee ccooddee wwhhiicchh iiss nnoott oonnllyy uunnpprraaccttiiccaall aass ssoouurrccee ccooddee oofftteenn iiss uunnaavvaaiillaabbllee bbuutt aallssoo iinnssuuffffiicciieenntt..
  3. 3. Features of Static Analysis Tools: To calculate metrics such aass ccyycclloommaattiicc ccoommpplleexxiittyy oorr nneessttiinngg lleevveellss ((wwhhiicchh ccaann hheellpp ttoo iiddeennttiiffyy wwhheerree mmoorree tteessttiinngg mmaayy bbee nneeeeddeedd dduuee ttoo iinnccrreeaasseedd rriisskk)).. TToo eennffoorrccee ccooddiinngg ssttaannddaarrddss.. TToo aannaallyyssee ssttrruuccttuurreess aanndd ddeeppeennddeenncciieess.. HHeellpp iinn ccooddee uunnddeerrssttaannddiinngg.. TToo iiddeennttiiffyy aannoommaalliieess oorr ddeeffeeccttss iinn tthhee ccooddee.. 3
  4. 4. Delivering Software Security… Enterprise security is highly focused on the application llaayyeerr ttooddaayy,, aanndd ffoorr ggoooodd rreeaassoonn.. BBeeccaauussee tthhee nneettwwoorrkk ppeerriimmeetteerr hhaass bbeeeenn ssuucccceessssffuullllyy sseeccuurreedd ttoo aa ggrreeaatt ddeeggrreeee,, mmoosstt mmaalliicciioouuss aattttaacckkss aarree nnooww ddiirreecctteedd aatt aapppplliiccaattiioonnss.. TToo aaddddrreessss tthhiiss tthhrreeaatt,, eenntteerrpprriisseess mmuusstt tteesstt aapppplliiccaattiioonnss ffoorr ffllaawwss oorr tthhrreeaattss bbeeffoorree pprrooccuurriinngg oorr iimmpplleemmeennttiinngg tthheemm.. SSttaattiicc aannaallyyssiiss iiss oonnee ooff tthhee lleeaaddiinngg tteessttiinngg tteecchhnniiqquueess.. AA ssttaattiicc aannaallyyssiiss ttooooll rreevviieewwss pprrooggrraamm ccooddee,, sseeaarrcchhiinngg ffoorr aapppplliiccaattiioonn ccooddiinngg ffllaawwss,, bbaacckk ddoooorrss,, oorr ootthheerr mmaalliicciioouuss ccooddee tthhaatt ccoouulldd ggiivvee hhaacckkeerrss aacccceessss ttoo ccrriittiiccaall ccoommppaannyy ddaattaa oorr ccuussttoommeerr iinnffoorrmmaattiioonn.. BBuutt mmoosstt ssttaattiicc aannaallyyssiiss ttoooollss oonnllyy ccaann ssccaann ssoouurrccee ccooddee,, wwhhiicchh iiss pprroobblleemmaattiicc.. MMaannyy aapppplliiccaattiioonnss iinntteeggrraattee ccooddee ffrroomm tthhiirrdd--ppaarrttyy lliibbrraarriieess,, ooffffsshhoorree ssooffttwwaarree,, aanndd ccoommmmeerrcciiaall ooffff--tthhee--sshheellff ((CCOOTTSS)) aapppplliiccaattiioonnss -- aanndd ssoouurrccee ccooddee ffoorr tthheessee aapppplliiccaattiioonnss aarree oofftteenn uunnaavvaaiillaabbllee ffoorr ssccaannnniinngg.. 4
  5. 5. “Multi Language” Analysis Tools: This pprreesseennttaattiioonn wwiillll bbrriieeff yyoouu tthhrroouugghh tthhee ““mmuullttii ––llaanngguuaaggee”” ssttaattiicc aannaallyyssiiss ttoooollss,, ii..ee.. aann aannaallyyssiiss ttooooll uusseedd ttoo tteesstt mmoorree tthhaann oonnee pprrooggrraammmmiinngg llaanngguuaaggeess.. 5
  6. 6. 6 Axivion Bauhaus Suite Created in response to the problem of softwarerot, the project aims to analyse, and recover the means and methods developed for legacy software by understanding the software'sarchitecture. As part of its research, the project develops software tools (such as the Bauhaus Toolkit ) for software architecture, software maintenance and reengineering and program understanding. The Bauhaus Toolkit includes a static code analysis tool for C, C++, C#, Java and Ada code. It comprises various analyses such as architecture checking, interface analysis, and clone detection. Bauhaus was originally derived from the older Rigi reverse engineering environment, which was expanded by Bauhaus due to the Rigi's limitations. It is among the most notable visualization tools in the field. The Bauhaus tool suite aids the analysis of source code by creating abstractions (representations) of the code in an intermediate language as well as through a resource flow graph (RFG).The RFG is a hierarchal graph with typed nodes and edges, which are structured in various views.
  7. 7. Black Duck Suite Black Duck SSooffttwwaarree mmaaiinnttaaiinnss aa KKnnoowwlleeddggeebbaassee ooff ooppeenn ssoouurrccee aanndd tthhiirrdd ppaarrttyy ccoommppoonneennttss -- mmoosstt ooff wwhhiicchh aarree aavvaaiillaabbllee oonn tthhee IInntteerrnneett.. EEaacchh ccoommppoonneenntt iiss cchhaarraacctteerriizzeedd bbyy mmeettaaddaattaa ssuucchh aass lliicceennssee,, llaanngguuaaggee,, vveerrssiioonn,, aauutthhoorr,, aanndd kknnoowwnn sseeccuurriittyy vvuullnneerraabbiilliittiieess.. BBllaacckk DDuucckk pprroodduuccttss uussee tthhiiss iinnffoorrmmaattiioonn ttoo ffaacciilliittaattee sseeaarrcchh,, sseelleeccttiioonn,, aapppprroovvaall,, aauuddiittiinngg aanndd ttrraacckkiinngg ooff ssooffttwwaarree ccoommppoonneennttss.. BBllaacckk DDuucckk SSooffttwwaarree aallssoo mmaaiinnttaaiinnss tthhee ooppeenn ssoouurrccee sseeaarrcchh eennggiinnee OOhhlloohh CCooddee,,aa ffrreeee rreessoouurrccee ffoorr ssooffttwwaarree ddeevveellooppeerrss,, aanndd OOppeenn HHuubb,, aa ffrreeee ppuubblliicc ddiirreeccttoorryy ooff ooppeenn ssoouurrccee pprroojjeeccttss aanndd ccoonnttrriibbuuttoorrss.. BBllaacckk DDuucckk SSooffttwwaarree mmaaiinnttaaiinnss tthhee OOppeenn SSoouurrccee DDeelliivveerrss iinndduussttrryy bblloogg oonn tthhee aaddooppttiioonn aanndd eennaabblleemmeenntt ooff OOSSSS,, aanndd tthhee OOppeenn SSoouurrccee RReessoouurrccee CCeenntteerr ((OOSSRRCC)).. 7
  8. 8. CAST Application Intelligence Program 8 The CAST Application Intelligence Platform (AIP) is an automated system for measuring the quality and size of business applications. It is made by CAST, based in Meudon in France. The AIP inspects the source code, identifies and tracks quality issues, and provides the data to monitor development performance.
  9. 9. Cigital Cigital SecureAssist identifies security bug. within the IDE and provides custom guidance to developers in reducing defects in future development. Build Secure eLibrary is an online portal containing a suite of software security training classes. Enterprise Security Portal tracks identified security bugs and checks for omissions to ensure a thorough analysis of the software. They also do research, for example, in a 2009 study, they found that poker games such as Texas Hold 'em involve considerable skill. 9
  10. 10. ConCAT ConQAT analyses are usually executed on a command line in batch mode. Beside the application in software quality audits it is also often used integrated into a nightly build of a system. ConQAT implements processors (so called Scopes) to read data from different sources, such as source code or binary code files as well as from issue trackers or version managementsystems.Lexer processors and other pre-processing operations are available. ConQAT implements algorithms for detecting redundancy, architecture analysis etc. in own processors/blocks. Furthermore, it integrates established tools, like FindBugs, FxCop etc. using processors that read their output formats. Although ConQAT supports different output formats (e.g. XML), usually generated HTML files are used to present the analysis results. Visualizations like different types of diagrams, treemaps, architecture diagrams etc. 10
  11. 11. DMS Toolkit 11 DMS has been used to implement aa wwiiddee vvaarriieettyy ooff pprraaccttiiccaall ttoooollss,, iinncclluuddee ddoommaaiinn--ssppeecciiffiicc llaanngguuaaggeess ((tteesstt ccoovveerraaggee aanndd pprrooffiilliinngg ttoooollss,, cclloonnee ddeetteeccttiioonn,, llaanngguuaaggee mmiiggrraattiioonn ttoooollss,, CC++++ ccoommppoonneenntt rreeeennggiinneeeerriinngg..,,aanndd ffoorr rreesseeaarrcchh iinnttoo ddiiffffiiccuulltt ttooppiiccss ssuucchh aass rreeffaaccttoorriinngg CC++++ rreelliiaabbllyy.. TThhee ttoooollkkiitt pprroovviiddeess mmeeaannss ffoorr ddeeffiinniinngg llaanngguuaaggee ggrraammmmaarrss aanndd wwiillll pprroodduuccee ppaarrsseerrss wwhhiicchh aauuttoommaattiiccaallllyy ccoonnssttrruucctt aabbssttrraacctt ssyynnttaaxx ttrreeeess ((AASSTTss)),, aanndd pprreettttyypprriinntteerrss ttoo ccoonnvveerrtt oorriiggiinnaall oorr mmooddiiffiieedd AASSTTss bbaacckk iinnttoo ccoommpplliiaabbllee ssoouurrccee tteexxtt.. TThhee ppaarrssee ttrreeeess ccaappttuurree,, aanndd tthhee pprreettttyypprriinntteerrss rreeggeenneerraattee,, ccoommpplleettee ddeettaaiill aabboouutt tthhee oorriiggiinnaall ssoouurrccee pprrooggrraamm,, iinncclluuddiinngg ssoouurrccee ppoossiittiioonn,, ccoommmmeennttss,, rraaddiixx aanndd ffoorrmmaatt ooff nnuummbbeerrss,, eettcc..,, ttoo eennssuurree tthhaatt rreeggeenneerraatteedd ssoouurrccee tteexxtt iiss aass rreeccooggnniizzaabbllee ttoo aa pprrooggrraammmmeerr aass tthhee oorriiggiinnaall tteexxtt mmoodduulloo aannyy aapppplliieedd ttrraannssffoorrmmaattiioonnss..
  12. 12. Fortify Software FFoorrttiiffyy SSooffttwwaarree'' kknnoowwnn nnooww aass FFoorrttiiffyy wwaass aa CCaalliiffoorrnniiaa--bbaasseedd ssooffttwwaarree sseeccuurriittyy vveennddoorr,, ffoouunnddeedd iinn 22000033 aanndd aaccqquuiirreedd bbyy HHeewwlleetttt--PPaacckkaarrdd iinn 22001100..FFoorrttiiffyy iiss nnooww ppaarrtt ooff HHPP EEnntteerrpprriissee SSeeccuurriittyy PPrroodduuccttss iinn tthhee HHPP SSooffttwwaarree bbuussiinneessss,, pprroovviiddiinngg aapppplliiccaattiioonn sseeccuurriittyy pprroodduuccttss aanndd sseerrvviicceess ffoorr eenntteerrpprriissee ccuussttoommeerrss ttoo aasssseessss,, aassssuurree aanndd pprrootteecctt eenntteerrpprriissee ssooffttwwaarree aanndd aapppplliiccaattiioonnss ffrroomm sseeccuurriittyy vvuullnneerraabbiilliittiieess.. FFoorrttiiffyy ccrreeaatteedd aa SSeeccuurriittyy RReesseeaarrcchh GGrroouupp wwhhiicchh mmaaiinnttaaiinneedd tthhee JJaavvaa OOppeenn RReevviieeww pprroojjeecctt aanndd tthhee VVuullnnccaatt ttaaxxoonnoommyy ooff sseeccuurriittyy vvuullnneerraabbiilliittiieess iinn aaddddiittiioonn ttoo tthhee sseeccuurriittyy rruulleess ffoorr FFoorrttiiffyy''ss aannaallyyssiiss ssooffttwwaarree.. 12
  13. 13. IBM Security AppScan 13 IIBBMM SSeeccuurriittyy AAppppSSccaann pprreevviioouussllyy kknnoowwnn aass IIBBMM RRaattiioonnaall AAppppSSccaann iiss aa ffaammiillyy ooff wweebb sseeccuurriittyy tteessttiinngg aanndd mmoonniittoorriinngg ttoooollss ffrroomm tthhee RRaattiioonnaall SSooffttwwaarree ddiivviissiioonn ooff IIBBMM.. AAppppSSccaann iiss iinntteennddeedd ttoo tteesstt WWeebb aapppplliiccaattiioonnss ffoorr sseeccuurriittyy vvuullnneerraabbiilliittiieess dduurriinngg tthhee ddeevveellooppmmeenntt pprroocceessss,, wwhheenn iitt iiss lleeaasstt eexxppeennssiivvee ttoo ffiixx ssuucchh pprroobblleemmss.. TThhee pprroodduucctt lleeaarrnnss tthhee bbeehhaavviioouurr ooff eeaacchh aapppplliiccaattiioonn,, wwhheetthheerr aann ooffff-- tthhee--sshheellff aapppplliiccaattiioonn oorr iinntteerrnnaallllyy ddeevveellooppeedd,, aanndd ddeevveellooppss aa pprrooggrraamm iinntteennddeedd ttoo tteesstt aallll ooff iittss ffuunnccttiioonnss ffoorr bbootthh ccoommmmoonn aanndd aapppplliiccaattiioonn--ssppeecciiffiicc vvuullnneerraabbiilliittiieess..
  14. 14. Klocwork 14 KKllooccwwoorrkk iiss aa ssooffttwwaarree ccoommppaannyy wwiitthh hheeaaddqquuaarrtteerrss iinn BBuurrlliinnggttoonn,, MMAA aanndd RR&&DD bbaasseedd iinn OOttttaawwaa,, OONN,, CCaannaaddaa.. KKllooccwwoorrkk wwaass ffoouunnddeedd iinn 22000011 aass aa ssppiinn--oouutt ooff NNoorrtteell NNeettwwoorrkkss aanndd hhaass oovveerr 11,,000000 ccuussttoommeerrss[[11]] wwhhoo uussee iittss ssooffttwwaarree ddeevveellooppmmeenntt ttoooollss.. KKllooccwwoorrkk ssaayyss tthheeiirr ttooooll hheellpp ""ddeevveellooppeerrss ccrreeaattee mmoorree sseeccuurree aanndd rreelliiaabbllee ssooffttwwaarree bbyy aannaallyyzziinngg ssoouurrccee ccooddee oonn--tthhee--ffllyy,, ssiimmpplliiffyyiinngg ppeeeerr ccooddee rreevviieewwss,, aanndd eexxtteennddiinngg tthhee lliiffee ooff ccoommpplleexx ssooffttwwaarree..”” KKllooccwwoorrkk iiss aa ssttaattiicc ccooddee aannaallyyssiiss ttooooll uusseedd ttoo iiddeennttiiffyy sseeccuurriittyy,, ssaaffeettyy aanndd rreelliiaabbiilliittyy iissssuueess iinn CC,, CC++++,, JJaavvaa aanndd CC## ccooddee.. TThhee pprroodduucctt iinncclluuddeess nnuummeerroouuss ddeesskkttoopp pplluugg--iinnss ffoorr ddeevveellooppeerrss,, mmeettrriiccss aanndd rreeppoorrttiinngg..
  15. 15. LDRA Testlab STATIC ANALYSIS initiates LDRA Testbed activity by undertaking lexical and syntactic aannaallyyssiiss ooff tthhee ssoouurrccee ccooddee ffoorr aa ssiinnggllee ffiillee oorr aa ccoommpplleettee ssyysstteemm.. TThhee eennffoorrcceemmeenntt ooff pprrooggrraammmmiinngg ssttaannddaarrddss ((oorr ccooddiinngg ssttaannddaarrddss)) iiss ccoommmmoonnllyy rreeggaarrddeedd aass ggoooodd pprraaccttiiccee.. TThhee aaddhheerreennccee ttoo ssuucchh ssttaannddaarrddss ccaann bbee aauuttoommaattiiccaallllyy cchheecckkeedd bbyy pprroodduuccttss lliikkee LLDDRRAA TTeessttbbeedd.. MMaaiinn SSttaattiicc AAnnaallyyssiiss sseeaarrcchheess tthhee ssoouurrccee ccooddee ffoorr aannyy PPrrooggrraammmmiinngg SSttaannddaarrddss VViioollaattiioonnss,, bbyy cchheecckkiinngg tthhee ssoouurrccee ffiillee((ss)) aaggaaiinnsstt tthhee ssuuppeerrsseett ssuupppplliieedd wwiitthh LLDDRRAA TTeessttbbeedd,, TThhiiss ssyysstteemm ccaann bbee ccoonnffiigguurreedd ffoorr:: UUsseerr ddeeffiinnaabbllee ffiilltteerrss –– sswwiittcchh ssttaannddaarrddss oonn oorr ooffff CChhaannggee ssttaannddaarrddss ffrroomm mmaannddaattoorryy ttoo ooppttiioonnaall oorr vviiccee--vveerrssaa.. UUssee aannnnoottaattiioonnss ttoo sswwiittcchh ooffff ssttaannddaarrddss ffoorr ssppeecciiffiicc iinnssttaanncceess ooff vviioollaattiioonnss.. LLDDRRAA TTeessttbbeedd rreeppoorrttss vviioollaattiioonnss ooff tthhee cchhoosseenn sseett ooff ssttaannddaarrddss iinn bbootthh tteexxttuuaall rreeppoorrttss aanndd aass aannnnoottaattiioonnss ttoo ggrraapphhiiccaall ddiissppllaayyss.. 15
  16. 16. MALPAS 16 The MALPAS toolset comprises five specific analysis tools that address various properties of a program. The input to the analysers needs to be wwrriitttteenn iinn MMAALLPPAASS IInntteerrmmeeddiiaattee LLaanngguuaaggee ((IILL));; tthhiiss ccaann bbee hhaanndd--wwrriitttteenn oorr pprroodduucceedd bbyy aann aauuttoommaatteedd ttrraannssllaattiioonn ttooooll ffrroomm tthhee oorriiggiinnaall ssoouurrccee ccooddee.. AAuuttoommaattiicc ttrraannssllaattoorrss eexxiisstt ffoorr ccoommmmoonn hhiigghh--lleevveell pprrooggrraammmmiinngg llaanngguuaaggeess ssuucchh aass AAddaa,, CC aanndd PPaassccaall,, aass wweellll aass aasssseemmbblleerr llaanngguuaaggeess ssuucchh aass IInntteell 8800**8866,, PPoowweerrPPCC aanndd 6688000000.. TThhee IILL tteexxtt iiss iinnppuutt iinnttoo MMAALLPPAASS vviiaa tthhee ""IILL RReeaaddeerr"",, wwhhiicchh ccoonnssttrruuccttss aa ddiirreecctteedd ggrraapphh aanndd aassssoocciiaatteedd sseemmaannttiiccss ffoorr tthhee pprrooggrraamm uunnddeerr aannaallyyssiiss.. TThhee ggrraapphh iiss rreedduucceedd uussiinngg aa sseerriieess ooff ggrraapphh rreedduuccttiioonn tteecchhnniiqquueess.. TThhee MMAALLPPAASS ttoooollsseett ccoonnssiissttss ooff 55 aannaallyysseerrss:: CCoonnttrrooll FFllooww AAnnaallyysseerr.. TThhiiss eexxaammiinneess tthhee pprrooggrraamm ssttrruuccttuurree,, iiddeennttiiffyyiinngg kkeeyy ffeeaattuurreess:: EEnnttrryy//EExxiitt ppooiinnttss,, LLooooppss,, BBrraanncchheess aanndd uunnrreeaacchhaabbllee ccooddee.. IItt pprroovviiddeess aa ssuummmmaarryy rreeppoorrtt ddrraawwiinngg aatttteennttiioonn ttoo uunnddeessiirraabbllee ccoonnssttrruuccttss aanndd aann iinnddiiccaattiioonn ooff tthhee ccoommpplleexxiittyy ooff tthhee pprrooggrraamm ssttrruuccttuurree.. DDaattaa UUssee AAnnaallyysseerr.. TThhiiss sseeppaarraatteess tthhee vvaarriiaabblleess aanndd ppaarraammeetteerrss uusseedd bbyy tthhee pprrooggrraamm iinnttoo ddiissttiinncctt ccllaasssseess ddeeppeennddiinngg uuppoonn tthheeiirr uussee.. ((ii..ee.. DDaattaa tthhaatt iiss rreeaadd bbeeffoorree bbeeiinngg wwrriitttteenn,, DDaattaa tthhaatt iiss wwrriitttteenn wwiitthhoouutt bbeeiinngg rreeaadd oorr DDaattaa tthhaatt iiss wwrriitttteenn ttwwiiccee wwiitthhoouutt aann iinntteerrvveenniinngg rreeaadd)).. TThhee rreeppoorrtt ccaann iiddeennttiiffyy eerrrroorrss ssuucchh aass uunniinniittiiaalliizzeedd ddaattaa aanndd ffuunnccttiioonn oouuttppuuttss nnoott wwrriitttteenn oonn aallll ppaatthhss.. IInnffoorrmmaattiioonn FFllooww AAnnaallyysseerr.. TThhiiss iiddeennttiiffiieess tthhee ddaattaa aanndd bbrraanncchh ddeeppeennddeenncciieess ffoorr eeaacchh oouuttppuutt vvaarriiaabbllee oorr ppaarraammeetteerr.. UUnnwwaanntteedd oorr uunneexxppeecctteedd ddeeppeennddeenncciieess ccaann bbee rreevveeaalleedd ffoorr aallll ppaatthhss tthhrroouugghh tthhee ccooddee.. IInnffoorrmmaattiioonn iiss aallssoo pprroovviiddeedd rreeggaarrddiinngg uunnuusseedd vvaarriiaabblleess aanndd rreedduunnddaanntt ssttaatteemmeennttss.. SSeemmaannttiicc AAnnaallyysseerr ((aallssoo kknnoowwnn aass ssyymmbboolliicc eexxeeccuuttiioonn)).. TThhiiss rreevveeaallss tthhee eexxaacctt ffuunnccttiioonnaall rreellaattiioonnsshhiipp bbeettwweeeenn aallll iinnppuuttss aanndd oouuttppuuttss oovveerr aallll sseemmaannttiiccaallllyy--ffeeaassiibbllee ppaatthhss tthhrroouugghh tthhee ccooddee.. CCoommpplliiaannccee AAnnaallyysseerr.. TThhiiss ccoommppaarreess tthhee mmaatthheemmaattiiccaall bbeehhaavviioouurr ooff tthhee ccooddee wwiitthh iittss ffoorrmmaall IILL ssppeecciiffiiccaattiioonn,, ddeettaaiilliinngg wwhheerree oonnee ddiiffffeerrss ffrroomm tthhee ootthheerr.. TThhee IILL ssppeecciiffiiccaattiioonn iiss wwrriitttteenn aass PPrreeccoonnddiittiioonnss aanndd PPoossttccoonnddiittiioonnss,, aass wweellll aass ooppttiioonnaall ccooddee aasssseerrttiioonnss.. CCoommpplliiaannccee aannaallyyssiiss ccaann bbee uusseedd ttoo ggaaiinn aa vveerryy hhiigghh lleevveell ooff ccoonnffiiddeennccee iinn tthhee ffuunnccttiioonnaall ccoorrrreeccttnneessss ooff tthhee ccooddee iinn rreellaattiioonn ttoo iittss ssppeecciiffiiccaattiioonn..
  17. 17. MOOSE M The philosophy of Moose is to enable the analyst to produce new dedicated analysis tools, and to customize the flow of analysis. While Moooossee iiss mmaaiinnllyy uusseedd iinn ssooffttwwaarree aannaallyyssiiss,, iitt iiss bbuuiilltt ttoo wwoorrkk ffoorr aannyy ddaattaa.. TToo aacchhiieevvee tthhiiss iitt ooffffeerrss mmuullttiippllee mmeecchhaanniissmmss aanndd ffrraammeewwoorrkkss:: IImmppoorrttiinngg aanndd mmeettaa--mmeettaa--mmooddeelliinngg iiss aacchhiieevveedd tthhrroouugghh aa ggeenneerriicc mmeettaa--ddeessccrriibbeedd eennggiinnee..AAnnyy mmeettaa--mmooddeell iiss ddeessccrriibbeedd iinn tteerrmmss ooff aa sseellff--ddeessccrriibbeedd mmeettaa--mmeettaa--mmooddeell,, aanndd bbaasseedd oonn tthhiiss ddeessccrriippttiioonn,, tthhee iimmppoorrtt//eexxppoorrtt iiss pprroovviiddeedd tthhrroouugghh tthhee MMSSEE ffiillee ffoorrmmaatt.. TThhrroouugghh tthhiiss ffiillee ffoorrmmaatt,, MMoooossee ccaann eexxcchhaannggee ddaattaa wwiitthh eexxtteerrnnaall ttoooollss.. FFoorr ppaarrssiinngg,, MMoooossee pprroovviiddeess aa nnoovveell ffrraammeewwoorrkk tthhaatt mmaakkeess uussee ooff sseevveerraall ppaarrssiinngg tteecchhnnoollooggiieess aanndd tthhaatt pprroovviiddeess aa fflluueenntt iinntteerrffaaccee ffoorr eeaassyy ccoonnssttrruuccttiioonn.. SSooffttwwaarree aannaallyyssiiss iiss ssppeecciiffiiccaallllyy ssuuppppoorrtteedd tthhrroouugghh tthhee FFAAMMIIXX ffaammiillyy ooff mmeettaa--mmooddeellss.. TThhee ccoorree ooff FFAAMMIIXX iiss aa llaanngguuaaggee iinnddeeppeennddeenntt mmeettaa--mmooddeell tthhaatt iiss ssiimmiillaarr ttoo UUMMLL bbuutt iitt iiss ffooccuusseedd oonn aannaallyyssiiss.. FFuurrtthheerrmmoorree,, iitt pprroovviiddeess rriicchh iinntteerrffaaccee ffoorr qquueerryyiinngg mmooddeellss.. VViissuuaalliizzaattiioonn iiss ssuuppppoorrtteedd tthhrroouugghh ttwwoo ddiiffffeerreenntt eennggiinneess:: oonnee ffoorr eexxpprreessssiinngg ggrraapphh vviissuuaalliizzaattiioonnss,,aanndd oonnee ffoorr eexxpprreessssiinngg cchhaarrttss.. TThheeyy bbootthh pprroovviiddee aa fflluueenntt iinntteerrffaaccee ffoorr eeaassyy ccoonnssttrruuccttiioonn.. BBrroowwssiinngg iiss aann iimmppoorrttaanntt pprriinncciippllee iinn MMoooossee,, aanndd iitt iiss ssuuppppoorrtteedd iinn mmuullttiippllee wwaayyss aass wweellll.. AA ggeenneerriicc iinntteerrffaaccee eennaabblleess tthhee aannaallyysstt ttoo bbrroowwssee aannyy mmooddeell.. TToo bbee aabbllee ttoo ssppeecciiffyy ssppeecciiffiicc bbrroowwsseerrss,, MMoooossee ooffffeerrss aa ggeenneerriicc eennggiinnee tthhaatt eeaasseess tthhee ssppeecciiffiiccaattiioonn tthhrroouugghh aa ssppeecciiffiicc fflluueenntt iinntteerrffaaccee.. 17
  18. 18. PARASOFT Parasoft develops automated defect prevention technologies tthhaatt ssuuppppoorrtt tthhee AAuuttoommaatteedd DDeeffeecctt PPrreevveennttiioonn mmeetthhooddoollooggyy ddeevveellooppeedd bbyy AAddaammKKoollaawwaa..TThheessee tteecchhnnoollooggiieess aauuttoommaattee aa nnuummbbeerr ooff ddeeffeecctt pprreevveennttiioonn pprraaccttiicceess ffoorr JJaavvaa,, CC aanndd CC++++,, aanndd ..NNEETT.. TThhee ssttaattiicc ccooddee aannaallyyssiiss pprraaccttiiccee iiddeennttiiffiieess ccooddiinngg iissssuueess tthhaatt lleeaadd ttoo sseeccuurriittyy,, rreelliiaabbiilliittyy,, ppeerrffoorrmmaannccee,, aanndd mmaaiinnttaaiinnaabbiilliittyy iissssuueess llaatteerr oonn.. IInn 11999966,, PPaarraassoofftt ssuubbmmiitttteedd aa ppaatteenntt aapppplliiccaattiioonn ffoorr tthheeiirr rruullee--bbaasseedd ssttaattiicc ccooddee aannaallyyssiiss.. SSiinnccee tthheenn,, tthhee oorriiggiinnaall ssttaattiicc aannaallyyssiiss tteecchhnnoollooggyy hhaass bbeeeenn eexxtteennddeedd ttoo iinncclluuddee sseeccuurriittyy ssttaattiicc aannaallyyssiiss,, ddaattaa ffllooww aannaallyyssiiss,, aanndd ssooffttwwaarreemmeettrriiccss..IInn 11999966,, PPaarraassoofftt ssuubbmmiitttteedd ppaatteenntt aapppplliiccaattiioonnss ffoorr tteecchhnnoollooggyy tthhaatt aauuttoommaattiiccaallllyy ggeenneerraatteess uunniitt tteesstt ccaasseess..SSiinnccee tthheenn,, tthhee oorriiggiinnaall uunniitt tteessttiinngg tteecchhnnoollooggyy hhaass bbeeeenn eexxtteennddeedd ttoo iinncclluuddee ccooddee ccoovveerraaggee aannaallyyssiiss,, rreeggrreessssiioonn tteessttiinngg,, aanndd ttrraacceeaabbiilliittyy..TThhee ppeeeerr ccooddee rreevviieeww pprraaccttiiccee iinnvvoollvveess mmaannuuaallllyy iinnssppeeccttiinngg ssoouurrccee ccooddee ttoo eexxaammiinnee aallggoorriitthhmmss,, rreevviieeww ddeessiiggnn,, aanndd sseeaarrcchh ffoorr ssuubbttllee eerrrroorrss tthhaatt aauuttoommaatteedd ttoooollss ccaannnnoott ddeetteecctt.. 18
  19. 19. COPY/PASTE DETECTOR(CPD) PPMMDD iiss aa ssttaattiicc rruullee--sseett bbaasseedd JJaavvaa ssoouurrccee ccooddee aannaallyyzzeerr tthhaatt iiddeennttiiffiieess ppootteennttiiaall pprroobblleemmss lliikkee:: PPoossssiibbllee bbuuggss——EEmmppttyy ttrryy//ccaattcchh//ffiinnaallllyy//sswwiittcchh bblloocckkss.. DDeeaadd ccooddee——UUnnuusseedd llooccaall vvaarriiaabblleess,, ppaarraammeetteerrss aanndd pprriivvaattee mmeetthhooddss.. EEmmppttyy iiff//wwhhiillee ssttaatteemmeennttss.. OOvveerrccoommpplliiccaatteedd eexxpprreessssiioonnss——UUnnnneecceessssaarryy iiff ssttaatteemmeennttss,, ffoorr llooooppss tthhaatt ccoouulldd bbee wwhhiillee llooooppss.. SSuubbooppttiimmaall ccooddee——WWaasstteeffuull SSttrriinngg//SSttrriinnggBBuuffffeerr uussaaggee.. CCllaasssseess wwiitthh hhiigghh CCyycclloommaattiiccCCoommpplleexxiittyy mmeeaassuurreemmeennttss.. DDuupplliiccaattee ccooddee——CCooppiieedd//ppaasstteedd ccooddee ccaann mmeeaann ccooppiieedd//ppaasstteedd bbuuggss,, aanndd ddeeccrreeaasseess mmaaiinnttaaiinnaabbiilliittyy.. 19
  20. 20. Polyspace PPoollyyssppaaccee iiss aa ssttaattiicc ccooddee aannaallyyssiiss ttooooll ffoorr llaarrggee--ssccaallee aannaallyyssiiss bbyy aabbssttrraacctt iinntteerrpprreettaattiioonn ttoo ddeetteecctt,, oorr pprroovvee tthhee aabbsseennccee ooff,, cceerrttaaiinn rruunn--ttiimmee eerrrroorrss iinn ssoouurrccee ccooddee ffoorr tthhee CC,, CC++++,, aanndd AAddaa pprrooggrraammmmiinngg llaanngguuaaggeess.. TThhee ttooooll aallssoo cchheecckkss ssoouurrccee ccooddee ffoorr aaddhheerreennccee ttoo aapppprroopprriiaattee ccooddee ssttaannddaarrddss.. TThhee pprroodduucctt ffaammiillyy ccoonnssiissttss ooff PPoollyyssppaaccee CCooddee PPrroovveerr aanndd PPoollyyssppaaccee BBuugg FFiinnddeerr.. TThhee CCooddee PPrroovveerr mmoodduullee aannnnoottaatteess ssoouurrccee ccooddee wwiitthh aa ccoolloorr--ccooddiinngg sscchheemmee ttoo iinnddiiccaattee tthhee ssttaattuuss ooff eeaacchh eelleemmeenntt iinn tthhee ccooddee..IItt uusseess ffoorrmmaall mmeetthhooddss--bbaasseedd ssttaattiicc ccooddee aannaallyyssiiss ttoo vveerriiffyy pprrooggrraamm eexxeeccuuttiioonn aatt tthhee llaanngguuaaggee lleevveell.. TThhee ttooooll cchheecckkss eeaacchh ccooddee iinnssttrruuccttiioonn bbyy ttaakkiinngg iinnttoo aaccccoouunntt aallll ppoossssiibbllee vvaalluueess ooff eevveerryy vvaarriiaabbllee aatt eevveerryy ppooiinntt iinn tthhee ccooddee,, pprroovviiddiinngg aa ffoorrmmaall ddiiaaggnnoossttiicc ffoorr eeaacchh ooppeerraattiioonn iinn tthhee ccooddee uunnddeerr bbootthh nnoorrmmaall aanndd aabbnnoorrmmaall uussaaggee ccoonnddiittiioonnss.. 20
  21. 21. Pretty Diff PPrreettttyy DDiiffff iiss aa llaanngguuaaggee--aawwaarree ddaattaaccoommppaarriissoonn uuttiilliittyy iimmpplleemmeenntteedd iinn JJaavvaaSSccrriipptt.. TThhee oonnlliinnee uuttiilliittyy iiss ccaappaabbllee ooff ssoouurrccee ccooddee bbeeaauuttiiffiiccaattiioonn,, mmiinniiffiiccaattiioonn,, aanndd ccoommppaarriissoonn ooff ttwwoo ppiieecceess ooff iinnppuutt tteexxtt.. IItt ooppeerraatteess bbyy rreemmoovviinngg ccooddee ccoommmmeennttss ffrroomm ssuuppppoorrtteedd llaanngguuaaggeess aanndd tthheenn ppeerrffoorrmmss aa pprreettttyy--pprriinntt ooppeerraattiioonn pprriioorr ttoo eexxeeccuuttiinngg tthhee ddiiffff aallggoorriitthhmm.. AAnn aabbbbrreevviiaatteedd lliisstt ooff uunniitt tteessttss iiss pprroovviiddeedd..TThhee ddooccuummeennttaattiioonn ccllaaiimmss tthhee JJaavvaaSSccrriipptt pprreettttyy--pprriinntt ooppeerraattiioonn ccoonnffoorrmmss ttoo tthhee rreeqquuiirreemmeennttss ooff JJSSLLiinntt.. AAss PPrreettttyy DDiiffff iiss wwrriitttteenn eennttiirreellyy iinn JJaavvaaSSccrriipptt,, tthhee aapppplliiccaattiioonn eexxeeccuutteess iinn aa wweebb bbrroowwsseerr oorr oonn ccoommmmaanndd lliinnee uussiinngg aa ssttaanndd aalloonnee JJaavvaaSSccrriipptt iinntteerrpprreetteerr,, ssuucchh aass NNooddee..jjss oorr wwiitthh WWSSHH pprroovviiddeedd aa ..wwssff ffiillee.. AA NNPPMM ppaacckkaaggee iiss pprroovviiddeedd ffoorr uussee wwiitthh NNooddee..jjss.. TThhee ssoouurrccee ccooddee iiss ppuubblliisshheedd aatt tthhee PPrreettttyy DDiiffff GGiittHHuubb rreeppoossiittoorryy.. 21
  22. 22. SonarQube FFEEAATTUURREESS-- SSuuppppoorrttss 2255++ llaanngguuaaggeess:: JJaavvaa,, CC//CC++++,, OObbjjeeccttiivvee--CC,, CC##,, PPHHPP,, FFlleexx,, GGrroooovvyy,, JJaavvaaSSccrriipptt,, PPyytthhoonn,, PPLL//SSQQLL,, CCOOBBOOLL,, CCaann aallssoo bbee uusseedd iinn AAnnddrrooiidd ddeevveellooppmmeenntt.. OOffffeerrss rreeppoorrttss oonn dduupplliiccaatteedd ccooddee,, ccooddiinngg ssttaannddaarrddss,, uunniitt tteessttss,, ccooddee ccoovveerraaggee,, ccoommpplleexx ccooddee,, ppootteennttiiaall bbuuggss,, ccoommmmeennttss aanndd ddeessiiggnn aanndd aarrcchhiitteeccttuurree.. RReeccoorrddss mmeettrriiccss hhiissttoorryy aanndd pprroovviiddeess eevvoolluuttiioonn ggrraapphhss ((""ttiimmee mmaacchhiinnee"")) aanndd ddiiffffeerreennttiiaall vviieewwss.. IInntteeggrraatteess wwiitthh eexxtteerrnnaall ttoooollss:: JJIIRRAA,, MMaannttiiss,, LLDDAAPP,, FFoorrttiiffyy,, IImmpplleemmeennttss tthhee SSQQAALLEE mmeetthhooddoollooggyy ttoo ccoommppuuttee tteecchhnniiccaall ddeebbtt.. SSuuppppoorrttss TToommccaatt.. HHoowweevveerr,, eenndd ooff ssuuppppoorrtt ttoo TToommccaatt iiss ppllaannnneedd ffoorr SSoonnaarrQQuubbee 44..11.. TThhee ssttaannddaalloonnee mmooddee iiss nnooww tthhee oonnllyy mmooddee tthhaatt iiss ssuuppppoorrtteedd.. TThhee ssttaannddaalloonnee mmooddee eemmbbeeddss aa TToommccaatt sseerrvveerr.. 22
  23. 23. Sotoarc SSoottooaarrcc iiss aa ccoommmmeerrcciiaall ssttaattiicc ccooddee aannaallyyssiiss ttooooll ffoorr ssooffttwwaarree aarrcchhiitteeccttss.. IItt ggrraapphhiiccaallllyy vviissuuaalliizzeess tthhee ssttaattiicc ssttrruuccttuurree ooff ssooffttwwaarree ssyysstteemmss wwrriitttteenn iinn JJaavvaa,, CC## oorr iinn CC++++ ccooddee.. TThhee ccooddee ssttrruuccttuurree iiss ddiissppllaayyeedd aass hhiieerraarrcchhiieess ((ttrreeeess)) ooff mmoodduulleess,, ppaacckkaaggeess aanndd ffiilleess.. BBeessiiddeess tthhee uusseerr ccaann ddeessccrriibbee bbyy ggrraapphhiiccaall mmeeaannss tthhee ssppeecciiffiieedd ssooffttwwaarree aarrcchhiitteeccttuurree ooff aa ssooffttwwaarree ssyysstteemm.. BByy ddooiinngg ssoo tthhee ttooooll iiss iimmmmeeddiiaatteellyy ccoommppaarriinngg tthhiiss iinntteennddeedd aarrcchhiitteeccttuurree wwiitthh tthhee iimmpplleemmeenntteedd ccooddee ssttrruuccttuurree aanndd iiss hhiigghhlliigghhttiinngg aallll aarrcchhiitteeccttuurree vviioollaattiioonnss ((ii..ee.. aallll ccooddee rreeffeerreenncceess aanndd ddeeppeennddeenncciieess wwhhiicchh ddoo nnoott ccoorrrreessppoonndd ttoo tthhee iinntteennddeedd aarrcchhiitteeccttuurree..)) 23
  24. 24. SQuORE SSQQuuOORREE iiss aa bbuussiinneessss iinntteelllliiggeennccee aanndd ssttaattiicc ccooddee aannaallyyssiiss ttooooll ffoorr ssooffttwwaarree pprroojjeeccttss.. IItt ggaatthheerrss iinnffoorrmmaattiioonn ffrroomm ddiiffffeerreenntt aarrtteeffaaccttss ttyyppeess ((ee..gg.. ssoouurrccee ccooddee,, tteesstt rreessuullttss,, bbuugg ttrraacckkiinngg ssyysstteemm)) aanndd ttoooollss ((rreeaaddss oouuttppuuttss ooff CChheecckkssttyyllee,, PPMMDD,, FFiinnddBBuuggss,, PPoollyyssppaaccee,, CCoovveerriittyy oorr SSoonnaarrQQuubbee)) aanndd ppuubblliisshheess aa ssuummmmaarriisseedd vviieeww ooff tthhee pprroojjeecctt qquuaalliittyy oorr pprrooggrreessss.. TThhee qquuaalliittyy mmooddeell uusseedd ffoorr aannaallyyssiiss iiss ffuullllyy ccuussttoommiissaabbllee,, aanndd mmaannyy ddiiffffeerreenntt qquuaalliittyy mmooddeellss hhaavvee bbeeeenn iimmpplleemmeenntteedd:: SSQQAALLEE,, IISSOO99112266 mmaaiinnttaaiinnaabbiilliittyy,, EEuurrooppeeaann CCooooppeerraattiioonn ffoorr SSppaaccee SSttaannddaarrddiizzaattiioonn oorr HHIISS AAuuttoommoottiivvee ggrroouupp.. IItt iiss uusseedd iinn tthhee iinndduussttrryy aanndd aaccaaddeemmiicc rreesseeaarrcchh ffoorr ssooffttwwaarree eennggiinneeeerriinngg aanndd ddaattaa mmiinniinngg rreellaatteedd ccoonncceerrnnss.. 24
  25. 25. Veracode 25 Veracode offers security assessments ooff aapppplliiccaattiioonnss tthhrroouugghh aa vvaarriieettyy ooff tteecchhnnoollooggiieess,, iinncclluuddiinngg ssttaattiicc ccooddee aannaallyyssiiss oonn ccoommppiilleedd bbiinnaarryyeexxeeccuuttaabblleess oorr bbyytteeccooddee;; ddyynnaammiicc wweebb aapppplliiccaattiioonn aannaallyyssiiss;; aanndd mmaannuuaall ppeenneettrraattiioonn tteessttiinngg aanndd ssoouurrccee ccooddee rreevviieeww.. TThhee ccaappaabbiilliittiieess aarree ddeelliivveerreedd tthhrroouugghh aa ssooffttwwaarree aass aa sseerrvviiccee ppllaattffoorrmm aanndd aarree ssoolldd bbyy ssuubbssccrriippttiioonn.. UUssiinngg tthhee VVeerraaccooddee ppllaattffoorrmm,, uusseerrss ccaann ddeetteecctt aanndd ttrriiaaggee ffllaawwss,, ggeett aa sseeccuurriittyy rraattiinngg,, aanndd rreevviieeww ffiinnddiinnggss aanndd mmeettrriiccss aabboouutt tthheeiirr aapppplliiccaattiioonnss.. VVeerraaccooddee ssuuppppoorrttss aannaallyyssiiss ooff bbiinnaarriieess,, bbyytteeccooddee,, aanndd ootthheerr aapppplliiccaattiioonn ffoorrmmaattss iinn aa vvaarriieettyy ooff ddiiffffeerreenntt llaanngguuaaggeess,, ppllaattffoorrmmss,, aanndd ccoommppiilleerrss,, iinncclluuddiinngg CC,, CC++++,, JJaavvaa,, ..NNEETT bbyytteeccooddee,, PPHHPP,, CCoollddFFuussiioonn,, RRuubbyy oonn RRaaiillss,, WWiinnddoowwss MMoobbiillee,, BBllaacckkBBeerrrryy,, AAnnddrrooiidd,, aanndd iiOOSS..
  26. 26. Yasca YYaassccaa iiss aann ooppeenn ssoouurrccee pprrooggrraamm wwhhiicchh llooookkss ffoorr sseeccuurriittyy vvuullnneerraabbiilliittiieess,, ccooddee--qquuaalliittyy,, ppeerrffoorrmmaannccee,, aanndd ccoonnffoorrmmaannccee ttoo bbeesstt pprraaccttiicceess iinn pprrooggrraamm ssoouurrccee ccooddee.. IItt lleevveerraaggeess eexxtteerrnnaall ooppeenn ssoouurrccee pprrooggrraammss,, ssuucchh aass FFiinnddBBuuggss,, PPMMDD,, JJLLiinntt,, JJaavvaaSSccrriipptt LLiinntt,, PPHHPPLLiinntt,, CCppppcchheecckk,, CCllaammAAVV,, PPiixxyy,, aanndd RRAATTSS ttoo ssccaann ssppeecciiffiicc ffiillee ttyyppeess,,aanndd aallssoo ccoonnttaaiinnss mmaannyy ccuussttoomm ssccaannnneerrss ddeevveellooppeedd ffoorr YYaassccaa.. IItt iiss aa ccoommmmaanndd-- lliinnee ttooooll tthhaatt ggeenneerraatteess rreeppoorrttss iinn HHTTMMLL,, CCSSVV,, XXMMLL,, MMyySSQQLL,, SSQQLLiittee,, aanndd ootthheerr ffoorrmmaattss.. IItt iiss lliisstteedd aass aann iinnaaccttiivvee pprroojjeecctt aatt tthhee wweellll--kknnoowwnn OOWWAASSPP sseeccuurriittyy pprroojjeecctt,,aanndd aallssoo iinn aa ggoovveerrnnmmeenntt ssooffttwwaarree sseeccuurriittyy ttoooollss rreevviieeww aatt tthhee UU..SS DDeeppaarrttmmeenntt ooff HHoommeellaanndd SSeeccuurriittyy wweebb ssiittee.. 26
  27. 27. Code Analysis (Veracode) 27
  28. 28. Get on demand code review 28 a Veracode is the world's best automated, on-demand, apppplliiccaattiioonn sseeccuurriittyy tteessttiinngg aanndd ccooddee rreevviieeww ssoolluuttiioonn.. FFoouunnddeedd bbyy eexxppeerrttss ffrroomm sseeccuurriittyy ccoommppaanniieess ssuucchh aass GGuuaarrddeenntt,, SSyymmaanntteecc,, @@ssttaakkee,, aanndd VVeerriiSSiiggnn,, aanndd bbuuiilltt oonn aa SSooffttwwaarree--aass--aa--SSeerrvviiccee mmooddeell -- VVeerraaccooddee ssoolluuttiioonnss ddeelliivveerr aapppplliiccaattiioonn sseeccuurriittyy aanndd aauuttoommaatteedd ccooddee rreevviieeww sseerrvviicceess ffoorr eenntteerrpprriisseess tthhaatt wwaanntt ttoo ccoosstt--eeffffiicciieennttllyy tteesstt ssooffttwwaarree sseeccuurriittyy bbyy iiddeennttiiffyyiinngg ffllaawwss iinn aapppplliiccaattiioonnss.. VVeerraaccooddee hheellppss ddeevveellooppeerrss ccrreeaattee sseeccuurree ssooffttwwaarree bbyy ssccaannnniinngg ccoommppiilleedd ccooddee ((aallssoo ccaalllleedd ““bbiinnaarryy”” oorr ““bbyyttee”” ccooddee)) iinnsstteeaadd ooff ssoouurrccee ccooddee.. TThhiiss iinnnnoovvaattiivvee aapppprrooaacchh eennaabblleess ddeeeeppeerr aanndd mmoorree ccoommpprreehheennssiivvee aapppplliiccaattiioonn sseeccuurriittyy aassssuurraannccee,, ssiinnccee VVeerraaccooddee ccaann ccooddee rreevviieeww bbootthh iinntteerrnnaallllyy ddeevveellooppeedd ssooffttwwaarree aass wweellll aass tthhiirrdd--ppaarrttyy aapppplliiccaattiioonnss tthhaatt mmiigghhtt ootthheerrwwiissee bbee ooffff--lliimmiittss ffoorr rreevviieeww bbeeccaauussee ooff pprroopprriieettaarryy iissssuueess..
  29. 29. Static Code Analysis Veracode offers the industry’s most comprehensive aauuttoommaatteedd ssttaattiicc aannaallyyssiiss ttoooollss,, mmaakkiinngg yyoouurr aapppplliiccaattiioonn ddeevveellooppmmeenntt ffaasstteerr aanndd mmoorree rreelliiaabbllee tthhaann eevveerr bbeeffoorree.. VVeerraaccooddee ssccaannss bbiinnaarryy ccooddee -- ccoommppiilleedd oorr ““bbyyttee”” ccooddee -- aalllloowwiinngg eenntteerrpprriisseess ttoo ssccaann 110000 ppeerrcceenntt ooff aann aapppplliiccaattiioonn,, eevveenn wwhheenn ssoouurrccee iiss nnoott aavvaaiillaabbllee ffoorr pprraaccttiiccaall oorr pprroopprriieettaarryy ccoonnssiiddeerraattiioonnss.. VVeerraaccooddee iiss bbuuiilltt oonn tthhee ssooffttwwaarree--aass--aa-- sseerrvviiccee mmooddeell,, aalllloowwiinngg oorrggaanniizzaattiioonnss ttoo aacccceessss aanndd ssccaallee sseeccuurriittyy tteessttiinngg wwiitthhoouutt tthhee nneeeedd ffoorr ccaappiittaall eexxppeennssee oorr iinnvveessttmmeenntt.. TThheerree iiss nnoo vvuullnneerraabbiilliittyy aasssseessssmmeenntt ssooffttwwaarree oorr hhaarrddwwaarree ttoo ppuurrcchhaassee aanndd nnoo sseeccuurriittyy ppeerrssoonnnneell ttoo ttrraaiinn.. DDeevveellooppeerrss oorr ssooffttwwaarree pprrooccuurreemmeenntt ppeerrssoonnnneell ssuubbmmiitt ccooddee tthhrroouugghh aann oonnlliinnee ppllaattffoorrmm,, aanndd rreessuullttss aarree rreettuurrnneedd wwiitthhiinn 2244 hhoouurrss.. VVeerraaccooddee''ss aauuttoommaatteedd ffoorrmmaatt ggrreeaattllyy rreedduucceess tthhee aammoouunntt ooff eeffffoorrtt aanndd rreessoouurrcceess nneeeeddeedd ttoo ppeerrffoorrmm ssttaattiicc aannaallyyssiiss,, wwhhiillee ggrreeaattllyy iinnccrreeaassiinngg tthhee aaccccuurraaccyy ooff tteesstt rreessuullttss.. 29
  30. 30. Source Code Analysis Veracode provides a truly ccoommpprreehheennssiivvee ssooffttwwaarree sseeccuurriittyy tteessttiinngg ssoolluuttiioonn.. IInn aaddddiittiioonn ttoo ssoouurrccee ccooddee aannaallyyssiiss,, VVeerraaccooddee ooffffeerrss ddyynnaammiicc aapppplliiccaattiioonn sseeccuurriittyy tteessttiinngg aanndd mmaannuuaall ppeenneettrraattiioonn tteessttiinngg ttoo pprroovviiddee ccoommpprreehheennssiivvee tteessttiinngg iinn aann aallll--iinn--oonnee ssoolluuttiioonn.. DDyynnaammiicc aapppplliiccaattiioonn sseeccuurriittyy tteessttiinngg iiss aakkiinn ttoo aann aauuttoommaatteedd ppeenneettrraattiioonn tteesstt.. WWiitthh ggrreeaatteerr ccooddee ccoovveerraaggee aanndd mmoorree aaccccuurraattee rreessuullttss,, VVeerraaccooddee hheellppss eenntteerrpprriisseess aacchhiieevvee bbeetttteerr aapppplliiccaattiioonn sseeccuurriittyy iinn lleessss ttiimmee aanndd mmoorree ccoosstt--eeffffeeccttiivveellyy.. TThhiiss iinn ttuurrnn aalllloowwss ddeevveellooppmmeenntt tteeaammss aanndd ssooffttwwaarree pprrooccuurreemmeenntt tteeaammss ttoo mmeeeett ddeeaaddlliinneess mmoorree eeaassiillyy,, aanndd ttoo eevveenn aacccceelleerraattee ssppeeeedd ttoo mmaarrkkeett.. LLeeaarrnn mmoorree aabboouutt ssoouurrccee ccooddee aannaallyyssiiss wwiitthh VVeerraaccooddee,, aass wweellll aass wweebb aapppplliiccaattiioonn sseeccuurriittyy,, PPCCII ccoommpplliiaannccee,, aanndd mmoorree.. 30
  31. 31. Static Analysis Tools 31 Veracode offers the industry’s most comprehensive aauuttoommaatteedd ssttaattiicc aannaallyyssiiss ttoooollss,, mmaakkiinngg yyoouurr aapppplliiccaattiioonn ddeevveellooppmmeenntt ffaasstteerr aanndd mmoorree rreelliiaabbllee tthhaann eevveerr bbeeffoorree.. VVeerraaccooddee ssccaannss bbiinnaarryy ccooddee -- ccoommppiilleedd oorr ““bbyyttee”” ccooddee -- aalllloowwiinngg eenntteerrpprriisseess ttoo ssccaann 110000 ppeerrcceenntt ooff aann aapppplliiccaattiioonn,, eevveenn wwhheenn ssoouurrccee iiss nnoott aavvaaiillaabbllee ffoorr pprraaccttiiccaall oorr pprroopprriieettaarryy ccoonnssiiddeerraattiioonnss.. VVeerraaccooddee iiss bbuuiilltt oonn tthhee ssooffttwwaarree--aass--aa--sseerrvviiccee mmooddeell,, aalllloowwiinngg oorrggaanniizzaattiioonnss ttoo aacccceessss aanndd ssccaallee sseeccuurriittyy tteessttiinngg wwiitthhoouutt tthhee nneeeedd ffoorr ccaappiittaall eexxppeennssee oorr iinnvveessttmmeenntt.. TThheerree iiss nnoo vvuullnneerraabbiilliittyy aasssseessssmmeenntt ssooffttwwaarree oorr hhaarrddwwaarree ttoo ppuurrcchhaassee aanndd nnoo sseeccuurriittyy ppeerrssoonnnneell ttoo ttrraaiinn.. DDeevveellooppeerrss oorr ssooffttwwaarree pprrooccuurreemmeenntt ppeerrssoonnnneell ssuubbmmiitt ccooddee tthhrroouugghh aann oonnlliinnee ppllaattffoorrmm,, aanndd rreessuullttss aarree rreettuurrnneedd wwiitthhiinn 2244 hhoouurrss.. VVeerraaccooddee''ss aauuttoommaatteedd ffoorrmmaatt ggrreeaattllyy rreedduucceess tthhee aammoouunntt ooff eeffffoorrtt aanndd rreessoouurrcceess nneeeeddeedd ttoo ppeerrffoorrmm ssttaattiicc aannaallyyssiiss,, wwhhiillee ggrreeaattllyy iinnccrreeaassiinngg tthhee aaccccuurraaccyy ooff tteesstt rreessuullttss..
  32. 32. Web Application Security 32 The founders of Veracode believe web application security sshhoouulldd bbee ssiimmppllee aanndd ccoosstt--eeffffiicciieenntt.. VVeerraaccooddee ddeelliivveerr aann aauuttoommaatteedd,, aapppplliiccaattiioonn sseeccuurriittyy tteessttiinngg ssoolluuttiioonn tthhaatt mmaakkeess ddyynnaammiicc aannaallyyssiiss aavvaaiillaabbllee aass aann oonn--ddeemmaanndd sseerrvviiccee.. DDyynnaammiicc aannaallyyssiiss iiss aa ""bbllaacckk--bbooxx"" tteessttiinngg tteecchhnniiqquuee tthhaatt aannaallyyzzeess wweebb aapppplliiccaattiioonnss ffoorr ffllaawwss aanndd vvuullnneerraabbiilliittiieess ssuucchh aass CCrroossss--ssiittee SSccrriippttiinngg ((XXSSSS)) tthhaatt ccoouulldd ssuubbjjeecctt tthhee eenntteerrpprriissee ttoo aattttaacckk.. BBeeccaauussee VVeerraaccooddee iiss ooffffeerreedd aass aa ssooffttwwaarree--aass--aa--sseerrvviiccee mmooddeell,, eenntteerrpprriisseess ccaann aacccceessss ddyynnaammiicc aannaallyyssiiss aass nneeeeddeedd aanndd ssccaallee tteessttiinngg eeffffoorrttlleessssllyy ttoo mmeeeett tthhee ddeemmaannddss ooff aaggggrreessssiivvee ssooffttwwaarree ddeevveellooppmmeenntt ddeeaaddlliinneess.. TThheerree iiss nnoo wweebb aapppplliiccaattiioonn sseeccuurriittyy ssooffttwwaarree ttoo bbuuyy,, aanndd nnoo hhaarrddwwaarree ttoo iinnvveesstt iinn.. NNoo wweebb aapppplliiccaattiioonn tteessttiinngg eexxppeerrttss nneeeedd bbee aaddddeedd ttoo tthhee ppaayyrroollll -- VVeerraaccooddee eemmppllooyyss aa tteeaamm ooff wwoorrlldd--ccllaassss eexxppeerrttss wwhhoo ccoonnttiinnuuaallllyy rreeffiinnee tteessttiinngg mmeetthhooddoollooggiieess.. CCoommppaanniieess ccaann aacccceessss ddyynnaammiicc aannaallyyssiiss tthhrroouugghh aann oonnlliinnee ppoorrttaall aanndd qquuiicckkllyy ggeett wweebb tteessttiinngg rreessuullttss.. WWeebb aapppplliiccaattiioonn sseeccuurriittyy tteessttiinngg rreessuullttss aarree pprriioorriittiizzeedd iinn aa FFiixx--FFiirrsstt AAnnaallyyssiiss tthhaatt iiddeennttiiffiieess ffllaawwss tthhaatt nneeeedd rreemmeeddiiaattiioonn mmoosstt uurrggeennttllyy aass wweellll aass oonneess tthhaatt ccaann bbee ffiixxeedd mmoosstt qquuiicckkllyy -- ssoo ddeevveellooppeerrss ccaann ooppttiimmiizzee tthheeiirr eeffffoorrttss,, ssaavviinngg aaddddiittiioonnaall rreessoouurrcceess ffoorr tthhee eenntteerrpprriissee..
  33. 33. Source Code Security Analyser 33 c Veracode's service is the industry's leading source cooddee sseeccuurriittyy aannaallyyzzeerr.. WWhheetthheerr yyoouu aarree aannaallyyzziinngg aapppplliiccaattiioonnss ddeevveellooppeedd iinntteerrnnaallllyy oorr bbyy tthhiirrdd ppaarrttiieess,, VVeerraaccooddee eennaabblleess yyoouu ttoo qquuiicckkllyy aanndd ccoosstt--eeffffeeccttiivveellyy ssccaann ssooffttwwaarree ffoorr ffllaawwss aanndd ggeett aaccttiioonnaabbllee ssoouurrccee ccooddee aannaallyyssiiss rreessuullttss.. OOffffeerriinngg aann iinnddeeppeennddeenntt aanndd ttrruusstteedd aannaallyyssiiss ooff tthhee sseeccuurriittyy ooff yyoouurr aapppplliiccaattiioonnss,, VVeerraaccooddee eennaabblleess yyoouu ttoo bbeetttteerr pprrootteecctt yyoouurr eenntteerrpprriissee wwiitthhoouutt ssaaccrriiffiicciinngg pprroodduuccttiivviittyy oorr pprrooffiittaabbiilliittyy.. UUssiinngg aann oonn--ddeemmaanndd,, SSooffttwwaarree--aass--aa--SSeerrvviiccee ssoouurrccee ccooddee aannaallyyssiiss ttooooll aalllloowwss yyoouu ttoo mmoorree eeaassiillyy ccoonnttrrooll ccoossttss,, ppaayyiinngg oonnllyy ffoorr tthhee sseerrvviicceess yyoouu nneeeedd.. AAnndd bbeeccaauussee VVeerraaccooddee ssccaannss aatt tthhee bbiinnaarryy lleevveell,, rreevviieewwiinngg ccoommppiilleedd oorr ""bbyyttee"" ccooddee rraatthheerr tthhaann ssoouurrccee ccooddee,, yyoouu ggeett tthhee mmoosstt aaccccuurraattee aanndd ccoommpprreehheennssiivvee aannaallyyssiiss aavvaaiillaabbllee.. AAllll aapppplliiccaattiioonnss,, rreeggaarrddlleessss ooff tthheeiirr oorriiggiinn,, ccaann bbee ssccaannnneedd aanndd rreevviieewweedd bbyy VVeerraaccooddee.. VVeerraaccooddee ccaann eevveenn aasssseessss tthhiirrdd--ppaarrttyy ssooffttwwaarree aatt tthhee bbiinnaarryy lleevveell,, wwiitthhoouutt rreeqquurriinngg aacccceessss ttoo ssoouurrccee ccooddee.. VVeerraaccooddee iiss ssiimmppllyy tthhee mmoosstt eeffffeeccttiivvee ssoolluuttiioonn ffoorr ssoouurrccee ccooddee aannaallyyssiiss iinn tthhee iinndduussttrryy ttooddaayy..

×