messy states of wiring: vulnerabilities in emerging

17
Messy States of Wiring: Vulnerabilities in Emerging Personal Payment Systems Jiadong Lou * , Xu Yuan * , and Ning Zhang * University of Louisiana at Lafayette Washington University in St. Louis

Upload: others

Post on 07-Jan-2022

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Messy States of Wiring: Vulnerabilities in Emerging

Messy States of Wiring: Vulnerabilities in Emerging Personal Payment Systems

Jiadong Lou*, Xu Yuan*, and Ning Zhang†

* University of Louisiana at Lafayette† Washington University in St. Louis

Page 2: Messy States of Wiring: Vulnerabilities in Emerging

Online Payment Service • The online payment services become ubiquitous in our daily life.

1

• However, there is non-trivial barrier of entry

Individual payment accounts are not designed to handle large volumes of transactions.

Some regions require a government license to sign up for commercial services incurring delays

in application.

A non-trivial upfront cost commitment to getting started.

Page 3: Messy States of Wiring: Vulnerabilities in Emerging

Personal Payment System• A new paradigm couples personal money transfer with an

independent order management platform.

MC: merchant client where users browsemerchandise and make orders.

MS: the merchant server that hosts the clientcontent.

CS: a third-party platform manages moneytransactions between different accounts.

PMP: PPS order management platform offersthe commercial payment functionalities

3

Page 4: Messy States of Wiring: Vulnerabilities in Emerging

The Rise of Personal Payment System (PPS)• Commercial Payment System vs Personal Payment System

3

Page 5: Messy States of Wiring: Vulnerabilities in Emerging

High Level Workflow of PPS• The transaction flow

Key Distribution (PPS service sign up)

Order Generation (upon selection of item)

Order Payment (user pays for the item)

Payment Notification (ready to ship)

4

Page 6: Messy States of Wiring: Vulnerabilities in Emerging

Security Analysis• Unprotected key changing API allows unauthorized key change

Attacker PMPKEY API

Merchant ID

Changing Response

API allows pre-authenticated requests tochange KEY.

API only requires merchant ID.

Merchant ID can be obtained by examiningthe order packet.

8

Page 7: Messy States of Wiring: Vulnerabilities in Emerging

Security Analysis• Vulnerable order generation allows modification of order content

Local Order Generation

Attackers can tamper with some fieldsof a locally stored order.

Local KEY Storage

Some MC implementations store KEYin MC for calculation convenience.

Attacker/MC MS PMP

1. orderrq

5. orderp'6.Token*=sign(...+KEY) Token' = Token*

2. Token=sign(...+KEY) generate orderp'

3. orderp

9. Payment monitoring10. Money checking11. Payment

notification12. Payment notification

4. new price Token'=sign(...+KEY) generate orderp'

7. Personal account

8. Payment

9

Page 8: Messy States of Wiring: Vulnerabilities in Emerging

Security Analysis• Vulnerable Signature allows order tampering without KEY

Token=MD5 (order parameter Concatenation +KEY)

String Concatenation in Token GenerationAttacker/MC MS PMP

1. orderrq

5. orderp'6.Token*=sign(...+KEY) Token' = Token*

2. Token=sign(...+KEY) generate orderp

3. orderp

9. Payment monitoring10. Money checking11. Payment

notification12. Payment notification

4. Price string shifting generate orderp'

7. Personal account

8. Payment

… 100 www.xxxx.com … price Notify URL

… 10 0www.xxxx.com … price Notify URL

…100www.xxxx.com…KEY

Same in calculating Token

10

Page 9: Messy States of Wiring: Vulnerabilities in Emerging

Security Analysis• Vulnerable Signature allows Order tampering without KEY

MD5-based Token Generation

Suffer from the chosen-prefix collision attack

Attacker/MC MS PMP

2. orderrq(data1)

6. orderp' 7.Token*=sign(...+KEY) Token= Token*

3. Token=sign(...+KEY) generate orderp(data1)

4. orderp

10. Payment monitoring11. Money checking12. Payment

notification13. Payment notification

1.generate data1(price), data2(price')

5. generate orderp' (data2)

8. Personal account

9. Payment

Price2...URL#

Price1...URL#

string2

string1

Prefix Suffix

KEY

Price2...URL#string2

Price1...URL#string1

Same MD5

11

Page 10: Messy States of Wiring: Vulnerabilities in Emerging

Security Analysis• Vulnerable account delivery allows payment substitution (making

others pay for my purchases) PPS only displays the price, order ID, and QR

code to the MC.

Order ID is the only clue a buyer can use toassociate the payment with his item.

Man-in-the-middle attack to swap a buyer’sorder payment with attackers’ order without thevictim being aware.

Attacker

PMP

modify with his order information

Victim User

Order 2

Order1

Order 2 Pay for attacker order

12

Page 11: Messy States of Wiring: Vulnerabilities in Emerging

Security Analysis• Six vulnerable patterns and five proof-of-concept attacks

7

PPS Processes

Vulnerabilities

Attacks

Order Generation Order Payment Payment Notification

KEY Distribution

Payment Account Delivery

Unprotected Changing API

Malicious KEY Changing

Unprotected Changing API

Malicious KEY Changing

Local KEY Storage

Order Tampering with KEY

Packet Signature Generation

Local Order Generation Simple String

Concatenation

MD5 Token Generation

MD5 Signature Collision

String Shift in Order Packet

Local Order Generation Simple String

Concatenation

MD5 Token Generation

MD5 Signature Collision

String Shift in Order Packet

Lacking Order Checking

Payment Substitution

Lacking Order Checking

Payment Substitution

Page 12: Messy States of Wiring: Vulnerabilities in Emerging

Empirical Study• PPS Ecosystem and Usage Statistics

PPSs are currently used in both websites and mobile apps, while the web application isthe recommended method of deployment

• Download 7521+ times on Packagist

• Download 11,611+ times on WordPress

PPS web plugins

• At least 10,000 merchants• More than 20 million

customers• 200+ corporations

PPS users• 564 of 26956 apps with PPS

services

• 2,000,000+ users

PPS mobile applications

13

Page 13: Messy States of Wiring: Vulnerabilities in Emerging

Empirical Study• PPS Vulnerability Analysis

35 PPSs and their vulnerabilities distributions

14

Page 14: Messy States of Wiring: Vulnerabilities in Emerging

Empirical Study• Cases for Real-world Attacks

14

String Shifting Attack

Recharge 30¥amount to our registered account on Paysapi website but pay lessthan the amount, which only 3¥.

Key Changing Attack

Disabling the merchant’s service on Paysapi website.

Stealing the new KEY on Xunhupay website.

Page 15: Messy States of Wiring: Vulnerabilities in Emerging

Empirical Study• Cases for Real-world Attacks

14

Payment Substitution Attack

Let the victim pay 10¥ on a resource website for the attackers' order.

MD5 Collision Attack.

Only pay 0.01¥donation amount on a PPS employed blog with expected 0.02¥amount.

The calculation was processed on a computer with CPU: Intel i7-8700k, GPU:NVIDIA GeForce GTX1080Ti, and RAM: 64G, where the CUDA was employed.

7 days to find a collision

Page 16: Messy States of Wiring: Vulnerabilities in Emerging

Empirical Study• Ethical Consideration in Vulnerability Verification

• Responsible Disclosure

We made use of our test accounts created solely for demonstrating the attacks

We always let the authority know the detailed procedures and results so that theycan correct at the back end.

We reported all our findings to the PPS providers in January 2020. 12 of 35 PPSswhich possess multiple vulnerabilities stopped providing payment services afterour report.

We reported the vulnerable PPS list and the security issues to the SecurityResponse Center of Tencent (WeChat Pay) and the Alibaba Security ResponseCenter (AliPay).

17

Page 17: Messy States of Wiring: Vulnerabilities in Emerging

Thank you!

Questions?

For any questions, you could send an email to [email protected]