" z. p5 } ]4 C4 z ) A* x* b, m Q+ d" O: t7 p
+ }- s1 M% |! E0 _ 5 q, o. Y% b" R1 g: h' L
$ U0 _/ c. _; z
1 q3 ^- s6 X1 q8 ^4 l% y3 r " ]% j1 F! B$ ^
' [$ ]1 X2 `* e8 l" i8 g
% t3 N) e. a, s" V5 ?& u6 W
1 _: O: C9 r4 V2 _! ~ ! C- l. U% ^ p
0 v# Q! B7 f$ [3 C3 g- o
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?
- N3 z6 G! M) {) t
- X, U! K# G& N4 H, l
0 G, J, f$ v4 D A) D+ X
5 I# h2 R0 r" l2 V9 h
7 [ _2 s2 `; k& l& g, h! i1 F
& t8 W- Z- g; O0 ^7 ]' G/ D$ a9 x 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 # `; d6 k: F/ Z
0 q( V6 T( L" K9 p8 _( v
; D+ o) V* l1 O. E0 \* I % M+ L3 X1 N4 \5 ?# J( S
# w- h: [) I7 Z
# R/ j# Y1 T9 E( l& { 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。 ( S1 y: S. J+ y4 d# ]6 F& y$ S# [
# G0 _( ?. N9 N* g% x4 }
! k& z: }, b3 t# ~8 | h6 O+ {1 u 0 `9 C" q1 }4 g. V# r
" H4 X" V& L% O1 p; @ / N. S2 B7 a! _: X6 e) H9 d' _+ J
*文末附《破防了》项目技术分享视频 * X& u6 H3 l! t. ^/ I- {6 `; m
* x0 D0 u7 u6 E m7 L
. e# P9 d9 V+ n4 n8 g
( Z1 ^: u; P v 4 N, m" K: b* L: l. f. c( B. [$ `
; R$ y5 W+ r: ^& Q5 v
2 Y6 s4 K, p" i" o9 k; j$ d
3 R7 w( {2 \. G- e ' P ~0 k" _. ]; x
* B6 p1 Z3 [* m/ ]) r
+ ?- s7 P9 M& A' q5 a9 ]1 B; j
& u; i: F% Y& d, K4 p2 s* A% @) I
" x. u5 I! n: X7 ~$ X! I
4 Z5 i4 u; A2 J2 L6 S " a4 X+ i5 n! ~+ g; d; F3 Q4 j
: ], d/ G: ~: ?
V% l p3 |% U% A: M7 I 3 O5 f- o* g. Q# J8 a$ l8 X5 E P- r
' c$ m& I Q4 o' r. r: y
$ D! d2 n }( s3 k
5 I6 z) {; g: ?& R 日拱一卒 功不唐捐
( R: }# C. K N1 l, t4 [
A$ q# I5 z- ~
8 q4 d% i& l( c; T
& g* L4 y% l/ p. s$ d
. A/ ~' S: a- H* O0 `: X2 j , ]2 }7 z1 u% g$ u3 i0 j, x. x" ~
0 z& D* l+ c7 G' u
6 I9 T1 G3 {& }: ~; ?
. y7 G: u- R0 R; G4 o
) M9 g1 T* f+ ]: d H1 {0 J. R % O' A: W3 F: y( O1 X; J( C
% @8 w A& T/ a' X& ]) v
- J: i, U% B4 b, B1 C S5 k. f4 _5 q- N' ]; Q4 d
: h% D9 ~% G1 ~$ x
" d2 w+ @* L' Q 3 y/ j- T4 g& A5 }* O3 z
! X ^# E% \. F8 Y& {
' o) D* w, l$ E6 Z# e; F
: N- w7 [+ i: ^3 H, @) a
) q/ r: J/ ]; f
3 K+ P" X5 H. e
0 n& B7 V3 Z9 s 因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
3 r Q4 Y7 }* {! o
) Y$ S6 n5 t5 C0 I* k
) q7 J. ^+ _& i4 \
1 @6 P+ g" c4 @) v0 R% Z' w2 ]' ?
( U- q, m8 B* D7 z8 S2 u
( \; ]% g. |* k$ B8 w& F# E) p
/ [$ Z/ T& \; v9 x' y & R! K3 Z# }' Y
+ J. W' E7 Y" f0 S1 `7 h 日常研究环境 * o3 d- r& P! T/ | x* g3 u
( }' S# C5 T6 k% h$ W
- J1 O* m% f9 \+ Q; G% R0 I
* {, a1 j8 ^) Q" J8 j9 E& ?
* w# x: o# i5 N- m( h , P, u% H4 p# u- f
市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。 , `/ P! p& _1 I) M& ]9 g
9 f. p8 I, h3 k
( Q# Z/ P0 _3 P/ n/ J; M8 ?( A
: k5 Z8 i# J1 S7 L) N& S( N
5 B+ _! k9 F) l
! m) L' b8 j% l: z& k0 a
7 @* B: L) x' O
6 R* m: P; A1 B% _ $ _; t" n; s0 Y d# @
8 Z% c' o" c: I1 @0 U9 C
0 ^" A1 P+ c2 V
7 M h8 Z+ i4 ^- c( p' K$ _, k
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
' P7 V6 a, n$ m6 h1 u
* M3 I$ p7 u; ^% o7 y
/ ~3 e$ _% F3 {% L3 P+ {
, U! W. `7 }$ R3 g& N % L& u) M: ~7 N/ g+ y0 [3 `
+ P! ^) ^- v0 q0 \
/ N) S; u; ?9 X' T* W+ [4 r
1 K. T( q! R- a9 y) l% K+ g
4 t/ |$ j9 q0 z1 G# o; g
1 n M3 R/ s, y 8 Q% `% F% W' T2 l5 C3 F
$ s. k2 s7 Q; ]& E 0 S) w- N3 y% X0 T2 }; w# d
) d, S! i% k) K8 W1 ]" [ * z5 L7 q% _$ C& E F7 }% L
1 e4 k {! P0 a
* | b) S7 r6 I+ c8 b7 F: f
4 Z v/ l t) z5 \# A; g 1 r! H* ^7 Y& d; {
% G$ p7 p! M! s+ d6 A! ]( L
' o: A8 @) |7 l: q0 p+ p- n 破解加密硬盘
' l% ?( G( ^+ ?; Z1 J% {
- c& T; T9 ]1 Y. o( H 3 i3 i. V# T- D" x1 B& A* H
0 i* k' v5 P, @+ n5 j4 F
" F8 j" E/ J! T6 |8 [' r4 O 4 S- [2 j/ S1 B8 b% j
! ^) r& v6 X+ P3 }* l+ L# z" c
9 Q5 o; p @1 x" n. I1 z 9 Y/ V$ N4 x! T
, n9 ~6 P# N. V7 Q& n: o; `
& A( ~, L: u! h0 K- B* m3 v! J 9 \" j, u8 U1 r, S1 E6 n
7 ~/ [. q0 u6 H8 e7 G
8 J/ t5 G F& V9 @1 j
- D% \( w% b: m
, E- F! O8 | K ( q+ z8 E# [8 W; I, f
4 [0 @6 S' R3 U6 X. \* O
2 D2 n$ o! D Q+ r
9 @6 w2 V- c/ T3 W& H; P
9 ?3 z# U7 i1 D( B
, u. e: N5 m, y1 K# y' V; C+ Q
8 [4 [6 |6 P6 J& Y6 c' u
( D7 o, e' y" p: j7 Z. E2 V
% I K9 n" n& P( I* [
0 H/ R; `4 o( `
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
) P( O- M( M4 B8 q' k0 U
: M7 }$ t v4 D3 S , d! ~7 h5 _* Q
; a5 J+ c0 s# d# e: w
) v$ F+ e, h* H/ ~6 q* [ , r: ~8 j9 c; `" C
+ V" }* E8 Z6 O, }, h" _9 f7 k
' J; s( C q4 O) Q* h, A
4 F2 p; K4 a2 h$ f, C
" v" t9 ^& A V
, I& W( p6 k3 |: n! b # E6 }" V3 O- }
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
% m% E& I2 n, K/ z8 f" V
/ R. u% |3 a( n4 D. ~& @
7 D2 ]' W7 T, y8 u+ C: l/ f4 o. ] ' i* p! v5 [0 U, }! e
1 f( `9 U" Y L s1 ~ ( a' N: t+ h5 a( K n0 V
% }, b' f: F; N- s6 U
2 @ I% Y: X& h9 i$ P- @' Z- i $ Y. F- B2 K# \5 b E, n
7 ~8 Y2 f5 x' I W! P/ y
4 i5 L/ v$ \5 w) o% B
, c7 }+ i4 c2 v2 x% ~4 } 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。 , e. I; f- X& ?, v z2 U) n9 W
; o2 p& f2 n/ I% K" x# A! Z 4 }% R5 O: ?6 q- \ _& X* |
* W$ Y$ e* g, s) o8 ]# F
$ ]' L" ?6 a1 l- C, |: S Your browser does not support the video tag ' {1 A2 `% ]7 }. _, d7 B# ~
7 d6 O3 q: f' a# a/ j3 m( x
$ I6 g% _& o5 m3 x& g : ^$ r7 w+ Q! q1 \" z" b