Description
Data flow analysers are much more common for iOS than Android. However, iOS applications also face security
and privacy issues with undesired data flows. Thus, tools are needed to identify those. Static analysers often face
issues with library functions. An existing dynamic analysis tool, DynaMiT, aims to support static analysers in that regard.
This thesis introduces an extension to DynaMiT that uses input manipulation to improve the accuracy of the tool. By calling
a function with different random and pre-defined inputs the tool identifies dependencies between data sources and destinations.
The search for values changes is then performed using Object Trees, introduced in the original DynaMiT, avoiding monitoring
of the whole memory space.
Based on experiments conducted on a random sample, the extension improved the false negative rate from 48.0% to 26.0% and
did not change the false positive rate. However, some technical limitations connected to the instrumentation process need
further research.
|