Device Architecture and App Interaction Flashcards

1
Q

What does ASLR stand for and what is it?

A

Address Space Layout Randomization

ASLR causes the memory location of code to be randomized each time the program starts. A bad memory location guess typically causes the program to crash, which restarts the program. When the program restarts, the code is randomized again.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What does AOT stand for?

A

Ahead-of-Time app compiliation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

iOS Filesystem?

A

HFSX - Hierachical File System

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

3 iOS programming languages

A

C

Objective-C

Swift

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

5 layers of iOS Boot with signature validation between each

A
  1. BootROM
  2. Low-Level Bootloader
  3. iBoot
  4. Kernal
  5. Application
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What does DEP stand for?

A

Data Execution Prevention

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is W^X?

A

W xor X - a mnemonic that memory is either writable or exectuable, but never both.

W^X is iOS’s mechanism for Data Execution Prevention

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What does ASLR stand for?

A

Address Space Layout Radmonization

ASLR causes the memory location of code to be randomized each time the program starts. A bad memory location guess typically causes the program to crash, which restarts the program. When the program restarts, the code is randomized again.

ASLR makes Return-Origented Programming (ROP) difficult

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

In iOS, what are PACs?

A

Pointer Authentication Codes

PACs are designed to prevent Return-Oriented-Programming (ROP) and Jump-Oriented-Programming (JOP) exploits by adding a Message Authentication Code (MAC) to unused space of a pointer’s memory location.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

On Android, what does ELF stand for?

A

Executable and Linkable Format

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is YAFFS?

A

Yet Another Flash File System

Old Android filesystem. Deprecated.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

5 layers of Android Boot

A
  1. BootROM
    • Signature validation
  2. Proprietary Boot Loader
    • Optional validation
  3. Linux Kernal
    • Platform Security
  4. Init Process
  5. Zygote, Dalvik, ART
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Android programming languages?

A

Java

Kotlin

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What does DEX stand for?

A

Dalvik Executable format

How well did you know this?
1
Not at all
2
3
4
5
Perfectly