% a& }: {& m; A3 |0 y' O% \& V
% ]6 N' [5 s# H
/ Q) [; X$ e/ f( z/ B! k
# M, L' H% R$ M e X$ _* N6 Y 1 O* d8 X# Q- N1 h
2 X! k7 g# C/ N# d, I
6 j8 ~" } j0 X3 S# x3 y / S, P6 ^) m: n
& {$ h( O5 r1 l: L
8 G/ F# I$ A! M. F+ y g# e0 m0 v4 C# u
# u) W( I# s9 C5 {/ f+ |
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗? ' p5 k' [! @6 J) H: g+ l6 R1 p
- Y7 o6 S7 X5 f 1 K) v! n& |. q) f
4 H% j6 N: C# g5 P" W
3 k V( Q" Q- `; @8 T+ f; M. D 1 [8 ?* Q# k0 b0 j, o
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
8 G' S2 B8 ?8 }5 K' f
5 M' M# W3 r3 d5 M( ?3 e3 |3 d
( ]7 D; Y; u' K. d ' S4 g% k4 K f' A6 {( N
0 o9 g& E8 s) Y( B- s
: C- l& N# C7 U: F 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。
' @3 H, x+ H+ s& D2 h
: p; g! B9 i& m( i; C
3 {! [: m" G) S5 E4 m4 e 2 j6 S% A1 I3 V7 h
+ D0 \" `0 u ?/ L' Z/ c . a' ~" s* \. _' C8 ^/ P5 D" @
*文末附《破防了》项目技术分享视频
: \) L6 S" q @
8 \3 V4 g0 ~8 A+ t) A3 f
) C3 s: R. w: t+ D D1 f
3 a" M( D$ _/ q8 E9 A8 A) A0 S F 5 y) D: ?& K/ c. {8 D5 ]
7 B) E: v# j; C0 W" j' G
9 u: }7 b1 N" O& P
2 q9 L5 B/ b7 _% C7 D0 F
1 [3 |6 o0 ~# ]. A$ N" T% ` ' W" X! Q( `2 S7 x, c% J% G2 h
) s- A5 a* O7 J# f/ \* Q! |5 y
& W8 ]' |/ T$ M& Q4 ^8 b8 q. F6 h9 C: X
. t3 ~# y" o2 g1 c# L; S, |7 J& }7 I2 ~
! ^, y) c3 I9 }' ^+ T' x+ Y( @
+ A' }: D6 B9 ]8 e7 E6 P4 t
6 J; |# @- i, F" M6 R5 F: b& V
1 z2 o* S3 H' J. l* D; P- p
& w/ b2 W. j! I# g. C
' \2 Q; }- k% d; T0 d
0 F/ g, q h/ l7 `
. {! @) e9 d' F u; i; \0 i) j- `4 x! I 日拱一卒 功不唐捐
' x2 \+ `- I8 M& J8 [5 q9 a9 w; m9 {
3 q. S; `. P1 @( O- y6 p
3 l/ K& n! M2 b; Q' W2 Z( H- ?
$ P1 v: v6 H3 g! _! l3 u
( C' l; [2 G! ~" D& G8 b
6 P: x" f2 V, f & s$ W0 m4 }2 K/ x2 H5 P0 [: p
9 z6 R6 s m4 _ * r/ w: Z6 D. M v5 |$ `* v
8 c/ A/ a& ?; Z/ r
# ?8 a+ H H. f$ V& Z% a
+ ?0 X( k0 T$ @ s/ {/ u
' H3 c9 N% L* i. J8 r7 ^ ( X' F q& {9 V) i3 V
5 p# @$ G ^( J8 }; q, S& `6 s
& ]( h3 C2 W2 ]9 o- w4 x( H% P 3 b1 [" d& H3 r2 n
6 ?$ G3 a( ]6 V2 t, {% E# y
/ |3 k, j; u( w/ @
0 B2 j( ^; z( X' p5 h% f
: k1 H, V* k5 N2 W
* r9 Q: k( q, B, i2 e
6 k' K$ ~0 L. \: ^: z, T, D% A, z
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
$ j9 N0 l) u5 A' M0 Q. ^( b
% o9 s: A; d- }0 n
8 U2 _" a {& e0 G1 T( {: M 3 n7 }9 g4 K8 I: P% |) k
+ W9 `8 R. l! P. o5 }( A+ F, r0 F4 W% X' x 0 K' m) M- p0 Q+ v, s ]0 w) N* F- l
2 |6 R/ [) T- ?) @& {
& y; |/ @% _4 a' f9 J; F" W8 _, @; D
0 W! [9 R; p$ t7 H' P/ r- O 日常研究环境
& X( Q( ~% e/ {/ {1 Q) e# E
" w( R' R3 f( ?1 u8 h. D9 O ' y$ v4 d7 X5 Y. l, O7 G1 o
4 i. I1 P2 l0 H0 j
, g) W8 J6 P" o
5 w/ F# p# F9 K+ o( L
市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。
& z1 ?% V4 F* Q4 ~& _, T1 ]
. o, g4 S G. w7 w }+ t; q ( i3 V1 E% z" E0 Z
) \5 j4 E' r* N9 ]7 g# d: C0 e8 N
8 c, J) X0 j% S& f0 Y
$ w) W1 Z. W2 r; I
: O; f: V; A/ d* H. i; F
4 S3 q/ w2 H# K0 x2 N6 J0 g
/ }% q( o( U, S. f% c3 Q 3 {4 ]+ E1 f5 b& i$ G9 l+ r
, e! W% T7 s' V! v" @
5 I% b8 N/ k; E/ J% T 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
, s/ U# _3 J+ p( b
1 y ]2 e+ j; n/ A
% t8 T r1 Q* |/ J+ ^
$ f! l1 j* f0 ^9 M, L , o" t* a2 d5 V: n! g4 g& o
( X6 Q7 K% N- j7 k
% b6 R+ Z# x( @. f& \! u/ V; _
# ~7 R+ v0 {5 `8 [2 G7 W
. y% i! Q6 V" c C$ b/ X
8 i# m8 m' J0 r+ R
1 y* A! y, ]* T: Z& z: g! i
: [( A) h# x% R+ C" s* C. |% O
' D! |) C. J7 N' \. n
7 J6 {6 d& G+ Q9 O0 k ! v) M. q. k( M: @) s1 [
; i2 Z7 {3 A% n6 Z, q
6 Y. H/ e; d z- D7 T! e [
. }6 [: q, Z& I; J" \, j# t' L
% G' ^" `: }, ]" {* B
( J9 [: s7 R5 E: l" h: T6 h0 Z " W3 r1 }5 q2 r( g* d* y# c
破解加密硬盘
/ H4 @0 a- r( T& |2 _
5 Z! a/ t; |8 {# q
6 n2 m0 X! B( n& f
0 Q0 P* I6 O. a+ E. L2 h U 6 s/ s% P A) H" @: ^+ w# c) J
/ ?, x' O+ L: ^) L& U3 B. M7 a
! F: I0 S$ L9 | r7 H/ E
( J$ E" p! P6 ~* `# l6 H$ o
* u+ A% b! ^% Q5 A" b! l$ ` 5 D2 `9 O. Z# |9 s$ v4 X
! z z/ | i/ U2 x" z $ F8 u# o( |' `7 p: B6 ?" O8 n
9 y, N3 F- Y' y' }: m
+ l8 S5 c, L& [9 j
u1 Z) ?% @2 D8 i+ i+ K+ L! L
$ m2 t+ j+ T8 I8 J z
' p F: n8 A6 }* G1 n2 K
) F `4 a9 V; z, y' [8 ] . r2 i' g9 f0 w0 _9 ~; V
) j) j+ |) Y9 w# e! R$ ~, F7 ` 2 v* h9 S4 @9 }" ], k) f/ z+ n' e. ]
2 J7 W2 J/ R; P% f2 ?
: I5 D% u& W3 u0 N Y 5 H* h. Q3 h( w- ?
# P* K3 h6 C4 n. a2 x4 v
0 \% ?, i: V4 x( X# D+ F- m* R
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。 M; e0 L- |& r' q a
Z. |5 [8 Y8 l) _, e) e
0 P+ {( `; ?% F* N9 X- Q ! _, N% c6 p. E8 j* Q
' W2 M# E" ^. I/ t7 e% {
2 U: k3 m3 I- ~* y3 g
/ k7 s, I6 I' P% w% s3 ]% }
+ W8 a* b, M( w7 p
c% W# H/ l5 u% b* A _" F
) [( A+ W- w# U" v3 z+ S
3 q6 p+ r! {- }0 R- e: R
. `) r: q/ j* b, ` l2 V: b: x, @
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
/ a5 y- P) Z2 ]/ R8 [8 Z4 n7 J
- [. A: d. [. l5 k- _
: m: e# e- M# J# c9 k6 N0 Q- u
6 F! }7 u; k9 F; y8 K# t- S9 G
9 Z$ A) \; Q2 h8 o+ E' u
. h! `! O2 m4 x$ ~8 D. R& S
5 y# ^* v: X6 K% l
* X6 w% Y! G8 b( O# C" T, P 7 M6 k- r) K. M0 V4 X
4 d4 b* k. N! w
/ W$ y! K0 [ s, @( T
# D9 M$ F) ?8 s 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。
4 ~; e1 b: s! c# f- Y
x/ t4 _6 c }7 \5 G0 U" m
H, p7 G& G) D( H" F/ N
2 d6 V! M) y/ ~+ `0 S7 ^
5 V5 |" V% H4 T* t Your browser does not support the video tag ' y% I& H8 w: ]4 d! g
- v# v% ?# S9 ]
! T- ^. O1 _( F
8 z; D% s" I# X/ o$ u* [( e