Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
Spring boot的优势为很多开发者所知悉:轻量级、代码量减少、模块化等等,因此被区块链行业中的许多交易所使用。然而match,如果开发配置不当,可能会存在系统高危漏洞,一个小小的细节出错都会导致重大的安全事故。2 Z. [% ?0 w0 k* m0 B! l8 t! L
/ S; a8 F" B- d0 t1 Y& s
多家加密货币交易所使用spring boot用以提高开发效率
9 r2 N+ Y$ M: y+ {
& S) L1 s7 I4 \# J现有不少交易所开发者为了更高效快速的部署和监控Web应用,都采用了Spring Boot 框架进行微服务开发,由于该框架使用了特定的方式来进行配置,使开发人员不再需要定义样板化的配置,从而更加高效快速的部署项目。1 C) u. t# U6 ?

( G3 F; C! B6 b% GSpring Boot使用Actuaotr进行更好的健康的监控: u* \0 z, {, z# W' r$ [3 ?5 |
) T8 L5 Q. h0 m" [3 w, \
在Spring Boot当中,Actuaotr是Spring Boot项目中非常强大的一个功能,有助于对应用程序进行监控和管理,通过restful api请求来监管、审计、收集应用的运行情况,通过Actuator可以在生产环境监控当前应用的健康,虚拟机等信息,通过前端以可视化的界面展示出来,针对微服务而言它是一个必不可少的环节。
- N/ S! Q) m# b; V6 p  o7 W
0 ~. q9 G% y+ R* \/ P行业开发者安全意识的缺乏导致用户信息泄露甚至造成经济损失3 k6 q5 E5 B& i0 z; F# m; l

8 I* r9 }: |) J+ c  G5 z随着区块链3.0的发展,一些开发者的安全意识比较薄弱,在配置Actuaotr监控端点时,配置不当可能导致系统应用配置信息、度量指标信息泄露等严重安全问题,其中trace路径下动态记录了最近的100条请求记录信息,请求信息中包含了用户认证字段数据,可通过更替认证字段任意操作用户数据,由此几乎可威胁所有用户数据安全。5 }) `, u! S5 O% S

! h* u% p& K4 q/ L/ L! F8 O5 X* [# g* i例如在传统行业当中,全球的企业和政府组织每年需要为网络攻击造成的损失支付40亿美元。IBM的资料也显示,全球公司每年因数据泄露造成的平均损失从350万美元上升至380万美元,部分甚至上亿。8 L) |6 O" r! H3 T
! ?' P" @) d6 V; r( J5 `
随着数据价值的提高,黑客越来越多地将攻击目标转向企业内部存留的用户、员工数据,当企业发生数据泄露,损失的不仅仅是经济利益。一旦企业发生数据泄露,损失的不仅仅是经济利益,更会给品牌形象带来严重的负面影响
' e3 M1 O/ }  j6 _
& J( k) M* t- i- FDVP案例分解—配置Actuaotr不当造成的漏洞危害
8 y2 \- z; {" n* @$ J! K4 g6 Q; s' y( H
2018年7月30日,DVP漏洞平台已经收到过关于Spring Boot Actuaotr配置不当导致敏感信息泄露的高危漏洞并且第一时间通报厂商。
% n$ I: v1 S+ ?5 }: y! m' {  B5 z+ S2 O: I! k: j
根据DVP安全研究员介绍:案例当中,攻击者可利用此配置不当,获取到网站的敏感信息和用户个人信息,甚至可通过这些接口控制用户的账号进行一系列的敏感操作。5 J  D, q" G* l" F
! g4 S# F" \- e) W2 D9 i4 D
以下链接是DVP 漏洞平台公开白帽子发现并演示此漏洞的详情,DVP平台在第一时间向厂商通报了此漏洞。
+ V' i% h2 [/ @: q& ]: B% G, v# _) u- }. g* x. w3 R
https://dvpnet.io/info/detail/id/653! I; }  f  R6 r

( _: P" U/ K1 Q& ~. l2 h如果开发人员配置不当,会导致黑客获取敏感数据。如:将接口暴露在公网上或者未配置限制访问,黑客可以使用以下的Actuator监控原生端点获取到一些网站的敏感数据。7 X0 i; G& S5 ~) }# v+ e) j) t; b
: i0 z' a( b2 X
Actuator 提供的接口,具体如下表所示:6 Y$ b& R7 r9 E+ A$ j6 N

' n. V# h7 z, n/ G& O在黑客眼里这些端点的作用:7 g; v& A2 w, X( U: Y
8 B  b, ]0 O* D
DVP真实案例:通报后漏洞已修复完成的厂商漏洞拆解" C+ Q) o! D9 b. E3 F2 G

& S- [9 o! D& l攻击者通过访问 /env 端点获取到泄露的环境配置信息
  K2 @: Y- \5 |+ O. m) a3 J5 `% d/ l. @, l( B4 \9 C, w) _
通过此接口获取用户请求中携带的认证信息或者cookie来获取用户的敏感信息' |9 B0 W) P6 J5 G6 o
1 l# j2 L8 \' |7 V- d
还可以通过获取到这些用户敏感信息直接登录用户账号
' N$ s  L# {6 m, Q7 J
7 r2 G0 R- f/ {9 f# N4 W) j攻击者通过访问 /configprops 端点获取到应用中配置的属性信息报告- {9 l4 _2 B+ V& g. x& i
' Y% M* S& Z- M7 L/ D' [+ [
攻击者通过访问 /dump 端点获取到程序运行中的线程信息
* @" \/ @0 v" ?1 A  }
# r+ g& H" A- }9 z! E攻击者通过访问 /autoconfig 端点获取到泄露应用的自动化配置报告,包括所有自动化配置的候选项。同时还列出了每个候选项自动化配置的各个先决条件是否满足。9 {# l- b7 {+ e

# b5 ?3 t9 m& k0 T攻击者通过访问 /beans 端点获取到泄露的应用上下文中创建的所有Bean: j4 }! T# I& A: ^1 C
, o0 Z; z9 f9 D4 w$ p  K
漏洞修复
. l8 r5 ], u! k' V$ h1 B. L0 Q- `" K, k, ^- X# p8 y8 ~: J' p
通过DVP提供的真实案例可以看出,如果以上请求接口不做任何安全限制暴露在公网上的话, 极有可能引起严重的用户信息泄露问题。: X# m  Y4 x* A3 w# L

) ]& q) J) j9 b$ w不过Spring Boot提供安全限制功能,只要在部署的时候配置好相应的配置即可。; T  @4 C7 B6 X  `4 _
  P& o' b* g7 B; G4 D2 a
1、增加账号密码访问4 S& G( g% z% @/ D9 U+ ~
) n% |! `( _3 Z2 [
在application.properties中指定actuator的端口以及开启security功能,配置访问权限验证,这时再访问actuator功能时就会弹出登录窗口,需要输入账号密码验证后才允许访问
% R0 Q: F/ l0 z6 [" c
% v) a' d& m0 m& m) t, E7 O2、禁用接口+ L  b6 Y+ m4 {" T7 ]' A

8 d3 q  U3 ], S6 O, d4 G2 M1 ^  h' s比如要禁用/env接口,则可设置如下:
. c7 P% `* S# L+ D, E" f* I7 I5 Y
endpoints.env.enabled= false6 ?5 s7 r% T: n( M2 S) f* j$ n( K

* Z; w' y# U! s' g如果只想对外开放部分接口,那就先禁用全部接口,然后启用需要的接口4 r6 n8 E5 x% ~  R. @& t

. C3 o* h7 O! Y% G, N! |endpoints.enabled = false
( \9 [; {" `. _% l, s6 }0 a9 v/ U# q+ m' N7 V$ }
endpoints.metrics.enabled = true
" u  {8 A7 J* F; m  D
0 n2 V8 o* Z7 \! f" G7 c同时可设置单独的Actuator管理端口并配置不对外网开放。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

独孤客 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    2