AJAX Security Framework with Handler Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Web application frameworks like Direct Web Remoting (DWR) and Google Web Toolkit (GWT) do not adequately address the security vulnerabilities inherent in AJAX-based Web applications, such as Cross Site Scripting (XSS), Cross Site Request Forgery (CSRF), injection attacks, and replay attacks, which can compromise user data and system integrity.

Innovation Solution

A secure framework for invoking server-side APIs from client-side Web application code using AJAX, which includes invoking security handlers to mitigate various security attacks, authenticating and authorizing users, and enforcing data security through configuration at the data storage tier, ensuring comprehensive defense against common Web application and AJAX security threats.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If existing frameworks like DWR and GWT are used to enable asynchronous remote procedure call functionality, then the user interface becomes more responsive and dynamic, but security vulnerabilities such as XSS, CSRF, injection attacks, and replay attacks are not adequately addressed

Engineering Contradiction:
Improveuser interface responsivenessVSAvoidsecurity vulnerabilities
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The security framework segments security checks into multiple independent handlers, each responsible for specific security concerns (authentication, authorization, XSS prevention, CSRF prevention, injection attack prevention, replay attack prevention). This segmentation allows comprehensive security coverage without compromising AJAX functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a security handler intermediary layer between the AJAX client and server-side APIs. This intermediary intercepts and validates all AJAX requests, performing security checks before allowing requests to reach the server-side code, thus protecting against various security threats while maintaining asynchronous communication.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If comprehensive security handlers are invoked to mitigate multiple security attacks, then security is improved, but system complexity increases

Engineering Contradiction:
Improvesecurity defenseVSAvoidframework complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The security handler framework is designed as a universal, multi-functional system that can handle multiple types of security threats through a common architecture. The handlers can be selectively activated based on the specific security requirements of different AJAX endpoints, allowing comprehensive security without requiring separate complex systems for each threat type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The framework performs preliminary security validation through authentication and authorization handlers before processing the actual business logic. By pre-validating user credentials, permissions, and request integrity, the system prevents unauthorized access and invalid operations before they reach the core application logic, simplifying the overall security implementation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8332654B2Secure framework for invoking server-side APIs using AJAX
Publication Date: 2012.12.11 ORACLE INT CORP
  • US8332654B2 patent drawing
  • US8332654B2 patent drawing
  • US8332654B2 patent drawing

AI summary

Techniques for securely invoking a server-side API from client-side Web application code using AJAX. In one set of embodiments, a request to invoke a server-side API is received from a client-side component of a Web application, where the request is sent asynchronously using AJAX. One or more security handlers are then invoked to process the request in a manner that mitigates various security attacks. In one embodiment, a security handler is invoked to defend against a plurality of different types of Web application/AJAX security attacks. In another embodiment, authentication and authorization security handlers are invoked to authenticate a user of the Web application that originated the request and determine whether the user is authorized to call the server-side API. In yet another embodiment, configuration is implemented at the data storage tier to enforce user-access and data security on data that is retrieved/stored as a result of invoking the server-side API.