Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
Spring boot的优势为很多开发者所知悉:轻量级、代码量减少、模块化等等,因此被区块链行业中的许多交易所使用。然而match,如果开发配置不当,可能会存在系统高危漏洞,一个小小的细节出错都会导致重大的安全事故。+ p7 A/ F0 i3 d! s9 V3 d, \: l! v
, m2 A& O; L3 ]
多家加密货币交易所使用spring boot用以提高开发效率
9 Q( L$ F; [, w! ], L' i* R0 O9 j2 s
现有不少交易所开发者为了更高效快速的部署和监控Web应用,都采用了Spring Boot 框架进行微服务开发,由于该框架使用了特定的方式来进行配置,使开发人员不再需要定义样板化的配置,从而更加高效快速的部署项目。
) ^, ^# W) b7 K8 O9 v. i) W  c3 n8 g8 ?' Q8 j8 Q; l
Spring Boot使用Actuaotr进行更好的健康的监控# X/ D" y/ n+ B  A7 J2 x# W2 v
( ?& p' a! \. H5 X1 h
在Spring Boot当中,Actuaotr是Spring Boot项目中非常强大的一个功能,有助于对应用程序进行监控和管理,通过restful api请求来监管、审计、收集应用的运行情况,通过Actuator可以在生产环境监控当前应用的健康,虚拟机等信息,通过前端以可视化的界面展示出来,针对微服务而言它是一个必不可少的环节。6 g" b# {: k/ w* s' K$ B4 Y' U
+ g. P3 Y/ M8 X7 w
行业开发者安全意识的缺乏导致用户信息泄露甚至造成经济损失- ?" X# `7 v) n2 k7 ]; o' y
* f* P7 M9 C. |" R- |
随着区块链3.0的发展,一些开发者的安全意识比较薄弱,在配置Actuaotr监控端点时,配置不当可能导致系统应用配置信息、度量指标信息泄露等严重安全问题,其中trace路径下动态记录了最近的100条请求记录信息,请求信息中包含了用户认证字段数据,可通过更替认证字段任意操作用户数据,由此几乎可威胁所有用户数据安全。6 ^  w( D, f7 Q1 W

! l) @5 t6 ]& l8 A1 [. A例如在传统行业当中,全球的企业和政府组织每年需要为网络攻击造成的损失支付40亿美元。IBM的资料也显示,全球公司每年因数据泄露造成的平均损失从350万美元上升至380万美元,部分甚至上亿。
+ A: s% p+ A2 Q6 @5 }1 X$ F: x% o; \: Y6 ], x6 t  Q
随着数据价值的提高,黑客越来越多地将攻击目标转向企业内部存留的用户、员工数据,当企业发生数据泄露,损失的不仅仅是经济利益。一旦企业发生数据泄露,损失的不仅仅是经济利益,更会给品牌形象带来严重的负面影响) w% j& C5 B' X: Z

3 X0 M7 H# g. g- q  U2 KDVP案例分解—配置Actuaotr不当造成的漏洞危害, g4 v  t$ M$ D$ w, V' r! G
) b' ~: G6 f6 L- e
2018年7月30日,DVP漏洞平台已经收到过关于Spring Boot Actuaotr配置不当导致敏感信息泄露的高危漏洞并且第一时间通报厂商。
& ?, N5 |4 p5 @& J  t0 F) X  Z( R1 ~! ~, k% |  {
根据DVP安全研究员介绍:案例当中,攻击者可利用此配置不当,获取到网站的敏感信息和用户个人信息,甚至可通过这些接口控制用户的账号进行一系列的敏感操作。
$ X0 w6 K7 V& \# g8 N4 X2 E# a- Z6 t/ b& u1 h' }7 a7 y
以下链接是DVP 漏洞平台公开白帽子发现并演示此漏洞的详情,DVP平台在第一时间向厂商通报了此漏洞。
+ r4 T' p( g6 V2 }1 Z* Y: |- N9 W: m7 y+ @7 G9 |* x
https://dvpnet.io/info/detail/id/653$ D* g4 T+ B) q% i. ?

% w7 l! K5 O% _4 p0 _; L如果开发人员配置不当,会导致黑客获取敏感数据。如:将接口暴露在公网上或者未配置限制访问,黑客可以使用以下的Actuator监控原生端点获取到一些网站的敏感数据。
; y1 e8 U; Y( r* ?8 g, y2 g! D8 T1 K0 S" H+ ?. M' O
Actuator 提供的接口,具体如下表所示:
3 ]" m# _# g" A+ n. r) N1 q. }; W0 ]
在黑客眼里这些端点的作用:' R5 e% Y- o' u+ t$ v, F

* ?$ l! l8 T  |! M1 W: t" hDVP真实案例:通报后漏洞已修复完成的厂商漏洞拆解( L, G! t5 ]; k6 W1 o+ {
4 X  S8 Z5 @* |
攻击者通过访问 /env 端点获取到泄露的环境配置信息
6 `9 J2 {$ b; u& F6 n0 O! T  _
1 c* g% ?$ @1 _& T9 v6 m  p! W通过此接口获取用户请求中携带的认证信息或者cookie来获取用户的敏感信息0 U( X4 ?, l( Q
& ~4 K# D( b5 T# X. f, ~: z6 h
还可以通过获取到这些用户敏感信息直接登录用户账号
% V) F3 w& J* G: y7 k8 m; o1 B3 Z) n2 ^2 r
攻击者通过访问 /configprops 端点获取到应用中配置的属性信息报告
' _7 H. T. O8 k; j6 C/ w) I
' b5 H# `& o! h. q2 _  d8 k0 T2 J攻击者通过访问 /dump 端点获取到程序运行中的线程信息
" t; e# d( ^/ b' @3 J9 J
% z" d8 z0 ?: J- L攻击者通过访问 /autoconfig 端点获取到泄露应用的自动化配置报告,包括所有自动化配置的候选项。同时还列出了每个候选项自动化配置的各个先决条件是否满足。7 Y: J5 p7 f( f( R' L$ O- E0 X  l0 N

) d& g$ V9 L0 O( `7 Z攻击者通过访问 /beans 端点获取到泄露的应用上下文中创建的所有Bean
, |7 n( M2 Q) l" y3 [% R% P) P: b9 T; h) F
漏洞修复, L) @9 y. I; B5 x) }1 W

2 c: F6 @% Q" T7 F3 L" Q通过DVP提供的真实案例可以看出,如果以上请求接口不做任何安全限制暴露在公网上的话, 极有可能引起严重的用户信息泄露问题。
0 s: |4 S) N1 S4 a( Q7 n  f
1 L3 H$ J& U2 i- ]4 V. Z不过Spring Boot提供安全限制功能,只要在部署的时候配置好相应的配置即可。3 {% v9 E! Y( C' y7 j$ `
# h; w0 }- g+ {9 \7 g  u1 Q
1、增加账号密码访问
( N' z' y# L6 p+ G" B& N' b8 `- g+ R9 {* `: `: {
在application.properties中指定actuator的端口以及开启security功能,配置访问权限验证,这时再访问actuator功能时就会弹出登录窗口,需要输入账号密码验证后才允许访问; u% P: @' q6 h2 x! R  _' p( D6 m

7 Q/ K8 E" j' R/ e6 d* @  Z2、禁用接口
) e1 O" n4 g& R1 Q5 m) C
) {6 ~- S$ s1 t+ C比如要禁用/env接口,则可设置如下:2 ]9 }& o$ w, r1 h, o2 g, {

4 M. w8 b3 y% J- c2 _; L: j. r5 pendpoints.env.enabled= false, L" K6 g! ], G- d' P
( O( N8 V) T; ?6 h, @4 d6 h* l
如果只想对外开放部分接口,那就先禁用全部接口,然后启用需要的接口
0 a( n! b. `* |
- V/ C! \/ H2 ]5 t6 _/ N0 Pendpoints.enabled = false) j* H, A% v" P
3 \2 O2 z( [, v' r6 V
endpoints.metrics.enabled = true
9 h: j5 G" c* Y0 \5 J, x3 `$ L! O7 a5 J# X  Y+ P
同时可设置单独的Actuator管理端口并配置不对外网开放。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

独孤客 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    2