Security and Privacy in Communication Networks. 13th International Conference, SecureComm 2017, Niagara Falls, ON, Canada, October 22–25, 2017, Proceedings

Research Article

Inferring Implicit Assumptions and Correct Usage of Mobile Payment Protocols

Download
1878 downloads
  • @INPROCEEDINGS{10.1007/978-3-319-78813-5_24,
        author={Quanqi Ye and Guangdong Bai and Naipeng Dong and Jin Dong},
        title={Inferring Implicit Assumptions and Correct Usage of Mobile Payment Protocols},
        proceedings={Security and Privacy in Communication Networks. 13th International Conference, SecureComm 2017, Niagara Falls, ON, Canada, October 22--25, 2017, Proceedings},
        proceedings_a={SECURECOMM},
        year={2018},
        month={4},
        keywords={Mobile payment Payment protocol Protocol extraction},
        doi={10.1007/978-3-319-78813-5_24}
    }
    
  • Quanqi Ye
    Guangdong Bai
    Naipeng Dong
    Jin Dong
    Year: 2018
    Inferring Implicit Assumptions and Correct Usage of Mobile Payment Protocols
    SECURECOMM
    Springer
    DOI: 10.1007/978-3-319-78813-5_24
Quanqi Ye1,*, Guangdong Bai2,*, Naipeng Dong1,*, Jin Dong,*
  • 1: National University of Singapore
  • 2: Singapore Institute of Technology
*Contact email: yequanqi@u.nus.edu, guangdong.bai@singaporetech.edu.sg, dcsdn@nus.edu.sg, dcsdjs@nus.edu.sg

Abstract

Although mobile shopping has risen rapidly as mobile devices become the dominant portal to the Internet, it remains challenging for a developer of mobile shopping Apps to implement a correct and secure payment protocol. This can be partly attributed to the misunderstanding, confusion of responsibility and implicit assumptions among multiple separate participants of the payment protocols, which involve at least users, merchants and third-party cashiers (e.g., PayPal). In addition, the documentation of the payment SDK which is written in informal natural languages is often inaccurate, ambiguous and incomplete, such that the developers might be confused. In this paper, we seek to infer the correct usage and hidden assumptions of the most commonly used mobile payment libraries, i.e., PayPal and Visa Checkout. Our approach starts with building mobile checkout systems strictly following the documents of PayPal SDK and Visa Checkout SDK. Afterwards, we propose an algorithm to automatically generate test cases embedding different attacker models to check the correctness and security of the payment procedure. During the testing, our algorithm analyzes the security violations so as to infer the correct usage of these payment libraries. Using our approach, we have successfully found several non-trivial hidden assumptions and bugs in these two payment libraries.