09 - LECTURE Security Testing For Mobile and Web Apps
09 - LECTURE Security Testing For Mobile and Web Apps
Security Testing
for Mobile and Web Apps
Secured Software Systems - ITS68504
• Examples:
• uses a bug or security vulnerability to gain ungranted permissions
• shows the user unsolicited messages (especially commercial)
• resists (or attempts to resist) the user's effort to uninstall it
• attempts to automatically spread itself to other devices
• hides its files and/or processes
• discloses the user's private information to a third party w/o consent
• destroys the user's data (or the device itself) without w/o consent
• impersonates the user (such as by sending email or buying things)
• drains the phone's battery, data bytes/minutes, SMS/MMS remaining
• otherwise degrades the user's experience with the device
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.app.myapp" >
<uses-permission android:name="android.permission.RECEIVE_SMS" />
...
</manifest>
SECURED SOFTWARE SYSTEM | TAYLOR'S UNIVERSITY | PAGE 4
Signed Apps / Stores
• signed apps: Coded with a private developer key
• On Android / iPhone, apps must be signed in market
• manual approval reduces chance of rogue apps
• Spammy apps
• resist attempts to uninstall
• show ads that are like system/OS UI
• disclose or damage the user's personal information data
• impersonates the user
SECURED SOFTWARE SYSTEM | TAYLOR'S UNIVERSITY | PAGE 6
Example Attack
• Android had vulnerabilities.
• Browser could download a HTML page.
• The page contains JS code.
• The JS code can self-execute later
in a "local" context.
• This has higher permissions and can
modify the local file system.
• solutions:
• Use secure protocols (ssh, https).
• Encryption.
• Don't let creeps on your LAN/wifi.
• Problems:
• If trusted users of your
system are tricked into
giving out their personal
information, attackers
can use this to log in as
those users and
compromise your system.
• Attacking cookies.
• ...