[发明专利]应用内防火墙实现方法、系统及存储介质在审
申请号: | 201810903559.3 | 申请日: | 2018-08-09 |
公开(公告)号: | CN110798438A | 公开(公告)日: | 2020-02-14 |
发明(设计)人: | 宛宏祥;黄显澍;王小丰;肖新光 | 申请(专利权)人: | 北京安天网络安全技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/12 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100195 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 网络连接 配置文件 程序模块 防火墙实现系统 应用程序开发 第三方应用 分析判断 开发应用 预设函数 资源目录 防火墙 管控 应用 放行 拦截 联网 进程 | ||
本发明公开了应用内防火墙实现方法,包括:在待开发应用的资源目录下添加白名单配置文件;Hook自身进程的预设函数,判断是否存在网络连接行为;若存在网络连接行为,则分析判断所述网络连接行为是否存在于白名单配置文件中,若存在则放行,否则拦截该网络连接行为。同时,本发明公开了应用内防火墙实现系统。通过本发明所提供的技术方案能够有效管控应用程序开发者集成的第三方应用程序模块的恶意联网行为。
技术领域
本发明涉及移动安全技术领域,尤其涉及一种应用内防火墙实现方法、系统及存储介质。
背景技术
目前移动App开发者开发App时,往往会集成各种第三方应用程序模块,用于完善App的各种功能及开发体验,这些集成的第三方应用程序模块在运行时便自然拥有了该App的所有权限,可以在App开发者不知情情况下将App的一些隐私数据回传到第三方的服务器中。这在一定程度上造成了该App的隐私数据被第三方应用程序模块窃取并可能被恶意利用。
发明内容
针对上述技术问题,本发明所述的技术方案通过在应用程序开发过程中,在资源目录下添加可配置的白名单,进而对应用程序的网络连接行为进行有效管控,对于白名单外的网络连接行为进行及时拦截。
本发明采用如下方法来实现:应用内防火墙实现方法,包括:
在待开发应用的资源目录下添加白名单配置文件;
Hook自身进程的预设函数,判断是否存在网络连接行为;
若存在网络连接行为,则分析判断所述网络连接行为是否存在于白名单配置文件中,若存在则放行,否则拦截该网络连接行为。
进一步地,所述白名单配置文件,具体包括允许通过的域名、IP、端口号。
更进一步地,所述预设函数,包括:connect函数、sendto函数、gethostbyname函数。
其中,若存在网络连接行为,则分析判断所述网络连接行为是否存在于白名单配置文件中,若存在则放行,否则拦截该网络连接行为,具体包括:
若发现调用connect函数的行为,则提取欲连接的IP、端口号,并判断所述IP和端口号是否存在于白名单配置文件中,若存在,则调用系统原connect函数进行连接操作,否则返回错误值并记录;
若发现调用sendto函数的行为,则提取欲连接的IP、端口号,并判断所述IP和端口号是否存在于白名单配置文件中,若存在,则调用系统原sendto函数进行发送操作,否则返回错误值并记录;或者,
若发现调用gethostbyname函数的行为,则提取欲连接的域名,并判断所述域名是否存在于白名单配置文件中,若存在,则调用系统原gethostbyname函数进行域名解析,否则返回错误值并记录。
本发明可以采用如下系统来实现:应用内防火墙实现系统,包括:
预配置模块,用于在待开发应用的资源目录下添加白名单配置文件;
网络行为判断模块,用于Hook自身进程的预设函数,判断是否存在网络连接行为;
白名单匹配模块,用于若存在网络连接行为,则分析判断所述网络连接行为是否存在于白名单配置文件中,若存在则放行,否则拦截该网络连接行为。
进一步地,所述白名单配置文件,具体包括允许通过的域名、IP、端口号。
更进一步地,所述预设函数,包括:connect函数、sendto函数、gethostbyname函数。
其中,所述白名单匹配模块,具体用于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京安天网络安全技术有限公司,未经北京安天网络安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810903559.3/2.html,转载请声明来源钻瓜专利网。