会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 2. 发明授权
    • Software or other information integrity verification using variable block length and selection
    • 使用可变块长度和选择的软件或其他信息完整性验证
    • US07841010B2
    • 2010-11-23
    • US11651359
    • 2007-01-08
    • Julien LerougePierre BetouinGianpaolo FasoliAugustin J. Farrugia
    • Julien LerougePierre BetouinGianpaolo FasoliAugustin J. Farrugia
    • G06F7/04G06F17/30H04N7/16
    • G06F21/64
    • An integrity verification process and associated apparatus to detect tampering or other alterations to computer code (software) or other computer files, and especially useful to detect tampering with code by hackers who might try to plant their own malicious code in the software. To make the verification process more robust versus hackers, each e.g., object code file to be protected is first selected using some sort of rule, then partitioned into variable length blocks or portions, the lengths varying in an unpredictable manner. Each portion has its checksum or hash value computed. An accompanying verification file is created which includes a vector for each portion including the portion's start address in memory, length, and the computed checksum or hash value. When the code is later to be run (executed) the verification file is conventionally read and each portion is verified by computing its checksum or hash value using the same algorithm as before, and comparing that to the value in the associated verification file vector. Lack of a match in the two values indicates tampering, so execution of the code can be halted.
    • 完整性验证过程和相关联的设备,用于检测对计算机代码(软件)或其他计算机文件的篡改或其他更改,并且特别有用于检测骇客可能尝试在软件中种植自己的恶意代码的篡改代码。 为了使验证过程比黑客更健壮,每个例如待保护的目标代码文件首先使用某种规则来选择,然后被分割成可变长度的块或部分,长度以不可预测的方式变化。 每个部分都有其计算的校验和或散列值。 创建伴随的验证文件,其中包括每个部分的向量,包括部分在内存中的起始地址,长度以及计算的校验和或哈希值。 当代码稍后运行(执行)时,常规地读取验证文件,并且通过使用与之前相同的算法计算其校验和或散列值来验证每个部分,并将其与相关联的验证文件向量中的值进行比较。 两个值中缺少匹配表示篡改,因此可以停止执行代码。
    • 3. 发明申请
    • Software or other information integrity verification using variable block length and selection
    • 使用可变块长度和选择的软件或其他信息完整性验证
    • US20080168564A1
    • 2008-07-10
    • US11651359
    • 2007-01-08
    • Julien LerougePierre BetouinGianpaolo FasoliAugustin J. Farrugia
    • Julien LerougePierre BetouinGianpaolo FasoliAugustin J. Farrugia
    • G06F12/14
    • G06F21/64
    • An integrity verification process and associated apparatus to detect tampering or other alterations to computer code (software) or other computer files, and especially useful to detect tampering with code by hackers who might try to plant their own malicious code in the software. To make the verification process more robust versus hackers, each e.g., object code file to be protected is first selected using some sort of rule, then partitioned into variable length blocks or portions, the lengths varying in an unpredictable manner. Each portion has its checksum or hash value computed. An accompanying verification file is created which includes a vector for each portion including the portion's start address in memory, length, and the computed checksum or hash value. When the code is later to be run (executed) the verification file is conventionally read and each portion is verified by computing its checksum or hash value using the same algorithm as before, and comparing that to the value in the associated verification file vector. Lack of a match in the two values indicates tampering, so execution of the code can be halted.
    • 完整性验证过程和相关联的设备,用于检测对计算机代码(软件)或其他计算机文件的篡改或其他更改,并且特别有用于检测骇客可能尝试在软件中种植自己的恶意代码的篡改代码。 为了使验证过程比黑客更健壮,每个例如待保护的目标代码文件首先使用某种规则来选择,然后被分割成可变长度的块或部分,长度以不可预测的方式变化。 每个部分都有其计算的校验和或散列值。 创建伴随的验证文件,其中包括每个部分的向量,包括部分在内存中的起始地址,长度以及计算的校验和或哈希值。 当代码稍后运行(执行)时,常规地读取验证文件,并且通过使用与之前相同的算法计算其校验和或散列值来验证每个部分,并将其与相关联的验证文件向量中的值进行比较。 两个值中缺少匹配表示篡改,因此可以停止执行代码。
    • 4. 发明申请
    • SYSTEM AND METHOD FOR CALL PATH ENFORCEMENT
    • 用于呼叫路径执行的系统和方法
    • US20110047622A1
    • 2011-02-24
    • US12546520
    • 2009-08-24
    • Ginger M. MylesSrinivas VedulaGianpaolo FasoliJulien LerougeTanya Michelle LattnerAugustin J. Farrugia
    • Ginger M. MylesSrinivas VedulaGianpaolo FasoliJulien LerougeTanya Michelle LattnerAugustin J. Farrugia
    • G06F21/22G06F9/45G06F9/46
    • G06F21/54G06F9/4484G06F9/544G06F9/545
    • Disclosed herein are systems, computer-implemented methods, and computer-readable storage media for call path enforcement. The method includes tracking, during run-time, a run-time call order for a series of function calls in a software program, and when executing a protected function call during run-time, allowing or causing proper execution of a protected function call only if the run-time call order matches a predetermined order. The predetermined order can be an expected run-time call order based on a programmed order of function calls in the software program. The method can include maintaining an evolving value associated with the run-time call order and calling the protected function by passing the evolving value and function parameters corrupted based on the evolving value. The protected function uncorrupts the corrupted parameters based on the passed evolving value and an expected predetermined call order. A buffer containing the uncorrupted parameters can replace the corrupted parameters.
    • 本文公开了用于呼叫路径实施的系统,计算机实现的方法和计算机可读存储介质。 该方法包括在运行期间跟踪软件程序中一系列函数调用的运行时调用顺序,以及在运行时执行受保护函数调用时,只允许或导致仅受保护函数调用的正确执行 如果运行时间调用顺序与预定顺序相匹配。 预定顺序可以是基于软件程序中的功能调用的编程顺序的期望的运行时呼叫顺序。 该方法可以包括维护与运行时呼叫顺序相关联的演进值,并通过传递基于演进值而破坏的演进值和功能参数来调用受保护功能。 受保护的功能基于传递的演进值和预期的预定呼叫顺序来破坏已损坏的参数。 包含未受损参数的缓冲区可以替换损坏的参数。
    • 6. 发明授权
    • System and method for call path enforcement
    • 呼叫路径执行的系统和方法
    • US08302210B2
    • 2012-10-30
    • US12546520
    • 2009-08-24
    • Ginger M. MylesSrinivas VedulaGianpaolo FasoliJulien LerougeTanya Michelle LattnerAugustin J. Farrugia
    • Ginger M. MylesSrinivas VedulaGianpaolo FasoliJulien LerougeTanya Michelle LattnerAugustin J. Farrugia
    • G06F21/00
    • G06F21/54G06F9/4484G06F9/544G06F9/545
    • Disclosed herein are systems, computer-implemented methods, and computer-readable storage media for call path enforcement. The method includes tracking, during run-time, a run-time call order for a series of function calls in a software program, and when executing a protected function call during run-time, allowing or causing proper execution of a protected function call only if the run-time call order matches a predetermined order. The predetermined order can be an expected run-time call order based on a programmed order of function calls in the software program. The method can include maintaining an evolving value associated with the run-time call order and calling the protected function by passing the evolving value and function parameters corrupted based on the evolving value. The protected function uncorrupts the corrupted parameters based on the passed evolving value and an expected predetermined call order. A buffer containing the uncorrupted parameters can replace the corrupted parameters.
    • 本文公开了用于呼叫路径实施的系统,计算机实现的方法和计算机可读存储介质。 该方法包括在运行期间跟踪软件程序中一系列函数调用的运行时调用顺序,以及在运行时执行受保护函数调用时,只允许或导致仅受保护函数调用的正确执行 如果运行时间调用顺序与预定顺序相匹配。 预定顺序可以是基于软件程序中的功能调用的编程顺序的期望的运行时呼叫顺序。 该方法可以包括维护与运行时呼叫顺序相关联的演进值,并通过传递基于演进值而破坏的演进值和功能参数来调用受保护功能。 受保护的功能基于传递的演进值和预期的预定呼叫顺序来破坏已损坏的参数。 包含未受损参数的缓冲区可以替换损坏的参数。
    • 7. 发明申请
    • Method and apparatus for video frame marking
    • 视频帧标记的方法和装置
    • US20080291999A1
    • 2008-11-27
    • US11807045
    • 2007-05-24
    • Julien LerougeAugustin J. FarrugiaJean-Francois RiendeauGianpaolo Fasoli
    • Julien LerougeAugustin J. FarrugiaJean-Francois RiendeauGianpaolo Fasoli
    • G11B27/036
    • H04N7/1675H04N21/23608H04N21/23614H04N21/23895H04N21/8455
    • Method and apparatus for marking individual video frames of an H.264/AVC standard compliant or equivalent digital video stream. Each video frame in a H.264/AVC video stream is conventionally divided into NAL units. There are typically a number of NAL units for each video frame. There is specified in the H.264/AVC standard the SEI (Supplemental Enhancement Information) type. This type includes the user data unregistered type, which can contain arbitrary data. In the present method and apparatus, an NAL unit of this type is provided at the beginning of each video frame, preceding the other NAL units associated with that video frame. The data contained in that special SEI unit is typically control information for downstream control of use of the video content. Examples of the type of control information are stream positioning data such as a video frame number; stream bit rate, such as normal, fast forward; decryption data, such as a decryption key or key derivation seed; and validation elements, such as a checksum or hash function value or signature.
    • 用于标记H.264 / AVC标准兼容或等效数字视频流的各个视频帧的方法和装置。 H.264 / AVC视频流中的每个视频帧通常被划分成NAL个单元。 每个视频帧通常有多个NAL单元。 在H.264 / AVC标准中规定了SEI(补充增强信息)类型。 这种类型包括可以包含任意数据的用户数据未注册类型。 在本方法和装置中,这种类型的NAL单元在与该视频帧相关联的其他NAL单元之前的每个视频帧的开始处被提供。 包含在该特殊SEI单元中的数据通常是下游控制视频内容的使用的控制信息。 控制信息类型的示例是诸如视频帧号的流定位数据; 流比特率,如正常,快进; 解密数据,如解密密钥或密钥导出种子; 和验证元素,例如校验和或散列函数值或签名。
    • 9. 发明授权
    • System and method for array obfuscation
    • 数组混淆的系统和方法
    • US08434061B2
    • 2013-04-30
    • US12135032
    • 2008-06-06
    • Augustin J. FarrugiaJulien LerougeTanya Michelle LattnerGideon M. MylesGianpaolo Fasoli
    • Augustin J. FarrugiaJulien LerougeTanya Michelle LattnerGideon M. MylesGianpaolo Fasoli
    • G06F9/44
    • G06F21/6209G06F21/10G06F21/6218G06F2221/2107
    • Disclosed herein are systems, methods, and computer readable-media for obfuscating array contents in a first array, the method comprising dividing the first array into a plurality of secondary arrays having a combined total size equal to or greater than the first array, expanding each respective array in the plurality of the secondary arrays by a respective multiple M to generate a plurality of expanded arrays, and arranging data elements within each of the plurality of expanded arrays such that a data element located at an index I in a respective secondary array is located at an index I*M, wherein M is the respective multiple M in an associated expanded array, wherein data in the first array is obfuscated in the plurality of expanded arrays. One aspect further splits one or more of the secondary arrays by dividing individual data elements in a plurality of sub-arrays. The split sub-arrays may contain more data elements than the respective secondary array. The principles herein may be applied to single dimensional or multi-dimensional arrays. The obfuscated array contents may be accessed via an index to the first array which is translated to retrieve data elements stored in the plurality of expanded arrays.
    • 本文公开了用于在第一阵列中模糊阵列内容的系统,方法和计算机可读介质,所述方法包括将第一阵列划分成具有等于或大于第一阵列的组合总大小的多个次阵列, 通过相应的多个M在多个次级阵列中的相应阵列以生成多个扩展阵列,并且在多个扩展阵列中的每一个内布置数据元素,使得位于相应次级阵列中的索引I处的数据元素是 位于索引I * M处,其中M是相关联的扩展阵列中的相应多个M,其中第一阵列中的数据在多个扩展阵列中被模糊化。 一个方面通过划分多个子阵列中的各个数据元素来进一步分割一个或多个次级阵列。 分割子阵列可能包含比相应的辅助阵列更多的数据元素。 这里的原理可以应用于单维或多维阵列。 混淆的阵列内容可以经由第一数组的索引访问,该索引被转换以检索存储在多个扩展阵列中的数据元素。