Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
邏輯優化的灰色面:針對網頁應用的時序攻擊 (2018臺灣資安大會: 軟體安全論壇)
Search
Yi-Feng Tzeng
March 29, 2018
Technology
1
310
邏輯優化的灰色面:針對網頁應用的時序攻擊 (2018臺灣資安大會: 軟體安全論壇)
一般人對於應用程式的撰寫邏輯與順序,只考量正確性及效能面。但是從灰色的視角切入時,時序或時間差所透露的資訊往往比我們想像中來得多。本議程將針對網頁應用上的時序攻擊,探討邏輯優化可能帶來的安全問題。
Yi-Feng Tzeng
March 29, 2018
Tweet
Share
More Decks by Yi-Feng Tzeng
See All by Yi-Feng Tzeng
重新想像:如何做技術選型決策 / Rethinking : Technical Decision
yftzeng
7
2.1k
擁抱開源:企業應如何善用開源技術,才能得其利而防其弊 - 加強版
yftzeng
0
170
Testing in Production, Deploy on Fridays
yftzeng
0
2.8k
COSCUP 2020 Day 1 - Opening Keynote
yftzeng
0
85
COSCUP 2020 Day 2 - Opening Keynote
yftzeng
0
94
Severless PHP Case : Agile Dashboard via GitLab Board API
yftzeng
0
140
Dev(Sec)Ops: Architecture for Security and Compliance
yftzeng
0
230
給資安工程師開源授權觀念
yftzeng
0
92
Progressive Deployment & NoDeploy
yftzeng
0
170
Other Decks in Technology
See All in Technology
パスキー導入の課題と ベストプラクティス、今後の展望
ritou
7
1.2k
コード品質向上で得られる効果と実践的取り組み
ham0215
2
200
Proxmox VE超入門 〜 無料で作れるご自宅仮想化プラットフォームブックマークする
devops_vtj
0
120
Amazon EKS Auto ModeでKubernetesの運用をシンプルにする
sshota0809
0
110
Amazon Q Developer 他⽣成AIと⽐較してみた
takano0131
1
120
ウェブアクセシビリティとは
lycorptech_jp
PRO
0
260
セマンティックレイヤー入門
ikkimiyazaki
8
3.2k
PostgreSQL Unconference #52 pg_tde
nori_shinoda
1
200
AI・LLM事業部のSREとタスクの自動運転
shinyorke
PRO
0
300
AIエージェント完全に理解した
segavvy
4
260
ペアプログラミングにQAが加わった!職能を超えたモブプログラミングの事例と学び
tonionagauzzi
1
140
3/26 クラウド食堂LT #2 GenU案件を通して学んだ教訓 登壇資料
ymae
1
200
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
8
700
How to Ace a Technical Interview
jacobian
276
23k
Navigating Team Friction
lara
184
15k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Six Lessons from altMBA
skipperchong
27
3.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Mobile First: as difficult as doing things right
swwweet
223
9.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
177
52k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Writing Fast Ruby
sferik
628
61k
Transcript
邏輯優化的灰色面 針對網頁應用的時序攻擊 ( Timing Attacks on Web ) Ant
[email protected]
/
[email protected]
2018-03-13
2/74 Introduction Coding Security Intellectual property Startup • • •
3/74 Thank @mathias for inspiring me
4/74 Ref: Front-End Performance The Dark Side @ ColdFront Conference
2016
5/74 Ref: Front-End Performance The Dark Side @ ColdFront Conference
2016
6/74 Ref: Front-End Performance The Dark Side @ ColdFront Conference
2016
7/74 Ref: Front-End Performance The Dark Side @ ColdFront Conference
2016 1000 µs 1000 µs 100 µs 200 µs
8/74 Ref: Front-End Performance The Dark Side @ ColdFront Conference
2016
9/74 Ref: Front-End Performance The Dark Side @ ColdFront Conference
2016 A000000 B000000 … E000000 EA00000 …
10/74 Ref: Front-End Performance The Dark Side @ ColdFront Conference
2016
11/74 Ref: Front-End Performance The Dark Side @ ColdFront Conference
2016 1000 µs 1000 µs 100 µs 200 µs
12/74 Premature optimization is the root of all evil (
過早最佳化是萬惡的根源 ) ~ Donald Knuth ~ a little bit
13/74 PHP Are PHP functions safe against timing attacks ?
14/74
15/74 DEMO #01
16/74
17/74 Those work on web ideally ?
18/74 localhost
19/74
20/74 Applicaton jitte 10-30 ms Databast jitte 10-300 ms Nttwoek
jitte 100-150 ms
21/74 Attack Shift Timing atack against sofwaet impltmtntaton
22/74 Attack Shift Timing atack against sofwaet impltmtntaton Ideal
23/74 Attack Shift Timing atack against sofwaet impltmtntaton Ideal Timing
atack against busintss logic Reality
24/74
25/74 ~2500 ms
26/74 ~1500 ms
27/74 Login Admin User 100 ms 2500 ms 1500 ms
28/74 Login Admin User 100 ms 2500 ms 1500 ms
~1000 ms
29/74 Login Admin User 100 ms 2500 ms 1500 ms
Validate user 100 ms ~1000 ms
30/74
31/74 100 ms
32/74 100 ms Email guess, brute force attack
33/74 Which one is better ?
34/74
35/74 100 ms
36/74 100 ms 100 ms
37/74 100 ms 100 ms 100 ms
38/74 100 ms 100 ms 100 ms DEMO #02
39/74 100 ms 100 ms 100 ms
40/74 Login Admin User Gender Age VIP 100 ms 2500
ms 1500 ms 1000 ms 1000 ms 1200 ms …... …... Validate user 100 ms
41/74 Welcome Ant ! ~1000 ms
42/74 ~500 ms
43/74 old
44/74 ~30 ms Ref: Front-End Performance The Dark Side @
ColdFront Conference 2016 (p52)
45/74 Ref: Front-End Performance The Dark Side @ ColdFront Conference
2016 (p54) ~15 ms
46/74 Ref: Front-End Performance The Dark Side @ ColdFront Conference
2016 (p50)
47/74 Login Admin User Gender Age VIP 100 ms 2500
ms 1500 ms 1000 ms 1000 ms 1200 ms …... …... Validate user 100 ms
48/74 404 Page not found ~200 ms
49/74 404 Page not found ~80 ms
50/74
51/74 Login Admin User Gender Age VIP 100 ms 2500
ms 1500 ms 1000 ms 1000 ms 1200 ms …... …... Validate user 100 ms 302 / 404 80 ms 1200 ms
52/74
53/74
54/74
55/74
56/74
57/74
58/74 DEMO Online
59/74 Applicaton jitte 10-30 ms Databast jitte 10-300 ms Nttwoek
jitte 100-150 ms
60/74 LAN Router IoT device NAS server / etc. POS
/ Console / etc.
61/74 Login Admin User Gender Age VIP 100 ms 2500
ms 1500 ms 1000 ms 1000 ms 1200 ms …... …... Validate user 100 ms 302 / 404 80 ms 1200 ms
62/74 SuperUser Login Admin User Gender Age VIP 100 ms
100 ms 2500 ms 1500 ms 1000 ms 1000 ms 1200 ms Backdoor …... …... 400 ms Validate user 100 ms 302 / 404 80 ms 1200 ms
63/74
64/74 DEMO #03
65/74 A000000 B000000 … E000000 EA00000 …
66/74 最佳化就像迴旋鏢,何時不小心回來打到你,可能也不知道 ~ Ant ~
67/74 Attack Modes Post-auth Administrator Permissions Hidden page* Pre-auth Hidden
page* Validate user Backdoor Active attacks Passive attacks
68/74 Passive attacks
69/74 Active attacks
70/74 Attack Modes Post-auth Administrator Permissions Hidden page* Pre-auth Hidden
page* Validate user Backdoor Active attacks Passive attacks
71/74 password hash function ?
72/74 password hash function ? DEMO #04
73/74 安全就像洋蔥,一片一片地剝開,總有一片會讓人流淚 ~ Ant ~
74/74
[email protected]
/
[email protected]
https://www.facebook.com/yftzeng.tw https://twitter.com/yftzeng