Testing insecure computing environments using random data sets generated from characterizations of real data sets
AssigneeIntuit Inc.
InventorColin R. Dillard
Life of this patent
Estimating the term…
Abstract
The disclosed embodiments provide a system that facilitates testing of an insecure computing environment. During operation, the system obtains a real data set comprising a set of data strings. Next, the system determines a set of frequency distributions associated with the set of data strings. The system then generates a test data set from the real data set, wherein the test data set comprises a set of random data strings that conforms to the set of frequency distributions. Finally, the system tests the insecure computing environment using the test data set.
Claims17
A method for facilitating testing of an insecure computing environment, comprising:
- obtaining a real data set comprising a set of data strings;
- applying one or more block definitions to the real data set according to a ranked list, wherein each of the one or more block definitions identifies a set of possible characters for substrings of the set of data strings;
- generating, based on the applying of one or more block definitions, a set of block sequences of one or more blocks, wherein each block in the block sequence includes one or more frequency distributions for a substring of the data string that matches a block definition in the one or more block definitions;
- generating, based on the real data set, a combined block sequence from the set of block sequences, wherein generating the combined block sequence includes:
- combining a set of blocks from each block position in the set of block sequences to produce a block distribution over the set of blocks in the block position;
- and
- including the block distribution in the block position of the combined block sequence;
- generating a test data set, wherein the test data set comprises a set of random data strings that conforms to the combined block sequence;
- and
- testing an insecure computing environment using the test data set.
An apparatus, comprising:
- a processor;
- and
- a memory storing instructions that, when executed by the processor, cause the apparatus to perform an operation, the operation comprising:
- obtaining a real data set comprising a set of data strings;
- applying one or more block definitions to the real data set according to a ranked list, wherein each of the one or more block definitions identifies a set of possible characters for substrings of the set of data strings;
- generating, based on the applying of one or more block definitions, a set of block sequences of one or more blocks, wherein each block in the block sequence includes one or more frequency distributions for a substring of the data string that matches a block definition in the one or more block definitions;
- generating, based on the real data set, a combined block sequence from the set of block sequences, wherein generating the combined block sequence includes:
- combining a set of blocks from each block position in the set of block sequences to produce a block distribution over the set of blocks in the block position, and
- including the block distribution in the block position of the combined block sequence;
- generating a test data set, wherein the test data set comprises a set of random data strings that conforms to the combined block sequence;
- and
- testing an insecure computing environment using the test data set.
A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for facilitating testing of an insecure computing environment, the method comprising:
- obtaining a real data set comprising a set of data strings;
- applying one or more block definitions to the real data set according to a ranked list, wherein each of the one or more block definitions identifies a set of possible characters for substrings of the set of data strings;
- generating, based on the applying of one or more block definitions, a set of block sequences of one or more blocks, wherein each block in the block sequence includes one or more frequency distributions for a substring of the data string that matches a block definition in the one or more block definitions;
- generating, based on the real data set, a combined block sequence from the set of block sequences, wherein generating the combined block sequence includes:
- combining a set of blocks from each block position in the set of block sequences to produce a block distribution over the set of blocks in the block position;
- and
- including the block distribution in the block position of the combined block sequence;
- generating a test data set, wherein the test data set comprises a set of random data strings that conforms to the combined block sequence;
- and
- testing an insecure computing environment using the test data set.
Dependencies are inferred from the claim text.