Building Trust in the User I/O in Computer Systems
Total Page:16
File Type:pdf, Size:1020Kb
BUILDING TRUST IN THE USER I/O IN COMPUTER SYSTEMS A Thesis Presented to The Academic Faculty by Yeongjin Jang In Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy in the School of Computer Science Georgia Institute of Technology August 2017 Copyright ⃝c 2017 by Yeongjin Jang BUILDING TRUST IN THE USER I/O IN COMPUTER SYSTEMS Approved by: Professor Wenke Lee, Advisor Professor Kang Li School of Computer Science Department of Computer Science Georgia Institute of Technology University of Georgia Professor Taesoo Kim, Co-Advisor Professor Yongdae Kim School of Computer Science Department of Electrical Engineering Georgia Institute of Technology KAIST Professor Mustaque Ahamad Date Approved: 24 July 2017 School of Computer Science Georgia Institute of Technology To my dear wife, Sejin Keem, and my parents, Bongsik Jang and Sook-Kyeong Cho, for all the love and support. iii ACKNOWLEDGEMENTS First of all, I am deeply grateful to my advisor Professor Wenke Lee for his guidance and support through the Ph.D. program. Research discussions that he and I had for around seven years enlighted me a lot, and the experience that I gained through these conversations raised me as a decent researcher who will now start contributing back to the society. My co-advisor Professor Taesoo Kim was a great source of research insight and stimulating me a lot with his technical expertise. He was not only a brilliant mentor but also a great friend. I would also like to acknowledge my thesis committee members: Professor Mustaque Ahamad, Professor Kang Li, and Professor Yongdae Kim, for willing to serve on my dissertation committee. Their insightful comments and suggestions have enlightened me to make significant improvements to this thesis. I would like to acknowledge Professor Kang Li, for his help in keeping my focus on both sides of academic research and practice by working together in the “Disekt” capture-the-flag (CTF) team. Thanks to Professor Yongdae Kim, for being a sagacious mentor and who greatly inspired me to pursue the academic career. Many students and researchers in GTISC collaborated with me on this work including Simon Chung, Tielei Wang, Billy Lau, Sangho Lee, Bryan Payne, Paul Royal, Long Lu, Chengyu Song, Byoungyoung Lee, Xinyu Xing, Yizheng Chen, Wei Meng, and Kangjie Lu, and even more students and researchers in System Software and Security Lab (SSLab) including Changwoo Min, Insu Yun, Meng Xu, Wen Xu, Ren Ding, and Jinho Jung were always happy to discuss research challenges and helped me a lot in the day to day battle of a graduate student’s life. I also thank my research collaborators at KAIST, including Dongkwan Kim, Hongil Kim, Jaehyuk Lee, and Professor Brent Byunghoon Kang. In addition to my collaborators, I would especially like to express my sincere gratitude iv and great appreciation to the Kwanjeong Educational Foundation for their generous support of my Ph.D. study, which kept me free from all financial issues. Alongside the research, my friends Sehoon Ha, Dong-Gu Choi, Hanju Oh, Philip Kwon, Gee Hoon Hong, Hwajung Hong, and Yusun Lim, and the members of the Post Collier Hills Tennis Club, Mincheol Chang, Kwangsup Eom, Jaehan Jung, Seongjun Kim, Kwangho Park, Chanyeop Park, and Pyungwoo Yeon, they all made my life in Atlanta bright even when I was intimidated by research related stress. Last but not least, I would like to give special thanks to my family for their continuous love and support. My dear wife, Sejin Keem, she always supported and encouraged me while she was also going through a tough journey for her Ph.D. study. Thank you, Dr. Keem. My parents Bongsik Jang and Sook-kyeong Cho, they always sent their loving heart with full of warmth to me so I can keep my smiling face even when my paper got harshly rejected. I also send my thanks to my father-in-law, Changho Keem and my mother-in-law, Kyunghee Choi, for their support and encouragement at the toughest moment of my Ph.D. study. Although my seven-year journey for finishing this dissertation was not always filled with all-happy-moments as all life does, I can sustain myself and complete this journey because of your support. I always carry all of you in my heart. v TABLE OF CONTENTS DEDICATION ..................................... iii ACKNOWLEDGEMENTS .............................. iv LIST OF TABLES .................................. x LIST OF FIGURES .................................. xi SUMMARY ...................................... xv I INTRODUCTION ................................ 1 1.1 Motivations and Goals............................1 1.2 Dissertation Overview............................2 1.2.1 The Integrity of User Input.....................2 1.2.2 The Confidentiality of User I/O...................3 1.2.3 The Authenticity of User I/O....................4 1.2.4 The Assurance of User I/O.....................4 II GYRUS: A FRAMEWORK FOR USER-INTENT MONITORING OF TEXT- BASED NETWORKED APPLICATIONS ................... 6 2.1 Motivation..................................6 2.2 Related Work................................ 10 2.3 Overview................................... 12 2.3.1 Threat Model............................ 12 2.3.2 User Intent.............................. 13 2.3.3 What You See Is What You Send.................. 13 2.3.4 Network Traffic Monitoring..................... 15 2.3.5 Target Applications......................... 17 2.4 Design and Implementation......................... 18 2.4.1 Architecture............................. 18 2.4.2 Implementation........................... 20 2.5 Application Case Studies.......................... 31 vi 2.5.1 Windows Live Mail......................... 33 2.5.2 Digsby: Yahoo! Messenger & Twitter............... 34 2.5.3 Web-App: GMail.......................... 35 2.5.4 Web-App: Facebook........................ 36 2.5.5 Web-App: Paypal.......................... 36 2.5.6 Discussions............................. 37 2.6 Evaluation.................................. 40 2.6.1 Security............................... 40 2.6.2 Usability............................... 42 2.6.3 Performance............................. 43 2.7 Summary................................... 46 III MIMESIS AEGIS: A MIMICRY PRIVACY SHIELD ............ 47 3.1 Motivation.................................. 47 3.2 Related Work................................ 53 3.3 System Design................................ 55 3.3.1 Design Goals............................ 55 3.3.2 Threat Model............................ 55 3.3.3 M-Aegis Architecture........................ 57 3.3.4 User Workflow........................... 63 3.4 Implementation and Deployment...................... 64 3.4.1 Cryptographic Schemes....................... 66 3.4.2 UIAM................................ 67 3.4.3 Layer 7.5.............................. 67 3.4.4 Per-TCA Logic........................... 68 3.5 Evaluations.................................. 71 3.5.1 Correctness of Implementation................... 71 3.5.2 Performance on Android...................... 71 3.5.3 User Acceptability Study...................... 73 3.6 Discussions................................. 74 vii 3.6.1 Generality and Scalability...................... 74 3.6.2 Limitations............................. 75 3.7 Summary................................... 76 IV A11Y ATTACKS: EXPLOITING ACCESSIBILITY IN OPERATING SYS- TEMS ....................................... 78 4.1 Motivation.................................. 78 4.2 Overview of Accessibility.......................... 80 4.2.1 Accessibility Features........................ 81 4.2.2 Accessibility Libraries....................... 82 4.2.3 Assistive Technologies....................... 83 4.3 Security Implications of A11y........................ 83 4.3.1 New Attack Paths.......................... 83 4.3.2 Required Security Checks...................... 85 4.4 Security Evaluation of A11y......................... 87 4.4.1 Evaluation Methodology...................... 87 4.4.2 Availability of Accessibility Features................ 88 4.4.3 Vulnerabilities in Input Validation................. 90 4.4.4 Vulnerabilities in Output Validation................ 101 4.5 Discussions................................. 104 4.5.1 Complexity of Accessibility Attacks................ 104 4.5.2 Limitations of the Attacks...................... 105 4.5.3 Root Causes, and Design Trade-offs................ 107 4.5.4 Recommendations and Open Problems............... 111 4.6 Related Works................................ 113 4.7 Summary................................... 114 V SGX-USB: ESTABLISHING SECURE USB I/O PATH IN INTEL SGX .. 115 5.1 Motivation.................................. 115 5.2 Background and Related Work....................... 117 5.2.1 Intel SGX.............................. 117 viii 5.2.2 Related Work............................ 119 5.3 Overview................................... 121 5.3.1 Security Guarantees......................... 122 5.3.2 Threat Model............................ 122 5.4 Design of SGX-USB............................. 123 5.4.1 Architecture............................. 123 5.4.2 Verifying Authenticity and Sharing Secret through Remote Attes- tation................................ 126 5.4.3 Trust Chain and User Verification.................. 129 5.4.4 Integrity and Confidentiality: Encrypted Communication Channel 131 5.5 Use Cases.................................. 133 5.5.1 AuthMgr: Protecting User’s Password using SGX-USB...... 133 5.5.2 Internet Video Chatting: A Potential Use Case........... 135 5.6 Implementation..............................