April 2025
·
1 Read
This page lists works of an author who doesn't have a ResearchGate profile or hasn't added the works to their profile yet. It is automatically generated from public (personal) data to further our legitimate goal of comprehensive and accurate scientific recordkeeping. If you are this author and want this page removed, please let us know.
April 2025
·
1 Read
December 2024
·
207 Reads
IADIS INTERNATIONAL JOURNAL ON WWW/INTERNET
There has been a proliferation of mobile apps in the Medical, as well as Health&Fitness categories. These apps have a wide audience, from medical providers, to patients, to end users who want to track their fitness goals. The low barrier to entry on mobile app stores raises questions about the diligence and competence of the developers who publish these apps, especially regarding the practices they use for user data collection, processing, and storage. To help understand the nature of data that is collected, and how it is processed, as well as where it is sent, we developed a tool named PIT (Personal Information Tracker) and made it available as open source. We used PIT to perform a multi-faceted study on 2832 Android apps: 2211 Medical apps and 621 Health&Fitness apps. We first define Personal Information (PI) as 17 different groups of sensitive information, e.g., user's identity, address and financial information, medical history or anthropometric data. PIT first extracts the elements in the app's User Interface (UI) where this information is collected. The collected information could be processed by the app's own code or third-party code; our approach disambiguates between the two. Next, PIT tracks, via static analysis, where the information is "leaked", i.e., it escapes the scope of the app, either locally on the phone or remotely via the network. Then, we conduct a link analysis that examines the URLs an app connects with, to understand the origin and destination of data that apps collect and process. We found that most apps leak 1-5 PI items (email, credit card, phone number, address, name, being the most frequent). Leak destinations include the network (25%), local databases (37%), logs (23%), and files or I/O (15%). While Medical apps have more leaks overall, as they collect data on medical history, surprisingly, Health&Fitness apps also collect, and leak, medical data. We also found that leaks that are due to third-party code (e.g., code for ads, analytics, or user engagement) are much more numerous (2x-12x) than leaks due to app's own code. Finally, our link analysis shows that most apps access 20-80 URLs (typically third-party URLs and Cloud APIs) though some apps could access more than 1,000 URLs.
September 2024
·
42 Reads
Mobile apps are used in a variety of health settings, from apps that help providers, to apps designed for patients, to health and fitness apps designed for the general public. These apps ask the user for, and then collect and leak a wealth of Personal Information (PI). We analyze the PI that apps collect via their user interface, whether the app or third-party code is processing this information, and finally where the data is sent or stored. Prior work on leak detection in Android has focused on detecting leaks of (hardware) device-identifying information, or policy violations; however no work has looked at processing and leaking of PI in the context of health apps. The first challenge we tackle is extracting the semantic information contained in app UIs to discern the extent, and nature, of personal information. The second challenge we tackle is disambiguating between first-party, legitimate leaks (e.g,. the app storing data in its database) and third-party, problematic leaks, e.g., processing this information by, or sending it to, advertisers and analytics. We conducted a study on 1,243 Android apps: 623 medical apps and 621 health&fitness apps. We categorize PI into 16 types, grouped in 3 main categories: identity, medical, anthropometric. We found that the typical app has one first-party leak and five third-party leaks, though 221 apps had 20 or more leaks. Next, we show that third-party leaks (e.g., advertisers, analytics) are 5x more frequent than first-party leaks. Then, we show that 71% of leaks are to local storage (i.e., the phone, where data could be accessed by unauthorized apps) whereas 29% of leaks are to the network (e.g., Cloud). Finally, medical apps have 20% more PI leaks than health&fitness apps, due to collecting additional medical PI.
September 2024
·
153 Reads
Generating code via a LLM (rather than writing code from scratch), has exploded in popularity. However, the security implications of LLM-generated code are still unknown. We performed a study that compared the security and quality of human-written code with that of LLM-generated code, for a wide range of programming tasks, including data structures, algorithms, cryptographic routines, and LeetCode questions. To assess code security we used unit testing, fuzzing, and static analysis. For code quality, we focused on complexity and size. We found that LLM can generate incorrect code that fails to implement the required functionality, especially for more complicated tasks; such errors can be subtle. For example, for the cryptographic algorithm SHA1, LLM generated an incorrect implementation that nevertheless compiles. In cases where its functionality was correct, we found that LLM-generated code is less secure, primarily due to the lack of defensive programming constructs, which invites a host of security issues such as buffer overflows or integer overflows. Fuzzing has revealed that LLM-generated code is more prone to hangs and crashes than human-written code. Quality-wise, we found that LLM generates bare-bones code that lacks defensive programming constructs, and is typically more complex (per line of code) compared to human-written code. Next, we constructed a feedback loop that asked the LLM to re-generate the code and eliminate the found issues (e.g., malloc overflow, array index out of bounds, null dereferences). We found that the LLM fails to eliminate such issues consistently: while succeeding in some cases, we found instances where the re-generated, supposedly more secure code, contains new issues; we also found that upon prompting, LLM can introduce issues in files that were issues-free before prompting.
July 2024
·
5 Reads
July 2024
·
51 Reads
·
1 Citation
Mobile apps are used in a variety of health settings, from apps that help providers, to apps designed for patients, to health and fitness apps designed for the general public. These apps ask the user for, and then collect and "leak" a wealth of Personal Information (PI). We analyze the PI that apps collect via their user interface, whether the app or third-party code is processing this information, and finally where the data is sent or stored. Prior work on leak detection in Android has focused on detecting leaks of (hardware) device-identifying information, or policy violations; however, no work has looked at processing and leaking of PI in the context of health apps. The first challenge we tackle is extracting the semantic information contained in app UIs to discern the extent, and nature, of personal information. The second challenge we tackle is disambiguating between first-party, legitimate leaks (e.g., the app storing data in its database) and third-party, problematic leaks, e.g., processing this information by, or sending it to, advertisers and analytics. We conducted a study on 1,243 Android apps: 623 medical apps and 621 Health&Fitness apps. We categorize PI into 16 types, grouped in 3 main categories: identity, medical, anthropometric. We found that the typical app has one first-party leak and five third-party leaks, though 221 apps had 20 or more leaks. Next, we show that third-party leaks (e.g., advertisers, analytics) are 5x more frequent than first-party leaks. Then, we show that 71% of leaks are to local storage (i.e., the phone, where data could be accessed by unauthorized apps) whereas 29% of leaks are to the network (e.g., Cloud). Finally, medical apps have 20% more PI leaks than Health&Fitness apps, due to collecting additional medical PI.
September 2023
·
38 Reads
Proceedings of the ACM on Interactive Mobile Wearable and Ubiquitous Technologies
Mobile medical score calculator apps are widely used among practitioners to help make decisions regarding patient treatment and diagnosis. Errors in score definition, input, or calculations can result in severe and potentially life-threatening situations. Despite these high stakes, there has been no systematic or rigorous effort to examine and verify score calculator apps. We address these issues via a novel, interval-based score checking approach. Based on our observation that medical reference tables themselves may contain errors (which can propagate to apps) we first introduce automated correctness checking of reference tables. Specifically, we reduce score correctness checking to partition checking (coverage and non-overlap) over score parameters' ranges. We checked 12 scoring systems used in emergency, intensive, and acute care. Surprisingly, though some of these scores have been used for decades, we found errors in 5 score specifications: 8 coverage violations and 3 non-overlap violations. Second, we design and implement an automatic, dynamic analysis-based approach for verifying score correctness in a given Android app; the approach combines efficient, automatic GUI extraction and app exploration with partition/consistency checking to expose app errors. We applied the approach to 90 Android apps that implement medical score calculators. We found 23 coverage violations in 11 apps; 32 non-overlap violations in 12 apps, and 16 incorrect score calculations in 16 apps. We reported all findings to developers, which so far has led to fixes in 6 apps.
July 2023
·
8 Reads
·
3 Citations
May 2023
·
3 Reads
·
1 Citation
April 2023
·
127 Reads
·
4 Citations
Sixty-five percent of mobile apps require user accounts for offering full-fledged functionality. Account information includes private data, e.g., address,phone number, credit card. Our concern is “leftover” account data kept on theserver after account deletion, which can be a significant privacy violation.Specifically, we analyzed 1,435 popular apps from Google Play (and 771associated websites), of which 678 have their own sign-up process, to answerquestions such as: Can accounts be deleted at all? Following account deletion,will user data remain on the app’s servers? If so, for how long? Do appskeep their promise to remove data?Answering these questions, and more generally, understanding and tacklingthe leftover account problem, is challenging. A fundamental obstacle isthat leftover data is manipulated and retained in a private space, on theapp’s backend servers; we devised a novel, reverse-engineering approachto infer leftover data from app–server communication. Another obstacle isthe distributed nature of this data: program analysis as well as informationretrieval are required on both the app and its website. We have developedan end-to-end solution (static analysis, dynamic analysis, natural languageprocessing) to the leftover account problem. First, our toolchain checkswhether an app, or its website, support account deletion; next, it checkswhether the app/website have a data retention policy, and whether the accountis left on servers after deletion, or after the specified retention period; finally,it automatically cleans up leftover accounts. We found that 64.45% of appsdo not offer any means for users to delete accounts; 2.5% of apps still keepaccount data on app servers even after accounts are deleted by users. Only5% of apps specify a retention period; some of these apps violate their ownpolicy by still retaining data months after the period has ended. Experimentsshow that our approach is effective, with an F-measure > 88%, and efficient,with a typical analysis time of 279 seconds per app/website.
... Medical apps have 3x more PI leaks, and 2.5x more network leaks, than Health&Fitness apps. Our own prior work (Ardalani et al., 2024) used a less precise mechanism for labeling UI fields as collection points for PI data, which could result in a higher rate of false positives compared to this work; in addition, our prior work did not look at per-app statistical analysis of how many PIs are leaked, and which PIs are leaked together. Finally, our prior study did not analyze embedded links (URLs). ...
July 2024
... The ADTK package is an unsupervised machine learning model that offers a set of common outlier detectors, transformers and aggregators with unified APIs and pipe classes that connect them into models [54]. The combination of different modules can effectively respond to different types of data. ...
July 2023
... Research on mobile app evaluation, validation, and refactoring has encompassed a diverse range of topics distinct from our focus. These include identifying race conditions and energy bugs through dynamic analysis [35,36,48], detecting network and GPS location issues [43], uncovering app quality problem [8,12,44,47,52], configuration changes handling [26,27,61] and memory leaks [80]. Unlike prior work, our work aims for an automated solution to detect compatibility issues in Android Auto apps. ...
May 2023
... Some spyware apps have poor data retention practices that prevent victim data from being deleted from the spyware servers. These data retention issues pose serious security and privacy risks [73]. A data breach could expose residual victim PII which has persisted even if, for instance, the abuser has deleted their account. ...
April 2023
... This is because a dramatic alteration might cause frustration and disapproval. Another example of this approach is the inclusion of tactile or pressure-based methodologies (in various platforms) that request from users to tap to certain areas or apply pressure periodically on the screen when forming their usual passcodes [19][20][21]. ...
August 2020
... As for TE, Table II shows that SSOM contains the lowest TE compared to other SOM models. For the SSOM model, the TE decreases when the subdivision level increases to 2 and 3, and increases when the subdivision level increases to 4. According to Rahaman, Samuel and Neamtiu [32], TE equals to 0 indicates perfect topology preservation. Since the SSOM achieved the lowest TE, it can preserve the topology of the data better than the other SOM models. ...
August 2021
... Another line of work on detecting sensitive input in UI (Huang et al., 2015) has included identity and weight/height information as we do, but did not look for medical information, and did not track where the information is flowing, or who is responsible for the leak (own-code vs external-code). Work that has distinguished between own-code (first-party) and external-code (third-party) leaks (Rahaman et al., 2021) has only focused on hardware identifiers, and not analyzed the destination of leaks, e.g., network, logs, files, local DB storage, as we do. ...
August 2021
... Research on mobile app evaluation, validation, and refactoring has encompassed a diverse range of topics distinct from our focus. These include identifying race conditions and energy bugs through dynamic analysis [35,36,48], detecting network and GPS location issues [43], uncovering app quality problem [8,12,44,47,52], configuration changes handling [26,27,61] and memory leaks [80]. Unlike prior work, our work aims for an automated solution to detect compatibility issues in Android Auto apps. ...
November 2020
Proceedings of the ACM on Programming Languages
... Applying CS without taking into account the organization of sensors in order to send or receive data to and from the BS is the main problem of the protocol in [14]. In [51], nondeterminism and inconsistency were used to find clustering solutions. The clustering solutions for a fixed algorithm data set were vary across nondeterminism and inconsistency toolkits, but improved clustering reliability and reproducibility. ...
October 2020
... Our own work on SmokeOut [21] also explored the space of different clustering outcomes across toolkits and runs, but the goal was to expose outliers and characterize distributions shapes. Descriptive statistics (min/max) were used for the comparison, which is concise but lacks statistical rigor. ...
April 2019