[发明专利]基于HOOK技术获取SSH加密内容的方法及其应用在审
| 申请号: | 202110160507.3 | 申请日: | 2021-02-05 |
| 公开(公告)号: | CN112926050A | 公开(公告)日: | 2021-06-08 |
| 发明(设计)人: | 朱贺军;邓省三 | 申请(专利权)人: | 北京亿赛通网络安全技术有限公司 |
| 主分类号: | G06F21/52 | 分类号: | G06F21/52;G06F11/36;H04L29/06;H04L29/08 |
| 代理公司: | 北京世誉鑫诚专利代理有限公司 11368 | 代理人: | 孙国栋 |
| 地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 hook 技术 获取 ssh 加密 内容 方法 及其 应用 | ||
1.基于HOOK技术获取SSH加密内容的方法,其特征在于,分析SSH服务端程序,使用strace动态追踪sshd进程,找到hook点read函数,发现仅有部分数据库的数据不能捕获,通过GDB调试这些数据库客户端程序,找到新的hook点fgets、fwrite等函数;
通过所有hook点获取并记录SSH通信解密后内容,然后通过解析数据获取SSH加密内容;具体如下:
1)hook libc库的read、fgets、fwrite等函数,SSH会话建立成功后,获取调用相应函数的进程PID和当前时间,根据PID获取进程名找到目标进程,记录获取SSH客户端命令的时间、ASCII码字符串和明文数据等信息写入缓存文件;
2)将上述功能代码编译成动态库so文件,利用Linux preload机制将生成的so文件写入/etc/ld.so.preload(或/etc/ld.so.cache文件,前者优先)文件中(不存在时则新建一个),捕获并缓存数据;
3)自定义解析方法解析上述缓存数据获取SSH加密内容,还原出SSH加密的客户端操作的命令内容。
2.如权利要求1所述的基于HOOK技术获取SSH加密内容的方法,其特征在于,hook点是libc库的read、fgets、fwrite等函数,所述自定义的解析方法是:读取上一次文件读到的位置信息,如果有更新,从上次位置后读取hook获取的缓存数据,提取出时间信息,ASCII码字符串和明文数据等信息,先处理明文数据字符串,根据是否是可显字符及对应的ASCII码,确定键值信息,然后以每条完整的命令均以回车键作为结束作为特征,再通过解析一些特殊按键,最后还原出完整的信息。
3.一种获取多客户端SSH加密内容的系统,其特征在于,应用权利要求1-2所述的方法,所述系统包括前端部分以及后端部分;
后端部分:通过hook技术将so库文件注入到每一个SSH会话相关的进程组中,缓存捕获的数据,同时控制用户删除操作行为;
后端部分包括数据捕获和缓存模块以及删除操作控制模块;
数据捕获和缓存模块:获取并缓存时间、PID及进程名称等捕获的数据信息,恢复原始系统调用过程及相应的返回值;
删除操作控制模块:根据删除操作控制策略,通过权限管理用户的删除操作行为;
前端部分:shell脚本用来完成启动、停止、管理可执行文件等功能,可执行二进制文件主要完成用户信息管理、数据解析还原、命令类型识别、策略接收与处理、自动垃圾清理等功能;
前端部分包括日志生成模块、进程守护与自启动模块、解析策略的接收与处理模块、数据解析还原与输出模块、用户信息管理模块、系统与数据库命令识别模块、输出源控制模块、扫描与记录登录信息模块、自动垃圾清理模块、删除操作策略的接收与处理模块;
日志生成模块:通过简单参数输入生成日志文件供用户查看,也可以通过定制接口传输到指定的数据库,也发送到专用的审计平台存入任意数据源中,便于用户审查;
进程守护与自启动模块:支持进程守护功能,异常退出时可以重新启动,但异常期间客户端的操作信息不丢失,同时支持开机自启动,当有客户端连接时才开始获取信息;
解析策略的接收与处理模块:提供接收和处理下发的是否开启解析功能的策略文件功能,通过指定目标服务器的IP地址,达到同时控制多台服务器的目的;
数据解析还原与输出模块:处理交互模块提供的信息,处理后端缓存的数据,根据PID信息解析相应的系统命令和数据库命令文件,分别记录各文件当前读取的位置信息,将还原后的SSH客户端操作的时间和命令信息输出;
用户信息管理模块:管理SSH客户端当前登录用户及用户切换后的信息,包括登录时间、SSH客户端IP地址和Port端口,当前服务器的IP地址和Port端口,用户退出时间等;
系统与数据库命令识别模块:根据PID信息识别系统命令和数据库命令,解析出具体数据库类型,标识后给其他模块提供相应信息;
输出源控制模块:接收用户登录和退出信息,接收还原并识别出的系统命令和数据库命令信息,然后提供多种输出接口,可以保存成文件,存入数据库或发送到其他数据处理平台等;
扫描与记录登录信息模块:实时扫描当前服务器中连接成功的和退出的SSH会话,获取PID信息,根据多级PID关联关系确定目标PID供其他模块使用,然后通过用户信息管理模块记录SSH客户端登录信息;
自动垃圾清理模块:通过扫描与记录登录信息模块提供退出的SSH客户端的PID信息,自动清理该客户的垃圾文件;
删除操作策略的接收与处理模块:接收和处理下发的删除操作策略,根据策略控制是否允许用户的删除操作或删除前备份,可以支持指定如文件、文件夹等策略形式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京亿赛通网络安全技术有限公司,未经北京亿赛通网络安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110160507.3/1.html,转载请声明来源钻瓜专利网。





