8 w4 C' H1 N/ O* c2 e3 N
/ {3 T; _ a0 e# l2 B
) m3 A4 g7 ^7 f0 O+ @. a
% @9 m# ?. R, G8 y. L) ]
/ |' Z1 i: C4 {$ ^
- _* q \1 W5 M
$ A5 ^3 v0 R5 l3 `( j% n 9 `9 u; @, I! U& K* {, Z
1 U: l2 k; y: b! P; u, F
- L5 F4 E4 W/ X6 p7 h; G
4 s# S/ j/ j2 t3 X2 ~9 x
& S( v, G2 g( g( l, P0 r& Y' u 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?
2 B" m) e! r8 `/ {7 {4 Y # o* d1 T! C0 l0 x8 Z& ?5 ]
( R' k, `* `, H. H8 w" K
1 w* S8 k, t9 E: Z
S2 z0 l. G! p2 g3 c/ P
; c: Y6 v. @0 S) f6 I n4 `' e1 z. Q 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 7 B; a) p3 S6 y% m9 R, ^
5 ^8 e7 k( [' S8 o
) r' C% {9 @" e4 G8 O 5 ]6 M" t8 b! Q% a2 Q+ C2 h
! P0 Q$ V, ^9 z0 m
5 M' b4 P1 u# M3 w% r1 v$ i 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。- W3 G# r7 @" t! P6 Y# d; w" M. Y( M
! w8 a1 ~' x0 d
! h; x) [/ q% ^3 \9 E2 @: l! L4 j
9 z t+ K* _! e2 R: G. z' a' b
$ m: N/ G! O1 d- h2 N: S1 W 1 m0 _ m2 v' h
*文末附《破防了》项目技术分享视频
. g) ?3 w+ x2 U1 ?' i6 }: r r ' E- C9 J: c7 ]$ l7 Z
/ J$ u& x* J. C
1 k& o: `6 O- I; ?1 B
2 B) N1 Y3 g& s) a8 J
( P6 P7 U+ Z7 ~- ^
- n: m4 f; U% \& \0 B" Q' W! s : ]! c3 C& r9 M7 b% l
6 b+ Q, }7 X6 C9 u/ q5 z4 C* a
5 W! W+ r8 c- b6 V3 O$ J
3 ~% F% ]2 u( C+ e
$ n0 X, Q! o, r# p: P6 I% G # @( R" m+ S* j7 K6 h. `8 g
# {; c8 x7 o2 c) y' D9 r" Y
4 Z$ ]" W+ \* x. c" B t- o * t; l% v0 M; D9 e% F) J
9 v6 B+ c- x% v4 u, F+ E9 C
" _& l+ c& b Q" z" |7 @( o
9 g6 W* t% W* W* ?
; Q- y9 i5 r7 u" E5 d/ E: u" q
: }0 w( P# Z: c* Q7 `2 k 日拱一卒 功不唐捐9 w0 A2 P0 R1 [% \7 G) `
# V' U+ i' o/ \: m7 e+ L9 X9 V
0 [; B0 i6 a. B6 e& j ( C1 k! I! ~( i+ R
: k+ z) ?) o' f+ @6 C1 \4 O2 {) d
$ o) G; w" P8 w3 n/ w# o, x / u5 g5 X3 p* E j
# X9 T7 p k* E$ ^/ M6 j
; Q9 b6 U3 I9 t7 g0 o
) I! n2 }8 N# D
- P% I7 M5 D9 X" H . u6 N v- c; F
7 |! r$ B! l+ W8 r4 t6 i
/ g5 x% u! v, ^1 S$ h. J& b& x8 e 6 g+ e7 ^3 S% [3 z! w
- @) t/ H4 G/ V4 r
* w; G2 W. Q9 D5 e! F; | . Q/ [9 [8 G5 l
) ]0 l1 f0 M9 X7 V9 V' i/ k, O" N" N+ K8 x
R8 g a: Q) t6 t5 `5 f2 S6 m; ~/ z+ V
. Z' c, l, j) x/ W7 G% r/ g" F
- K: m$ W3 s2 Q * v) {/ X# H2 t+ U( G
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。* e1 k* i# {* I/ O S
0 y+ e$ G, I( \ . ~+ N! m9 v8 [7 r6 U) i; o! ^ U; d
& F' z# w( A) c, B3 G: j
7 M! L5 T, d* U9 q. t
# `1 W9 S# m `) _7 T0 K. u
" |3 t' c5 X2 X3 y h$ w
) h" J$ j8 }+ j* \
' i: A0 A" L0 z) ?# H. | 日常研究环境2 c: w' N( ?0 X9 A, x- T
% s5 U2 H% ~& J% A+ I, J0 C
& D* K" ~# F E/ d" }0 T9 N5 I/ B
2 O7 A1 R# y3 b7 S% I! C 5 D! _8 {) Q" _* {; p1 C- \
& R2 h/ r* o8 O2 R6 _ 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。" Q6 O8 q8 e2 v" n& i
0 y! T3 H9 S# T4 w
; e* ^( p' _& j( c& n0 T - ~4 V: Z! g% Y* J! M- t' c4 l9 s% M
. m; S. s& U: Q! l( W- ?
. r5 i: I! U7 ^" T
I+ f, d1 _8 Q8 ^0 f4 a
3 T1 k' j( s, R+ t6 O . T7 u% y, A: @1 E( P' b
9 o- l. U. A5 M5 S+ f# i5 }
, O Q7 X# B: w 6 ^. k2 y ]. F
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
* K1 W% R" e) D$ p 9 r/ ~+ v2 x1 L; i3 z( H6 x- u0 h
B( F) S+ a( F1 r9 P- c
- p. }& r: I; H/ ?1 ~
$ N+ t) }3 o" t2 {
# `/ s6 }# s3 H8 i& f, s / @1 c c8 w0 o1 o
8 M0 a# c$ d. K/ q: r: Q
, ~3 D$ m6 D5 I- F4 V
3 r, A: X) i9 C, Q+ {# n, {; I- a9 H
( n. P. x: }# `( p7 d9 d( ^
; z. o0 E# G1 `, d& |6 Q/ q4 d$ w
! L. z3 W! i& Q5 |2 q9 P5 Z ~3 U5 @2 U6 \' h, }0 V
+ a( X4 J9 z# P5 y: s
; _5 j6 W" a. c" G% M9 r
- H, b- x: c. B8 T( a
: p6 q# ?2 j% q& O
/ j6 N' @9 b8 z0 U5 B
* [4 B# \) E& t! v
9 D6 ~' E2 @" b* b7 H 破解加密硬盘' m5 f3 \2 I# t. ^, ~/ e) f+ |
* G+ D: s& Q3 G- x1 ]& a
9 D, B% a/ o0 V4 S& ~
7 @: }0 P/ T, A2 V* [
& z8 l/ s/ m$ ~% n
" [' S. F5 A3 a7 I5 B8 ~
|1 Z' V9 G1 L. I( ~5 Z3 | & ]- {$ `% ~2 ~( V' [/ q' C; L
/ m& C! F% m/ `$ M3 j4 M
! @0 g/ S$ \8 S ) Q. p9 c/ R+ K8 v+ r
8 P( e# x5 t# K# L
& S8 l0 {, \) W$ R( F; r) m& Q
: [' ]- [/ `% m8 y% v0 {( H) @
+ ~" y3 S. K8 F% T1 ~) D" o% K! N% q/ |
3 v) k) c0 {% c' k) o! W _- M
$ Q3 q$ F+ g7 t" a , }8 E% G" C: E2 W
0 b3 ~0 r+ z- \# F( V$ O & r0 V1 W( O; w7 v
) K1 N& D I9 d
: U2 I o7 u) C! G 3 v% l! J% h5 A( V; A
# R6 z$ }4 o- C+ u ' u" ~) O$ O: `; U' ~+ i
0 n: E5 [8 @! N" u' s+ l) i0 b 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
, g8 T5 a) z* X* S% V. x
+ f; h; _5 |) t' h 1 S& w/ z! l9 E" q
! l a% B$ r1 [2 A1 d
+ S( ?3 {% w2 W, h: u# B
( d& c: F2 L: z( |% M7 q
* ?( W E! j. \' ?6 x. ], n' d : l# h1 l- }1 ^ R* B* H$ p" o z
* t! t! R: y1 v. f5 Z
0 J" f' V) J1 T# ` # P" Y3 [$ e: A, d, C
2 L- h# X7 z; h* @ e' } 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。9 S% a( |0 ~9 i
/ J+ |, l, r9 h
/ U- c+ N: o8 }5 S% A7 {
7 M" W. l& f* c6 ^* Q+ n% K
) W' T8 P; I9 E - J) P# i& U5 w, A8 j# _& ?
. N8 q8 R: q2 x+ s+ u5 _
' R' p9 C: H U# C! d, e8 x# U
( o" j0 Z$ S" M4 m4 { 4 [. m, `- C. }
' N$ j3 @- w ?; B+ C. v& c " v, S2 J- c5 {& n
在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。& t9 s! s4 X! f& \- c- E# [
, o+ i- H5 x/ |4 I
x: N4 N* q0 l* ~- @! y; {! S
8 d( f: g# B- r# H
8 f' o1 X; \/ H2 ]9 [
2 T5 ]2 r6 U# A7 t . g! p- G) {: y& r8 C0 C4 |
/ t* R6 r( T3 p' Q: |' V$ {
* o2 t4 M% o4 b+ [* ` |