: B. @) j5 F3 c9 \3 | C: A( a( J1 \/ S1 H+ M
' s+ g) u8 H, W/ H& ~
; |" Z* G. z' O& S B " V" @0 @ l" @7 r
% C" D6 }8 z; I) b
. p3 a& u: t4 w0 c 8 I+ T5 t# D P; J" ~8 P) Q1 \
* [( I) I/ T! d% D" t" P0 y9 L
$ W' Z# P6 {3 ?- [' ]1 F
z" j, O/ W; \1 K$ f5 K1 A
: K# I& P1 _/ l: l/ Q! N 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗? 1 C {/ e2 @+ S7 i# M6 p
, r) Z/ C! p7 ]4 q8 T0 q" `
: }) J$ v/ \$ l+ I/ m5 l1 d! u
) h) f6 ]; m9 F) L% o
0 y4 a6 Z7 |( Q
( {: Y3 w6 c1 ~/ F
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 3 P S* D$ [0 |* Y# J* _/ G1 z
- |1 H- k/ Y1 ~/ N* q5 N- n
2 f0 [- V% W4 t/ y
' Y1 U8 D7 O4 s' p: f, \& k
0 X* n" q; w3 R ; ]1 h& l1 ^$ X+ q
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。 - x& F" P* K! Z/ D5 P1 G
) |/ [6 A5 z0 D; M
7 s* Q8 W# D% S, q 0 G5 ^) s' B- z! R8 X
- X3 ~- d0 x% u: s' }8 G $ X! q) D# c3 D
*文末附《破防了》项目技术分享视频 ! F, R# q- F: G' d' y8 |
4 U( A5 I* t6 g7 O ( I# A, X; I3 U" f' i
/ S s: ^: b/ d6 s
7 {' \7 X# ?# C( N
' d+ f+ |8 A" e1 W7 u, y7 {) l5 p
/ ?' v! V4 {0 B4 k/ ?5 M) Y
$ R$ o5 G: o$ [9 c) \
: N9 |0 l; a% X- G7 p
/ Z" m/ P& S/ H. x! U7 y# l 5 [" F+ ?8 \& [0 D c
* J7 k) k8 |+ ]
0 H' y0 L/ I, A. ~& R+ q1 d8 ]) C
2 a3 ]4 P1 W( s( A3 I1 i+ z# X% `5 W& y
% f5 c5 _6 B9 L; M# u( { , D; i2 D1 u, C8 x: C
( j5 _ u# W) a v/ m# Y+ v
O6 N+ J0 L9 c% b5 ^7 F
4 q; E( o3 o$ u% l; s " b" L4 y. i* n3 ?
- n1 n7 F+ Y0 V0 _- {
日拱一卒 功不唐捐
4 i2 V! R6 w! n6 a7 P0 y8 I
A% W/ Y; y- K" ? 0 K l0 Y3 x8 z, b2 l
# r2 _3 z; V3 y' z" u/ x ; K" L N/ i2 P) }+ D' A
% y3 s) x j+ v' g4 P 9 ]* k+ i. c, Q" D% p
1 X8 ^6 o5 _, E" A9 w# I- V 6 K, a0 X; Y3 }
3 }2 M. ]6 Z; f3 o+ r& N
& X3 a N, V; z6 \! |/ n) V: j 0 U2 |% I5 u. W- k. x$ ~
6 p( ^7 c7 ?) t! s v2 Y4 i5 q( J0 } - N* M+ }4 ^% Y# p) m1 a, {3 \
& ~- S+ L- d3 ?
9 w. V# v6 ], T
$ K/ i9 R7 X* ^) {4 }
' g+ c+ ?$ b2 |0 B0 M% s* k
& _( n7 X! |# p. y' [5 w* W
% V, U0 r. O6 v) d/ I% Q3 y
; F' z' h7 W9 T% m8 P+ K
; ^5 Z# s% v L1 @5 `: Z1 `# f
# _- i! _9 E ~* u+ ^
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
$ j$ i; y& p: |. s% g% c! E% P
: v, k0 w1 b* T: h& L- i6 }& b
4 j7 J e' `* G W5 y. K ; d3 M. r# n* [+ a
. x+ C, c2 U$ H# J& c( M / {( |1 @" T8 X& c5 d
# _7 ^7 Z4 P# b3 V3 } 1 ~ t1 I: J" n% H/ w
- S9 \! ~ U8 \
日常研究环境 , a# k/ }) Z w+ i* h
. w" c J! K( T- r
! ~) Y; I- @; ?6 ~+ B- \
& ~1 P. ]0 h7 |- g& ^7 Z
, C/ n" F, h* e, }( y1 } / F0 C9 B5 J# M# T5 z+ S7 u3 z7 m
市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。 & _ ]* W0 p6 d8 P
$ c, _; A+ ]; I8 V7 z
$ U5 {1 W/ ^4 a% b1 x- ?
7 p- Z5 [! W5 O7 b1 ^1 L" Z4 j
9 ~5 }, S+ _8 P2 d% ]2 D# t / A1 d' x1 I$ \0 B
2 F _% Z4 o0 I) h/ O0 r
% r; |7 n) ~# Q8 g% Y
& Q0 \) J$ T! Z$ R# V. U
j5 { m) v/ J$ \" r
0 y! b# z1 L: x' _6 t5 S. B7 j
" {6 g6 ?- w! o" V 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
$ Q3 C/ @- B8 ?/ N# ^, \8 {
6 u' Z$ A+ F" X B2 |/ Q / o6 d* v6 N1 @
3 A6 y* ]5 ~0 f% O2 Q3 K' w ' v& Q' P0 G2 t0 X
3 N& b' S& u7 a- L
) F2 k, ?) z6 v& J3 g" { $ X; q' O4 W. y9 B. ]: E. H
5 i. d. c, ^: [; ]
! z# m/ n' `4 J0 z3 E0 v7 r) S# [
) h$ D0 x% i" g4 R8 j
8 `5 F4 L% l/ n. {
5 S( E! V1 d" l! e
, B( R" t `' b& u) h+ e: L / C" ~ j' N# e" B
: A& |3 U. H# h \2 x, `
7 s5 E1 Y! k4 d6 \
4 O% i4 H$ g& ^4 H; S$ w& n
5 g% b `0 W1 E( ~% H* `" j
! G7 m, s( m$ q) J2 ~ ( M5 G, T9 h5 W5 r" p
破解加密硬盘
6 \" |! c3 S( T; j3 a
2 I3 z% E7 T; `4 |5 H( @ D" s# T6 i3 C/ f5 t" s) \. z! _$ |: ^
( J- z% l5 w3 R& {- ^1 \ % M) z, }/ P/ i
7 G) R- e7 P! C7 H5 I
" J2 {6 d0 O; d
& c0 ^% c5 T" i3 D0 Z4 s
/ ]' V( i+ A# p: U: u: A
+ a; n9 W1 {1 B$ E8 d5 \ 7 d1 g5 V: C% i
5 x) s: [& r+ Y8 i" @3 S+ s& D . n3 v/ \( } s
+ U( l2 I) l+ L 1 x# [ a" z: Q U0 _, c
( P2 }: S V; Y' Z0 x( `! Q
) G5 a- m1 f* r2 n" G( ?7 Q
9 t4 h8 b, a& K/ t , \7 x7 ?/ v7 Z8 E9 ]3 ]' r
" I' W3 }/ Y9 Q7 Y% k# h3 {* r
. b' [9 Q1 w! @$ F4 r3 ] # c. @$ w: K: L x+ }, {: h; `
! ]2 K$ f* f3 U/ c5 W
' P: N; y2 }+ K$ ?7 u
3 X* v6 G- ?5 W/ [* Z* G- z: i) @ , k2 M" `; F, x9 | S! L
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
" U5 }- Y2 S% e, Q# O" H. E" d
# F. X: Q6 `7 ?8 W, a! a* B
' u- W! ^5 J4 Z
9 y/ `, F8 @5 @' u( b+ f5 x+ J
7 a7 u! X2 e, k" s* Q( W
" j( d8 _7 f3 K% v: P! j
6 c/ p# a9 a3 H% @9 ^4 A0 Y$ H
3 m- o6 k! n |0 W8 O* l
$ t2 z( n5 j% y
/ W5 b' v2 t7 L# [' s, G( }
- [* f& P: y2 _, F* W" ?+ a( O ' r9 J2 g8 Q ?
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。 6 L, t( b; b) R3 N6 K& B* N' e. X7 T% T
6 }' _5 Y4 X) h( G) C# F, ^, N
% ?( B. N% v! K, z! O* Y3 ?
) [# Q- H9 C9 ^. q
* \- p/ b+ h2 L [/ o
- }4 K6 c4 W2 ]" ]+ M/ Z4 J7 E" L1 c, ]" q
2 d5 I# B/ |9 M: S8 }3 z: v6 U
2 G6 x& ?( S+ Q! |$ I) _
2 w- U3 g$ T g2 n R$ S/ ?4 u
! x. Y; c( X# }! _
. Z. Z+ `6 l. n
8 M1 T, k7 x7 I3 E# a 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。
$ r. S: {/ d7 }: o- ^
. G, }) ~3 i+ R3 q, x7 z2 o- C / n/ [. N4 B2 T' U4 Z
; g* D* N ~% ? |
! X* u, E5 C( S Your browser does not support the video tag
& h6 l5 G4 e2 Q- c) |6 w7 s
! u8 ]# z6 K, q' D2 Q1 c9 y1 T- D" Q ) h. E2 i+ ], R5 I
6 c4 `" I5 D, a) g