Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
Spring boot的优势为很多开发者所知悉:轻量级、代码量减少、模块化等等,因此被区块链行业中的许多交易所使用。然而match,如果开发配置不当,可能会存在系统高危漏洞,一个小小的细节出错都会导致重大的安全事故。5 w6 `0 }8 F; M
6 E9 b7 \: I. y0 s8 Y4 Q6 @
多家加密货币交易所使用spring boot用以提高开发效率
# ~7 S: s0 |( H& |6 X5 P; o% P6 k% R  a8 E7 T7 |2 o
现有不少交易所开发者为了更高效快速的部署和监控Web应用,都采用了Spring Boot 框架进行微服务开发,由于该框架使用了特定的方式来进行配置,使开发人员不再需要定义样板化的配置,从而更加高效快速的部署项目。- Y0 A% `4 Q7 _2 P2 \6 Q6 @  m

- ^0 z' z1 E* Y% p# eSpring Boot使用Actuaotr进行更好的健康的监控
8 Z- n/ s/ j8 [# n
7 h2 A! X# [) F3 Z4 y在Spring Boot当中,Actuaotr是Spring Boot项目中非常强大的一个功能,有助于对应用程序进行监控和管理,通过restful api请求来监管、审计、收集应用的运行情况,通过Actuator可以在生产环境监控当前应用的健康,虚拟机等信息,通过前端以可视化的界面展示出来,针对微服务而言它是一个必不可少的环节。
# Z; ^! p' @% `* [4 i# T! N# c, v! p9 O1 f% ]% `% |
行业开发者安全意识的缺乏导致用户信息泄露甚至造成经济损失
; \# @5 u9 F, P6 ]5 }/ S9 C  C* P8 L& K5 k) S, z
随着区块链3.0的发展,一些开发者的安全意识比较薄弱,在配置Actuaotr监控端点时,配置不当可能导致系统应用配置信息、度量指标信息泄露等严重安全问题,其中trace路径下动态记录了最近的100条请求记录信息,请求信息中包含了用户认证字段数据,可通过更替认证字段任意操作用户数据,由此几乎可威胁所有用户数据安全。
4 h; u' F1 X% P" o8 }; T4 E& J7 S9 D* b/ |9 p- |+ e9 N9 S
例如在传统行业当中,全球的企业和政府组织每年需要为网络攻击造成的损失支付40亿美元。IBM的资料也显示,全球公司每年因数据泄露造成的平均损失从350万美元上升至380万美元,部分甚至上亿。4 D: \/ M* T2 N3 H3 y

2 S) W1 x( `+ y+ U/ J# }+ T6 ?随着数据价值的提高,黑客越来越多地将攻击目标转向企业内部存留的用户、员工数据,当企业发生数据泄露,损失的不仅仅是经济利益。一旦企业发生数据泄露,损失的不仅仅是经济利益,更会给品牌形象带来严重的负面影响
1 u* W* H! q' P  `8 A; W. V8 _1 p3 R& _$ K' C9 a. B0 y# Y# F
DVP案例分解—配置Actuaotr不当造成的漏洞危害9 m* T; x* J8 f  [# |( d. _

* N* M0 }7 t: A3 @2018年7月30日,DVP漏洞平台已经收到过关于Spring Boot Actuaotr配置不当导致敏感信息泄露的高危漏洞并且第一时间通报厂商。5 r% ?# j2 p) v1 f
8 f) }# c1 |$ m, W
根据DVP安全研究员介绍:案例当中,攻击者可利用此配置不当,获取到网站的敏感信息和用户个人信息,甚至可通过这些接口控制用户的账号进行一系列的敏感操作。0 |$ v. V( V2 K% V3 V
" o5 ?3 t) P4 {3 H
以下链接是DVP 漏洞平台公开白帽子发现并演示此漏洞的详情,DVP平台在第一时间向厂商通报了此漏洞。
' p5 l/ @9 [) L" @. {; W" u' c& {  e. q* d9 j6 @( u! F0 h% l
https://dvpnet.io/info/detail/id/653
  n. k" s1 w' c6 t( L
- u0 D3 s, B+ S" v1 t+ O+ d如果开发人员配置不当,会导致黑客获取敏感数据。如:将接口暴露在公网上或者未配置限制访问,黑客可以使用以下的Actuator监控原生端点获取到一些网站的敏感数据。! H6 W. z- e' H8 v- }; S: z* N* O/ d

6 n( G" C* B7 K3 KActuator 提供的接口,具体如下表所示:/ P0 s* z0 s. Y, N" K

: ~5 J' B! [$ x2 s% M在黑客眼里这些端点的作用:# U: |2 S; T# S$ C: L

5 j  o2 X1 i: V' q* o7 z* vDVP真实案例:通报后漏洞已修复完成的厂商漏洞拆解, ?" m5 p  D# m
4 E7 S; C2 E- D" P2 j6 d- E' l/ w1 F
攻击者通过访问 /env 端点获取到泄露的环境配置信息( A  H+ c  J5 f1 v
/ S7 ?! J( E. ^, i
通过此接口获取用户请求中携带的认证信息或者cookie来获取用户的敏感信息
$ s* a3 n1 M( m5 ~/ `/ {( T+ X' y( y) x# M" S+ r9 e
还可以通过获取到这些用户敏感信息直接登录用户账号3 W8 L: {* p+ y: F, o

: j7 m1 t3 s: N% L+ Y0 w7 I$ q; }9 E攻击者通过访问 /configprops 端点获取到应用中配置的属性信息报告+ g! ]6 M7 s* Q( y
+ f5 T3 z2 v$ H7 q) G0 z
攻击者通过访问 /dump 端点获取到程序运行中的线程信息' y0 s- M8 M# X
/ G2 e% J6 K! b+ x( e
攻击者通过访问 /autoconfig 端点获取到泄露应用的自动化配置报告,包括所有自动化配置的候选项。同时还列出了每个候选项自动化配置的各个先决条件是否满足。
% w: n6 W, Y* I( ?6 _( F( p4 s( l5 x
攻击者通过访问 /beans 端点获取到泄露的应用上下文中创建的所有Bean
: l( _: v0 [5 j- a2 H+ A! K) Q$ Z* Z% D1 n9 c1 Y
漏洞修复
# P! ]0 h. a* D6 f2 m  R0 v
$ T" I- q. C# \9 H  P通过DVP提供的真实案例可以看出,如果以上请求接口不做任何安全限制暴露在公网上的话, 极有可能引起严重的用户信息泄露问题。
  S8 ?' y" D& D: H: u9 g9 f( ]% C' d$ j/ c
不过Spring Boot提供安全限制功能,只要在部署的时候配置好相应的配置即可。
9 o4 n  O) [) P8 c/ T: T$ Q8 J
, u) }2 @' v% y8 }' i1 A8 s1、增加账号密码访问6 J4 j7 x& A2 Q, i' |

& m& Q/ y% n$ K3 l# p在application.properties中指定actuator的端口以及开启security功能,配置访问权限验证,这时再访问actuator功能时就会弹出登录窗口,需要输入账号密码验证后才允许访问
7 _. ]& z3 `0 |7 N6 o
! c5 W6 r& r; R% W0 m8 _$ Q2、禁用接口
. p: L, i  x& x8 c8 V2 k
: L+ u4 c) P8 ]0 u比如要禁用/env接口,则可设置如下:
' ]- o6 s. c* N$ i
  C1 W7 P5 n& Y2 {3 D% }8 w# ?endpoints.env.enabled= false5 F0 c* r, s$ ]# s6 X+ T, a: }5 W
7 }$ O. H) R; t1 U% w
如果只想对外开放部分接口,那就先禁用全部接口,然后启用需要的接口) v# q$ G1 \2 |

" U8 i) k) {( d2 rendpoints.enabled = false
+ l3 n/ B( s3 {/ d$ r! Y0 k" ?0 p' D3 p
endpoints.metrics.enabled = true: S9 I6 s1 B9 s! W6 T# d
, p3 `4 x5 Q; a1 {6 V5 e
同时可设置单独的Actuator管理端口并配置不对外网开放。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

独孤客 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    2