US 9,811,666 B2
System and method providing dependency networks throughout applications for attack resistance
Clifford Liem, Ottawa (CA); Yongxin Zhou, Mequon, WI (US); and Yuan Xiang Gu, Ottawa (CA)
Assigned to IRDETO B.V., Hoofddorp (NL)
Appl. No. 14/6,490
Filed by Clifford Liem, Ottawa (CA); Yongxin Zhou, Mequon, WI (US); and Yuan Xiang Gu, Ottawa (CA)
PCT Filed Mar. 24, 2011, PCT No. PCT/CA2011/050157
§ 371(c)(1), (2), (4) Date Sep. 20, 2013,
PCT Pub. No. WO2012/126083, PCT Pub. Date Sep. 27, 2012.
Prior Publication US 2014/0013427 A1, Jan. 9, 2014
Int. Cl. G06F 21/57 (2013.01); G06F 21/14 (2013.01); G06F 21/12 (2013.01)
CPC G06F 21/572 (2013.01) [G06F 21/125 (2013.01); G06F 21/14 (2013.01)] 32 Claims
OG exemplary drawing
 
1. A method implemented by one or more computing devices for providing attack resistance throughout an application, the method comprising:
parsing, by at least one of the one or more computing devices, an original application including a plurality of code portions, a plurality of data values, and one or more dependencies to generate an intermediate representation of the original application;
identifying, by at least one of the one or more computing devices, one or more assets in the original application from the intermediate representation of the original application, wherein each of the one or more identified assets comprise one or more of: a code portion in the plurality of code portions or a data value in the plurality of data values;
prioritizing, by at least one of the one or more computing devices, the one or more identified assets in accordance with user-specific criteria;
correlating, by at least one of the one or more computing devices, the one or more dependencies with the one or more identified assets;
receiving, by at least one of the one or more computing devices, user-specific control tolerances;
inserting, by at least one of the one or more computing devices, one or more new dependencies into the intermediate representation of the original application to form an alternative intermediate representation, wherein the one or more new dependencies make at least one of the plurality of code portions dependent on at least one of the one or more identified assets on which it was not previously dependent and wherein the quantity of new dependencies is based at least in part on the user-specific control tolerances; and
generating, by at least one of the one or more computing devices, a transformed application from the alternative intermediate representation.