8 h! f- b+ K( F9 b/ X& R2 j) ?0 D ) B. `' G0 m, m ?
! G9 P% i$ ~9 d/ v- y) `7 x3 X5 I 4 R4 d3 @: J+ l9 `
' a( p3 C- m3 `' }% S ) ]6 }# N1 ?/ T; s9 |
( U) _ J5 \6 ^* m9 P ( o2 _7 l8 M4 W# _8 Z
9 ^6 c& \ e1 D, `
" y6 o8 k4 W0 J2 K ' g9 q1 Z n, a. ]0 |
# X2 A$ f: n! E$ E5 i
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?; S& L7 e4 e z( ~7 v' [
5 k7 i3 u2 e! `$ Z7 A- ? 8 Q# ?8 Y0 z" F( q: P6 }
2 w; S C4 S& I; r
2 d; [, \7 t( Q: M! U& e% e
& B. f8 Y3 u) [/ \
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 2 J& \" { U5 F& Y
# ~* y1 Z2 s' Q0 k8 ^
. |" k4 Z+ B: J* N& E# R
8 P/ ^) Y4 b3 \ ; i7 e1 C; w0 N' G- G
$ p0 @' b e- A4 t( s( } 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。- i9 r: @2 W4 I; {( K+ c
' J( x, ^. j: X4 M" |2 G2 Y: i" G1 |
: j7 v2 Y8 G& I4 K
* U4 O4 o2 w* ?, D* _
. e. k; X3 [( }2 M. z8 s # ]% q) u# b0 A3 x5 M; j
*文末附《破防了》项目技术分享视频
9 E @3 f* g4 o# |% z! m- D0 X 0 P+ n4 B% k* v u
# b' }3 N, O9 _& A* X; p
, {3 o# H: V$ @3 m 3 N' Q: \3 E4 G4 m
* l; z( ?8 j& L8 L8 r- g9 J
' \4 i1 w# {# @9 u, f 2 H v2 ^ G1 r/ {
+ c! n- x2 A4 O9 z6 ^
6 F* i5 }, D3 g' l
* `, y$ M3 _% z: m. W. T2 y' E6 T
* X! Y' t$ n" I% f2 C! L4 o
% B1 o3 X2 I% q. t* l. }6 V4 o
! K' `/ Z- N- b- J9 o1 O6 m / l: R& Z" e: @% m: U6 K
6 X% O1 U$ t8 a3 u6 z, x
2 Q7 ?# M2 G, l' |; m# g) V6 j" Q5 B. _
# F9 l* R; e' h
" A$ K4 k: h0 B7 R ) q" ]' o) C- k+ m6 l9 U2 L3 Y$ L
' J6 q* d6 l8 A! Q, U
日拱一卒 功不唐捐& _2 c6 X2 \7 }+ I" K& X
% _4 x& i( s# F0 w0 P! j: O- E
( f7 D% R) a5 |; G3 U1 \% l. }; G
) {: X3 H- O# q, Z/ m! ~
8 i* _, q. b: s7 N$ X! c& [ 8 d2 y9 W8 U5 A" ^
% i O+ \) Y7 |4 g+ L4 B! I! P
Z; }' u2 W9 q' Z. @
8 N5 i; c o0 \& [ 3 v# y. K& R% ?4 \
; D h9 {9 O3 q% [" m; c ( Z( h! H. m9 f6 R, F$ i' a; c
. ?1 v5 [# H+ ?/ ?$ J% r) ]( g v # X2 T# A6 U* p) ^- w3 s7 j" P1 p3 a
8 w+ w8 H* f8 y0 C9 }& d, N: w
. a* a5 D8 f( [8 h% D" {2 F
* e% h$ A$ |0 @. y8 _ c4 D" _2 `2 j0 `: o G( y
& ?4 V9 E- W6 ~ M4 F
. [: ?& p0 K; A+ }1 p7 M, a* O: W" ?
6 {' @2 ]5 L2 Q+ { & d- S' d0 `- [1 `, \
: f" a0 g$ x. g9 O8 t 因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。# | |7 J! }( g! P
) @6 d4 F2 o0 D, _$ ]4 l( z . e& \) H; F% T5 e( x* A
( _" u! K7 m1 r) E5 Q4 }1 l
7 t6 o# w1 _2 I0 K# d. u# S2 \
* E% ~8 I: E% B) V& }# I' X
8 [: N, A% s" o
& C) B6 \3 b0 H" e( J* m 3 `9 S* ~7 z7 U/ } f
日常研究环境% K. H2 r8 c$ Q# |: @' J
0 a* ?0 o" h# E. p( N! z( w% Z
% e4 B, [8 x$ t% Q: u$ @0 j" ] ! }+ W0 }% a0 u0 U$ E3 Q# ~- M
, @1 e0 ^& Z( G, i' f# x
$ ?' V t6 @4 F. p 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。
d; B4 G- R& b8 X0 Q, {0 ~ ! w& r4 A) i' t- V/ T0 R! u8 w
1 ]6 n! _/ F9 k+ d0 X' k
6 q3 T- o" c& k+ L B1 B
+ t8 V( S. z5 R% v% O
* N9 q. Y B3 ~5 Q3 C L
/ ]! }: e; f+ f; g
8 n: m! [/ `) j - ]. c0 _9 n1 s1 w
, w1 ^9 s$ |1 @2 P6 b$ K) m" k4 Y & @9 T% @5 d0 {0 e" H- t
. g( i, p4 r# {
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
! v) [9 F, J& x W+ W 5 ^% t' G' y; t7 e
f9 ]* h4 g R
' h, v. o- l0 ]
4 x7 X5 E8 {8 j/ w1 k* C4 a+ I 0 b5 H! ]1 G6 i5 K7 B1 m
3 c4 m1 @% Y! t
: X- i2 f: Z3 I' ?) v F; u/ i
/ S' w8 D; N1 L3 d* a 2 d; k+ o* V6 ^+ M& ~
6 X) c9 {' C, K) I
1 b+ I7 B' R$ V5 o9 j l! _
; b% J+ p3 W& t& Z% U: {7 F( E
7 B/ w: |8 s: t4 ]0 Q * |1 I- {( u |3 P/ G
% } _+ M0 W$ U: B7 n* n/ l& Q$ k8 F3 C: K , x- F& L6 r9 k; e
8 j# Y4 D% L/ I, P' T
% X2 x: J8 P9 {: g+ s: v7 X 3 C8 z E) W$ F, J$ P; n
* x, Z2 @: v- N( n2 j
破解加密硬盘
( q" o) ]0 [0 Y$ K; r7 g4 I ; L7 _+ b- P9 i; P& l
6 @! \ G% G; z7 O
* t: }; `- }- r' @0 p, ]6 |
! u1 v. }4 x _$ [7 L7 ]7 G; N8 Z- A! d
+ C4 w+ b0 l* z. x
, |' i6 j5 x* H# G3 J
9 t3 Z. q( h* Y, k % \3 \1 A+ q; Q7 V4 Y; n5 Z* a
: K& l- @9 W* S1 y6 C. [7 k. Y
% Z0 q& G( D: f7 E, {! {2 L. G ( Y4 ~ @6 h& z; L H
& p2 Q8 }, f; M
2 c, p& W5 a+ [6 n3 O/ d6 b% F
1 J/ M. k- f: T* m
& Z& \# H3 S* R4 U 8 z! I! r% _* f7 t' f, ?
* A) M* Y6 l L
7 r3 n4 o" H& Y5 m3 m - Q) u3 h- Q5 z' K' j6 |
& J, ~. h0 `; ~4 p- d0 o' Q
c9 s4 {' \: {, g: ` : a% e- m: D, p
# W, D, _/ M; s/ N+ ? 0 F: @* I7 [3 X$ @
+ Z: S9 o( u3 _8 q% t 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。5 J6 s6 C; ` w: N. w/ e, w
* ?! B O9 e0 O! N% O
3 G% J& f; y2 B B4 b
, \7 H% Y* v. D7 H6 O0 u
* j. v! T! e; F& n* f' g ; w' _# ]4 k0 s$ w# q& H
+ I- W0 ]; T6 O. [5 @ q% O9 g: h$ Q' Y
- j& d2 Y- X+ m4 k; \
& A2 M/ h' E' e$ ?5 C6 ]
- H( X, m* r8 n3 i, S9 d
# Q/ e- B- `7 S8 |7 W+ u b 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。% \1 f6 F9 X. A) g6 Z; w
4 c1 Z& d1 t$ O s j" z2 W 7 b, G" |- R& V3 U+ d# ^' Y$ @0 y
: L9 ^3 ~3 y8 t$ Y" w) G% { T
" }# ~8 ?. Z8 H! V
5 ^' W: H, T3 C* }# s
( b- r( i6 F( X* R" @3 ? + v- i7 I: u8 K8 u; V
: @. T. {: S8 ^ w* n
& Y5 y6 u' H2 c/ T- G2 }( m y0 ~
8 z: Y9 `% R" t. B! ?/ B+ R X2 R
, c: P! C7 H) r0 X 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。- ~3 N3 B( X9 {5 ]
6 }) A% x' A: J* n3 B8 a8 a
4 E) K0 d& S. _' Z. g6 }
2 [& G9 f, p0 A! z
( l/ A; q6 q0 U 4 q& z- \2 b+ P* n
7 }4 T3 V" r+ f# h' f! ?
* v/ F. L2 N% Z% O' G; A $ M0 |2 v" G5 U4 v# R
|