我正在开发一个基于应用程序的防火墙,它拦截应用程序启动的传出互联网请求,以通知用户试图从他的设备(从这些应用程序)访问哪些外部服务器和端口。此安全功能最终将保护用户免受窃取个人数据的恶意软件的侵害。
我正在使用Linux安全模块(LSM)框架来拦截内核级别的Internet套接字请求,以允许或拒绝连接。此请求通过unix域套接字发送给用户。有一个应用程序充当deamon,等待请求警报(unix域套接字服务器),向用户显示请求信息。这决定接受或拒绝连接,并将此选择发送回钩子函数(LSM)。
不幸的是,用户被迫安装新内核以使用此功能,因为LSM钩子函数是在编译时安装的(不再是内核模块)。
是否有其他方法可以使用互联网套接字来允许或拒绝连接?
答案 0 :(得分:2)
我正在开发基于应用程序的防火墙
如果通过“基于应用程序的防火墙”,您的意思是您尝试将此作为没有root权限的SDK应用程序执行,您可以获得的最接近的是创建代理,但这将需要一些用户配置启用。
如果你有可能编写你的应用程序,否则没有root,这本身就是Android中的安全漏洞,需要修复。