/ f5 s# H K8 r( K7 E" U
4 l8 ^ Q d( R5 ^* N# W; i F+ E 3 y4 ~" x+ ^& j; Q/ {) _. x6 v
; E4 N" z9 R* S: Q3 j8 o1 _
7 I. [3 Y* S) b5 }: \2 Z ; J/ h0 f4 b ^, l. L/ S
8 Z! |2 o! A: {
8 o6 S( G ^1 t : E9 v# ~5 _: T' f% N) E
- y6 W& q) G, a- |1 h8 x. m
( Q5 z% A6 O, T2 c: @ ; T/ g" o1 R0 e6 A
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?
( X9 z8 @1 S% N3 A( E) z* K5 H2 |
! K! x! K# \, z# N; i 0 d7 ]$ H, X, t( G' S; Q
/ V! j, K) M2 d* e
( z C% d0 H0 W# @" J. c
. O4 o, F- f( \
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
/ h, B; x" `7 K7 V: E2 G
a; ~. F2 g' e' x' U. G
+ C2 t1 h9 H) N, m% R # ^7 u( ^4 m- Q) |, B
! G/ F4 e1 E$ o7 i" r2 T. a8 o8 ?
. M% Z! | ?* M# Q2 E, S 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。 / r5 h6 N8 p6 U* K3 K5 y
" J4 G7 m* d! ~1 v. ^( g+ {2 T# p ( j% U- h, J& `
4 F4 Q, ~# y) Z7 _0 }" F/ J) h7 W
/ Y4 o2 @. k" k) w8 T4 n% h
5 P8 I! j. w1 k+ h *文末附《破防了》项目技术分享视频
( M' h4 B! w5 G# t/ B' C; l) J' R
/ |* G( p: ^+ M- |! r3 G
; N) r* v j' H% G
2 ^) \& [. m1 s
0 Q- F% y/ D. n! Q8 R9 J
* _5 G* l! b5 u/ Q2 f
# ^: ~) _& E% u& [- q% T2 C
# W. I5 W1 ~+ |$ j1 T* }
, e& F& t( Z- A4 v% ?3 t: C+ Z
, @5 G. y( Z: C- u. M( b
) Q. j2 C9 Q: C9 I# b
. `* J; T4 Y1 z8 `" [
. E% A" \0 B9 ^# g9 N
, h8 G4 ]; B7 g& G, j
" K& ^, x7 |3 f! G& `" i
% D2 W$ v9 n& q4 n& @
$ i8 l n7 p4 I0 j. Z! i! {* z9 o* Q) [
( e( t% u+ Z! q% }& _
) p: x7 N3 L3 ^$ Q4 X( q$ [
. k7 Y: L; M0 i* ?1 u) r2 b9 l5 R # a2 T1 {' d7 v/ V
日拱一卒 功不唐捐 3 W" _/ A, |& d3 T
$ [0 c i' j+ n1 r5 D: A
5 s; t8 Q4 q0 [, N + Z7 ^0 G5 P- ^! z; Z6 l$ X
' L2 ]9 Q V( z4 _/ Q- t
5 D6 G) q2 l4 Q" v7 }; Z
; x) S; I T, A) E" z& j
5 a9 Z! d* D1 C: x$ V3 w
9 W$ k- V& z% s9 X
( O5 d: ?9 f' C& @6 V& d1 b0 Q* X
9 B+ ^( z# F: } k ^3 J; s9 o3 }8 `: X
9 ?$ ]4 p, n& L: w; i + B* Y" s& d; H
( s# o2 c+ N; n2 _2 k% _1 b
) i2 }: f- m. g! S1 `% D 8 @- A# i- N5 v' X/ I
* i- }1 K) F3 y% n) ?$ A1 Y3 Z6 T6 `
# k( [- R, p& R: D8 \8 f- K7 h
" F$ M7 p4 c8 R; I1 Y; n. j
9 E7 ^( W3 J7 P. r9 K. C. U $ h; j+ C d! j1 k- E) X, e0 }
. `- j# k: q( R% G. l4 D
& e2 F7 U A: N: }7 \
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
* D* R' E6 V2 a
3 P' ?' a1 F Q$ g9 J' j0 x8 m 1 ]4 [4 T7 g9 {
8 K0 c9 ]" F- O4 _( Q7 l5 c
4 H- Q+ O6 v8 v8 a% b) C
7 N( G' c% O) }; [
" W* A+ ]; ]+ M) S' e7 h. G
6 [3 i) c& T) ^; r- r8 [
7 e M# m* [$ r3 a 日常研究环境
6 z6 M9 I, q8 n) Y
3 @1 z% }0 n& k * ~) ]) X; v7 C, i* w* g, M+ h
* A0 T; t$ g5 X4 r9 c5 i# R3 I! t0 A
! d5 S# B* h) m8 o4 K0 a1 @' c
1 b2 D% T9 U4 u( B- a$ q k4 s 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。 & i6 o4 K) p% P! |* g/ d: u' x
5 N$ f" A0 O0 R! e
6 v: E5 j4 V, Y( w ! L: c$ C" V, F. I. K
! T: H& U5 m8 m7 F" h
$ S2 B4 x9 G7 ?1 Z, M* @
) J: }. h6 F6 }9 L8 ~! k v% U
4 ]( r% J+ H Z. T9 G2 p
. D- t+ g: }, {! _* |
# Q% Y2 p. [$ n1 T
0 r! Y0 ]- d2 p1 s; ^' V* @- P
- g Q4 }1 ~/ _# g, ~* ? 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
H0 j8 \! T8 l: W$ @, b. c
/ h; W& I% t; j - U6 O- I& `. n9 {4 p
2 b1 N; u3 }% v! J# E( P6 i2 O% p2 X 4 { s( i a+ J# h. b5 O8 D
+ Z% i( F/ e+ n
1 i- e& H$ ~; M. L: q6 ?9 c
! R( X! L, v. O m& o
* y5 p3 G4 d5 r3 v: S& u* Y! |
7 n+ Q& S5 L5 I" G ; ?% N! y! ?+ q$ w& i% T; l
2 k7 ^" x4 c& k9 [4 M3 N
9 X$ ~! O- h) X Q8 ]( S# a v/ Q
4 e9 r* ^3 K4 X0 g6 r% G; N : f0 B5 e. _( F" F! w2 @7 S
1 S+ V+ u; y( _4 l5 `) r5 s$ u% w
* a" H5 Q' C4 u4 B% n d- O0 g
/ r( A. I' a& x2 y( [ r
3 ~% ^: @% g- V5 `4 Q9 }
" c- E3 R3 \ B1 a' N! m \
4 x* Z7 w+ d5 T" q" A, M 破解加密硬盘 ) h+ a3 l$ r! b( F
2 W& o, Q1 V4 ?3 G: c7 M
3 X! D; H6 F, e$ Q. Z$ d( Q) v6 p+ Y
/ M" e2 G- B7 j B, l0 @1 l7 m 4 z4 _" Q4 u4 e7 H
/ i4 B& D8 ` [8 b: C + \$ z3 L/ i( \* K
+ R$ e' N# w) d W( k
1 C" {# [; Y7 B+ R! z |/ i : C: G2 }- B' y* p* C
5 Q& l/ [7 W h) J/ Q" P ; Q* X8 K9 q: U
0 {& Q' f$ u7 u& b0 \% \* @- e% E
( P6 C' X: h5 ?; i; Z 0 _# c; C8 }- S: m* S& [1 I: w
3 y& F. ~8 t3 e6 r4 {% Q * ^8 q7 J+ ~3 N3 B/ F, k. Z' l
4 {. \4 }- v4 p$ |3 r
' N$ Q8 K% p |! u( K # P0 k! O% T( [6 K* Q, v/ p# {5 {+ n
* P" L$ s2 N; Y0 Q; U/ o
/ ?& f) ?0 Z0 b% e# U) Q
6 B$ b: t( u+ m/ j - Z' r* Q( h, D8 @6 ~% I+ [. u
; X! _! M* @) } Y2 v
W* [# ]3 K7 T J 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。 % [% r9 m% ~ Q+ s8 _% F
9 H+ o6 H8 S# r) M$ `! R2 K4 Z
1 |! ^9 L0 }+ D4 |" x
: v0 L# |- O6 u! {
0 L: I/ A6 ~1 H9 U8 s: t
2 [8 F( }' D, S3 c
$ c4 W. p& i: j0 Q* g
8 I3 u& V- \ r0 ?* b6 l
* t$ t: P9 z# x0 e( i2 Z+ R4 U% }8 v
% N0 h& Q) Q6 q1 g1 b$ s; X( R
; c- [3 ?3 b/ l6 q$ T% J 4 [. T2 a6 n% M
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。 / d, Z: b' `! M; x( f: W: L) m k: T
/ N; ^8 [2 ~$ ?+ ^- x! o
N# r+ O/ o& i& n, B; g
* ?/ h/ N, f* B
! c$ z) n& ]7 S/ P
+ {- F- N* [: o. ? i" m
+ @$ u9 }" M* K
; N; J& F3 j- p5 T2 E8 R t& ^. J6 u
; U4 {4 f# ~/ }% W! J2 U- a 8 \( C2 o* g* b/ w% w
! g7 o$ M5 z$ S3 B: m C v1 c, o2 V
% |/ j" a+ |7 [/ U$ x7 r6 J 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。 : d L0 v, b$ S, o5 w% E
% O) a- p d* ^
( t! s( c! E; u/ i L; D; l& h
; _+ M5 E& W% A
1 H3 H) a% v, |# c
Your browser does not support the video tag 4 `6 y" w! N7 P% ^
/ \6 G& ], `- B0 H: F2 w
z5 C0 Y9 B0 u2 Z* i. P 0 T1 L0 [9 D4 \- A