) E% n w& \2 K7 k, }: q& k
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。: _& e: N- d1 o. I
& x# E; ^3 h2 _
( M9 {; O& _3 `: q3 S# y7 S ' d+ m; I# n) T8 y2 J" C) w
8 {, N- c" ?: J( C6 U* Y* c6 h) e) i
, m. j4 Q- Y2 v0 `& C
*文末附《破防了》项目技术分享视频7 s; W/ j! h3 t' k
+ I4 t1 `6 [, ]' ^: f) Y1 {8 y0 {8 I) r/ [ h. P) u1 Y
/ H8 b$ g' s& q; ^9 ]5 [& B4 j) o, C4 _. K+ s4 g
: q% A3 A( l# _( I( a, t
5 B4 M, }: S/ R$ y" r
6 V; D+ C" O5 p; m1 E
) A+ y+ {$ i* X: b) m+ ~
4 }8 {1 L) m D4 X! r q+ {
8 V& x+ L. O- r# z0 |, f4 w
* q- [# J& v+ U/ Z; u" s3 R
+ s; A- p- r+ B. M/ i* A$ K& T: g& B' W: t
# ?0 b; Z! ^5 S3 Q 6 P+ N- u6 n; i N9 J
7 W9 ?9 R6 n1 Q6 q1 f" N
) S8 `& M6 ^' G/ M% h/ A5 D
% U, [1 P, v2 P6 R7 {
. b: ^/ F8 I8 u) j& j/ d% O
1 u; R% T2 E3 n0 m' f+ b日拱一卒 功不唐捐, G3 p. `' c) E1 A" n3 N6 O) q: X
5 B+ L0 O F5 `% `/ T) Z
- _3 H/ N5 D2 B# _5 d1 p& o4 m$ d d, _% Y4 q4 m9 T8 n4 n7 `* E6 h* u) k9 y C$ e7 q
/ B7 {* { {4 n# u9 H* @9 E1 i. T; h! q+ r8 a: _* Y" p6 h, k3 k) Y5 L6 f2 i: G ) b( D; z7 I, }9 o' B# e" B& T% i2 m% [1 s0 E0 ^& s6 `4 K0 l
, E; Q6 t4 v$ n' O
4 ?' f! f3 n$ I9 G+ k- V a6 p
/ i3 }, z; z& Z4 w) f
& D" {" ]: X: N$ t
$ ?# r. h: w+ J( k; q' L E' h/ o$ p. f! b4 d
6 a& e( P7 F2 M
8 F: u9 k2 Z' c
* U6 C+ I% x/ }3 | * m6 A/ @; W7 `4 c
2 i0 n8 d M( K1 z3 c" T
; }" l% [$ X1 p$ S; M n因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。8 A t' _0 l& [) `4 l
. r' X6 i/ s1 h% O6 k* w" L0 c
) q8 i4 B; O2 o 8 K, u" _4 \( H! I7 W. L$ y
* ?* T8 t& j9 ]! v/ ^( u+ ~4 ^* p% m# g5 E* P: f* d8 O! o4 b! _
( h' k) N' e6 T! h) z
+ d6 w& Q" F( \9 }4 r a) F' S+ H7 X
日常研究环境# [; g5 b; _" S6 s, Z9 T6 ?' J/ |' Z* r4 w
$ A h6 Y! y: ?3 m# |! q5 \* A
( q: ^9 m" R; M( H- n, ~# t
: ]! j' _8 ]" A) J
7 o* Z. I( G) x; _/ A d1 h; u$ H1 b
市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。" c/ J+ h3 B1 V, Y
- a P; j- a# b: l0 o$ E+ L: y9 x; M# x
/ _; d- g% R( w9 U
, T* V, m6 t2 a3 J9 r3 x# L
2 X) B+ ~2 H$ s; a. I2 |- F7 G
6 m1 H( O' I3 h$ A2 L: W7 L
& r$ |" y% S5 {" u0 Y3 f
- c% r3 P3 I( B) r" D
" E" U2 l3 }! V1 q7 N8 _ : C# e( O& S! j" r8 b
8 E( p, u, h* `" I! \ a; }: m
+ o$ u, b& D: q发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 7 z: q% @6 k" G
' I: P) b' u8 T. Y7 N; t y3 g- X
6 X, B- }6 x$ X5 D
. V/ D& |- X2 z g* Y