& w( d z4 m$ r
T( H0 N8 _1 `9 \
; S% K' {' o: H/ n5 x7 }' R) k
, x, \) |) B0 D8 n3 w$ E4 m 9 M# w: Z% V& ]2 x; r5 j
' a, P# E: L t! I. N2 o ; @7 u) s H3 S) G
% ?; B% X/ T3 V8 c. s0 E
5 F. {3 y3 X% l / A4 N; N! e- C* I6 O
! P4 k& i8 J; K' c4 j
* U: G1 s5 E9 ^ T3 _1 x/ g* U
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗? 5 B8 G2 b! k& o5 w
; b7 g* I9 \" }: k! b2 D + U9 I8 b7 }0 K
5 x# _$ R1 T3 [
- r' Q% {4 L L% p1 L- E7 t+ I 4 r6 ?1 E7 r) V. z s
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 + ?* z0 B5 F- l
" L- T9 q, X: o) H5 Z9 c
8 {4 R) R3 e; _# R6 K$ c5 e* I
^9 o) M2 l# H5 E$ a
. X4 Z0 }2 I6 s! \
U M% _7 }$ p: B 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。
4 J$ J J1 b* d8 P5 Q
9 @- a, N3 F' n6 c& |3 t
0 N1 x. s1 A6 U: b, d 9 ]: }% {) H$ z; j
f8 c& S K8 ~! f- R0 [' L4 w j
`; ~' S" d u9 w0 R
*文末附《破防了》项目技术分享视频 $ H* t3 V4 K- m* c- L
" x% R2 x K+ i7 G+ G o6 C+ G6 t
. ]8 K6 t* `2 F 7 c5 x0 Z0 F w3 R
( h9 b: G" z* m1 v$ S4 f: |
" U0 t8 m* k7 j m$ y+ \9 D
( U' l- s4 b. l
/ Z5 |) N0 a- k) N( Q- \2 r
. m' i0 c/ g4 L+ {. |/ K {9 S
' ~6 P0 x6 {. I# c6 r & s8 S. T; y- B! j* g
1 O& d9 T; R; E' B
9 N5 p7 v5 b/ x7 M- S1 h
, K4 r7 t/ W0 j; I2 D3 _: [
1 @4 N4 C H k; u# H
* s4 m4 m! K- l" q
1 B2 q( I4 c" h! J- X, `" H i
9 ~& j, i1 Y5 y d- u6 N$ J* S 7 r$ P( B% D! {7 d: X* G
9 r) t% Z% I' r/ T+ ^, d a 2 p! j5 A5 f+ L& Y" y) d
日拱一卒 功不唐捐 ) L& h( a/ r* c6 g K
& x* \+ A- R, ?- b
5 S; q$ C k7 R% Y8 K) f0 P
# B; v8 X2 o$ U9 r: @2 W( G
; z8 `0 [, m- c( b ( N! v3 j4 W. d" q0 ~. M$ C
2 e ]9 c- l# T6 \' T
) [7 b% V* p) D: @7 X
, v( K9 T) Y. L- o; j/ n8 A+ E3 w 5 d% s- [7 r9 Q; p" [% m0 V' l! ?, f' q
5 e; h ~! B, _; B/ x8 a % D; S( g3 s; p8 a3 D/ H& G7 H
4 D. p& i6 G% U! B. ~4 a
9 h6 s4 p% I. O0 v2 U3 V9 ~# D
+ \4 `" y3 p3 W q: F2 I
3 D7 S# J/ v) I$ J0 @- @
0 C& {+ h# C+ _, J
! j8 K/ F7 h( \( `; W
1 H" f- h! C& R* m2 r) J3 u
; e% ~+ e1 f+ p$ C3 F
0 u; Z9 U9 j" P2 g; S; g! h
a8 T. ~) V5 K$ q9 i. P ; d# a5 X: y# a
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。 6 G& k( h7 z6 S, w1 T9 `5 y
p$ Z& t6 D6 l$ {) C! ~
! {1 G& N6 B# p- C2 i8 c 8 N: |& J& Q' P: n
: N5 S% _9 n' F8 f$ R' O ( B5 D; H4 h% d& o
% t1 A' b% j1 d, ? I5 d
1 ~8 Y3 J+ P4 ]& O: @$ l 1 ]; e5 |! ~) |8 b( r
日常研究环境
4 j8 B1 Y$ L8 C! m; x
, h/ T% C1 W+ u/ S4 D w # C5 b+ t! W" r
2 v: K* h3 z* J( w: L& P9 O
% r5 Q' H! A8 T% k# e# m' L' `/ O
4 l- N5 [, s6 S) r) W3 M 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。 ! E8 w* U1 R9 V2 O& i' g
0 |9 G6 V2 l& g
, \; y* q' ?2 h+ O9 e* ?) W
4 T) c5 C+ G5 ]' j- i
" @) h# R) ?2 Z7 }1 w( ~% F
6 q$ R: s. w8 P+ {& R
6 t" e' v9 R+ }: E
! x3 d# l% a/ v) f& s/ D1 n
6 Q8 @, d/ W& a3 B. U! v$ r7 `
1 F& O1 |- Q" |# S9 O8 h
9 e, J6 g) g) _0 ~
6 B4 _% O1 _/ r* C
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
1 v3 P) O+ v p
7 ? c, I( @5 q( V5 O) \) L( m8 O
0 Y' [0 J% e' V3 t2 C
3 x9 P! e2 B- h* N; u2 U3 g 3 X6 B8 X" L8 ]1 B/ r$ f
% G0 N6 R& t, D- _
+ E# U' \+ |! _4 f; V/ B7 V2 s
, b1 r; r9 X5 y- v! l0 p Z6 I3 J/ \
) r6 `- S7 @0 C' ]; \
, w& f/ q; j( j/ r8 y! O ( h# ^' D* s- U8 K
; @! C: R. z. [# L# K! f1 d' Y# J
- ~ A9 `, N- M. N6 [( e
0 n% u/ z; V# m/ n* L1 d
7 R8 L" V! K- ~0 f! e% F
5 h' |5 o- K+ x9 A6 q. [. f 9 D: j6 k4 v0 L' Y( B" G
+ O8 @2 n r: e$ Z& w" y
% G# _" ^6 g/ c' [9 \: ]
9 u W0 _; u0 K+ Y : p. a' l% z! Y
破解加密硬盘 y; u$ m9 p5 [. P3 O
9 r1 } _. N5 {) ?6 ?" j 9 s- B( T% ^; Q. T3 ]& V+ _; [
+ K0 y5 c; e- W/ N v& D+ {- J
+ H& J( \2 e, r: T9 a
/ ^; J+ N' B6 h
- H' t$ c3 O+ v8 { ' g0 c- ~4 ?) d- [; v8 P
8 G, f( t' O- ^1 u
. m2 J: G$ G& `9 H/ `2 \4 U8 F1 ]; \
6 A# J) y( q7 u. D+ G5 {
% B. _- b/ c1 @2 F9 c1 m' u
. d7 B9 G" q1 C( Z5 T ' Q; E4 H1 n2 G$ m& A! `, G2 k
* d& l4 {/ A6 I3 C" Z
- |8 O9 ]1 O9 O' k; ^( w 6 O8 c) X, v/ [
, a8 D. Z" f0 s7 }( d. j6 w5 F
9 h7 \/ W) s' H$ e# m
6 j C% |/ _6 ^3 a& z" D& g5 i
% [( Q) x, l- w M' T4 T2 ?" k # ~/ E. c- T% S( ^
8 l1 j: h; \( @( R & U! s* F3 L9 f3 ~; u: M4 u) I
b) t0 Q) E; [
4 i8 A4 [3 }) N, M! m+ v- ]% |* s4 h 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
2 e1 A7 c& ?6 A7 K/ ~! @
. s/ {0 I+ @; A0 c8 G, {
7 Z g: C4 e, s( v
/ X. A/ @( L8 V5 Z2 Q, g* |
: l2 e- O/ V o0 y, [5 [
: ~) s3 j$ c7 R) c7 N& l: n
" u* L" c! m$ M \1 Q6 C& C/ J& N
+ |. U6 e) }: Z" \( ?6 C9 l
7 T: {1 z1 W0 e' d$ ]
. B8 z8 f* q7 _# k
2 c6 R! B) s7 M5 Q: R
9 g; \4 |4 H2 N0 `- G8 | 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
" P! w4 M4 O( L" j4 a
* B0 m* j. d: y# e' @
! b/ a' j! d1 Q1 s; r; i - |+ p. U R& n& V+ m0 e$ O
1 a0 v: {3 B5 B
5 {! R$ l0 O4 ~9 W+ O+ R
) A _# Y% [$ Z" V
~% f/ l s7 K, b ) K& m/ U) @* `5 `" L' N
5 ^/ O8 \) `9 l
7 j$ @+ l) }" @ o. Y5 j8 \5 Q . B5 F( C' O7 a- r; v: ]) e
在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。 y ?8 E! K1 F& h- E
# P1 b' Q0 J/ i
1 ^3 _* b1 [0 _) ~( e" M) o& `
7 D3 n7 T. U& J: i4 {
# e$ N8 T& v, R0 V; G Your browser does not support the video tag " P& }0 U# r9 K% K _- n* M
; J( F2 C: f% U# F5 Q
- z- H, x. @1 m/ p2 {# m, ]
/ {4 O% d( M# d$ n( ~ G* V+ C