0 l2 s+ n6 l" h2 O5 F* {5 K8 Z$ j
+ N2 b5 ^8 h" R) n6 N0 u& W + {7 A6 G4 J4 v# s3 g/ R
7 V( s, f( s5 W$ Y) ^$ _- V6 z8 p : b0 ~3 p" [2 h8 j
4 e. s6 S( t* h, c& u- m/ i, r% o
3 k) M$ j* ^5 n7 V ; j: M) l$ |. n1 i
6 q+ D4 ^6 `- e
9 k8 l( v q/ b; k8 N
( ~- ^7 ]" V L ]# ^
4 i5 r6 P$ t s& O2 D1 t7 e q3 v 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗? 8 _, ]2 i/ o) X9 @3 A
- e# `8 h/ a& m6 |0 v1 w( C
/ C6 n" N9 v: F7 y9 x! Z1 p
" X. o% G7 J( y- P
& `9 f6 q6 K2 r* M: y3 ~, ?9 ^
, P0 D, i' A6 ]) [. { 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 % z" F9 U# B8 X
! \* t* |8 T, Y) ^% }, b % a9 A9 n8 L Q& |( s
. ] j2 l3 R8 A4 u4 }& m, B0 x
; b- v8 ]6 g" O" d3 @1 d
+ v' O9 d0 ^: e& M' E; A 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。
3 B. a$ c7 A* D7 c( e
9 G& q# j5 k- O' m+ h
- L( i) R2 W" K: `9 v* o
: B$ h. m( `, j
' P, _0 z- R& Z c9 t9 p/ n) h
# Q2 _' m7 O" D/ b& a1 E9 {& w- y
*文末附《破防了》项目技术分享视频
, c0 P/ o0 X3 Q
" _% _ x) [0 Z & l6 l9 Z; w- w. ^( L) |3 X5 h
7 @8 h2 c; Y8 r6 d5 r% y
( z% g3 ~4 Z0 D. v6 X ( o7 _2 g Z# p4 _$ v
/ {, G1 \6 R; [% p4 a
" x$ F( k& ]. v/ v) R+ i
8 c+ I" s4 K- w) ^" R
- V3 Y" f E% h+ w1 ^1 k
( B8 L4 Z1 E0 R% x/ u
4 E* Z; h/ D" N0 s9 p, x
. B: W" G! i5 V4 n4 M; V3 N# }
1 a+ A. S( Q. V! R4 A* W* n- F 7 |. I5 |1 x- ^$ C" P8 A. J) |
6 C- u* [( A% E1 Y8 M& J. M
% K" s* Q- ~: _/ n3 G
, z N8 ?2 u3 d4 d8 O$ P . a8 e+ q5 u* @3 z$ t
/ g5 o8 e/ ?8 }- r
( A# W6 K6 r+ J/ `. v
日拱一卒 功不唐捐
0 J' L+ i$ X9 r0 @, _ p
+ z1 t* W- _6 O- h: M0 I$ W) j7 ?
% E) N; l# Y7 s0 P) \4 } 5 L+ ~$ a9 Y- t- P
0 i# L2 Q( P( D- m1 y 3 P5 P/ v6 N. M* T
: J: E7 @; e3 k# H
4 B: P) f+ d4 P8 j5 q% ~6 N * Y+ D7 O$ `* o! P% ?, x2 {8 J: F
Q5 @9 ]4 I% {* W9 E0 N9 X' E8 O# N
5 e k( b- _- I/ w( x& {
0 [) a! X5 f% a
1 a2 Q, u/ l% w0 A0 ?3 _! c : M# P; q4 }2 c! I( F4 b: j
7 I) s( {! p; V# P
8 E. A& ^0 I- ]% j2 ~1 d 7 ~/ p( m' F* d) Y) `, n5 o
; {5 U: e7 G( X3 R
; Z3 u r) l7 p& ~ l
; B% j# O) H3 K- x9 P& `8 F & `1 R+ J; Z' `. }" R0 l
9 @9 u0 P% x7 r5 ?8 G8 m0 e
( l: `: i6 u* J0 D- M 因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
9 D& N* S6 d6 s3 {
9 e4 e( x4 u( x2 f4 ^7 o. U
& J; g9 E m) {1 o3 I& t ; i0 J1 M" E( H: }
d* J9 U0 E/ j( c% E
@4 f: J' D% U5 |
: P; J( b, e2 Y- V7 t$ V
& n/ a+ ^. j9 z9 r3 t, f + U- {4 i' S+ z9 T& B" z9 \
日常研究环境
/ q( K/ d7 f% I! f, Y7 }! d
) A! }: p6 F. J6 j# C3 U ' M. t5 b$ U" f5 G
3 I8 C3 J; _7 p( i% D7 n4 @8 p4 d
, L* Z. j7 ^& M4 p1 ~5 i
2 v0 s- q, _% X1 G8 u( p- G. t
市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。 ; l/ c- P3 `# b L9 u+ p
+ v# h9 |+ j* i2 X
( p3 ~- T& K$ L
: N) N/ {3 ~% H d4 Q
& M& i. c* b/ y p
; Z% e' n* _8 y) s
2 v/ N% Q" }) F" z/ |
& ?# j( d# D$ p0 b
. _/ u5 [ ~6 g1 J& N+ D% h
' ]2 e2 }9 J2 z+ C1 L
* s2 i* Y4 t" a/ u/ Y , F4 ?7 E4 n- a6 l! _7 }+ T
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
5 ~4 i. R% g6 B- V8 c
) Q, F; L$ s0 b: R' Y/ \
. B6 \$ X# a% _) l- `; c: ]
" Z4 e' C6 f: q( a5 W
% u9 K+ ^0 S0 G
% p. |7 A2 D8 w
, \3 y+ k1 v' w. V* S! l
/ O- U: `+ c: Z: z- u+ |" e) N Y
! v8 [1 W w/ m' H7 }% @' j
" {+ D( c0 \* D7 j2 x+ l8 z+ ~
/ k7 o! ~+ b% Q
1 X1 [' a3 f, E% }& o2 ?8 o8 Z 1 J9 j4 b0 K. @" l, Y) w7 y
" i5 H4 Q) d% [0 _0 _5 O- z
: V7 q7 p) { G. \3 S% c2 k
2 N, _; K9 X" H) w2 [
/ c2 H% c* u" u7 G; z. n 4 D5 V% ]! a! t# k1 j0 k$ c* n J
! k3 _5 C& y6 V3 @* n
% k" N' f, y: Y+ N6 T7 r, Y! U
. |6 C' m5 e5 U0 u! d) E3 J 破解加密硬盘 6 [2 ]% N' { `7 \$ ^- A! H0 K
- Y3 F4 a# W5 t5 X
+ v' C; M: ?! j8 G9 n' R2 t c
$ j* l" W, J2 N3 _
: @8 Q! G/ H. a% F( e4 l, S5 e7 N
8 c; d8 V$ n- H3 ^( t * ~+ f- k, R ~7 M- x7 |$ M( v
, F# w; O$ H, c9 d
; h k+ e6 x0 x" w1 I& H) g) ?) z ' N* |$ B. m1 n7 i4 P
6 w% d5 r8 e: I/ ^ 4 B6 G! H7 x0 P
4 B+ L# G2 o, r$ W6 _' E( P. v n
3 `4 S- x% m/ v- M+ @ ; @/ Z/ [2 G8 p! v# T
* w: s, w; y% w; m
& b1 @$ i! y6 s
/ C7 `. a1 M4 \3 A/ W4 }( S ( ^" K9 h# R! F3 a
: m2 ~3 r& v# K9 x( g
6 _6 O" K ` ?- ~5 B8 W' `9 V+ S
8 J( e1 n9 f8 t5 U
$ a3 B5 Q+ x/ A+ _ 1 ^ J- c+ M! t( H' V; r2 z
# u: g" I! w% q4 e. |& v0 O1 |
/ P, O3 {2 U \5 V* j, @
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。 * a9 @% w8 G$ Q3 ?5 d0 h9 V' c
. @* v$ }2 A3 E. H ' z5 _( ^, ~8 ?7 B) m+ B2 s7 Z
5 W- D2 w5 P c. ]. g2 ~; N( R
/ F4 Z' @1 Y) Q. z) g4 V) t , j. c3 \: J* R7 i& Y7 Z# B, o6 b: o, X
7 z* Z5 y2 s" u" P8 K
0 Y0 ~# \9 B+ D$ D7 p2 J
* q9 [# P% C! r- ^: S # M2 t- @/ r( k3 B
+ h4 x6 U# e @3 a( R
7 ?7 B7 Y9 h: k- [ 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
Z2 }# G# I+ m6 ~4 d
. a$ Y @1 X. t3 b" }- Y
; M# P" @* S6 }: f; `3 X
9 {0 q$ q* I, z8 y
. K5 B8 [& {: t/ \# V0 X
4 W+ O! c& Q: _5 G6 f! @' {3 Z
; e$ Q' j; I; M8 Q, L
' x* t4 b# f4 `$ d 3 z( j4 U b+ w6 |
7 B# d3 a/ z' |; H" T$ R
: q' ~! A" ]+ i* E, n3 G
( F3 ~6 c8 Q" b* G- B8 Y 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。 F6 H9 j3 j- x3 B* |1 T1 N
4 ^: Q: M2 c/ q- a+ Q5 \: H8 V, S
* ~: k3 x+ {8 W) t5 |2 w* y9 E ) g) {$ z/ @. Q) r
+ c) e2 g; ?! k! \& L Your browser does not support the video tag
' h: O1 g! a3 W% A: O. }; {3 s
7 Q+ U" W( d3 H; ?5 \) Y+ {( \1 D
7 F/ {5 ]) M2 g6 @% o
2 v7 [) M: v+ m8 _; M+ K, W9 m