$ @) Z2 R- V, o* \! A7 X1 ?( S# [) d
; p& ?# D# u: R; _& ^( Z
$ k. l7 n$ S1 Q9 {: v) V" G9 x$ F
0 n6 U0 E0 X, P9 M/ V$ F9 \
! V Y+ |. {! J7 G " b" f' g2 l! U8 n# }4 D
, n1 L% J/ e# J& W k8 G' u/ h! {. I8 m* W$ f
. e1 `8 w$ S6 w5 L$ U) E) K) ~
, P* ~9 J# E- y5 ~( T3 ]
7 ]0 A" l, m! j/ b) l+ ^' n 0 H- r' {$ Y* {1 h
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗? & g4 V' T( a- v+ K6 y% }- v
' b3 [' b$ R2 x 0 F5 ?7 @$ r% y: F6 O1 v0 _, c1 _# {
- {1 l% N) K! D2 a1 g/ G
) x4 D3 }$ y k$ b2 m
! _% A/ A C" N; H# w 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
# n5 B) F( ?$ M! h
& {. Q; B$ u* T& t, x$ z" P% U " t8 r L3 ]" W1 o* X
; Y% F0 I7 ^* M8 I
) a% i! K4 k5 ~2 M 8 _; \/ a. e) o4 K6 W+ X3 E
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。 1 L. v) [5 L6 V; u/ R9 Z
: F- e* I- U5 j, P. @ 7 y7 u- ]5 P0 u% t6 x
" B" C# {" [5 b+ s R, l
: j+ s: w/ m: \% z
4 v4 S- b8 n }3 ^# h' ^* o) R *文末附《破防了》项目技术分享视频 ) d2 X; c" o2 Z& ^, U$ M
2 T! P8 {; k% g+ z$ @4 p0 Z+ A
: O: m3 A3 O1 A+ \6 s$ d
$ t( }* w0 ?+ ]( r2 l- T) z
! h; \4 w7 d5 U5 _: V
" L. Y5 _. x) s2 k* N, S 7 l7 ^7 @, K5 k5 b9 U2 [, l
, G- ]8 S: S7 ~: O
! a. C0 R6 w/ _5 ]" f- L
6 I- E- X, e: ~6 Z/ k
! ^, F J* J& b
8 C7 `8 }; d. I" J S. J! b4 ~$ E
5 w! o2 T" b1 J2 o) A
$ d$ ~; k7 o9 D8 E9 R1 u
" {# y8 Z: } U0 N- {6 M! d $ c9 K) v7 L: I
9 ]3 R3 T( p; X
* O3 ?9 |" a( b: P5 ?
/ M3 D2 }0 x' Y* p, f ! M2 S* y7 n* D2 r
; P+ \6 O2 k6 o, z& z0 W0 {& n1 h/ o9 S 日拱一卒 功不唐捐
, Y- P' B4 p- j, ]; n
9 @' b; s* l' }9 e
1 o3 A; }# N$ ~0 l2 ? 3 a- H0 H- p1 L) p; Q# ~
3 @# V; B7 i+ z/ Z/ E0 B
: U( N/ S1 |' @
, K7 ^ I( X0 S6 r1 x
( ~( L- V) D T* ]
/ B |: B6 T8 i' h, q7 I
' g7 \. J/ K2 n; Y5 {6 }4 l# }& m 2 B4 l* T, J( n! K+ l" R
) r) m/ r& [8 [) @6 S# l- ?
% u' [0 W5 w& P3 E! N+ ^. X
8 Y" O, K& s: Z9 z3 @# [7 ?
, T4 H5 p- t6 k$ k+ Y9 e" U2 o % X4 ?+ p- z8 o3 F; Q! _) v
_) T; p! q$ x. |
: ^% P1 k9 o7 ~, {
5 K3 K5 i7 b L6 I4 c I
+ B0 g- d' F! p$ i 1 P' D3 n" H1 |+ }2 X3 P$ L% J
% ~5 b7 p/ k* A, B) q& T* m
* i, L+ S$ K6 H8 ]: x! Q+ A3 I2 |$ V 因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。 / g: M' I, I X
$ |2 d" L) D8 k; n- z( N1 N
- G, `4 X$ d$ v& L
/ J4 k J, q; g5 V) I& Z( _
( I+ o' Q% m( F
+ F a& F% l( H w* e* N8 n
) u$ j0 w8 L$ J. _4 b: m0 R
' R1 z3 d$ o5 ?( h. H' b0 `
: M- X: I/ \. U5 E& \ 日常研究环境 4 x( C( n% h, t4 V n' U6 k
: M! X$ Y5 k5 k2 \& b; e7 T
]" Q% F) ]/ ~0 m# x 2 P0 P$ \' W% r
" k$ S; q8 `0 m7 r
% D4 ^" _# ] m( ^9 D Y 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。
- |1 p4 S' D/ R5 W
' W, f! w8 w" n% U8 s
8 w$ @$ j- Z3 z) a# y" R
1 n1 s9 Y; _1 f6 B5 {
# m# y* H% s: V& ~! t
( G+ {: B! f+ V0 ~
# H# u6 l7 h: s, v
! m1 X0 \) B- x! l' k* T3 F
, k$ f2 `3 d4 d9 A: o
* W, ]' E7 Q# ?5 j+ U( H3 x
6 n* ~8 ^3 X( d( m ( _* M' X2 |% Z
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 . B" z8 Q8 n0 e/ r( Y
) h' D2 C9 N/ V* P1 B9 p8 [
9 S" A6 o% R' Q6 C- r7 W/ w3 L4 W
/ [4 J6 Q( P: m6 G/ {
" ?1 f# ~6 q: v% W9 L0 Z
7 f6 V. ?0 N2 f9 R, p% T- Y
1 W% M: S3 O. T- K1 K; @1 c
' P- a" O* e) W# w
- \; p; o% h6 I) L q5 I1 y# M
1 ^! C, g! j8 T3 c# ~
4 ~0 P+ x) n: i6 h# v
" G8 H) a& A2 x+ [/ E( ~ $ X8 p4 l% D& k/ t2 \( _, S
1 p9 _$ ] _; Z" s5 ^, h. r
7 M- |! L( {, v9 L, h6 R( A
& Q! o5 z# Z1 G9 M, Z3 B6 E8 X: ^
% Q$ M+ D0 Y. r. F 2 s$ A/ M# g1 L
, |+ Q$ t# g% z# v" `* I
1 [ O+ n# N& x 2 B D" J7 U0 Z' n" ]" v. U0 H' T
破解加密硬盘
# B3 b9 s4 J i7 E8 f) t
. c8 T% b" f3 B1 J: y 7 T5 O; b) U- h. Z7 X
0 y7 g t- d( K! s- v3 q2 R " P# d$ [. O7 \/ m7 L l! Z
2 Q2 `/ Z. c/ ?. A* Z
- I+ ~5 ^1 R, T5 k1 p8 N0 c ) i7 l# H1 j/ P
" N9 b* Y# E) j) q( `/ I
+ m9 r, u7 O0 R$ n, s
9 J7 `( s. N# o, }, t" h
. n# m% w# T6 B ]* q
3 A1 u$ E* Q* I
) m( y4 T- k) i' Q$ Z, i
. c7 }$ g' k$ c* `3 H$ [ . P- u! o5 z, R0 X- v
( t' i) s6 u# U- |5 W
5 t' E' u% ~2 @# I7 X {0 S
' C) M$ d! ? e4 g* u3 p3 F+ `$ Q
# @+ H4 B1 k* w8 C5 n3 k) B
$ p! U6 U# u$ \" Y' l& q5 u7 l 6 K" P1 e, \# V6 H
, @% H. I/ s0 t$ `" ]
' t2 q7 V& o- E4 @, R- {- V T
* o, i1 T8 J7 O/ G3 P0 ^
# q% E1 W+ e" @) m4 H. ` 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
8 \( l* p" H' r* [
8 a& Z! E6 Y' j8 ^$ Z. x# B
, Q6 w5 j, a3 j# z3 f , Z3 t, q4 m e# i0 y0 h
) y- O* W, Z# H2 T7 i 5 b X F5 c8 i; T; Y! F
( M1 d' D2 i2 u5 f; p
0 y2 L% i3 d& m; }/ m$ e* d; a 6 x2 D' O- i# p5 b5 M* p! g2 @1 J
6 A) n' z" ?; {; ]
. v% W7 r5 I0 b: X2 A Q9 |. f+ D & P1 u K/ {& ~
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。 % P( \" F3 T2 \; Q. c% w6 @
B3 h8 y, ~. p5 c) j$ P
; e3 P+ @' u& a# l 2 l7 |* ?1 |, a, S/ |$ s% _
7 }$ n0 n% w( W5 e2 B. C 1 g4 n& U; C- q+ u1 ]: T3 ^2 s% \
7 U4 [% j0 n, H; p! `
9 P0 v2 e$ ~. {; \, J 9 V/ F7 |! ~8 h9 A" c, v2 K9 C
* b) j6 H; }$ v7 c4 @4 f4 u! Y
$ N9 H/ p S4 I( l1 w' t( K; J- r J
7 V# a* N0 B# p. Z4 j* ~- j 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。 1 v8 j9 I+ A: s! ^2 R3 `" m" D' v
# Z9 w- Y; h5 A" A+ J$ O% J* F
& C2 |! `% G( e& W# D y5 c2 K6 ~' {! y! f7 Q8 t, r, Z `
7 R& L( F' b; O) v/ F% q G Your browser does not support the video tag + i" x$ R- U `( E3 p' r
/ ]# X4 @; M1 ]1 w
- N9 p3 R2 k% m' F
% z: [+ K% b& p1 i& L* c/ E+ h2 e/ K