-
公开(公告)号:US20140201720A1
公开(公告)日:2014-07-17
申请号:US13741227
申请日:2013-01-14
Applicant: APPLE, INC.
Inventor: Cedric Tessier , Daniel Reynaud , Jean-Baptise Aviat , Jonathan Gregory McLachlan , Julien Lerouge , Pierre Betouin
IPC: G06F9/44
CPC classification number: G06F21/14 , G06F8/41 , G06F9/45545 , G06F21/51 , G06F2221/2107
Abstract: A branch auditing system can be automatically injected into a computer program, in one embodiment, in response to a programming call provided in source code by a programmer who has selected a particular branch, in a set of possible branches, for auditing. The branch auditing system can record, in an obfuscated data structure, a path taken at the particular branch and the parameters associated with the branch and later an auditor can determine whether the path taken was valid, and if the path taken was invalid, operations can be performed to protect the program, system and/or user.
Abstract translation: 在一个实施例中,分支审计系统可以自动地注入到计算机程序中,以响应于在一组可能的分支中选择了特定分支以用于审计的程序员在源代码中提供的编程调用。 分支审计系统可以在模糊数据结构中记录在特定分支处采取的路径和与分支相关联的参数,随后审核员可以确定所采用的路径是否有效,并且如果所采用的路径无效,则操作可以 执行以保护程序,系统和/或用户。
-
公开(公告)号:US20130232323A1
公开(公告)日:2013-09-05
申请号:US13656379
申请日:2012-10-19
Applicant: APPLE INC
Inventor: Julien Lerouge , Jonathan Gregory McLachlan , Daniel F. Reynaud
IPC: G06F9/38
Abstract: Methods, media and systems that obfuscate control flow in software programs. The obfuscation can impede or prevent static flow analysis of a software program's control flow. In one embodiment, a method, performed by a data processing system, identifies each branch point in a set of branch points in a first version of software and replaces, in each branch point in the set, a representation of a target of the branch point with a computed value that depends upon at least one prior computed value in a stream of instructions in the first version of software. Other embodiments are also described.
Abstract translation: 在软件程序中混淆控制流的方法,媒体和系统。 混淆可能阻碍或防止软件程序控制流的静态流分析。 在一个实施例中,由数据处理系统执行的方法识别软件的第一版本中的一组分支点中的每个分支点,并在组中的每个分支点中替换分支点的目标的表示 具有取决于软件的第一版本中的指令流中的至少一个先前计算值的计算值。 还描述了其它实施例。
-
公开(公告)号:US09047448B2
公开(公告)日:2015-06-02
申请号:US13741227
申请日:2013-01-14
Applicant: Apple Inc.
Inventor: Cedric Tessier , Daniel Reynaud , Jean-Baptiste Aviat , Jonathan Gregory McLachlan , Julien Lerouge , Pierre Betouin
CPC classification number: G06F21/14 , G06F8/41 , G06F9/45545 , G06F21/51 , G06F2221/2107
Abstract: A branch auditing system can be automatically injected into a computer program, in one embodiment, in response to a programming call provided in source code by a programmer who has selected a particular branch, in a set of possible branches, for auditing. The branch auditing system can record, in an obfuscated data structure, a path taken at the particular branch and the parameters associated with the branch and later an auditor can determine whether the path taken was valid, and if the path taken was invalid, operations can be performed to protect the program, system and/or user.
Abstract translation: 在一个实施例中,分支审计系统可以自动地注入到计算机程序中,以响应于在一组可能的分支中选择了特定分支以用于审计的程序员在源代码中提供的编程调用。 分支审计系统可以在模糊数据结构中记录在特定分支处采取的路径和与分支相关联的参数,随后审核员可以确定所采用的路径是否有效,并且如果所采用的路径无效,则操作可以 执行以保护程序,系统和/或用户。
-
-