ASM CH3 - Implementation of ASM

First thing first, the core principles of ASM, are:

  1. Defense in depth (DiD)
    In brief, DiD means adopint many aspects of protections to make the object secure. For example, if you want to steal the private data in Android, first you need to root the device, then let’s say after that you only need to decrypt the encrypted data. So in this case, we protect the data through 2 different aspects, one is rooting, the other is data encryption, this is called DiD.

    Take one more example. Consider you have two types of ways to unlock your screen, one is using the 4 digits password, or using your biometric feature such as fingerprint or face recognization. Then this is not DiD.

    So the difference between these two cases are that, if a hacker break one protection, here’s another one still working and the hacker can not achieve his goal, then DiD.

  2. Safe by design/default (SbD)
    The default use of an operating system component or service should always protect security and privacy assumptions.

The following security mechanism we are going to introduce can be categorized into the two core principles above.

Principle Sub-Chapter
Defense in depth 3.3 isolation and containment
3.6 exploit mitigation
3.7 integrity
3.8 patching/updates
3.9 cellular security (special case)
Safe by design 3-1 enforced authorization
3.2 user authentication
3.4 by-default encryption at rest
3.5 in transit

3.1 Enforced authorization (Ongoing)

Enforcing meaningful consent in authorization decisions.

3.2 User authentication (Ongoing)

3.3 Isolation and containment (Ongoing)

3.4 By-default encryption at rest (Ongoing)

Encrypt data at rest.

3.5 In transit (Ongoing)

Encrypt data in transit.

3.6 Exploit mitigation (Ongoing)

3.7 Integrity (Ongoing)

3.8 Patching/Updates (Ongoing)

3.9 Cellular network security (Ongoing)