YU TAO (CN)
TAO BO (CN)
CN102930206A | 2013-02-13 | |||
CN101630325A | 2010-01-20 | |||
CN102802090A | 2012-11-28 |
深圳市深佳知识产权代理事务所(普通合伙) (CN)
权 利 要 求 1、 一种文件的聚类方法, 其特征在于, 包括: 分别对待处理文件中的多个信息块的进行特征提取; 计算提取的所述多个信息块中各个信息块的特征的信息指纹; 根据所述各个信息块的特征的信息指纹获取所述待处理文件的信息指 纹; 将信息指紋相同的待处理文件作为一个聚类输出。 2、 如权利要求 1所述的方法, 其特征在于, 所述分别对待处理文件中 的多个信息块的进行特征提取, 具体包括: 分别提取所述待处理文件中的多个信息块的数据分布信息, 所述数据 分布信息包括信息块中部分或全部数据的频率或个数。 3、 如权利要求 1或 2所述的方法, 其特征在于, 所述计算提取的所述 多个信息块中各个信息块的特征的信息指纹包括: 分别将提取的所述多个信息块中各个信息块的特征进行归一化处理; 计算归一化处理后的所述各个信息块的特征的信息指纹。 4、 如权利要求 3所述的方法, 其特征在于, 所述计算归一化处理后的 所述各个信息块的特征的信息指纹, 具体包括: 分别调整归一化处理后的所述各个信息块的特征的范围; 计算调整范围后的所述各个信息块的特征的信息指纹。 5、 如权利要求 4所述的方法, 其特征在于, 所述分别调整归一化处理 后的所述各个信息块的特征的范围, 包括: 根据核空间的映射函数, 将归一化处理后的所述各个信息块的特征分 别映射到所述映射函数对应的核空间, 不同待处理文件中相同属性的信息 块采用相同的映射函数; 或, 分别对归一化处理后的所述各个信息块的特征进行加权运算。 6、 一种文件的聚类设备, 其特征在于, 包括: 特征提取单元, 用于分别对待处理文件中的多个信息块的进行特征提 取; 第一指纹计算单元, 用于计算提取的所述多个信息块中各个信息块的 特征的信息指纹; 第二指纹计算单元, 用于根据所述各个信息块的特征的信息指纹获取 所述待处理文件的信息指纹; 聚类输出单元, 用于将信息指纹相同的待处理文件作为一个聚类输出。 7、 如权利要求 6所述的设备, 其特征在于, 所述特征提取单元所提取的特征为所述多个信息块的数据分布信息, 所述数据分布信息包括信息块中部分或全部数据的频率或个数。 8、 如权利要求 6或 7所述的设备, 其特征在于, 所述第一指纹计算单 元包括: 归一化单元, 用于分别将提取的所述多个信息块中各个信息块的特征 进行归一化处理; 第一计算单元, 用于计算归一化处理后的所述各个信息块的特征的信 息指纹。 9、 如权利要求 8所述的设备, 其特征在于, 所述第一计算单元包括: 范围调整单元, 用于分别调整归一化处理后的所述各个信息块的特征 的范围; 第二计算单元, 用于计算调整范围后的所述各个信息块的特征的信息 指纹。 10、 如权利要求 9所述的设备, 其特征在于, 所述范围调整单元调整整归一化处理后的所述各个信息块的特征的范 围包括: 根据核空间的映射函数, 将归一化处理后的所述各个信息块的特征分 别映射到所述映射函数对应的核空间, 不同待处理文件中相同属性的信息 块采用相同的映射函数; 和 /或, 分别对归一化处理后的所述各个信息块的特征进行加权运算。 |
[0001] 本申请要求于 2013 年 2 月 21 日提交中国专利局、 申请号为 201310055669.6、发明名称为"一种文件的聚类方法 和设备 "的中国专利申请 的优先权, 其全部内容通过引用结合在本申请中。 技术领域
[0002] 本发明涉及信息处理技术领域。 背景技术
[0003] 随着互联网的发展, 信息爆炸式地增长, 其中, 计算机病毒、 蠕虫、 木马程序等计算机恶意程序的信息每日都危害 用户设备的安全, 而大部分 恶意程序的文件都是可移植可执行(Portable Executable, PE )格式的文件。 发明内容
[0004] 本发明实施例提供一种文件的聚类方法和设备 , 以筒化文件聚类的 复杂度。
[0005] 本发明实施例提供一种文件的聚类方法, 包括:
[0006] 分别对待处理文件中的多个信息块的进行特征 提取;
[0007] 计算提取的所述多个信息块中各个信息块的特 征的信息指纹;
[0008] 根据所述各个信息块的特征的信息指纹获取所 述待处理文件的信息 指纹;
[0009] 将信息指紋相同的待处理文件作为一个聚类输 出。
[0010] 本发明实施例提供一种文件的聚类设备, 包括: [0011] 特征提取单元, 用于分别对待处理文件中的多个信息块的进行 特征 提取;
[0012] 第一指纹计算单元, 用于计算提取的所述多个信息块中各个信息块 的特征的信息指纹;
[0013] 第二指纹计算单元, 用于根据所述各个信息块的特征的信息指纹获 取所述待处理文件的信息指纹;
[0014] 聚类输出单元, 用于将信息指纹相同的待处理文件作为一个聚 类输 出。
[0015] 本发明实施例中, 在对待处理文件进行聚类时, 可以通过对待处理 文件中包含的多个信息块的特征的信息指纹进 行处理得到待处理文件的信 息指纹并进行比较, 将信息指纹相同的待处理文件作为一个聚类, 来实现 文件的聚类。 这样采用信息指纹的方式对待处理文件中信息 块的特征进行 标识, 然后根据标识来进行聚类, 相比现有技术中相似性的比较, 本发明 实施例中计算特征的标识并聚类的方法, 其的运算量和复杂度会^艮大程度 的降低。 附图说明
对实施例或现有技术描述中所需要使用的附 图作筒单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施例 , 对于本领域普通技术人员 来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的 附图。
[0017] 图 1是本发明实施例提供的一种文件的聚类方法 程图;
[0018] 图 2是本发明实施例中 ΡΕ文件包含的. text节中数据的示意图;
[0019] 图 3是本发明实施例提供的另一种文件的聚类方 流程图; [0020] 图 4是本发明实施例中一种 PE文件的聚类方法流程图;
[0021] 图 5是本发明实施例提供的一种文件的聚类设备 示意图;
[0022] 图 6是本发明实施例提供的一种文件的聚类设备 示意图;
[0023] 图 7是本发明实施例提供的一种文件的聚类设备 示意图。 具体实施方式
[0024] 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案 进行清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施 例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其 他实施例, 都属于本发明保 护的范围。
[0025] 本发明实施例提供一种文件的聚类方法,比如 对 PE等文件的聚类方 法, 该方法主要是计算机所执行的方法, 流程图如图 1所示, 该方法包括: [0026] 步骤 101 , 分别对待处理文件中的多个信息块的进行特征 提取。
[0027] 可以理解, 每个文件都可以被划分为不同的信息块, 对于 PE文件来 说, 该 PE文件可以被用于不同的操作系统和体系结构 , 且可以被封装在 操作系统加载可执行程序代码时所必需的信息 中, 所述信息包括动态链接 库、 导入和导出表、 资源管理数据和线程局部存储数据等。 大部分恶意程 序都是 PE文件。 PE文件可以被划分为不同的信息块, 称为节 (sections ), 比如. text节, .data节, .rsrc节, .reloc节等, 每节中包含具有共同属性的数 据, 具体可以是数据 0 ( 00 )到数据 255 ( FF )之间的数据。
[0028] 计算机可以对待处理文件中的全部或部分信息 块进行特征提取, 且 在进行特征提取时, 可以提取信息块的数据分布信息。 该数据分布区信息 可以指示各个数据在该信息块中分布的情况, 如可以包括部分或全部数据 的频率和 /或个数, 比如数据 1C出现的频率和个数等。 例如图 2所示, .text 节的数据中, 数据 77出现的频率较大。
[0029] 步骤 102,计算步骤 101中提取的多个信息块中各个信息块的特征的 信息指纹。 其中一个信息块的信息指纹是通过对该信息块 加工得到的一个 随机数, 该随机数被作为该信息块区别于其他信息块的 标识。 常用的信息 指纹计算方法有局部敏感哈希计算等。 本发明实施例中, 得到的信息指纹 可以标识一个信息块的特征。
[0030] 步骤 103 ,根据各个信息块的特征的信息指纹获取待处 文件的信息 指纹。 可以将各个信息块的特征的信息指纹拼接得到 一个待处理文件的信 息指纹; 或可以通过其它方式得到待处理文件的信息指 纹。 该信息指纹中 包含了该待处理文件包含步骤 102中获得的各个信息块的特征的信息指纹。
[0031] 步骤 104,将步骤 103中获得的信息指紋相同的待处理文件作为一 个 聚类输出。
[0032] 本发明实施例中, 在对待处理文件进行聚类时, 可以通过对待处理 文件中包含的多个信息块的特征的信息指纹进 行处理得到待处理文件的信 息指纹并进行比较, 将信息指纹相同的待处理文件作为一个聚类, 来实现 文件的聚类。 采用信息指纹的方式对待处理文件中信息块的 特征进行标识, 然后根据标识来进行聚类, 相比现有技术中的相似性比较, 本发明实施例 中计算特征的标识并聚类的方法, 其运算量和复杂度会艮大程度的降低。
[0033] 参考图 3所示, 在一个具体的实施例中,计算机在执行上述步 骤 102 时, 可以通过如下的步骤来实现:
[0034] 步骤 201 ,分别将步骤 101中提取的多个信息块中各个信息块的特征 进行归一化处理, 这样可以将各个信息块的特征都统一成比较方 便运算的 数据。
[0035] 步骤 202, 计算归一化处理后的各个信息块的特征的信息 指纹。
[0036] 计算机可以直接按照信息指纹的计算函数来计 算, 或可以通过如下 步骤 A和 B来实现:
[0037] A: 分别调整归一化处理后的所述各个信息块的特 征的范围。
[0038] 可以通过核空间映射或加权等方法进行调整, 从而根据实际情况缩 放各个信息块的特征之间的差异, 比如两个信息块的特征之间的差别为 100, 则通过本步骤的范围调整, 使得这两个信息块的特征之间的差别缩小 为 20, 更进一步地缩小了计算复杂度。
[0039] 在通过核空间映射方法进行调整时, 可以根据核空间的映射函数, 将归一化处理后的各个信息块的特征分别映射 到映射函数对应的核空间, 且不同待处理文件中相同属性的信息块采用相 同的映射函数。 比如不同待 处理的 PE文件中 .text节采用相同的映射函数,而一个待处理文 中不同信 息块采用的映射函数可以相同, 也可以不同。
[0040] 通过加权方法进行调整时, 计算机可以分别对归一化处理后的各个 信息块的特征进行加权运算, 不同信息块对应的加权值可以不同, 也可以 相同。
[0041] B: 计算调整范围后的各个信息块的特征的信息指 纹。
[0042] 可以按照一定的信息指紋运算函数来计算各个 信息块的特征对应的 信息指纹。
[0043] 下面以一个具体的实施例来说明本发明实施例 中文件的聚类方法。 本实施例中, 主要是计算机对十六进制的 PE文件进行的聚类, 参见图 4, 该方法包括:
[0044] 步骤 301 , 判断 PE文件是否被进行了加壳 (Packer )处理, 即是否 是通过一系列的数学运算得到的编码改变后的 PE文件, 如果是, 执行步骤 302, 如果不是, 则执行步骤 303。
[0045] 步骤 302, 对加壳后的 PE文件进行脱壳 (Unpacker )处理, 即除掉 PE文件的加壳保护, 与步骤 301中的加壳处理互为逆运算, 之后执行步骤 303。
[0046] 步骤 303, 分别提取 PE文件中指定的 m个节的数据分布信息。 [0047] 比如根据每个节中 0 (00)到 255 (FF)之间的数据的分布频率, 得 到 m个 256维的特征向量记为 Hi=[h0, hi, ···, h255], i=l, ···, m, 其中 hi可以表示各个数据的分布频率。 其中, 如果有些 PE文件中没有该指定的 m个节中的某些节, 这这些节对应的特征向量为 0, 即 Hi=[0, 0, 0]。 [0048] 步骤 304, 对步骤 303中得到的 m个特征向量进行归一化处理, 得 到归一化后的 m个特征向量,记为 ,其中归一化处理所 h. = ¾——— ,0≤ ≤255
使用的函数为 1 ∑0≤≤255^- 。 [0049] 步骤 305, 调整归一化处理后的 m个特征向量的范围。
[0050] 可以通过但不限于如下两种方式对所述 m个特征向量的范围进行调
[0051] ( 1 )如果采用核空间映射方法, 则将特征向量之间的距离度量方式 转化为核空间的距离度量方式, 包括:
[0052] 计算机可以先选择一种合适的核空间, 比如多项式核, 径向基核函
2
数 ( Radial Basis Function, RBF )核, 核, 或正交 ( Intersection )核等。 然后采用所选择的核空间的映射函数, 分别得到 m个特征向量在所选择的
^ 「 ~ ~ ~ 一
核空间中对应的核空间向量 H i = L °' l **' 255 」, i=l, m。 其中, 所选 择的核空间的映射函数可以为:
[0053] 在该核空间的映射函数中, j为 1到 2n之间的整数, 计算机可以指 定一个阶数 n, 其中阶数越高, 则映射函数的项数也越多, 精度越高;
^ = 2^/Λ, 该 Λ是选定周期; 是对应于该核空间的核函数签名 (kernel signature ) 的傅里叶反变换 ^ ) 的窗函数截断, =^ (w*fc)( L) ,
(1 1;! < - 1)/2
1 , 这里 *代表卷积, W是所选窗函数的频域 表示; 上述映射函数中的 由所选核空间的核函数本身决定, 该 可以满足 k(cx,cy) = c r K(x,y), 其中 c 为常数。
[0054] 这样通过该映射函数得到的 m个特征向量在核空间中对应的核空间 向量为:
¾ - [¾ (¾ Φ 1 >' β I · d ) S ' . (U
, 其中 i=l, m。
[0055] 上述核函数为满足 Mercer定理的函数。假设有 n维空间 R上的向量
X, y, 支设通过映射函数 φ(χ )将 χ, y映射到 m维的核空间 F上, 得到 F 上的对应向量 φ ( ), Φ ( , 则核函数 K ( x, y)满足 K ( x, y ) =< Φ(λ) ,
Φ( 7 ) > (符号 <, >表示内积)。 如果将核函数 Κ (χ, y)表示为如下形式:
X 则 就称为该核函数的核函数签名。 [0056] 例如, 当计算机选择 Intersection核, 则该核空间的核函数为 K ( x, y ) 选定阶段阶数 η , 比如 η =1 等; 计算近似周期 A=alog(n + b) + c ( a , b , c 可以在保证周期 Λ大于 0的情况下任意选择, 比:¾口 a=2.0 , b=0.99 , c=3.52 ); 计算 Intersection 核的核函数为
2
r(l + 4 );选择矩形窗对^ )进行截断,矩形窗的 w的具体形式为:
' 。 这样可以根据计算的这些参数得到选择的
Intersection核的映射函数, 并进行核空间的映射。
[0057] ( 2 )如果采用加权运算方法, 则将特征向量之间的距离度量方式通 过加权值进行缩小, 包括: 将归一化后的 m个特征向量 与加权值"相乘, 即 1 ^二 0 ^ , 其中 熵值越大, "越大。
[0058] 例如, 是 Hi 的熵值, 即 , 而加权值 "可以为:
!½ -- ww 丁 Ij !ij■ 0.5
1 , 其它
[0059] 步骤 306 , 分别计算调整范围后的 m个特征向量的信息指纹 ' , i=l , …, m。
[0060] 计算机可以选择一种计算信息指纹的函数来计 算所述 m个特征相关 的指纹信息。 本实施例中以某一种信息指纹计算函数为例来 说明, 包括: 针对步骤 305 中采用核空间映射方法得到的调整范围后的 m 个特征向量 [0061] ( 1 ) 计算机选取 m 个阈值
σ.
[0062] (2)从期望为 0, 标准差为 i的 256 (2η+1 ) 维的高斯分布函数中 抽样 个点 1 Ρο^ 1 ""^ 256 ^ )— 1 );
[0063] (3)从 [0, 上的均匀分布函数中抽样 个点
[0064] (4)从 [-1,1]上的均匀分布函数中抽样 个点 ·;
[0065] (5)调整范围后的 m个特征向量的信息指纹为:
:s ™ [sgn(ces( i - M t + t ) Γ-, - + B fi )
, i=l , … , m , 其中符号 ·代表内 积, sgn 是符号函数, :)
[0066] 需要说明的是, 如果是采用加权方法得到调整范围后的 m个特征向 量 H i, 在计算信息指纹时, 与上述计算信息指纹的方法类似, 在此不进行 赘述。
[0067] 步骤 307, 根据步骤 306中计算的调整范围后的 m个特征向量的信 息指纹, 得到待处理的 PE文件的信息指纹, 具体地, 可以将每个调整范围 后的特征向量的信息指纹进行拼接, 即 S
[0068] 步骤 308, 将信息指紋相同的 PE文件作为一个聚类输出。
[0069] 本发明实施例还提供一种文件的聚类设备, 其结构示意图如图 5 所 示, 包括: [0070] 特征提取单元 10, 用于分别对待处理文件中的多个信息块的进行 特 征提取。 可选地, 特征提取单元 10可以分别提取所述多个信息块的数据分 布信息, 所述数据分布信息包括信息块中部分或全部数 据的频率或个数等。
[0071] 第一指纹计算单元 11 ,用于计算特征提取单元 10提取的所述多个信 息块中各个信息块的特征的信息指纹;
[0072] 第二指纹计算单元 12,用于根据所述第一指纹计算单元 11计算的各 个信息块的特征的信息指纹获取所述待处理文 件的信息指纹;
[0073] 聚类输出单元 13,用于将第二指纹计算单元 12计算的信息指紋相同 的待处理文件作为一个聚类输出。
[0074] 可见, 本发明实施例所提供的聚类设备中, 在对待处理文件进行聚 类时, 可以通过聚类输出单元 13对待处理文件中包含的多个信息块的特征 的信息指纹进行处理得到待处理文件的信息指 纹并进行比较, 将信息指纹 相同的待处理文件作为一个聚类, 来实现文件的聚类。 采用信息指纹的方 式对待处理文件中信息块的特征进行标识, 然后根据标识来进行聚类, 相 比现有技术中相似性的比较, 本发明实施例中计算特征的标识并聚类的方 法, 其运算量和复杂度会艮大程度的降低。
[0075] 参考图 6和 7, 在一实施例中, 文件的聚类设备除了包括图 5所示的 结构外, 其中的第一指纹计算单元 11可以通过归一化单元 110和第一计算 单元 111来实现, 其中:
[0076] 归一化单元 110, 用于分别将特征提取单元 10提取的所述多个信息 块中各个信息块的特征进行归一化处理。
[0077] 第一计算单元 111 ,用于计算归一化单元 110进行归一化处理后的所 述各个信息块的特征的信息指纹。 所述第一计算单元 111 可以直接根据计 算信息指纹的函数来计算, 然后第二指纹计算单元 12会根据第一计算单元 111 计算的各个信息块的特征对应的信息指纹来确 定待处理文件的信息指 纹。可选地,所述第一计算单元 111可以通过范围调整单元 112和第二计算 单元 113来实现。
[0078] 所述范围调整单元 112,用于分别调整归一化单元 110进行归一化处 理后的所述各个信息块的特征的范围。 该范围调整单元 112可以根据核空 间的映射函数, 将归一化处理后的所述各个信息块的特征分别 映射到所述 映射函数对应的核空间, 不同待处理文件中相同属性的信息块采用相同 的 映射函数; 和 /或, 该范围调整单元 112可以分别对归一化处理后的所述各 个信息块的特征进行加权运算。
[0079] 所述第二计算单元 113,用于计算范围调整单元 112调整范围后的所 述各个信息块的特征的信息指纹, 然后第二指纹计算单元 12会根据第二计 算单元 113计算的各个信息块的特征对应的信息指纹来 确定待处理文件的 信息指纹。
[0080] 上述文件的聚类设备中各个单元之间可以按照 上述方法进行文件的 聚类。
[0081] 本领域普通技术人员可以理解上述实施例的各 种方法中的全部或部 分步骤是可以通过程序来指令相关的硬件来完 成, 该程序可以存储于一计 算机可读存储介质中, 存储介质可以包括: 只读存储器(ROM )、 随机存取 存储器(RAM )、 磁盘或光盘等。
[0082] 以上对本发明实施例所提供的文件的聚类方法 及设备进行了详细介 实施例的说明只是用于帮助理解本发明的方法 及其核心思想; 同时, 对于 本领域的一般技术人员, 依据本发明的思想, 在具体实施方式及应用范围 上均会有改变之处, 综上所述, 本说明书内容不应理解为对本发明的限制。
Next Patent: GLASS SURFACE CLEANING DEVICE