Automated End-to-End Dynamic Taint Analysis for WhatsApp. Cela, S., Ciancone, A., Gustafsson, P., Hajdu, Á., Jia, Y., Kapus, T., Koshtenko, M., Lewis, W., Mao, K., & Martac, D. In Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering, pages 21–26, 2024. ACM.
Pdf
Slides
Link doi abstract bibtex 9 downloads Taint analysis aims to track data flows in systems, with potential use cases for security, privacy and performance. This paper describes an end-to-end dynamic taint analysis solution for WhatsApp. We use exploratory UI testing to generate realistic interactions and inputs, serving as data sources on the clients and then we track data propagation towards sinks on both client and server sides. Finally, a reporting pipeline localizes tainted flows in the source code, applies deduplication, filters false positives based on production call sites, and files tasks to code owners. Applied to WhatsApp, our approach found 89 flows that were fixed by engineers, and caught 50% of all privacy-related flows that required escalation, including instances that would have been difficult to uncover by conventional testing.
@inproceedings{fse2024,
author = {Cela, Sopot and Ciancone, Andrea and Gustafsson, Per and Hajdu, {\'A}kos and Jia, Yue and Kapus, Timotej and Koshtenko, Maksym and Lewis, Will and Mao, Ke and Martac, Dragos},
title = {Automated End-to-End Dynamic Taint Analysis for {W}hats{A}pp},
year = {2024},
publisher = {ACM},
doi = {10.1145/3663529.3663824},
booktitle = {Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering},
pages = {21--26},
type = {Conference},
url_pdf = {https://hajduakos.github.io/publications/fse2024.pdf},
url_slides = {https://hajduakos.github.io/publications/slides/fse2024.pdf},
url_link = {https://doi.org/10.1145/3663529.3663824},
abstract = {Taint analysis aims to track data flows in systems, with potential use cases for security, privacy and performance. This paper describes an end-to-end dynamic taint analysis solution for WhatsApp. We use exploratory UI testing to generate realistic interactions and inputs, serving as data sources on the clients and then we track data propagation towards sinks on both client and server sides. Finally, a reporting pipeline localizes tainted flows in the source code, applies deduplication, filters false positives based on production call sites, and files tasks to code owners. Applied to WhatsApp, our approach found 89 flows that were fixed by engineers, and caught 50% of all privacy-related flows that required escalation, including instances that would have been difficult to uncover by conventional testing.},
}
Downloads: 9
{"_id":"8HHJNQ3ugooXb7uwf","bibbaseid":"cela-ciancone-gustafsson-hajdu-jia-kapus-koshtenko-lewis-etal-automatedendtoenddynamictaintanalysisforwhatsapp-2024","author_short":["Cela, S.","Ciancone, A.","Gustafsson, P.","Hajdu, Á.","Jia, Y.","Kapus, T.","Koshtenko, M.","Lewis, W.","Mao, K.","Martac, D."],"bibdata":{"bibtype":"inproceedings","type":"Conference","author":[{"propositions":[],"lastnames":["Cela"],"firstnames":["Sopot"],"suffixes":[]},{"propositions":[],"lastnames":["Ciancone"],"firstnames":["Andrea"],"suffixes":[]},{"propositions":[],"lastnames":["Gustafsson"],"firstnames":["Per"],"suffixes":[]},{"propositions":[],"lastnames":["Hajdu"],"firstnames":["Ákos"],"suffixes":[]},{"propositions":[],"lastnames":["Jia"],"firstnames":["Yue"],"suffixes":[]},{"propositions":[],"lastnames":["Kapus"],"firstnames":["Timotej"],"suffixes":[]},{"propositions":[],"lastnames":["Koshtenko"],"firstnames":["Maksym"],"suffixes":[]},{"propositions":[],"lastnames":["Lewis"],"firstnames":["Will"],"suffixes":[]},{"propositions":[],"lastnames":["Mao"],"firstnames":["Ke"],"suffixes":[]},{"propositions":[],"lastnames":["Martac"],"firstnames":["Dragos"],"suffixes":[]}],"title":"Automated End-to-End Dynamic Taint Analysis for WhatsApp","year":"2024","publisher":"ACM","doi":"10.1145/3663529.3663824","booktitle":"Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering","pages":"21–26","url_pdf":"https://hajduakos.github.io/publications/fse2024.pdf","url_slides":"https://hajduakos.github.io/publications/slides/fse2024.pdf","url_link":"https://doi.org/10.1145/3663529.3663824","abstract":"Taint analysis aims to track data flows in systems, with potential use cases for security, privacy and performance. This paper describes an end-to-end dynamic taint analysis solution for WhatsApp. We use exploratory UI testing to generate realistic interactions and inputs, serving as data sources on the clients and then we track data propagation towards sinks on both client and server sides. Finally, a reporting pipeline localizes tainted flows in the source code, applies deduplication, filters false positives based on production call sites, and files tasks to code owners. Applied to WhatsApp, our approach found 89 flows that were fixed by engineers, and caught 50% of all privacy-related flows that required escalation, including instances that would have been difficult to uncover by conventional testing.","bibtex":"@inproceedings{fse2024,\n author = {Cela, Sopot and Ciancone, Andrea and Gustafsson, Per and Hajdu, {\\'A}kos and Jia, Yue and Kapus, Timotej and Koshtenko, Maksym and Lewis, Will and Mao, Ke and Martac, Dragos},\n title = {Automated End-to-End Dynamic Taint Analysis for {W}hats{A}pp},\n year = {2024},\n publisher = {ACM},\n doi = {10.1145/3663529.3663824},\n booktitle = {Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering},\n pages = {21--26},\n\n type = {Conference},\n\n url_pdf = {https://hajduakos.github.io/publications/fse2024.pdf},\n url_slides = {https://hajduakos.github.io/publications/slides/fse2024.pdf},\n url_link = {https://doi.org/10.1145/3663529.3663824},\n\n abstract = {Taint analysis aims to track data flows in systems, with potential use cases for security, privacy and performance. This paper describes an end-to-end dynamic taint analysis solution for WhatsApp. We use exploratory UI testing to generate realistic interactions and inputs, serving as data sources on the clients and then we track data propagation towards sinks on both client and server sides. Finally, a reporting pipeline localizes tainted flows in the source code, applies deduplication, filters false positives based on production call sites, and files tasks to code owners. Applied to WhatsApp, our approach found 89 flows that were fixed by engineers, and caught 50% of all privacy-related flows that required escalation, including instances that would have been difficult to uncover by conventional testing.},\n}\n\n","author_short":["Cela, S.","Ciancone, A.","Gustafsson, P.","Hajdu, Á.","Jia, Y.","Kapus, T.","Koshtenko, M.","Lewis, W.","Mao, K.","Martac, D."],"key":"fse2024","id":"fse2024","bibbaseid":"cela-ciancone-gustafsson-hajdu-jia-kapus-koshtenko-lewis-etal-automatedendtoenddynamictaintanalysisforwhatsapp-2024","role":"author","urls":{" pdf":"https://hajduakos.github.io/publications/fse2024.pdf"," slides":"https://hajduakos.github.io/publications/slides/fse2024.pdf"," link":"https://doi.org/10.1145/3663529.3663824"},"metadata":{"authorlinks":{}},"downloads":9},"bibtype":"inproceedings","biburl":"https://hajduakos.github.io/publications.bib","dataSources":["WFubm6dru5DutkSZW"],"keywords":[],"search_terms":["automated","end","end","dynamic","taint","analysis","whatsapp","cela","ciancone","gustafsson","hajdu","jia","kapus","koshtenko","lewis","mao","martac"],"title":"Automated End-to-End Dynamic Taint Analysis for WhatsApp","year":2024,"downloads":9}