8 V" t5 R8 }! ]3 U4 O. Z0 M. i
8 }4 L3 c `7 a+ U 0 |2 c) X# p _/ }7 G: B+ k
+ C% S0 {) Z$ f3 L7 h# y# Y
$ h. F7 m7 J: u! y0 V* G
: k" }" d8 S% [
% |3 w8 l% B9 [4 R, S. C
' ]6 G [8 x" N) F 5 o$ N& D$ G" a+ a' l. [
5 m3 M9 u( F4 ], T6 K2 t1 W* ^7 C \" u' t) {+ e$ S& p8 X
1 N$ c1 M2 S# h% _7 J 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?
) j: M) O" n4 b$ o4 x- D7 |7 h
; Q6 `6 ~' H) @3 _6 |
4 R+ ^' N* F4 ^2 v
4 X I$ J# h' V1 J; n- C7 i
, D9 n7 D# w/ ^! c* Q" H
" d3 |7 h1 ^3 G2 K% H 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
- A9 C, y$ D5 e8 {: o6 }* r
, `) K, I$ D0 [9 m
4 P; m0 W. ^4 P% T! A( [2 i& @
* Y. V+ r. n `/ i+ R/ x
b& |2 e" g, c- l0 A+ O
. t9 S* C6 `; x9 L i( T 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。
% I$ |% _6 r7 c
& K/ V/ P2 O8 m# F5 B
8 p* U9 m1 M7 J) P. p! B ; V. d- A5 a) V, W' N+ Q
! G8 c* ^- q. h8 q
& D& D9 p2 l% t+ \ *文末附《破防了》项目技术分享视频
( J% i% i& j S8 w3 a
0 w1 f2 ?; |6 Y5 a7 V7 ^
7 K7 a- p6 t8 }' l
) `# r. x) |- ?5 ^5 q: z 5 ?/ r2 k1 S( ^1 B, v5 @. ?) f$ H9 Y
2 F# F) b' n" a9 ^1 J7 O( q
. e5 @3 W4 Q' F9 R+ B
) k; P3 I+ I- ]5 j3 f- ^6 Z
/ p3 @6 T' W* r# H' ^) b ; a9 h/ s d$ i- J O6 f
7 e6 G4 r: t$ A7 p
4 B- t1 T5 Y% P
& z; @5 w, Q% g7 d- O
{5 O8 g% T7 k! |
* J( B' ?/ J8 ~ ) T$ S9 c8 z) |0 q1 F+ Q/ S0 ?& Q
5 i* f. S! `+ t- H
- L- f" K+ H+ A$ }5 g- o % K5 r, k% ]; i7 E! \. k
& n$ b, d- t- l# ~7 b
5 a& }5 H5 w3 h: X+ N) s
日拱一卒 功不唐捐
: Z `7 T& K( S+ L% C! @
{. |; p( I' U$ c( D
9 Q4 z, s1 G. g) m- G$ M5 a
' P7 u; ]8 ^ y- I1 R) M1 u* d9 s4 l8 g m, K* H' B8 Y
7 d4 v7 g+ M+ o* r/ c2 B0 w- Y' _
( p5 b8 _2 o4 X/ y
- J+ w- \+ ~6 A : Z' u# s! I y9 q, w9 X6 y0 v
- I, E- a$ \' e5 {6 B ) `3 }: Z- k6 _6 {
9 k; t* Q9 D: g8 | 7 [: E* }/ j- Z' _* J$ n% P$ B* J
: _$ H) u7 \% D& N 2 L' {, j# C% g+ l- d
$ L Q- K6 z0 x! g! J$ r $ k9 e0 `8 F, X
( i# J+ G3 @; A2 j
- d0 k' v2 H9 M1 \
! z( Q$ w% R) L, Z* y. H1 R 4 v S3 w. R6 K4 |4 q2 F
; c' g: E* o8 Z L! s& ^2 t3 m
& E, N+ k! h5 d: B 因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
& F7 w1 J, C& o- l) n! J, E& _
8 W% W7 m, \( T" ~, I& \* S' v
3 d w' O; H/ ]: [& ~" S- L9 a
- m1 n' j6 G9 d! [4 A
) c1 o5 M! @+ ^! { a; ~
" Q! x6 Z+ [+ k
' f% Q% d( c, o9 `. J1 j! n
2 q% ]/ \* o/ ~- J2 d7 _! _
; p7 M7 Y* I: R" s
日常研究环境 : X4 w5 x3 L5 {8 i7 L9 K" G1 u
7 x" U0 \6 a; {8 M
" r. V* J' i# o' f
8 }5 S# M) D+ T4 G9 @
9 O1 m; N; @0 _5 l2 U
g' ?4 p# J( D 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。
( ~* }( s# b1 [/ T
. w2 b0 o3 I4 }. F9 S' r6 @0 ~$ s
& y. m) R# q7 N% Y 8 _( c0 V( f! W. I
- h% t( V# d& O' L% \
2 C# a1 S; N( v5 s1 j( j$ q: I# ~8 V
6 A4 L3 t0 F) w \( X& z
/ R8 a. V! ?- J% }
, p1 Z) F3 J: _7 A2 t w% M " p! s; W. V+ @! _3 l" q0 `" P
. {+ ]( X2 v& P# g) z6 y4 I' t p( U! R2 H. K5 j7 t
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 0 h, S. B- ]0 G7 H6 N8 Z& Y
9 T9 S2 Z6 R5 p7 U' r { V5 H# [, X4 g6 z: P! g: j: c
% |: ~5 E! R: _0 C
3 h, V2 k; Q, ?: ^6 M/ {. i, e
& V% n9 g( k5 v2 z2 D* C
8 e' D$ b ^; h% v
8 S! ~( ] s& _$ f8 k9 a9 j% ?1 |
9 V& _$ I Y6 Y) P1 ~9 p7 Z
2 k5 b( c5 W) x9 z ; C7 G1 N# ~' @- X! I
1 i. i; v* ~: E; C. B# n
; Y+ n2 ?7 T9 b: S, I9 c! X' Y
+ N- Z2 n- r2 }' c
9 n& S" \# K# J7 E a B9 H
; J/ M5 |4 @. w; S- c/ K
% G2 e ~ U, |; s# C, r( a 8 g. P( H* _% |) }8 [
. z7 _, o4 B4 ?' q: Z3 J
L, F. }9 s9 Z: ~$ P- a# A
1 k8 j" c, r: `$ y/ c
破解加密硬盘 , b+ h8 D$ w7 O' L
8 o3 f: x- L' X- n( ?9 R; I. N
( M' t# a' h& Y+ |2 W
. x' y1 R/ g" a# n2 V' z
, I# ]6 B2 Q3 Y; [; J* k
0 I& p& ?/ G+ N/ X2 I' w- U2 J# a$ d 8 i1 t n! ~& L5 j9 m) ]) N
! x% U `3 M; v0 Q+ \+ d5 L
- Q( z: U7 x" X' R5 A
2 R& ?2 n% ~" `$ k
3 K* C. h* [' @
g1 r0 D7 f- R$ H9 a! \7 J- `. E2 T
8 M: \; ~" i! R- v. A + a4 o% A& W4 W8 V! p
1 F+ H3 k4 i. I; w0 j/ i6 f% [- ]
9 R' `) J) i$ b" u
) }' L. g+ a& d1 E
4 y- B9 |$ D/ s( @3 k6 T o
. c1 R; q, ^1 C( [) M# T N; |+ q . C& F! p9 K7 P8 m+ @1 T- Z' Y
/ p0 s N% n8 X& \
- |: ]* K- G9 t0 Q4 k( y
" V9 D3 T5 }, x8 [. ]4 [
/ l% [4 P; p2 `: Z: P' B
( R6 b7 f9 q& i" w7 }4 l 5 y9 t! L$ |6 O
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
$ r, x1 Q% B4 ?& y5 @# _
2 h$ n% m% c+ y/ e6 S9 e& Q J8 _0 S
' E) s2 }0 h; p' O, H( _0 h; e 1 r5 c( L+ ~/ _( k, I( P
% |3 g* z( s+ k" {+ s% |& Y
9 f0 B' ?2 Z1 s! V
/ N3 Y' I- I! l* ^) z; W) l7 K
U: D5 D: f H& J$ x
, q1 J# w0 M1 W
0 ?2 g R8 f8 U+ d
& Y2 K' f$ b* k2 H, q
( H' `) N+ S: ^. r6 w* E
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。 2 a) G7 X l. j* @# d k
4 C5 ]6 b+ i0 u- {; j) y ; v5 `- D+ M: r2 @# T
, {/ q( n+ r# R2 W' f6 Z, i' \
' @% T- @, ]& @* y" _
" \. r- s0 |6 c5 J
/ J9 T1 G8 [+ b$ G) z1 G
0 X; K/ G7 g& Z9 b% K1 e* L & B$ z" ]- J: H% _6 |9 O& x
J$ q: l( ?) T6 H* U& ]8 g! I
0 f: N: h8 c+ e3 W7 y9 X
9 G6 `( V3 K, t 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。
4 |6 ~2 y8 k8 b) y
8 G9 |2 [ |) x" f c' t 5 q# {% E$ ~0 w, Q# f1 ?3 i) K
) ^$ ~- t* I/ f4 P! N
: Q% G. t4 @; z" i7 S; I9 x0 t# L
Your browser does not support the video tag
% i/ N+ ~; k& Z5 M
% m5 B6 w* o/ ^0 F6 k. O; Z ) X5 L) R" n- }; N
) c& d& Y8 @8 K. w! h8 |