Security Testing & The Depth Behind OWASP Top 10 Yaniv Simsolo, CISSP Image: Hubble Telescope: The cat’s eye nebula OWASP Top 10 2013 OWASP Top 10 – 2013 has evolved: • 2013-A1 – Injection • 2013-A2 – Broken Authentication and Session Management • 2013-A3 – Cross Site Scripting (XSS) • 2013-A4 – Insecure Direct Object References • 2013-A5 – Security Misconfiguration • 2013-A6 – Sensitive Data Exposure • 2013-A7 – Missing Function Level Access Control • 2013-A8 – Cross-Site Request Forgery (CSRF) • 2013-A9 – Using Known Vulnerable Components (NEW) • 2013-A10 – Unvalidated Redirects and Forwards OWASP Top 10 2013 OWASP Top 10 – 2013 Resources: • https://www.owasp.org/index.php/Top_10_2013Top_10 • OWASP Top 10 2013 presentation by Dave Wichers, on the OWASP web site Mapping Top 10: From 2010 to 2013 Source: OWASP Top 10 2013 presentation by Dave Wichers Assumptions • In Information Security – several top 10 exist – OWASP Top 10 is dominant • “Top 3”: we all know about XSS’s Injections, CSRF’s etc. • Most organizations are well aware of these issues Assumptions • OK. What now? • “Top 6” = (“Top 3”) + (“we test what we can”): – Broken authentication and session management – Unvalidated redirects and forwards – Insecure direct object references • Most organizations are aware of these issues • OK, What now? What did we miss? • • • • Security misconfiguration – A5. Missing Function Level access control – A7. Using known vulnerable components – A9 A6 – sensitive data exposure now includes a merge of: – Insufficient transport layer protection (2010 – A9) – Insecure cryptographic storage (2010-A7) What did we miss? • Security misconfiguration – A5. – (almost) not Web Application but: Application/system • Missing Function Level access control – A7. – Partial Web Application, Partial Application/system • Using known vulnerable components – A9 – (almost) not Web Application but: Application/syste What did we miss? • A6 – sensitive data exposure now includes a merge of: – Insufficient transport layer protection (2010 – A9) – Insecure cryptographic storage (2010-A7) • Is this just Web Application? • Is the problem more severe once we look below the Web Layer? What did we miss? Example Security misconfiguration – A5 + Using known vulnerable components – A9 = Perimeter is not working The Problem Image: Hubble Telescope: The cat’s eye nebula Over Complexity • Too much data • Endless attack possibilities • Too many security solutions, vendors, products • No homogenous approach The Attack Vectors – Any (communication) channel – Any interface – Any encryption – Any environment – Any site (including DR) – Any transaction – Any log and audit trail – Any archive – Any process (operations, ongoing, development) – Any system – Any infrastructure – Any communication – Any language – Any architecture – Any component – Any information, any data – Any physical layer – Any logical layer – Any storage device / facility The Attack Types – Any (communication)Takeover – Any system Data theft channel – Any infrastructure Data tampering – Any interfaceSystem integrity disruption – Any communication Business Logic manipulation – Any encryption – Any language – Any environment Eavesdropping – Any architecture Backdoors – built in by design – Any site (including DR) component Backdoors – creation – byAny attackers – Any transactionUnintentional attacks – Any information, any Intentional by authorized entities – Any log and audit trail data entities – Any archiveAttacks by non-human – Any physical layer Denial of Service – Any process (operations, Any logical layer De Facto Denial of–Service ongoing, development) – Any storage device / Authorization bypass Access bypassfacility Smuggling, Splitting and evasion-type attacks The Problem Even the simplified security areas present a demanding challenge. For example - XSS: • Very difficult to detect all variants in modern systems • Almost impossible to retain high security level once achieved Common Solutions • Superficial security tests. – Many “good reasons”: • • • • Budget Time constraints Lack of understanding Over complexity Common Solutions • Impacts of superficial security tests in the long run? – Partial to no security – Poor security practices – These organizations effect the security market, pulling downwards! – Loss or partial integrity of security professionals – Worse still: false sense of security Where Did That Got Us? • Ludicrous security warnings: – January 2013: Department of Homeland Security: Do not use Java. Remove the JRE. – April 2014: Department of Homeland Security: Versions 6 – 11 of IE are not to be used. – April 2014: OpenSSL is insecure Where Did That Got Us? • Poor security in design and architecture • (Almost) no security in Agile/Continuous Delivery developed code Modern Systems Common Pitfall • Modern systems are more secured. ??? 20 Where Did That Got Us? • Challenging security presentations: – In-Depth Security is dead (RSA conference 2011) – Security is dead (Rugged coding - RSA conference 2012) • Ignorance is bliss…. Security Testing Image: Hubble Telescope: The cat’s eye nebula How to Test? • This is messy. VERY messy. • There are shortcuts How to Test? • Actually – most is quiet easy to test. • Go back to theory. • Forget about the payloads. The Fallback Common Option • Test the GUI • Black Box testing methodology • Exclude the difficult stuff from scope • This is a “good” solution: it fits organizations and security professionals The Fallback Common Option • “The greatest enemy of knowledge is not ignorance, it is the illusion of knowledge.” ― Stephen Hawking • Testing just the GUI illusion of knowledge • Testing just the FE illusion of security • Increasingly often we are requested to test much less than the actual scope. • Consider carefully prior to testing – what should be the actual testing scope How to test? • “Supreme excellence consists in breaking the enemy's resistance without fighting.” Sun Tzu • Common Mobile WCF architecture – Where is the presentation layer? – Which entities are granted access to business logic? How to test? • OWASP top 10 – mobile: Source: OWASP Top 10 Mobile project The Oracle Exadata Example • Oracle Exadata simplified: – Data Warehouse platform – Consolidation/Grid platform – Storage platform • Exadata security best practices consist of: – The “regular stuff” – Database standard security – Data Warehouse specialized security – Consolidation/Grid specialized security The Oracle Exadata Example • Oracle Exadata (as a database platform) Security Testing Benchmark: – Organization A tested: • • • • The databases The environments The Data Warehouse specialized security The Exadata itself – Organization B tested: • Just some deployed databases • Partial security testing for each database • Worse still: Exadata not to be tested as a policy • Who said: 2013-A5 Security Misconfiguration? Testing A5, A7, A9 • “If you know the enemy and know yourself you need not fear the results of a hundred battles”, Sun Tzu • Do we really know ourselves? • Where are A5, A7 and A9 implemented? • Not testing the BE illusion of knowing The Windows XP Example • Organization C, defines and enforces strict development and deployment security standards towards all its suppliers/customers. • Over 60 pages of procedures and instructions. • Insisting on supporting Windows XP based systems. • Who said: 2013-A9 Using Known Vulnerable Components? 2013-A9 Using known Vulnerable Components • A vendor offers DBAAS – Excellent: beat the market offering *AAS something... • How can the organization trust the security of DBAAS? – Will separation be enforced? – Will compartmentalization be enforced? • Did we really tested and can trust the Cloud on which the DBAAS is based? Declarative Security • What? • One of the foundations of modern languages run-time security. • Mostly ignored or bypassed. • Who said: Security misconfiguration – A5, Missing Function Level access control – A7? Declarative Security • “Deployment descriptors must provide certain structural information for each component if this information has not been provided in annotations or is not to be defaulted.” (Oracle docs.) Declarative Security • “Engage people with what they expect; it is what they are able to discern and confirms their projections. It settles them into predictable patterns of response, occupying their minds while you wait for the extraordinary moment — that which they cannot anticipate.” Sun Tzu • Lack or weak declarative security: Once code access achieved – the extraordinary will be feasible. Declarative Security • Poor design due to no design • Cancelling off declarative security or ignoring declarative security revoking language security fundamentals. • Common real life deployment descriptors: // Do what you will. Totally permissive policy file. grant { permission java.security.AllPermission; }; • Killing my own code! Reverse Engineering (A5, A6, A9) • What for? • Why for Mobile security testing ONLY? • From Wikipedia: – Reverse engineering is the process of discovering the technological principles of a device, object, or system through analysis of its structure, function, and operation. Testing A2, A5, A6 • • • • 2013 A6 – Sensitive data exposure 2013 A5 – Security misconfiguration 2013 A2 – Broken authentication Too much use of “third singulars” – The actual minute details of the tested object dissolve 2013-A5 Security Misconfiguration • There is no external access! • The intended users will only perform intended actions… • Virtualization Separation 40 2013-A5 Security Misconfiguration • How do organizations secure legacy unsecured systems? • Install terminals (e.g. Citrix) as the presentation layer / access control layer. • Challenge: manage multiple users across multiple systems. • Result: the terminals are partially secure. – Too many terminals to manage over long periods – Some insecure – The insecure terminals are the attacker entry points. Critical Thinking – Any (communication)Takeover – Any system Data theft channel – Any infrastructure Data tampering – Any interfaceSystem integrity disruption – Any communication Business Logic manipulation – Any encryption – Any language – Any environment Eavesdropping – Any architecture Backdoors – built in by design – Any site (including DR) component Backdoors – creation – byAny attackers – Any transactionUnintentional attacks – Any information, any Intentional by authorized entities – Any log and audit trail data entities – Any archiveAttacks by non-human – Any physical layer Denial of Service – Any process (operations, Any logical layer De Facto Denial of–Service ongoing, development) – Any storage device / Authorization bypass Access bypassfacility Smuggling, Splitting and evasion-type attacks Critical Thinking • Critical thinking is the ability to think clearly and rationally. This requires reflective and independent thinking. (Philosophy field) • For organization security is too difficult: over complexity, too much to orchestrate, etc. • Increasingly often we are requested to test much less than the actual scope. • Some organizations will not be educated. • Push the industry back up with those organizations that can be educated. Critical Thinking • For the security professionals, security is a challenge. Hence, always employ critical thinking and review the process of testing itself. – Flexibility under varying technologies – Use automated testing tools to the max AND be always aware of their limitations – Scoping accurately is mandatory Qustions? Yaniv Simsolo, CISSP Image: Hubble Telescope: The cat’s eye nebula