Advanced Application
Architecture Review and
Threats
Technology Trends
Enterprise Technology Trend
• 2007. Web services would rocket from $1.6
billion in 2004 to $34 billion. [IDC]
• 2008. Web Services or Service-Oriented
Architecture (SOA) would surge ahead.
• 2009-10. Enterprise 2.0 in action and
penetrating deeper into the corporate
environment
• 2011-13. Flex/Cloud/API era.
• 2015. Mobile/HTML5 era.
Mobile Infrastructure
www mail
intranet
router
DMZ
Internet
VPN
Dial-up
Other
Offices
Exchange
firewall
Database
RAS
Enterprise 2.0/ Mobile
HTML / JS / DOM
RIA (Flash)
Ajax
Browser
Internet
Blog
Web 2.0 Start
Database Authentication
Application
Infrastructure
Web Services
End point
Internet
Mails
News
Documents
Weather
Bank/Trade
RSS feeds
Web 2.0 Environment
Web
Server
Static pages only
(HTML,HTM, etc.)Web
Client
Scripted
Web
Engine
Dynamic pages
(ASP,DHTML, PHP,
CGI, etc.)
ASP.NET on
.Net Framework,
J2EE App Server,
Web Services,
etc.
Application
Servers
And
Integrated
Framework
Internet DMZ Trusted
WW
EE
BB
SS
EE
RR
VV
II
CC
EE
SS
Mobile
Web 2.0
Services
SOAP/JSON etc.
DB
X
Internal/Corporate
Stack/Logic - Layers
Presentation Layer
Business Layer
Data Access Layer
Authentication
Communication etc.
Runtime, Platform, Operating System Components
Server side
Components
Client side
Components
(Browser)
• HTML 5
• DOM
• XHR
• WebSocket
• Storage
• WebSQL
• Flash
• Flex
• AMF
• Silverlight • WCF
• XAML
• NET
• Storage
• JS
• Android
• iPhone/Pad
• Other
Mobile
HTML5 in nutshell - Specs
Source:
http://en.wikipedia.org/wiki/File:HTML5-APIs-and-related-technologies-by-Sergey-Mavrody.png
Source: http://html5demos.com/
Evolution going on by Web Hypertext Application Technology Working Group
(WHATWG)
API (Media, Geo etc.) & Messaging Plug-In
Browser & Mobile – Arch.
HTML5 + CSS Silverlight Flash
Browser Native Network Services
XHR 1 & 2 WebSocket Plug-in Sockets
JavaScript DOM/Events Parser/Threads
SOP/CORS Sandbox
Presentation
Process & Logic
Network
& Access
Core
Policies
StorageWebSQL
Mobile
Cache
Ajax Flash / RIA
HTML/CSS JavaScript
Widget DOM
SOAP XML-RPC
HTTP/HTTPS
JSON XML
RSS/ATOM Text
JS-Objects Custom
SOA/WOA SaaS
Web Services Ajax
Traditional APIs
REST
Client Layer
Protocol Layer
Structure Layer
Server Layer
Components
Vulnerable
State
Expected
State
Exception
Handler
Decision
Integer/
Number
Special
Characters
A-Z Characters
Input
Potential
Exploitation
Enterprise level bugs
Types of bugs
• Design and Architect layer bug
– Hard to fix
– Architecture or design layer is having some issues
• Validation layer bug –
– This layer of bugs are at development layer when an input
taken and consumed by application without any
sanitizations
• Logical layer bug –
– Logical coding error
– Access level issue or flaw in business logic
Generic Vulnerability numbers
Source – Web Application Security Consortium
Enterprise Standards
• As such there are no firm standards
• Some drivers out there
– PCI-DSS
– OWASP
– CVE/CWE
• Industry is following it
CVE/CWE - Errors
• Insecure Interaction Between Components
– These weaknesses are related to insecure ways in which data is sent and
received between separate components, modules, programs, processes,
threads, or systems.
– CWE-20: Improper Input Validation
– CWE-116: Improper Encoding or Escaping of Output
– CWE-89: Failure to Preserve SQL Query Structure (aka 'SQL Injection')
– CWE-79: Failure to Preserve Web Page Structure (aka 'Cross-site Scripting')
– CWE-78: Failure to Preserve OS Command Structure (aka 'OS Command
Injection')
– CWE-319: Cleartext Transmission of Sensitive Information
– CWE-352: Cross-Site Request Forgery (CSRF)
– CWE-362: Race Condition
– CWE-209: Error Message Information Leak
Source – CWE/CVE -
http://cwe.mitre.org/top25/index.html
CVE/CWE - Errors
• Risky Resource Management
– The weaknesses in this category are related to ways in which software does
not properly manage the creation, usage, transfer, or destruction of
important system resources.
– CWE-119: Failure to Constrain Operations within the Bounds of a Memory
Buffer
– CWE-642: External Control of Critical State Data
– CWE-73: External Control of File Name or Path
– CWE-426: Untrusted Search Path
– CWE-94: Failure to Control Generation of Code (aka 'Code Injection')
– CWE-494: Download of Code Without Integrity Check
– CWE-404: Improper Resource Shutdown or Release
– CWE-665: Improper Initialization
– CWE-682: Incorrect Calculation
Source – CWE/CVE -
http://cwe.mitre.org/top25/index.html
CVE/CWE - Errors
• Porous Defenses
– The weaknesses in this category are related to defensive techniques
that are often misused, abused, or just plain ignored.
– CWE-285: Improper Access Control (Authorization)
– CWE-327: Use of a Broken or Risky Cryptographic Algorithm
– CWE-259: Hard-Coded Password
– CWE-732: Insecure Permission Assignment for Critical Resource
– CWE-330: Use of Insufficiently Random Values
– CWE-250: Execution with Unnecessary Privileges
– CWE-602: Client-Side Enforcement of Server-Side Security
Source – CWE/CVE -
http://cwe.mitre.org/top25/index.html
Conclusion

Advanced applications-architecture-threats

  • 1.
  • 2.
  • 3.
    Enterprise Technology Trend •2007. Web services would rocket from $1.6 billion in 2004 to $34 billion. [IDC] • 2008. Web Services or Service-Oriented Architecture (SOA) would surge ahead. • 2009-10. Enterprise 2.0 in action and penetrating deeper into the corporate environment • 2011-13. Flex/Cloud/API era. • 2015. Mobile/HTML5 era.
  • 4.
  • 5.
    Enterprise 2.0/ Mobile HTML/ JS / DOM RIA (Flash) Ajax Browser Internet Blog Web 2.0 Start Database Authentication Application Infrastructure Web Services End point Internet Mails News Documents Weather Bank/Trade RSS feeds
  • 6.
    Web 2.0 Environment Web Server Staticpages only (HTML,HTM, etc.)Web Client Scripted Web Engine Dynamic pages (ASP,DHTML, PHP, CGI, etc.) ASP.NET on .Net Framework, J2EE App Server, Web Services, etc. Application Servers And Integrated Framework Internet DMZ Trusted WW EE BB SS EE RR VV II CC EE SS Mobile Web 2.0 Services SOAP/JSON etc. DB X Internal/Corporate
  • 7.
    Stack/Logic - Layers PresentationLayer Business Layer Data Access Layer Authentication Communication etc. Runtime, Platform, Operating System Components Server side Components Client side Components (Browser) • HTML 5 • DOM • XHR • WebSocket • Storage • WebSQL • Flash • Flex • AMF • Silverlight • WCF • XAML • NET • Storage • JS • Android • iPhone/Pad • Other Mobile
  • 8.
    HTML5 in nutshell- Specs Source: http://en.wikipedia.org/wiki/File:HTML5-APIs-and-related-technologies-by-Sergey-Mavrody.png Source: http://html5demos.com/ Evolution going on by Web Hypertext Application Technology Working Group (WHATWG)
  • 9.
    API (Media, Geoetc.) & Messaging Plug-In Browser & Mobile – Arch. HTML5 + CSS Silverlight Flash Browser Native Network Services XHR 1 & 2 WebSocket Plug-in Sockets JavaScript DOM/Events Parser/Threads SOP/CORS Sandbox Presentation Process & Logic Network & Access Core Policies StorageWebSQL Mobile Cache
  • 10.
    Ajax Flash /RIA HTML/CSS JavaScript Widget DOM SOAP XML-RPC HTTP/HTTPS JSON XML RSS/ATOM Text JS-Objects Custom SOA/WOA SaaS Web Services Ajax Traditional APIs REST Client Layer Protocol Layer Structure Layer Server Layer Components
  • 11.
  • 12.
    Types of bugs •Design and Architect layer bug – Hard to fix – Architecture or design layer is having some issues • Validation layer bug – – This layer of bugs are at development layer when an input taken and consumed by application without any sanitizations • Logical layer bug – – Logical coding error – Access level issue or flaw in business logic
  • 13.
    Generic Vulnerability numbers Source– Web Application Security Consortium
  • 14.
    Enterprise Standards • Assuch there are no firm standards • Some drivers out there – PCI-DSS – OWASP – CVE/CWE • Industry is following it
  • 15.
    CVE/CWE - Errors •Insecure Interaction Between Components – These weaknesses are related to insecure ways in which data is sent and received between separate components, modules, programs, processes, threads, or systems. – CWE-20: Improper Input Validation – CWE-116: Improper Encoding or Escaping of Output – CWE-89: Failure to Preserve SQL Query Structure (aka 'SQL Injection') – CWE-79: Failure to Preserve Web Page Structure (aka 'Cross-site Scripting') – CWE-78: Failure to Preserve OS Command Structure (aka 'OS Command Injection') – CWE-319: Cleartext Transmission of Sensitive Information – CWE-352: Cross-Site Request Forgery (CSRF) – CWE-362: Race Condition – CWE-209: Error Message Information Leak Source – CWE/CVE - http://cwe.mitre.org/top25/index.html
  • 16.
    CVE/CWE - Errors •Risky Resource Management – The weaknesses in this category are related to ways in which software does not properly manage the creation, usage, transfer, or destruction of important system resources. – CWE-119: Failure to Constrain Operations within the Bounds of a Memory Buffer – CWE-642: External Control of Critical State Data – CWE-73: External Control of File Name or Path – CWE-426: Untrusted Search Path – CWE-94: Failure to Control Generation of Code (aka 'Code Injection') – CWE-494: Download of Code Without Integrity Check – CWE-404: Improper Resource Shutdown or Release – CWE-665: Improper Initialization – CWE-682: Incorrect Calculation Source – CWE/CVE - http://cwe.mitre.org/top25/index.html
  • 17.
    CVE/CWE - Errors •Porous Defenses – The weaknesses in this category are related to defensive techniques that are often misused, abused, or just plain ignored. – CWE-285: Improper Access Control (Authorization) – CWE-327: Use of a Broken or Risky Cryptographic Algorithm – CWE-259: Hard-Coded Password – CWE-732: Insecure Permission Assignment for Critical Resource – CWE-330: Use of Insufficiently Random Values – CWE-250: Execution with Unnecessary Privileges – CWE-602: Client-Side Enforcement of Server-Side Security Source – CWE/CVE - http://cwe.mitre.org/top25/index.html
  • 18.