(19)中华 人民共和国 国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210299498.0 (22)申请日 2022.03.25 (71)申请人 北京长亭未来科技有限公司 地址 100024 北京市海淀区学清路768创意 产业园D座0 5 (72)发明人 陈靖远 李昌志 蒋倩 张嘉欢  (74)专利代理 机构 深圳睿臻知识产权代理事务 所(普通合伙) 44684 代理人 张海燕 (51)Int.Cl. H04L 9/32(2006.01) H04L 67/02(2022.01) G06F 16/903(2019.01) G06F 40/253(2020.01) (54)发明名称 一种Webshell的骨架刻 画及检测方法、 装置 与设备 (57)摘要 本发明实施例提供了一种Webshell的骨架 刻画及检测方法、 装置与设备, 通过对已知 Webshell进行词法解析, 并对其进行合理泛化, 刻画出已知Webshell的骨 架, 据此构建Websh ell 骨架数据库; 以相同的方式刻画待检测代码的骨 架, 在已构建的Websh ell骨架数据库中查询是否 存在匹配的骨架, 从而判断待检测代码是否为 Webshell。 本发明实施例使Websh ell检测高效且 准确, 同时具有极强的适应性和扩展性, 可以对 多种语言编写的代码进行检测, 且在真实的检测 环境能够达 到较为理想的检测效果。 权利要求书3页 说明书9页 附图1页 CN 114422148 A 2022.04.29 CN 114422148 A 1.一种Webshel l的骨架刻画及检测方法, 其特 征在于, 所述方法包括: 将已知的Webshel l文件解析为第一To ken序列; 将所述第一To ken序列进行骨架刻画得到第二To ken序列; 将所述第二To ken序列进行泛化得到第三To ken序列; 根据所述第三To ken序列签名的第一摘要值, 构建Webshel l骨架数据库; 提取待检测代码的骨架并基于所述Webshell骨架数据库判断待检测代码是否为 Webshell。 2.如权利要求1所述的一种Webshell的骨架刻画及检测方法, 其特征在于, 将已知的 Webshell文件解析为对应的第一To ken序列, 包括: 定义BaseToken结构体, 所述BaseToken结构体包括: string类型的Name和Text、 int类 型的Type; 定义BaseTo ken类型的to kens数组, 所述to kens数组用于保存解析完成的To ken序列; 根据已知的Webshell文件, 创建一个输入字符流, 将对应的词法分析器指定给该输入 字符流; 创建一个词法 符号流, 并将所述词法 符号流指定给对应的词法分析器; 通过词法分析器将字符流分解成若干词法 符号对象; 获取词法 符号流中所有的To ken到先前定义的to kens数组中, 形成第一To ken序列。 3.如权利 要求2所述的一种Webshell的骨架刻画及检测方法, 其特征在于, 将所述第一 Token序列进行骨架刻画得到第二To ken序列, 包括: 从所述第一To ken序列中对Webshel l意义无实质性影响的第一To ken进行过滤; 抽取所述第一To ken序列中的关键函数作为第一 Webshell骨架关键节点; 从所述第一To ken序列中抽取 具有关键意 义的符号作为第二 Webshell骨架关键节点; 由过滤后的所述第一Token序列, 利用所述第一Webshell骨架关键节点和第二 Webshell骨架关键节点形成所述第二To ken序列。 4.如权利 要求3所述的一种Webshell的骨架刻画及检测方法, 其特征在于, 将所述第二 Token序列进行泛化得到第三To ken序列, 包括: 对未被抽取的非骨架节点的第二Token对应泛化为IDENTIFIER、 STRINGLITERAL、 INTEGERLITERAL; 其中, 所述第二Token包括: 所述第二Token序列中的非骨架节点的变量、 类名、 函数、 字 符串、 数字 。 5.如权利 要求4所述的一种Webshell的骨架刻画及检测方法, 其特征在于, 根据所述第 三Token序列签名的第一摘要值, 构建Webshel l骨架数据库, 包括: 将所述第三Token序列中泛化为IDENTIFIER、 STRINGLITERAL、 INTEGERLITERAL的非骨 架节点分别记为第一泛化 点、 第二泛化 点、 第三泛化 点; 以IDE_x、 STR_y、 INT_z形式分别对所述第一泛化点、 所述第二泛化点、 所述第三泛化点 进行标记, 作为与所述Webshell文件对应的Webshell签名, 其中, x、 y、 z为整型数字, 表 示泛 化点类型的序号; 计算所述 Webshell签名的第一Hash值, 并将所述第一Hash值作为第一摘要值; 利用所述第一摘要值建立所述Webshell的索引并进行存储, 以供后续检测以及查询使权 利 要 求 书 1/3 页 2 CN 114422148 A 2用, 完成对所述 Webshell骨架数据库的构建。 6.如权利 要求5中所述的一种Webshell的骨架刻画及检测方法, 其特征在于, 提取待检 测代码的骨架并基于所述 Webshell骨架数据库判断待检测代码是否为 Webshell, 包括: 检查所述待检测代码是否经 过编码或混淆; 若所述待检测代码经过编码或混淆, 则对所述待检测代码进行解码或还原; 提取解码 或还原后的待检测代码的Webshel l骨架并泛化; 若所述待检测代码未经过编码或混淆, 则直接提取所述待检测代码的Webshell骨架并 泛化; 在已构建的Webshell骨架数据库 中查询是否存在与所述待检测代码匹配的Webshell 骨架; 若已构建的Webshell骨架数据库中存在与所述待检测代码匹配的Webshell骨架, 则所 述待检测代码为 Webshell; 若已构建的Webshell骨架数据库中不存在与所述待检测代码匹配的Webshell骨架, 则 所述待检测代码不 为Webshell。 7.如权利 要求6所述的一种Webshell的骨架刻画及检测方法, 其特征在于, 提取解码或 还原后的待检测代码的Webshell骨架并泛化, 或直接提取所述待检测代码的Webshell骨架 并泛化, 包括: 将解码或还原后的待检测代码解析为第四Token序列, 或直接将待检测代码解析为第 四Token序列; 从所述第四To ken序列中对Webshel l意义无实质性影响的第三To ken进行过滤; 抽取所述第四To ken序列中的关键函数作为第三 Webshell骨架关键节点; 从所述第四To ken序列中抽取 具有关键意 义的符号作为第四Webshel l骨架关键节点; 由过滤后的所述第四Token序列, 利用所述第三Webshell骨架关键节点和所述第四 Webshell骨架关键节点形成第五To ken序列; 对未被抽取的非骨架节点的第四Token对应泛化为IDENTIFIER、 STRINGLITERAL、 INTEGERLITERAL, 得到第六To ken序列; 其中, 所述第四Token包括: 所述第二Token序列中的非骨架节点的变量、 类名、 函数、 字 符串、 数字 。 8.如权利 要求7所述的一种Webshell的骨架刻画及检测方法, 其特征在于, 在已构 建的 Webshell骨架数据库中查询是否存在与所述待检测代码匹配的Webshel l骨架, 包括: 将所述第六Token序列中泛化为IDENTIFIER、 STRINGLITERAL、 INTEGERLITERAL的非骨 架节点分别记为第四泛化 点、 第五泛化 点、 第六泛化 点; 以IDE_x、 STR_y、 INT_z形式分别对所述第四泛化点、 所述第五泛化点、 所述第六泛化点 进行标记, 作为待检测代码签名, 其中, x、 y、 z为整型 数字, 表示泛化 点类型的序号; 计算所述待检测代码签名的第二Hash值, 并将所述第二Hash值作为第二摘要值; 在已构建的Webshell骨架数据库中, 查询是否存在与第二摘要值匹配的所述第一摘要 值; 若存在与第二摘要值匹配的所述第一摘要值, 则在已构 建的Webshell骨架数据库中存 在与所述待检测代码匹配的Webshel l骨架;权 利 要 求 书 2/3 页 3 CN 114422148 A 3

.PDF文档 专利 一种Webshell的骨架刻画及检测方法、装置与设备

安全报告 > 其他 > 文档预览
中文文档 14 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种Webshell的骨架刻画及检测方法、装置与设备 第 1 页 专利 一种Webshell的骨架刻画及检测方法、装置与设备 第 2 页 专利 一种Webshell的骨架刻画及检测方法、装置与设备 第 3 页
下载文档到电脑,方便使用
本文档由 思考人生2024-02-07 20:40:28上传分享
给文档打分
您好可以输入 255 个字符
网站域名是多少( 答案:github5.com )
评论列表
  • 暂时还没有评论,期待您的金玉良言
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。