3 f! N" q4 C5 {2 \- t ! p# g1 g9 A4 i M
) j7 G+ F9 ^0 q7 `, }" W8 [
) T5 ^4 U5 Q6 l/ q * O, h) Z5 C C1 Z1 Y5 I: ^7 T
9 J* m) U5 \0 G
7 L; `, c$ e! H/ g * @8 y5 u6 D) s% V4 H
2 b# u c2 w0 i2 z" n* p
* W g5 d5 o; O2 W" f) A8 Q; ?7 O
$ r% ^' w) s8 U% Q6 o$ u2 x
( ^) j9 H9 [6 O( U 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗? 2 C( h3 {8 r. b+ X
* _# U; g+ s; d0 K9 ~( D * u! m% c- k+ c% ~* G
& U, K4 w& ~ X+ m
* q* U2 E& y' S! Q . `9 y( T* S) [6 O% A/ d
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
5 b: j) K' A- q; B$ r9 r
8 M0 s5 h; h2 ^
; v/ i, [1 T, @$ C % P& T) J/ {$ L- \! X: j
9 r1 i3 D. l9 |
( y3 {' d6 _$ x 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。 ' C" V$ F2 I8 z
1 y9 W K4 H9 j6 ~# [: H
8 q0 h3 C9 f+ B, \% v0 K$ b! q . e- I4 i! J6 U) X
( W4 C& H$ K6 t3 p& S! _
7 m! U+ t3 E* M: w4 b *文末附《破防了》项目技术分享视频 : J: L. ^, ^" i( f& q8 [0 K5 E
& R% C: {) A2 ~! F( K
2 K0 J$ S- h' Q. W5 M$ \6 l+ y
6 [6 S+ _8 e8 [3 v* z& ~7 } b
4 c' d$ l& C& A' \
6 T. U$ B- |4 w# ~. k
, f, g/ j& O. H: {+ w$ j
9 L: C" h E% p7 Z2 I 0 H3 q- H7 N9 ^, O$ {; P; i @( ?; `
# _9 {- C& k% |5 n
9 H2 K+ Z m5 l' }9 y+ \
$ ~- b& P" d1 Z
! p: f/ ^$ s2 Z& x
2 u" B+ V$ w/ U) k& R# F
8 h: j0 Q: f+ p# N* \) m ( u8 { y. R! d- f
0 O8 {8 g/ N5 F/ ^
+ s3 Q- r% S, c" d$ X
" V8 ?3 i2 d- N) N+ e: H * o6 v9 s9 a1 G0 l
- b6 R/ x8 j+ z 日拱一卒 功不唐捐
, G2 V6 ~5 S3 L/ |2 t, z- S
, X& l+ }3 [. Y 5 M4 }: H8 B/ A) ^0 u2 k |
4 H5 O S. L" U* {( A+ J5 ^ ' O- c, }5 W7 l% R
/ A4 r) G9 o* }$ g: z( C: P
4 V' n/ m* ~, ]6 X9 V0 T$ F0 o
7 F9 a4 G y$ I- O6 o! I , X' u8 m. p# u& a) h' P
4 A3 X0 n# |7 N1 u" [* o ' m+ o$ { T1 j7 z2 V/ z" Y
) `$ b4 L" ]! J: y2 c- s Y
7 h( s1 {1 t6 u/ [ l/ D- M6 T
4 e7 I4 T5 V# {2 } " ^; \. u- [* [) }
S, q& r6 {" ]+ h3 l: z
7 k& w' R* N- q3 V5 E; X6 l " |2 q$ h" E3 ]: G+ O2 a
. [8 z+ \" V, B1 b- ^9 m- k5 k2 U
?+ V! }1 ~1 T' `1 F1 t2 T+ v . }1 ^1 K5 J3 _ g# s
2 W" n/ @. M9 R & N4 w5 v4 [8 o" c. J2 O0 y
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。 2 m! p9 b8 i% D' V* D" V F# p
; o, G: \' l; T* J- l - w+ M: x, { z. D7 X/ {
& Y R& I. o6 H/ \
1 Y8 y: T1 T# `; h5 p, _
4 k# J. V. G O2 V. u7 D& h0 W; _4 g: T
( y, \/ g, a! U4 s1 u
7 \" j0 b, p, m6 W" T) q, \6 W
q2 Z8 X+ G: @0 Z) Z0 ?3 W 日常研究环境 " c, \' l7 _+ m e
/ K8 K* K) c9 l: }* j& N% \$ T# |
4 \' a( U" |* w! {* |8 J j9 ]* N
* |. n- e4 S" I+ b6 s, r) I' ]0 r
, d1 ], @4 Q5 A% G
* W5 [, H) [ P2 D9 L. W 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。
9 j" p W+ _ i/ {- p7 P- K, v
8 W% u/ i/ [* F% m0 R6 K
( B- ]$ d! L, H1 y 9 r* j9 Y8 c) J/ V6 l
2 l" U2 f Y3 v/ A' O& H- n5 |$ X
5 z6 ?7 K" G1 y
0 i3 p, M: _# u( c1 K
6 T7 N9 ~, I& C7 S# c! l9 O ) L' t/ V. V2 F( o! }4 x V
- `9 i7 `' l- {" h) [+ ^ y
" X f3 [5 ^ D b- F$ M$ D% l 7 L% ^# b1 {" l# G
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 * L) R0 `, X0 f% f7 k
6 l1 V6 L1 k* v% y; F$ |
' n, p; k/ B+ p4 J ^& c8 E6 P$ H
- l3 i% z, j5 a% E9 b
3 e6 s! _9 Y# u4 D8 F
7 x/ a0 M/ W* u, _$ ^6 G
, b; m$ X# W+ k0 v( P
! u1 a3 u% L0 K; {
8 h" j r6 ]+ I4 v$ L
, `9 m; T5 n+ _" J
, y" p/ K: E8 V8 m; r1 `
) X9 @- n: n2 K+ S . p) l* `. g' j& W
9 G; D1 j! Y9 |/ o
1 D- J( R" T" |' L/ K( @* U
) w& C' e2 {7 r$ O
2 F/ U D' }5 v6 v* C
+ K- I# ~6 ~& |1 R N) j
; u/ E4 N# k4 d4 ^2 o. k 6 p6 g& n" R# m2 _2 `
, A* B3 |, o( [' j9 @/ j 破解加密硬盘 1 d( y4 e- f% D
: R$ }' [1 O8 R5 a8 j9 E. o& H7 p
7 I. e0 M& r! X # }1 I o( ~( D' ]8 S, @
8 R H) i5 [0 z- N# [5 C
4 ]& J N' C8 X$ S+ ~( ^ M. F" { [1 K2 R- x3 u8 _4 r
0 T# ^; q; r3 g5 L7 h9 N9 D
: n" c' c- \& d# J
8 p' j. B3 N5 a + o% O4 |/ d( e" J3 r
2 e5 u) p& f' u0 f
- o7 Q( R: |2 j3 r' c
7 B! ]# {# B7 [: e4 Z5 r4 R& D7 T 5 T; a! H( X* E4 S
3 K6 x& W, h z- ]
. k$ ~# l7 C p% i
8 ~+ Q$ h' A2 I$ ]7 ]; L" I4 i
6 z$ \0 Q' a1 G* ]; j, X - [: ]3 q8 c# L4 q
4 h2 C0 I+ _% b2 T* O3 [" h/ M
0 _ |- [7 n( Y- ?4 _, p/ m
- R0 e. x# W1 O7 ~! y
% `* a. ]6 t8 q7 c5 j/ q: r4 U
0 A. V6 l, p0 p, m & I4 `9 A1 C& j- q
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。 4 s* `2 s5 G, g& `: S
; |) {$ L: p6 t% E/ w
8 P/ }% l; U# N @8 l, b
1 J4 S3 y3 y# Q3 B
; x) b" P* w2 g' N6 t
/ ^4 c$ v$ O i" |8 F
' E* [! B. A, V
; i3 l- I3 S5 z4 J0 M
( q% @2 Z- ]. t$ h $ R! N9 S3 m2 p& ?7 {
, ^0 [, r, W H: a $ ?0 M& h% y$ ]* o6 v) K. c
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。 ! P2 H- B. R/ T: a5 h
: d0 |" U; K2 }- t9 Q3 u
! h; q: l6 T4 k) ?3 `" D
; `' b7 Y+ X# U, Z1 {! f7 s, I; b
2 S9 X( {+ x2 m( e& L
! K! `: a& N1 f0 w3 Y
\5 m0 r$ c! K+ i* _- J
6 X* k( I0 X1 {! m
R0 l6 j z8 v$ H( w 9 E6 `% m2 D3 S h
, }: ~' D* W/ }9 R; @
; _1 ?0 ^& C, I, b: ^4 X% P 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。 T, V, j* F( m$ K3 |6 i
3 [5 A% N' q- ~
- o0 E, |5 w0 x6 L) y
: p6 E1 @4 l6 J- b/ _
4 F- D4 s0 a& Y: c, F
Your browser does not support the video tag - w4 Q/ `5 c. |" [2 s3 l Z
0 h1 B. N7 D1 R* h
2 m+ h8 C, V. \4 ^+ C
. n7 U% f' ^+ _4 g" [