CNIT 128: Hacking Mobile Devices

32592 Weds 06:10-09:00 pm SCIE 100

Spring 2020 Sam Bowne

Schedule · Slides · Projects · Links · Grading


San Francisco orders residents to stay inside

All my classes are cancelled
until April.

Catalog Description

Mobile devices such as smartphones and tablets are now used for making purchases, emails, social networking, and many other risky activities. These devices run specialized operating systems have many security problems. This class will cover how mobile operating systems and apps work, how to find and exploit vulnerabilities in them, and how to defend them. Topics will include phone call, voicemail, and SMS intrusion, jailbreaking, rooting, NFC attacks, malware, browser exploitation, and application vulnerabilities. Hands-on projects will include as many of these activities as are practical and legal.

Advisory: CNIT 113 and 123, or equivalent familiarity with hacking computers and operating mobile devices

Upon successful completion of this course, the student will be able to:
  • Assess the risks of using mobile devices for common activities such as making phone calls, emailing, and shopping
  • Perform jailbreaks for iOS devices and analyze the Android security model and rooting
  • Differentiate and describe types of mobile malware and anti-mal ware options
  • Evaluate Web browser services and attacks on mobile platforms and recommend countermeasures
  • Configure, deploy, and defeat locking, remote location and wiping services. Outcome 6: Prioritize common mobile app risks and determine how and when to appropriately install and use them.

Textbook

"The Mobile Application Hacker's Handbook 1st Edition", by Dominic Chell, Wiley; 1 edition (February 24, 2015), ISBN-10: 1118958500 ISBN-13: 978-1118958506

Buy from Amazon ($49)

Quizzes

The quizzes are multiple-choice, online, and open-book. Study the textbook chapter and take the quiz before that class. Each quiz is due 30 min. before class. Each quiz has 5 questions, you have ten minutes to take it, and you can make two attempts.

To access the quizzes:

  • Go to https://canvas.instructure.com/enroll/4RMB6H
  • If you've taken one of my class previously, you should already have an account on this Canvas server (it's NOT the usual CCSF Canvas system). Otherwise, create a new account.
  • You should see the quizzes, as shown below.
  • Questions? Email CNIT.128sam@gmail.com
To reset your password, go to: https://canvas.instructure.com/login/canvas

To access the course after you have enrolled, go to: https://canvas.instructure.com/courses/1797951

Live Streaming

To join the livestream, use this Zoom link:

https://zoom.us/j/4108472927

Classes will also be recorded and published on YouTube for later viewing.

Email

For class-related questions, please email
cnit.128sam@gmail.com

Schedule (may be revised)

DateQuiz & ProjTopic

Wed 1-15 Is Your Mobile App Secure?


Wed 1-22Quiz Ch 1 & Ch 6a due *
(M 101 & M103) or
(M 104 & M 106) due *
1. Mobile Application (In)security &
6. Analyzing Android Applications (Part 1)


Wed 1-29Quiz Ch 6b *
M 105 due *
6. Analyzing Android Applications (Part 2)

 


Wed 2-5Quiz Ch 6c *
M 107 & M 108 due *
6. Analyzing Android Applications (Part 3)


Wed 2-12Quiz Ch 7a
M 201 or M 203 due
7. Attacking Android Applications (Part 1)


Wed 2-19Quiz Ch 7b
M 204 & M 207 due
7. Attacking Android Applications (Part 2)


Wed 2-26Quiz Ch 7c
M 301 & M 302 due
7. Attacking Android Applications (Part 3)


Wed 3-4Quiz Ch 8a
M 401 due
8. Android Implementation Issues (Part 1)


Wed 3-11Quiz Ch 8b
M 402 & M 501 due
8. Android Implementation Issues (Part 2)


Wed 3-25 Holiday -- No Class

Wed 4-1Quiz Ch 8c 8. Android Implementation Issues (Part 3)


Wed 4-8Quiz Ch 9 9. Writing Secure Android Applications


Wed 4-15Quiz Ch 2ae 2. Analyzing iOS Applications (Part 1)


Wed 4-22Quiz Ch 2b 2. Analyzing iOS Applications (Part 2)


Wed 4-29Quiz Ch 3a
3. Attacking iOS Applications (Part 1)


Wed 5-6Quiz Ch 3b
3. Attacking iOS Applications (Part 2)


Wed 5-13No Quiz
All Extra Credit Projects Due
Last class: ATT&CK CTF

 


Wed 5-13 -  
Wed 5-20
Final Exam available online throughout the week.
You can only take it once.

All Quizzes due 30 min. before class
* Not counted as late until 2-12

Slides

Motivation

Is Your Mobile App Secure? (DEF CON 23, 2015) · PDF · Keynote
Passwords on a Phone (DEF CON 25, 2017) · PDF · Keynote

Introduction

1. Mobile Application (In)security · PDF · Keynote

Android

6. Analyzing Android Applications Part 1 · PDF · Keynote
Part 2 · PDF · Keynote
Part 3 · PDF · Keynote
7. Attacking Android Applications Part 1 · PDF · Keynote
Part 2 · PDF · Keynote
Part 3 · PDF · Keynote
8. Identifying and Exploiting
    Android Implementation Issues
Part 1 · PDF · Keynote
Part 2 · PDF · Keynote
Part 3 · PDF · Keynote
9. Writing Secure Android Applications · PDF · Keynote

iOS

2. Analyzing iOS Applications Part 1 · PDF · Keynote
Part 2 · PDF · Keynote
3. Attacking iOS Applications Part 1 · PDF · Keynote
Part 2 · PDF · Keynote

Links

Apple Platform Security
Apple Platform Security PDF
DVIA (Damn Vulnerable iOS App) | A vulnerable iOS app for pentesting
OWASP/owasp-masvs: The Mobile Application Security Verification Standard (MASVS) is a standard for mobile app security.
2019-12-29: Hybrid App Developers: Don't Store Your User's Passwords
Passwords are the biggest threat to GDPR compliance (Mar. 2019)
Chat app Knuddels fined 20 k Eurosunder GDPR regulation (Nov 24, 2018)
Remote logging for mobile apps (April, 2019)
From checkra1n to Frida: iOS App Pentesting Quickstart on iOS 13 -- spaceraccoon.dev
Project Zero: Remote iPhone Exploitation Part 1: Poking Memory via iMessage and CVE-2019-8641 (Jan. 2019)
Project Zero: Remote iPhone Exploitation Part 2: Bringing Light into the Darkness -- a Remote ASLR Bypass (Jan. 2019)
Project Zero: Remote iPhone Exploitation Part 3: From Memory Corruption to JavaScript and Back -- Gaining Code Execution (Jan. 2019)
Reverse-Engineering-and-Tampering iOS Apps OWASP
GDB to LLDB command map -- The LLDB Debugger
Google Maps Platform--Protecting API Keys
We reverse engineered 16k apps, here's what we found
Hands On Mobile API Security: Get Rid of Client Secrets
Why OAuth API Keys and Secrets Aren't Safe in Mobile Apps
Hey Developer, Give me your API keys.!!
HOW TO EXTRACT AN API KEY FROM A MOBILE APP BY STATIC BINARY ANALYSIS
Ch 2b: Hack in the (sand)Box
Android App Reverse Engineering 101 | Learn to reverse engineer Android applications!

          

Links from Previous Textbook

Last Updated: 5-13-20 6:61 pm