IP Library Granted Patent US 10,057,280
Granted Patent B2
US 10,057,280 · App. 15/063,452 · Granted Aug 21, 2018

Methods and systems of detecting and analyzing correlated operations in a common storage

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,057,280
App. No.
15/063,452
Granted
Aug 21, 2018
Kind
B2
Abstract

A method of detecting correlated operations in a common storage. The method comprises providing at least one input operation, each the input operation being designated to write uniquely identifiable data on a memory unit of an application, monitoring a plurality of output operations of the application, each the output operation includes data read from the memory unit, comparing between the at least one input operation and the plurality of output operations to identify at least one matching group of input and output operations wherein each member of the at least one matching group has correlated written or read data in a common correlated target address in the memory unit, and outputting an indication of the at least one matching group.

Claims (48)

1. A method, performed by a testing system communicatively connected to a tested unit, of detecting correlated operations in a common storage of the tested unit, comprising:

identifying, by the testing system, at least one input operation of the tested unit, said input operation being designated to write uniquely identifiable test data on a memory of an application of the tested unit;

monitoring, by the testing system, a plurality of extracted output operations of said application of the tested unit, each said extracted output operation including uniquely identifiable test data read from said memory;

comparing, by the testing system, said at least one input operation of the tested unit and said plurality of extracted output operations of said application of the tested unit to identify at least one matching group of input and output operations wherein said at least one matching group has a verified presence or absence of correlated written or read uniquely identifiable test data in a common correlated target address in said memory, wherein the at least one matching group indicates a potential correlation,

wherein said comparing comprises comparing between said at least one input operation and said plurality of extracted output operations to identify at least one matching group having non-correlated written or read data in said common correlated target address and testing said at least one matching group to determine whether said non-correlated written or read data is correlated when a respective input operation is adjusted, and

wherein the testing is performed by:

establishing a connection with said memory to access said common correlated target address,

generating an extraction query for receiving data from said common correlated target address,

submitting said extraction query to the tested unit, and

verifying whether a response to said extraction query modifies said data in the response; and

outputting an indication of said at least one matching group when the response to said extraction query modifies said data in the response.

2. The method of claim 1 , wherein said application is a network application.

3. The method of claim 1 , wherein said at least one matching group is indicative of a plurality of application components sharing a common storage location.

4. The method of claim 3 , wherein said outputting further comprises performing a cross-site scripting (XSS) test on said plurality of application components and outputting a persistent XSS indication accordingly.

5. The method of claim 3 , wherein said outputting further comprises performing a parameter tampering test on said plurality of application components and outputting a parameter tampering indication accordingly.

6. The method of claim 3 , wherein said outputting further comprises performing a cross-site request forgery test on said plurality of application components and outputting a cross-site request forgery indication accordingly.

7. The method of claim 3 , wherein said plurality of application components are activated asynchronously.

8. The method of claim 1 , further comprising recording said plurality of extracted output operations and said at least one input operation in a first list and a second list, wherein said comparing is performed by matching said first and second lists.

9. The method of claim 1 , further comprising generating said at least one input operation.

10. The method of claim 2 , further comprising identifying at least one request parameter of an input operation to said network application and performing said generating according to said at least one request parameter.

11. The method of claim 2 , wherein said at least one input operation is performed by a first component of said network application and said plurality of output operations are performed by a second component of said network application.

12. The method of claim 2 , further comprising using said at least one matching group for testing at least one security vulnerability in said network application.

13. The method of claim 1 , further comprising:

generating at least one of said at least one input operation as requests to extract user-specific data from at least one authenticated page, said comparing comprises identifying at least one matching group having as a member at least one of said plurality of output operations with said user-specific data, said outputting comprises outputting an indication of unauthenticated or unauthorized access vulnerability according to said at least one matching group.

14. The method of claim 2 , further comprising:

identifying user data of a first user, generating at least one of said at least one input operation as a request to access data of a second user using said user data, and submitting said request without passing at least one authentication process of said network application.

15. The method of claim 1 , further comprising:

establishing a direct connection with said memory to access said common correlated target address; and

checking whether at least some of said uniquely identifiable test data being encrypted in said common correlated target address.

16. The method of claim 15 , further comprising:

generating said at least one input operation as a request comprising sensitive data, wherein said checking comprises checking whether said sensitive data being encrypted in said common correlated target address comprises an element selected from a group consisting of a login, a password change, a registration, a password recovery, a credit card number, a billing identifier, a social security number, and an identifier number.

17. The method of claim 1 , wherein said monitoring comprises monitoring a sequence during which said input and output operations are performed, said comparing comprising monitoring, for each said operation, at least one of a change in said memory and a sequential read from said memory, said outputting comprises outputting a flow bypassing.

18. A runtime-testing computer program product that detects correlated operations in a memory unit of a network application, the runtime-testing computer program product implemented in a non-transitory computer-readable storage medium as computer-executable instructions that, when executed by at least one processor of a computer system, cause the at least one processor to perform operations comprising:

identifying at least one input operation designated to write uniquely identifiable data on the memory unit of the network application;

monitoring a plurality of output operations having data read from said memory unit;

comparing between said at least one input operation and said plurality of output operations to identify at least one matching group of input and output operations, wherein each member of the matching group has written or read data in a common correlated target address in said memory unit,

wherein said comparing comprises comparing between said at least one input operation and said plurality of output operations to identify at least one matching group having non-correlated written or read data in said common correlated target address and testing said at least one matching group to determine whether said non-correlated written or read data is correlated when a respective input operation is adjusted, and

wherein the testing is performed by:

establishing a connection with said memory to access said common correlated target address,

generating an extraction query for receiving data from said common correlated target address,

submitting said extraction query to a tested unit, and

verifying whether a response to said extraction query modifies said data in the response; and

outputting an indication of said at least one matching group when the response to said extraction query modifies said data in the response.

19. The runtime-testing computer program product of claim 18 , wherein said testing is performed by:

establishing a direct connection with said memory unit to access said common correlated target address;

generating an extraction query for receiving data from said common correlated target address;

submitting said extraction query;

and verifying whether a response to said extraction query modified said data in the response.

Assignments (5)
SECURITY INTEREST Recorded Sep 30, 2024
From: BLACK DUCK SOFTWARE, INC.
To: ARES CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 069083/0149 →
CHANGE OF NAME Recorded Jul 30, 2024
From: SOFTWARE INTEGRITY GROUP, INC.
To: BLACK DUCK SOFTWARE, INC.
Reel/Frame 068191/0490 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2024
From: SYNOPSYS, INC.
To: SOFTWARE INTEGRITY GROUP, INC.
Reel/Frame 066664/0821 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2018
From: SEEKER SECURITY LTD.
To: SYNOPSYS, INC.
Reel/Frame 046405/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2018
From: MAOR, OFER; TAMIR, ERAN; SHAVRO, TAMIR
To: SEEKER SECURITY LTD.
Reel/Frame 046596/0608 →