背景:我们的 toB 本地化程序,经常(隔三差五)被客户提示有安全漏洞风险,其实很多漏洞都是三方的,也不是那么重要,但是客户就是要我们修复,搞的头皮发麻。有没有什么办法,避免客户扫描到我们的安全漏洞?我能想到是 class 字节码加密,用自己专用的 classloader 加载解密。不知道有人搞过没
1
asmmt 2023-08-17 15:54:44 +08:00
客户怎么扫描的,你们交付源码吗?
|
2
v2e0xAdmin2 OP @asmmt #1 扫描的 class 字节码和依赖 lib jar 包
|
3
Saturn72 2023-08-17 17:15:16 +08:00
而且很多漏洞都是依赖的版本导致的 我们一般都是升级依赖
|
4
v2e0xAdmin2 OP @Saturn72 #3 这样效率太低了
|
5
macha 2023-08-17 19:49:28 +08:00
第三方组件库漏洞的话,有的是比对版本号的。有的是发 payload 。
估计楼主的漏洞都是被比较版本号搞出来的。 只要能让别人读出来的版本号是最新的就可以了。 |
6
feaul 2023-08-17 22:40:22 +08:00
设置白名单 IP ,只让固定的地址访问
|
7
liuxu5 2023-08-18 08:36:55 +08:00
所有有版本的依赖,把版本改成 9999.999 ,常见的依赖名称改掉,比如 fastjson shiro 等等
|
8
v2e0xAdmin2 OP @liuxu5 嗯,这个你们试过没,听起来好像可以解决部分扫描场景的
|
9
v2e0xAdmin2 OP @macha 你们试过这个方案么
|
10
liuxu5 2023-08-18 09:25:08 +08:00
@v2e0xAdmin2 我就做安全的啊,扫描逻辑我肯定知道
|
11
liuxu5 2023-08-18 09:40:22 +08:00
@v2e0xAdmin2 但是这个问题只是糊弄过扫描器,漏洞还是存在的,你的程序还是不安全的
|
12
v2e0xAdmin2 OP @liuxu5 #11 这个我知道,我们公司内部有自己的安全工程师的,风险比较高的漏洞,内部都是会自己解决的。只是客户那边对我们要求太高了,需要 hack 一下。
|
14
macha 2023-08-18 20:36:30 +08:00
能修的最好还是修一下,避免后面被利用了扯皮,骗过扫描器最好的办法就是修改版本号。
现在还有一种设备是挡在应用前面,发现有漏洞扫描设备扫描,就用各种办法骗过漏洞扫描设备。 专门用来应对等保什么的。 |