% I. ]% ^( x4 L! L/ N
6 J2 t0 a) P3 X+ P6 r ! Q/ i9 Z6 K& g
5 B7 b: S2 e) M
G3 ]; {& f# Y" y5 v
# S8 {' L4 a! q& t 4 ~! n3 e- n8 w# h* W! U
( H! _6 f! @. P) O
+ O$ s8 N# g1 f1 g* o8 d% V) q8 ]
8 ]' B# Z: v# z5 m* i
- D, _7 G1 B2 C- Q$ ~1 O2 r7 n( `* b + |) Y" Y# t& j/ Y) L
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?
( p, A. { a- ?' P2 L ' s+ I" k/ S8 g& y
3 _5 B: r, N. U$ ?5 ~3 }- a; h; ?
/ t3 _$ |$ h I 7 x' E* C# k- e& L1 X& M" O+ H
1 K! A: X# K8 \: N* p% S" a" c, g
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 7 E, P8 N3 O0 h; \
( d8 j3 O- g( h + ^$ t0 t. a3 R: `
8 W( z% @" C+ @
( Y6 S) i/ G1 h0 |! l6 b; O
8 G8 o' j, T" j. X0 R 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。: J. q! I Z9 f+ C& ^% W
. _' |( `/ x" ~7 b7 e ; G0 i, k9 Q% W a. E/ N& s7 C* ?
6 q) U# q3 u" @& O( E! A) z
5 w) x2 r* F" w' P' G* C* W 1 I- j' T& @" j; q4 G* u' C1 J6 }4 y
*文末附《破防了》项目技术分享视频
% z. r; m: b3 W9 {$ B+ G
; O( X1 |$ \# E) ~ 7 @/ a1 V# s# y6 Y1 P( V* H
6 f. c3 e# g! j 0 A$ d# y8 V3 d* |
2 n7 O3 K V: Q C3 Y9 `6 h2 [2 W' j% K
: f) U" @! O- q2 U7 ?
. s% }# B( B: s; M& G& l
I3 E/ U- y4 [- s; e $ p1 R0 m9 X4 D+ L& c
7 h* G7 L+ z& ]* f" s2 u
; F1 q7 k, B4 ?5 i7 E8 ] : |+ ~! k; {2 s
1 C% {( v1 h8 D8 p; N, x2 ~ N 0 \) r e0 x& ?+ }7 _; {* P7 b
9 R4 x1 v# K. g
: ~0 \* G b3 R( x, i" B- ^ # m6 U# J S2 W6 X2 Q8 F5 {
/ h. r a* i" O1 r% J. t+ c# f7 U) y
8 K7 ~; b# V0 O
: D+ S0 V' Q5 d; T0 _1 r' ? 日拱一卒 功不唐捐
' q! H0 J% `3 S* e
1 y- B8 J* _6 [: L6 Q( S6 D : f: F/ C$ @1 m- w. W4 F
' V/ y4 E! }% z9 S+ }( u
3 v3 i6 x4 W% R0 K, w; x
& M$ U1 l6 d2 ^5 ]% \, {3 n ! h4 G' u8 b+ J) u U( u$ r
8 T& a+ x. f9 r4 i ' C/ j* k) A4 b
, `' q4 T4 v- p7 _8 x8 [7 y5 ]' ^
' u2 f+ n: z) c! e
; `- ]0 x4 D& n% I! o: g
4 L: t' f3 y- N1 |) I& \- {, k* A
7 H1 c3 k% r, U 5 o# n8 G, u1 b, {* Z6 A( ~+ q
9 o# g; {* q( D1 `) v0 L& O, `
5 G: a* C7 M5 R1 G0 a' ?6 Y
s$ U6 Q9 n( P6 E1 b ' Y6 d* P* U* ?3 q8 C1 U% a
" h: b3 w3 \8 S' l/ x+ b
6 @/ p' R! v, A* F
: F9 ~% U, ?; v5 J
& [* _" s/ r$ k; ] 因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
% J" Z9 j( i. _, w9 Y; a0 L 1 J6 q+ A% U& Z& e9 P. G
, O# [* s( K$ V+ d
- L8 c, S" w/ u# T 5 z' h, V2 T6 U$ s9 k. N
3 G9 ~) G+ p- Q& x4 ]
9 D9 L1 E$ I8 H1 ~& I0 z, b
5 R- J d$ |/ q% `( i, j M 3 v) P1 e' s! W8 H: g5 X5 @7 l
日常研究环境
- f+ q% C1 r4 a. m7 L
5 L) e9 M5 N: V9 Y8 H
: [" j2 M) F* }' o D
/ Z% H# a0 N3 d! H
$ l$ {( m7 J6 K# @8 ?
; o3 q1 `( q! z1 B9 f } @ 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。
# ` a* d& y7 i 1 {5 }4 T" _+ w! d
! n& z# P3 L# e8 ^: m7 {) p7 D
% `. K% W; Y) j7 Z( I$ Q8 @2 ?
. J' U/ S' D7 t
2 d' Y+ {8 O# ^
0 s/ F3 E2 g8 `2 H0 k
/ k9 T' V: P" L6 u) N# i
, H5 J0 n8 H2 L) i, @8 M8 z( G
# s6 `5 d4 P' p% p
9 O% T- `; r0 d! |
$ o( [* C' w$ ?* N! w" T 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
3 _( d- a' S. k7 G3 A- E7 ~
3 [& F! O: A0 { M% o , d2 f3 A4 d+ M( l$ Z6 X+ O, T
6 i* O4 l4 o' d0 m
% o* C; A* Z, E7 ~' `* J0 }
! u' Y6 r, e$ y/ @* L: P- A! P
( b! h' Y7 g% g
3 E# n0 r) q6 _$ Z5 W' `8 f
$ h/ a; x& w4 M& V* S0 T* r) g
5 `, u' H, L2 b# l* U0 |) p" e4 m 0 {* j6 V' ^1 k/ T1 I6 Y
# |6 |) b2 t, i) r4 \' y
# B4 k3 U- v/ ~/ j! A! I" D 5 @0 K$ h3 @4 L: u ?+ ]
) F% ?( D' v1 C2 K1 |
( D1 @# ^6 `* r4 X; h6 k0 N
$ K5 c ] E5 `* C9 \, ]
( n1 m9 ^9 D' ]( s 0 ~* t7 u6 v3 K5 }; u2 m$ r
# S" d/ Q/ Y. ^$ q
, v+ {- V2 H# N+ ] 破解加密硬盘& ^+ x s3 L4 t
) k. x- j$ w4 `; O2 V* u& O. B
% d! A4 e( `! E6 q' K; e3 u# k7 C5 n
H* k* y. h. l! M
( J2 n$ Z5 ^: i) E4 S ' @$ C3 ^; m0 o3 G" d
: c4 y" ^! r; A; A
1 t/ O) `; \7 k2 A ; N/ y. C9 L- e7 s
9 a2 W! Q, b" ~
+ Y6 U* e7 c; r6 ^
) ]$ G% r# U. m * w+ ~0 ~2 n4 g( l
3 J2 l( z$ {& |5 E. B3 ?0 A - Q9 `! _7 }: O" @5 ]
* V% C# c3 t, a; c0 c6 i" R! c
/ \4 i' Y/ o+ a! \: h
/ C. j% V* c6 k/ A- g2 { D7 W 3 P1 [& S& a: G! m$ R
: c+ V8 K0 \6 T
0 W% |( V) w1 b
6 D2 f) F1 y! K1 h/ _ f8 ~; P" W& |
4 i2 S8 Q9 T1 q6 r& e, p
& L* A N; }, g. v) \, ^ 8 Z- F/ L# ^! v1 Y
! ^6 q7 }; V- [% h$ {8 G! L
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。! @- m) u6 U. D. e/ H
3 U2 \5 w3 A8 ^( S
9 @1 I" n9 X* d % x" [7 e) Y7 f! S; k/ |9 u
* P! M+ s) M( `- e1 D 2 q, u, M# S% S) f/ {, H+ ^
, U6 {+ o# V9 C# v4 b9 _ ( K( A% N2 j# d6 x& e+ J+ V
/ d0 c* r b9 q, Q# o - j( T+ X; z5 L, @ X) k& M, L
: U6 ~0 q+ N( n; c, }6 }, L3 j
8 Z2 H) A* r8 ]0 F% h- [. Y 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。* @; e8 z+ G* _! J4 Z; {% o) n7 ]5 `
; v* M7 h8 {+ L
3 I( s2 f) R: M6 z0 V
6 Z7 Z+ E" C" Q% G* ?! i
- m" v, u4 {5 Q6 }% w
8 F. \# }! v8 Y9 P2 a5 t2 J" b
) a) _# S+ L) Q( G$ x! Y
( G+ _5 S- o1 y! P + i+ [, `% l" g; n& b
" v9 R2 g& L: \: ]
' d& E- f# Q' T* g# u6 c 0 {/ b$ u+ }1 r I8 d4 r
在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。) \/ c: O9 _! t& L
6 D, I. e+ x" }) c
8 J# i! ^2 {% E' C( g3 d
* f" @+ u a( [; Q( y; B
6 S! f7 Y" t1 w$ ~
" m. `9 T6 n0 J) _! C# t9 S 4 G7 `$ l8 [& C
# S" W/ w, a) m# I
+ I4 ]" [: A9 u" s0 Y |