Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
Spring boot的优势为很多开发者所知悉:轻量级、代码量减少、模块化等等,因此被区块链行业中的许多交易所使用。然而match,如果开发配置不当,可能会存在系统高危漏洞,一个小小的细节出错都会导致重大的安全事故。& g* S1 e( V- V

( L' {# `# c3 ]1 b: Q( W多家加密货币交易所使用spring boot用以提高开发效率
6 U# C9 ~1 o- ?% ^" a) N: G) m
7 P* I! v( E' E* A. j4 N现有不少交易所开发者为了更高效快速的部署和监控Web应用,都采用了Spring Boot 框架进行微服务开发,由于该框架使用了特定的方式来进行配置,使开发人员不再需要定义样板化的配置,从而更加高效快速的部署项目。
( Z2 J9 `1 ]  N- J! e; B; J: e
# m$ g; [& t& t/ S' U  c6 s! o0 \" iSpring Boot使用Actuaotr进行更好的健康的监控
! k; k0 M6 V. E4 k0 r4 v* W, V% S- ^4 H  T
在Spring Boot当中,Actuaotr是Spring Boot项目中非常强大的一个功能,有助于对应用程序进行监控和管理,通过restful api请求来监管、审计、收集应用的运行情况,通过Actuator可以在生产环境监控当前应用的健康,虚拟机等信息,通过前端以可视化的界面展示出来,针对微服务而言它是一个必不可少的环节。9 j9 m$ ~0 o- r2 w
  M5 G1 Q9 l+ ?: Z
行业开发者安全意识的缺乏导致用户信息泄露甚至造成经济损失+ W8 M0 w6 V) I+ f/ x- M
: m. _  k: a, L( q5 z& f7 l
随着区块链3.0的发展,一些开发者的安全意识比较薄弱,在配置Actuaotr监控端点时,配置不当可能导致系统应用配置信息、度量指标信息泄露等严重安全问题,其中trace路径下动态记录了最近的100条请求记录信息,请求信息中包含了用户认证字段数据,可通过更替认证字段任意操作用户数据,由此几乎可威胁所有用户数据安全。- H" H3 E, S  y1 w
% N- v+ T* O5 Z
例如在传统行业当中,全球的企业和政府组织每年需要为网络攻击造成的损失支付40亿美元。IBM的资料也显示,全球公司每年因数据泄露造成的平均损失从350万美元上升至380万美元,部分甚至上亿。
% o- K' t1 I& @, Q* J
6 x9 R& y# v" [3 Y) p" g随着数据价值的提高,黑客越来越多地将攻击目标转向企业内部存留的用户、员工数据,当企业发生数据泄露,损失的不仅仅是经济利益。一旦企业发生数据泄露,损失的不仅仅是经济利益,更会给品牌形象带来严重的负面影响
, B( Y8 H7 G- |, V1 C& Y; o! ?( U* x1 y/ s
DVP案例分解—配置Actuaotr不当造成的漏洞危害. y; c+ s2 `, S4 O- @6 `& |

/ h) w- b# p* F2018年7月30日,DVP漏洞平台已经收到过关于Spring Boot Actuaotr配置不当导致敏感信息泄露的高危漏洞并且第一时间通报厂商。
( n8 \1 b" }4 L; x3 L; @' r
  J# F2 C% _/ R% S! L( q根据DVP安全研究员介绍:案例当中,攻击者可利用此配置不当,获取到网站的敏感信息和用户个人信息,甚至可通过这些接口控制用户的账号进行一系列的敏感操作。, k$ i1 @* [% t) u7 O

; T7 h8 L; R+ X- }* C以下链接是DVP 漏洞平台公开白帽子发现并演示此漏洞的详情,DVP平台在第一时间向厂商通报了此漏洞。" q/ W5 T/ Z0 |

8 j4 {  Y" s. c5 S$ `https://dvpnet.io/info/detail/id/653, p& v! `% F  L
3 @+ |* v* q) J  `# A" ^' `+ E
如果开发人员配置不当,会导致黑客获取敏感数据。如:将接口暴露在公网上或者未配置限制访问,黑客可以使用以下的Actuator监控原生端点获取到一些网站的敏感数据。7 d$ M1 x+ ]: X/ S# @2 t

% {: q5 M* Z& X0 c9 ?7 r# DActuator 提供的接口,具体如下表所示:
/ n# B4 I0 U4 K% N# \8 l3 c6 h/ E3 F; J
在黑客眼里这些端点的作用:6 `  j1 f  J. @4 |% N' l
( E2 p2 K3 o, e3 ~
DVP真实案例:通报后漏洞已修复完成的厂商漏洞拆解% Q2 @9 B$ _# ^7 h' o

! \! T8 Q! S+ ^1 r攻击者通过访问 /env 端点获取到泄露的环境配置信息
3 d+ ?. \7 ^. ]2 W1 k7 i$ H& Z/ @* G/ B
通过此接口获取用户请求中携带的认证信息或者cookie来获取用户的敏感信息. B8 q5 Y( m% v, @) ~: I  o! z8 g

3 N) t% ~, f" T( C: N还可以通过获取到这些用户敏感信息直接登录用户账号' {) s" P6 y& D' [& x1 M6 V

8 ?( q- T7 L; J9 s  m8 M攻击者通过访问 /configprops 端点获取到应用中配置的属性信息报告& [+ ?2 c& n' F5 I4 k7 p
/ A' p! E6 [* g/ c& n
攻击者通过访问 /dump 端点获取到程序运行中的线程信息* [' y4 R) O' D8 @2 r( ^  a6 [' Z

( u0 @4 K5 U$ X4 z( |1 c0 v" Q攻击者通过访问 /autoconfig 端点获取到泄露应用的自动化配置报告,包括所有自动化配置的候选项。同时还列出了每个候选项自动化配置的各个先决条件是否满足。
; {& `# n6 F5 p( ]% ~
: ?3 Q( O6 Z' ]' i* U攻击者通过访问 /beans 端点获取到泄露的应用上下文中创建的所有Bean
& c3 m' v7 e) z5 J7 Z1 g9 ~$ Q; q$ y& z4 L( N5 b
漏洞修复  w9 P1 d) g/ M+ l9 r

" N9 v) a7 C) j& F! O1 `' H1 S  ~通过DVP提供的真实案例可以看出,如果以上请求接口不做任何安全限制暴露在公网上的话, 极有可能引起严重的用户信息泄露问题。
2 b9 }4 e0 a0 v8 V1 c# h' Y" Q6 ^; v4 G# O# _% \) J( c/ b" h+ n
不过Spring Boot提供安全限制功能,只要在部署的时候配置好相应的配置即可。
& @2 P+ [- M2 k* S+ z! F2 B* I* h6 `0 _
1、增加账号密码访问# S$ O8 ]- Z1 d( }% x, L3 B
8 v' G; c# i* z- W6 E8 h; h
在application.properties中指定actuator的端口以及开启security功能,配置访问权限验证,这时再访问actuator功能时就会弹出登录窗口,需要输入账号密码验证后才允许访问# A# }$ \! ]+ Y8 H( J# X. ^6 q
; ~" n. d& y7 V+ t% z5 L
2、禁用接口1 S8 a. `7 p& b6 x
8 r+ _6 I$ Q+ _2 D
比如要禁用/env接口,则可设置如下:
3 N! o7 _( u3 @, \: x7 ]
, I0 l  E1 x" L. d( a; m9 ^0 E% m3 hendpoints.env.enabled= false
* {  o  N+ _( B& |" e
9 @) e' q, I" Y  N9 g2 K如果只想对外开放部分接口,那就先禁用全部接口,然后启用需要的接口
9 G' |  Z; u4 U# q7 y9 S$ T4 t* A+ @1 U+ Q8 ^) Y5 ]) H; u
endpoints.enabled = false
0 }+ w9 ~1 Z9 N, l( d/ e; l) |, ~% T$ l$ m6 S
endpoints.metrics.enabled = true
* N( F1 D/ E6 t4 }7 A$ i$ I  H, `/ K( P
同时可设置单独的Actuator管理端口并配置不对外网开放。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

独孤客 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    2