" B l+ e$ f% z: D
) e, q+ u1 _! m R2 ?, c9 N; M ! h% u. D$ N; ]) V0 X& w( ^
' D- f+ D( d5 w
' Q8 E8 H4 n. U3 U 0 l$ [+ S* w) O
8 o3 s2 H' C6 w
; Y' y" s+ L& E/ F/ R! @7 _
7 y1 Y# Q, @5 Z4 f
/ m- k( {3 Y9 t& J
+ y3 _+ N- g2 U" U- G3 A4 w
1 G/ m, O+ R1 _9 L
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?
4 y) c) Q: m2 {& O
+ }' ^+ U; t$ z3 s% Z- p
% Q' I$ [0 M7 d1 t" v- ]- ~ v
% J* J) F3 f/ R0 j
- @1 B9 g$ f+ H$ S0 a, X / w7 L2 R4 x' ^, @
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 " r: A! g! S6 V
1 L2 c" u/ E; a$ n! f
8 I2 i9 c3 i5 ~9 b; d " U' O2 i. k" B U' r8 J
: N0 [; H7 ~* [& E* j3 C S
& Y& p. j# D: \; W1 d& I4 `9 Y) t 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。 $ J6 R5 L# P% f/ a& Z: ^' Q
, A' u5 \- Y" `3 O) F1 U
) ~% L6 W! F ^0 L
7 _5 V4 J) E! ^7 U3 T( R
. f' l% @& j& B; A/ P, Z- F% s
/ I" B. @' V' U# Q4 W5 Y
*文末附《破防了》项目技术分享视频
+ n$ n O" v! G6 d# R3 m
: Q L3 G5 e, C% ~5 p/ Z! t/ l+ X& B6 q
; s. F8 b( h! b( P$ c8 Z, S% ?& G 4 |% l1 c! ~% ^+ E8 ?
# S9 i8 g7 y0 M: g
* {8 O5 @- D! o ' C; f6 N. I% b: n4 \
`( Q. l2 P, K0 \- e+ w1 G ) c6 y+ I1 T# F! o6 G4 L
9 c( ]1 T& K7 w! N1 p) U0 x
7 x+ C7 B4 Z \) P% N% `: C
) ^3 _6 M4 z+ Q8 X* S+ G8 p- S
1 A& C' s* B* R# E4 h
$ G0 L! h+ R9 o9 ?; | n9 w
7 X$ p! [& l$ j6 R) c # @0 F4 e$ G3 T8 p9 }, }
+ P4 W8 _! H$ g; G% H( }8 |
}3 f. S2 T T$ U' {
' b( T( u; f" t% n8 P: E" F, _2 F
* ?% T; L$ g- K9 T% z9 v0 I ( G8 q1 e' g$ c3 Z/ n9 u0 F/ I+ K
日拱一卒 功不唐捐
% {$ y. ~" R* [
! t6 A$ H% N w: `/ n' W5 O
/ O& ?. |8 [3 ? Z; W 9 D' _1 v+ U; N
# F( {+ S$ m" P, L
7 `, I U3 Z" B: B+ n5 X T; h
+ Z2 S! W. d8 E, {- O 2 W% y4 K' [/ ]& [/ }2 M2 c
6 A6 U2 R% ^; v! I 7 l; e% l6 O$ J) n9 o2 f0 Y
* d1 d% N2 @0 m$ [9 T
4 `, R. W4 ?3 }8 w6 k
7 ^& h7 c# a, A' A, |6 Q2 |' ^+ u 3 S, O4 c0 R. o0 y5 n; H. F
0 A+ [7 z" c" a1 s3 h , E9 k0 P* o; A2 l7 R
( H, [' H& d5 |! g! b
4 Y! z! f) m$ i0 K$ k
9 B6 V' n i, E1 I) \: E ; N: U" v8 |, L& e
; `$ x. v0 n7 Q) l
- p* F/ \$ @5 C& N' r
1 x8 Y" D5 y9 G7 L3 K 因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
% Z, o. D: J4 S: v; E8 |& d1 a& F$ [9 ^
* @6 _+ [2 h5 K
" m2 A) C7 V. N' ?1 N3 L 1 S) q* h/ j6 d- e
( g) ]& R; R% X) G
; u% F; r q' }. t+ f$ n5 G& S
6 k4 ^* ^6 W) y' k8 ]
3 |0 X- a5 m. q& B6 S' ]5 f
; i. ]6 |( s% o 日常研究环境
) p0 X6 D2 p8 c* F $ S( o% }+ @' \% Z6 ^
. R, a" `4 W$ ~! c+ P9 h 1 K9 L2 c: _. C4 B
% A( D' ^5 |3 C2 Y% V
; o9 U9 s' `) b G4 b9 C! j 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。 9 F$ I0 C9 V# n: ^7 w( g2 b1 x
$ F9 U: o% [& D% v8 x6 a% C " O$ S3 G7 E- P' p# y& a
' c* A* W3 c$ f3 ]3 L
m& X9 t# S* N) S6 E' u* P ) h9 z; B2 I2 i* M! M
6 J" q& m0 w) p! _" T
/ s# i% P7 e1 X) n& K) m4 M : d6 C% L/ R& A
2 `( v7 |" E, |2 y: ?
$ d' ~1 P' w; R% x
8 b# Q/ |) O2 U8 H) @ 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 ! W( v0 J7 y& ]0 x( h
- H7 \5 _" Y/ x" S5 }) y% E$ Y+ u/ f
" B! J, S, f8 A! w
6 w3 @, i$ X g0 k
0 Z0 [" W! c. F ) T# O. M4 A$ i A2 V5 V6 f
! L( a V3 x; c, L. _. | $ U! y3 N3 p. Q1 w% p: A$ N1 m9 D2 o' D
. D5 n) [* Z9 I2 u% f& b
, c/ B7 D" i% v
) @; O, q, \8 \$ a
) e: Z) r. I5 s5 l! W- d
/ `* }6 X: w/ f5 F 8 \$ |2 Q" p% B5 l) W- V
! R6 O% c% g6 P6 T
) n( L1 v3 E; [8 r( I& q. ?
# H: {) T) X' B0 l
, I0 [1 Q* Q" o6 E4 J
7 z5 [; v: s* E+ d4 G + C, b+ S* s1 ^5 q/ L! K; M9 @) `
) N2 f" _, d z( ? 破解加密硬盘
* X* ^% C% t; T, J) N
0 [" |) r6 m/ y& [1 Y1 a- b+ U
9 V7 |5 n- x. O- t' ^
: x$ L e$ p) r! H
; ]) n- \) g; H0 P/ V7 E6 G
. G; Z7 E. C, H3 g2 D) {7 w, x 6 Y2 Q, S7 @( J1 R; p
, U p% d8 J- b# c5 b% u; F; y
! c+ d3 A9 v# j& n
' U3 ~) H5 Y7 ?3 B/ _
" |6 Z2 G5 S a* L
5 ?* u0 g8 D- _6 e/ H
/ H) A& y0 u+ i* b \- C; U
+ w' s# N* r0 W, h& b- @2 W D/ ^6 D- t W" ~
+ i: h+ u! F6 t0 L s# I
' n( ]. R0 K4 Y
$ I0 Y9 Y7 W1 _$ p) I+ u& r
8 R; \& I$ ]+ r5 L4 _8 c7 x
% k+ R/ v1 Z- R! S: I
1 Y. i8 c- \0 A
3 m8 @2 ~4 b9 w, K3 M& I
- S3 Q& h! d; B+ g
6 g& n" X$ A/ g/ `% Z9 a
3 S% g6 C4 z G
& N: t( X$ `" W: R! {2 m 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
3 @) K2 j/ e+ [- M- \# p5 k
+ e9 k z( X i6 B . o5 [4 q- o; C" d. @. N
! p ~! H* S2 u) Y& h/ |
" ?* l/ B' l- g! d4 X& ^4 f
' `% d% P% c' y* p
; l( P8 g8 g, n p4 y$ |9 S9 Y
6 g7 H) {3 m9 c
: ?9 p' R$ F M- H. R$ n! f0 w
5 \+ |; l/ d9 |/ m% `. X0 z/ Q
! r8 `4 s( n$ A* o
3 h7 P+ B: s% G& D/ o! ]1 f' N 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
( m2 v5 u. c( W3 P
$ j! S" }" n( j$ i& Q
: W) A. d& Z6 G9 c: @5 ~# t & j6 ^. Q v/ p5 b
) u+ ~: W- r! ]0 c; Y- S
! Y+ s/ _+ T+ K* A! v' R
- J y! {2 z$ t+ K( t0 C$ i
9 a1 w0 `# D1 I9 y" | . u! f {8 q- j" D9 U7 }
% h h8 e, D7 X# R* {, t$ S' A: Z
) ]! w' ? J; [5 N* h
8 C+ b7 E; N2 R [" \2 `- ]' |7 J
在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。 1 Y' p, b7 y+ H) G6 [9 o z
( @ n/ Y& W( y- n2 C$ Z
- W& O0 A! @+ P0 c, h
+ q3 g) J% w8 e3 c0 A% v# m
4 `- @- ^, Z6 t4 k" G7 X% V# I! ]
Your browser does not support the video tag
; G9 o0 Z( q( p
2 r1 @9 b* b) w9 u7 Y + l9 V5 N6 i( W# f* }) P8 G
: ~& m# _/ K" F9 n! T