9 H) x4 N2 c7 ^4 o1 g2 e6 i
8 O% a( D5 t' x" I ; ~* M6 _+ G$ S' M/ J- v
2 l e5 `, K5 }- k' ]- V [8 `# c
% r8 n+ w' k: w# q5 g! t % b% U/ M. m1 x# r: U% P
0 W6 Z! P" H: [) e& J 8 N% G; u7 b! H; t2 r7 q
( z1 l" n/ x2 T2 L
7 P3 {; v* k y" n( H) d# ~
+ i. ~# c& K' f # ^' Y" x5 ~" J8 l" a4 l3 j* R
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?/ L- t- A( s, k
( B. v0 T( l0 z
# u1 O* y4 G/ A( Y 6 ~- D8 h4 }2 E5 [2 a! r; r
. L( l; g( S- J+ W
$ I& P7 O* L( ~3 I# U, d 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
$ H0 Y& n$ I" P& Q' r ! ]- `% E. ?) H- q) O5 r
8 I" H* @+ n/ t
) e; j) H" y8 J; f7 n 8 U. m. o% _" z5 g" F
' i* O4 H& J% M: Y: L9 E 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。
/ Y& x9 D* g- _. }1 k
: P i+ L) W- T. e8 D " U0 j+ r H7 t T) w" \, f* M
& {% M1 i5 _7 T4 k% n4 H K1 w+ x- s' Y0 I( K% U
" z+ R, ~' H( K2 x; O6 i% z
*文末附《破防了》项目技术分享视频! c2 u2 F7 f2 A) B: B+ f- f- Z
6 ^/ Y; R1 C! d* z3 V
7 F, Z8 L9 k# z! K& \" \ 0 ]0 I" y2 Q8 G3 Y
! j, J& }1 u8 f' c3 e, z& @ ; F6 s, A% {$ b3 G$ \7 ?& O
, ^! r( d/ [# {
" E- d! B [) R1 g & p& j% z& `: Q( ]
" u3 x' n8 g7 \8 } ) @8 K) B$ k" I1 [ M3 t
8 @3 W/ h% P" s7 f8 ^# X$ {+ s8 p Q ( X4 i5 r- ^) t7 ^2 s B6 j
; b2 i( p3 }( W ! _: x. ]4 u5 L3 {+ V7 o3 q
" Q/ U$ X; n2 ?' l! U( ?9 z; o
) R" e" Q1 h6 _7 `& Y/ C 1 m, C& \1 a8 V5 V6 O' {, _
$ b8 [1 w, O9 W, O% n
3 h7 l: l& t0 t8 c! `) j9 F) @. C * \0 c& f+ |( v+ d; Q
日拱一卒 功不唐捐! ]# M' d) s/ h4 A& x
, `' W& P+ |5 L! A8 J3 a : d% p @& w7 f6 s% ]
0 _- s6 r2 U1 o; o9 l
7 k1 I& |) y8 C7 z
7 Z% F% z! m6 s0 x4 a! ^
' Y0 e" I! f. F9 X" E' T- s1 g! \
+ G+ p" P1 M2 ]# ?. p; n
1 \8 n7 d/ Z) ?" q4 M, v2 `( C' @4 I ) z7 t0 g2 s& S2 d [' H8 N/ Q
: Z# }6 ^9 i% {
# m! v$ m9 \% y$ _
- |% p4 S; V( j+ ^ ) }* u0 g* S G% K# c. [( ^
. H. t4 Y( c6 k% H5 N2 Y . _2 ] o- K( \
# F2 M0 K- @4 [" r
8 U7 n4 _/ G7 q4 ~' t) P* k6 i/ }' Y- ]
/ n1 F2 Z2 ~6 [( m; X 8 L! \' M4 ?* h
3 I% }( Z+ | d) p: a u8 N 0 m; |, R5 ] o( a$ ^! f @' g' g
# ~0 g3 N6 @& J! b* Z
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
: ?- W0 i3 O) K7 L * v% E9 r1 l8 G0 J. r
6 E5 r: [2 m( c# b' @8 K ; R! r1 Q- Z" G0 K1 h
0 A. N( n# J" c' O: E* }: A
' v6 R# }8 B& P6 q% P5 ^3 C
3 E& E7 U" Z" X# g4 F/ w* B
$ F/ l; u+ I3 s/ c& o. t1 `
3 d7 Z1 Z, A0 E2 `/ @ 日常研究环境' U$ |) K3 H# M
3 a! S7 T9 K4 M9 l2 X3 e' E
: E" U Z% k1 C2 R4 y* r, C
' ~6 N% S6 M8 b
( n" U+ J$ J1 e0 h6 X 5 B2 Y' ^1 T, M# R9 w
市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。
5 }0 c+ y- z$ K( J; U2 ^2 [2 I
7 }- {% }9 h. t# z/ \6 L5 p 5 J! O5 h w3 G5 T
( Y( e/ J7 K' i3 E- Y% y
# S9 A* l8 c& K3 }$ l9 p0 C
0 Z2 X" w; Q. `5 y5 h; E5 b/ [
8 y# Z Z2 g4 p; F8 a
! E3 |6 K7 e, ?5 T5 w1 p ( k1 Q; J( n2 ]6 L: r( j* C0 | s
6 Z ~1 I J+ y+ ^$ o
1 z( j: |* ^/ N
4 r( V! m2 Y- j7 O# q 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 1 e+ b, d5 D/ j( B/ T
! U; g5 O$ O! }& |' z/ J. H
6 @: t" Z" [1 F. n& j 1 e0 ], I% y- I3 v" n7 i9 O% K, ~
' m; w; S; z5 V1 H, F
. k2 X! e5 Q- t
+ G& Q3 r7 Y! n& a* {1 k
2 o; e, Q; z" x
8 z- e9 {' K2 V/ u7 m
% d9 Z8 ?) O* a) V2 c* s
" {6 d! S8 @9 V6 J! ^5 r' U
# d; h/ E- @" }+ h+ w : H+ H- b' m% [% ^+ `& R0 _/ G p
9 P: z% {6 ^8 w0 Y6 ? " |. f4 ^; s# T6 Y; C0 q8 ?
/ w+ l1 r, N$ K% \0 z
' G# ~- M. Y6 n) N6 P s - Z _2 R+ I7 l3 O8 l
/ o3 z; Y' e7 J( Q7 g - L' i' N2 K# s% Z+ |; o
$ O$ J8 W. e v' D: P 破解加密硬盘
: [. V$ E0 @3 e/ m% ^
: B4 H3 K' @" t# I * s4 F+ D$ i( H
5 ~. y# I5 A$ _ J
4 U" l5 u2 N* r8 U1 ?- [
5 Q" o% Z4 {' Z0 D: g ! Q4 W/ y* v0 u4 D' j) J* O
% ~% M. Z0 N2 L$ X: b3 c* a+ E
9 Q; O( [# j' C/ k4 z% F
0 x" k+ o- I5 `6 r8 R n3 S+ g: H% U$ Z4 _
0 p0 K. I; U3 u7 m9 e2 S: B
7 b6 v2 J' {- q
# Q6 G$ |3 ~2 X9 w0 q) \ 2 [: S/ i' N9 `# o9 b8 Q" n
. ]' H$ U0 j: l. Q, g: I' {. n& d
) a! \; p/ t; n! M
8 O/ h! k! w( _& c# v \8 b9 Y/ z $ R, W2 G; s2 p, `# k6 ?
8 B+ `) j; J1 k5 {% I" i
# t# T9 }) W t7 j7 ?6 E 6 A4 n' h& Z8 ]! y
5 J; E# d- B6 S
3 Y7 b. S$ n- a+ g 4 u" ~( G8 M' a' g1 z
, V9 g' z7 l4 U2 d# ^ 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
, N. ?( @' [4 Z0 X' o
- T6 `) e. C" G/ J- Z! n * |3 e' Y1 u. v% M6 \
4 b! Y4 g& O Q % b7 V" b6 h# \$ u& h' }
' p# T! |! R ]; @. u
) k B& d) H- w! ^8 b
! U. L, u0 v5 Z# T
2 d- H$ |! M1 d# |; m
& r- V" a- ]! f0 U+ ]$ ] , w- p9 Y, D! C; Y
* W# Y/ _8 a! T4 {7 a 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
0 P% M# M# }, r) { ' k( c( |' O4 ] M) t& }
! j0 F# {8 C: v+ J* _: p
8 p' J* D! D9 F; s
0 w- b, f0 g/ c! v& j J # t+ I. ~$ [# w# v' P; c0 _7 |
9 S8 X0 t3 R- M4 P4 { G1 ]; v
' j l- z; x, n r" z( x5 ~$ y % F7 n. R4 M2 _& _) H5 X
* |+ m2 f3 b" o: I2 t # J+ h8 S% s k
" V! Y3 g$ g @, H5 m2 K) c
在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。
5 [, b" I$ k6 V5 A0 h
# l/ ]: u5 R2 g1 T! N * D1 o! m' T1 Z# m1 G, H$ q$ R
0 l, u! V5 |! I% o & W$ R# w* y# Z7 n
+ a: Z. _1 \9 X8 J+ ]
: W# M. G H K4 d) @$ }
' F5 F9 ~2 ?. N 6 S4 }$ k1 z4 m
|