; a3 J2 X$ s" F3 h# Y
9 m8 {$ w8 l- z# x: l
: {# B1 W$ F$ L( O
: F" C' p: E4 } m, U R' w9 {& |- [$ P
1 {3 H3 p& U5 \+ v& p
8 g3 X5 H4 ~" X/ g9 @! e
4 D1 f+ f0 ?& e" ^7 W6 G' Z
% B' e& {5 [( O 0 k" S) Q) V, G, A
; G1 {* x4 ^/ l 8 ?, k5 X- g J, U7 h/ M
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?
2 v! T* i: W6 \% }: e
8 S/ @" ?2 i! B9 m# o0 K2 v- V
/ e9 }8 }- l' u y4 \
7 t- D0 d: N# A, \$ B' q$ S * S+ z+ u$ D0 `+ d' J/ r7 [( N
$ p. m+ |& ]' C; r/ \# f 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
* [4 g0 L' O$ r5 F6 t& N) W
7 x( s; D' S& \! m" T! y2 f0 [ ( W2 S5 J3 m, r2 O% F! \7 G( R
V. o: @& z @# w4 W
+ j+ j. O4 m& H4 D( @2 p3 W K # V3 I! ~ F( }. o" r6 ~+ S3 P5 R" ?
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。+ {8 G. h" T6 C: v6 F/ s
/ A0 B1 Q* T+ e' y7 \9 v+ ^
5 R6 W; q# D5 \
$ D$ t' _5 J3 P
( I) P' \. [4 x7 M7 m6 k
7 u0 y f# y1 o2 I) w" i *文末附《破防了》项目技术分享视频
6 T8 N; I7 s1 T* J( y+ q6 {
t( U: m4 U8 q' U ? ) v* y/ |. T" U& e2 ^$ k
! |* Z2 Z5 v5 ]+ j8 I 0 ^3 [: q4 c7 Q
0 Z2 f* [: ~6 K5 p1 O 2 Y5 _" c' z7 G4 s
: x/ m3 @: I% V% B6 \1 o
a) M( G' L. x* W. g1 d6 }
2 o0 }, z7 ]8 o& ^4 Z( e6 K 2 e6 U0 f1 B- y' N5 P. }/ {2 T% b
9 G' a( r8 x" r) r3 B, @) h* {
* F. e1 u7 y9 b+ C* C5 D7 F , a* k0 A6 q5 [4 y* I8 w1 h9 ]
8 c& b, }4 L* D+ k
8 {) v) A) R$ W
7 Y# r0 d; {. X* b) R
. U& [" O0 s; @) G% L' p 8 C7 i4 M+ X$ `: e0 O% v7 }( L" I
2 [3 h! `3 E8 M & s2 g$ Y/ x4 L
日拱一卒 功不唐捐7 b$ ], h( m0 T/ C: b3 T- |
. t( T. F$ g4 k9 T( d
, {% v) R) o8 H: S- ]% X9 e
+ I: X% x4 A4 ]3 Z/ ]( Q
: S% F* c! E* e" r. L# g2 D# g
% r& ?4 _3 _7 d1 S# Q
9 m4 D4 u3 i6 C, o% t6 A' f 6 v$ `+ B6 a: F8 q; \
# c* C- t/ q) m/ N8 l
. \, N% K7 V6 q ]* w
. P: S1 I9 D% f
+ x1 v+ B; k; I" q& o0 \) B3 o " I6 E3 G9 ]. W6 Q& i8 Z% p
7 z' ?; m/ [4 X: f# `3 k8 v' S; [
8 S. r) R I3 T, J& Y' S/ P
/ F! V& V1 ~, ]; P: D - W2 x2 c: `) K3 h3 i6 D6 W$ \ p
4 j+ [$ |- r$ j/ @6 M4 j1 o
' ^( N, t/ x G$ F4 c 5 R4 T% y) a3 N4 N
6 `: M! P. Q3 v6 K+ @# b
7 f f; p: O) ]# m
9 g J% N) \6 A# j
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。( Y/ f/ r% N/ _ P5 u/ H% F7 }4 s
; `! S, D2 u0 U/ N
. u$ X: f. |0 ~2 N: e4 h5 Z
. Y- U6 R' N4 x% k/ T+ i
3 t; q& t/ O( `* K& C$ J x) e) }' f8 k5 R: y
" \- h# ^' K2 E1 A- i . ~" Q0 l" A& f5 F
% y* u3 K7 Q! \5 L$ [: d/ w 日常研究环境$ @4 N+ k M6 \% c7 l- c8 b
' Y: t7 f4 l# Z* g( y% b
! p; h% e) l: d/ m/ T, c
7 k! V7 E: Q. n W" L. J: e
2 \4 o# s, @% P( y7 ^
8 Z! r4 H' m4 l' V2 S0 S 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。) x+ E) O* l0 e; `8 I! x& Y
% N2 k @' `+ {# a' `+ }7 }! J O
( ~2 Q! j/ r: F2 D + x1 | E& M& o) ?* r
/ V; g# q4 s$ R
! w3 H) n8 W8 y( T5 b
% s/ p$ ~% B# U. w
: A8 M, S+ \) r) L4 @; t
* _& p5 M4 s. s( S 6 H# ~" i) F3 M" t7 H/ G. ?
4 a+ p/ K* G* ] W
) I* z: ~) U) d2 g5 j
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 $ |8 X0 S$ S' D% ?
* a& I8 O; X5 r& Q- S3 }2 ?
0 P# D( U; A1 m( h7 m
) }2 r2 W: q: d7 c$ G
* D- [; \$ h9 b L
$ E4 Z) V- B" X
' U( G. C8 q. w* e# K5 ]
' J. w+ \: `5 N8 `) f
* k: b N: x$ I6 ]
% ?5 v5 M- o" i! h6 ]3 z* R
' f, ?8 R' c2 h/ V
" l( q v2 O. N1 r$ d/ J
3 J( H; D( K t k 1 P) e" u$ L4 U% V/ g# T5 M
2 j* l+ X, H# u0 k0 `9 ] 9 Q- m* h" p5 c
2 R9 @7 X9 \ y( [
3 P* D* F r- S& a 4 v3 v5 [7 o0 D. S' a! p) U. P# Z$ a8 E
/ U0 q2 d- N& S# {5 }4 S. f. X: m
; G# A) J3 x' D8 N" t
破解加密硬盘+ Y& U/ `1 i% z: g; ?
& h; g! `! \( h1 P
0 `7 ^, V; L# d$ |3 t
4 j# I: [$ P' y3 h9 P 3 C" i7 F3 C( f* V
! a$ A: T$ L) ?. N 8 e$ ~: J5 G0 \2 V& q- C
: c% I X e, s0 J
9 ]+ k7 Q: J' C7 @% c i4 z
5 t \8 z1 @2 j; c4 g
! q. n4 h6 x2 W6 f C
7 x- ^" ?/ g" H8 K. T- F ! C% R) B% D U1 D
8 G1 E3 r/ z/ i9 l ; C J" l7 a% H/ l9 z. W
8 e0 E2 b& C1 t/ ^! {: v' B 4 U& P+ Z) A. S L% n
# W% I* u) [( t1 v, Z: V+ ] ) y$ b$ K; Y1 g& a
# c- y9 a$ t2 @( f' T
* q3 N- r- J1 U- ?4 H9 m& c
/ I8 t- [5 L* h, V+ s! U$ z/ b/ D
' i0 B+ b7 `6 B5 G1 O & [8 m, ?0 [" a0 ~1 D( h
/ F5 W( y9 ~; G1 W, w' U7 ?
( |: ~2 R0 b# k8 Y S+ w; h 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
0 S$ P y. u7 ?5 ? 2 `& E' D1 u8 S
+ U* v7 y# t% I7 O9 I, v' m/ L$ F* y
2 z* ]% t% ^; Y5 r" v- Q
0 I! Q* E9 U C" B, _
' a7 }6 W! M& h# E6 j# S/ Q
' n% W ? M4 R. s& A5 l0 Q
& ]* C4 U# d% C, m9 Z
k: _( |0 u; S
9 ?+ j* @& C0 f) c3 D* U
7 E2 |7 v. E$ d3 j
( U' B/ `9 k" s6 q i
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
% k) K5 J- s5 D/ \
1 B: W0 R' ? T9 I) W3 o+ B0 ~' l. X
- C. ]' P0 f/ P. k& P 2 }) X y* P8 s- a9 ^7 e
! x2 f* R6 R' |; H! ` # d$ z( V% i, U5 ]1 Y1 K0 j
- F$ d! v8 |9 C
/ G: X. t5 w( k# C H
4 H' }8 o# r) v9 @ l$ L; L' p
9 V* X7 l6 A$ t1 N4 F7 n 2 I) _# [3 P: O6 f
1 A3 Q& o4 p$ ~5 q$ W3 { 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。
1 K7 E$ x6 `# ~) d2 r" P) O' T 3 R7 D- |) u7 S& a* k* x9 K1 \
+ w. ~9 v, I: b8 _" w% J5 x6 ^: I. ?
& X) w2 M _6 v2 V; L' |1 T
6 I% B' G m7 v
+ F: P! m! z% {! w
5 f) u% a+ ^, E& \# U! z ; G- Z: h2 \9 u$ d ^* T
8 w1 r$ l% e5 x, p |