个人介绍
安全评估 C++客户端研发
项目介绍
安全评估是通过根据CIS文档定制出的200多个检测项来评估用户终端安全状态的项目。根据电脑的配置或运行状态来判断终端是否安全。检测项分成系统配置、系统状态和环境感知。系统配置可以检测终端配置是否符合要求,系统状态可以判断终端是否存在病毒,是否有黑名单进程运行等。环境感知可以检测到授权人是否离席或者是否有多人围观。从而做出有效的处理措施-锁屏、上报告警信息、触发评估检测等。
项目技术
通过qt编写用户界面、C++编写后台程序
通过python实现早期检测项功能
通过netlink实现进程事件的捕捉
通过cpp-httplib监听127接口,提供给第三方检测结果
通过seetaface实现人脸识别
通过libcurl实现与服务端的通信,包括心跳、获取策略、任务等
项目成果
重构检测类,采用工厂设计模式,搭配Map重写实现检测项的简便查找,向外提供统一接口,向内通过多态进行分化,增强可扩展性,优化检测逻辑,减少下层so和底层python脚本调用,做到检测速率和扩展性的提升
独立适配Centos等服务器系统,为200多个检测项分别进行了适配,具体检测项例如防火墙的规则解析及状态查询,硬盘分区列表详情获取,Hosts域名映射解析等多个领域,并独立编写正则表达式优化解析速度
基于netlink实现进程事件捕捉,通过订阅模式封装成通用类,向外提供事件订阅接口,内部采用哈希表进行数据缓存,搭配生产者和消费者模型,确保临时进程的及时信息捕获。添加至公共库,并向其他业务提供独立于驱动外的进程事件捕捉能力,减少项目依赖和软件包大小
安全登录 客户端研发
项目介绍
安全登录是三端项目,目的是提供给用户更安全的验证方式。通过重写PAM模块,将原有的密码验证方式更改为UKEY加PIN码的验证方式,套件版本还引入了指纹UKEY,同时终端用户、控制台用户以及UKEY进行绑定,进行更严格的身份校验。UKEY模块会适配不同厂商的驱动并向外提供统一的能力,例如修改PIN码,录入指纹等。用户可以对UKEY进行操作并提供远程审批解锁、离线解锁、日志上报的等能力。同时包含策略、任务,可以对UKEY的验证次数、超时锁屏的时间、放行通道等进行设置。
项目技术
重写PAM模块进行验证接口的重定向
通过qt编写用户界面、C++编写后台程序
通过libudev实现UKEY事件的捕捉,并拿取硬件信息
通过libX11实现系统空闲时间的获取,并通过桌面环境提供的接口实现锁屏、注销等能力
通过sqlite3在本地存储日志,并提供离线缓存和筛选查找日志的能力
通过minizip实现日志的导入导出
通过libcurl实现与服务端的通信,包括心跳、获取策略、任务等
通过libinput实现系统事件的捕获
通过socket实现进程间通信中间件,进行数据封装和线程队列分发
项目成果
承担了套件项目的主要开发工作,并开发了较多的通用功能用以其他业务的开发,比如日志压缩、导入导出能力、通用界面组件等
首个适配指纹UKEY驱动,并对常规UKEY进行了向前兼容,解决多家厂商共用UKEY和新版本的冲突问题
通过libinput实现了系统输入事件的捕捉,采用订阅模式进行封装,搭配生产者和消费者模型,并向其他业务提供通用接口
工作经历
2022-01-11 -2025-03-23奇安信Linux客户端开发工程师
22年一月入职奇安信公司,主要负责天擎事业部下Linux客户端的C++软件开发工作,天擎是奇安信的核心部门,主要负责终端安全领域,在客户端有极多的技术实现。曾承担过天擎V10、安全套件等多个大型项目的开发工作,包括安全登录、安全评估、主机审计等业务模块。期间从零到一的设计过能耗管理和服务管理模块,并对所负责的模块进行过优化,例如成倍提升了初始化UKEY的响应速度,简化了检测项的调用流程等。在进入公司首年拿到A绩效,小组绩效第一,部门校招生第一。
教育经历
2018-09-01 - 2022-07-01黑龙江工程学院软件工程本科


