CSA_Grid
CSA_Grid
Sunhong Hwang(@fkillrra)
Seungmin Yoon(@sunytony)
TaiSic Yun(@t4131c)
Taiho Kim(@kimtaiho5412)
Application Application
(.NET Client) (C++ Client)
Application
Application
(Node.js Client)
(Java Client)
Data Grid
Node 1
• Data Grid
• Sharing and managing large amounts of distributed data
• Access Grid
• A collection of resources and technologies that enables large format audio and video based
collaboration between groups of people in different locations
05. Mutation
✓ Mutating received data by hooking recv()
✓ Mutating data to send by hooking WSASend()/Send()
∙
∙
∙
∙
∙
∙
pe-sieve
Memory dump
Bypass Anti-Debugging
Themida Unpacking script
Process Managing
Socket connections
Grid Telecommunications
Socket connections
Managing Update
Main Main
Server Server
Client Client
Client Client
Client
Client
Main
Server
Main
Server
Client
Socket connections
Managing Update
Attack Application
Main Server Send video data to Web Browser
Browser/Application
With Main Server
Attack
Init. Data
Manager.exe Updater.exe Streamer.exe Req. Data Streamer.exe
Video Data
Attack
Comparison Table
Comparison Table
Comparison Table
Comparison Table
Attack Application
Main Server Send video data to Web Browser
Browser/Application
With Main Server
Attack
Init. Data
Manager.exe Updater.exe Streamer.exe Req. Data Streamer.exe
Video Data
Attack
Attack
Init. Data
Manager.exe Updater.exe Streamer.exe Req. Data Streamer.exe
Video Data
Attack
✓ Information Leak
✓ Main server sends private IP which is unnecessary for connection.
✓ We could collect 70 more private IP using python in 2 hrs.
Attack Application
Main Server Send video data to Web Browser
Browser/Application
With Main Server
Attack
Init. Data
Manager.exe Updater.exe Streamer.exe Req. Data Streamer.exe
Video Data
Attack
Attack
Init. Data
Manager.exe Updater.exe Streamer.exe Req. Data Streamer.exe
Video Data
Attack
Vuln. ∘ Mutate Update file and Execute Undiscovered ∘ Invoke downgrade to older version
✓ Execute as admin
✓ Updater.exe is triggered automatically (No user interaction)
Attack Application
Main Server Send video data to Web Browser
Browser/Application
With Main Server
Attack
Init. Data
Manager.exe Updater.exe Streamer.exe Req. Data Streamer.exe
Video Data
Attack
Attack
Init. Data
Manager.exe Updater.exe Streamer.exe Req. Data Streamer.exe
Video Data
Attack
main server
Video Data
Attacker
Client
Attacker
main server
Client Client
main server
Attacker Client
Attacker
main server
Client Client
Attack Application
Main Server Send video data to Web Browser
Browser/Application
With Main Server
Attack
Init. Data
Manager.exe Updater.exe Streamer.exe Req. Data Streamer.exe
Video Data
Attack
Attack
Init. Data
Manager.exe Updater.exe Streamer.exe Req. Data Streamer.exe
Video Data
Attack
main server
Attacker Client
Client
Attack Application
Main Server Send video data to Web Browser
Browser/Application
With Main Server
Attack
Init. Data
Manager.exe Updater.exe Streamer.exe Req. Data Streamer.exe
Video Data
Attack
Attack
Init. Data
Manager.exe Updater.exe Streamer.exe Req. Data Streamer.exe
Video Data
Attack
∘ Mutating header part of the packet ∘ Using Frida, Hooking the WSASend()
∘ Mutating the video data area other ∘ Static Analysis : Sequences of calling function to mutate video data
than the header recv() func ~ malloc() func. ∘ Mutating the video data area other than
Contents
∘ As a result, Other clients' screen were ∘ Hooking WSASend() func. the header
broken or completely controlled by an ∘ Mutating length field of the packet ∘ As a result, Other clients' screen were
attacker broken.
main server
Attacker Client
Broadcast A Broadcast B
main server
Attacker
Attacker Client
<Usual Case>
Victim
Broadcast A Broadcast B
main server
Attacker
Attacker Client
<Pirate Broadcasting>
Victim
main server
Attacker Client
main server
Attacker Client
Picture Distortion O O O
Stealing Video O O X
File Tampering O X
Information Leakage X X O
DoS(Denial of Service) O O O