Mobile OS Flashcards
Let's face the new challenges in palms
In the Android OS architecture, which layer do user applications reside in?
a) Kernel Space
b) User Space
c) Middleware Layer
d) Hardware Platform
Answer: b) User Space
Explanation:
User applications, including both default and third-party apps, operate in the User Space of the Android OS architecture.
What is the primary function of sandboxing in mobile OS security?
a) To speed up application performance
b) To allow apps to access all system resources
c) To isolate applications and limit their access to system resources
d) To provide a user interface for the OS
Answer: c) To isolate applications and limit their access to system resources
Explanation:
Sandboxing is a security mechanism that isolates applications, restricting their access to system resources to prevent malicious actions.
Android applications can be written in:
a) Only Java
b) Java and C++
c) Only C++
d) Assembly language
Answer: b) Java and C++
Explanation:
While Android apps are primarily written in Java, developers can also include native code using C++ via the Java Native Interface (JNI).
Which component of the Android middleware layer is responsible for starting applications?
a) Package Manager
b) Activity Manager
c) Android Runtime
d) Native Libraries
Answer: b) Activity Manager
Explanation:
The Activity Manager is responsible for starting and managing applications within the Android OS.
What is a UID in the context of Android app sandboxing?
a) User Interface Design
b) Unique Identifier
c) Universal Input Device
d) Unit of Instruction
Answer: b) Unique Identifier
Explanation:
Android assigns a Unique Identifier (UID) to each app, which is used to enforce sandboxing at the process level.
Which layer of the Android software stack contains the Dalvik Virtual Machine (DVM)?
a) Application Layer
b) Middleware Layer
c) Kernel Layer
d) Hardware Platform
Answer: b) Middleware Layer
Explanation:
The Dalvik Virtual Machine is a key component of the Android Runtime, which is part of the Middleware Layer.
What is the file format that the Dalvik Virtual Machine (DVM) runs?
a) .exe
b) .apk
c) .dex
d) .jar
Answer: c) .dex
Explanation:
The DVM executes files in the “.dex” format, which is optimized for embedded environments.
What does the Android Reference Monitor mediate access to?
a) CPU and RAM
b) User applications
c) Critical services like SMS and Contacts
d) Network drivers
Answer: c) Critical services like SMS and Contacts
Explanation:
The Reference Monitor in the Application Framework mediates access requests to critical services based on permissions.
In Android, each application is isolated in its own:
a) Kernel
b) Virtual Machine
c) Sandbox
d) Activity
Answer: c) Sandbox
Explanation:
Android employs sandboxing to isolate applications from each other and the system.
At what level is sandboxing enforced in Android?
a) Application Layer
b) Middleware Layer
c) Linux Kernel Level
d) Hardware Level
Answer: c) Linux Kernel Level
Explanation: Sandboxing in Android is enforced by the underlying Linux kernel.
What is the purpose of assigning a unique User ID (UID) to each Android app?
a) To identify the app developer
b) To manage app installations
c) To isolate app processes
d) To optimize app performance
Answer: c) To isolate app processes
Explanation:
UIDs are used to isolate app processes from each other, enhancing security.
Where is each Android app’s private data directory located?
a) In the root directory
b) In a shared public directory
c) In its own dedicated data directory
d) In the Dalvik VM
Answer: c) In its own dedicated data directory
Explanation:
Each app has its own private data directory to store its data, as part of the filesystem-level sandboxing.
What type of attack occurs when an application with fewer permissions gains unauthorized access to components of a more privileged application?
a) Denial of Service attack
b) Buffer Overflow attack
c) Privilege Escalation attack
d) Man-in-the-Middle attack
Answer: c) Privilege Escalation attack
Explanation:
A privilege escalation attack involves an app gaining more permissions than it should have, allowing it to access sensitive resources.
Which of the following is NOT a component of an Android application?
a) Activities
b) Services
c) Intents
d) Broadcast receivers
Answer: c) Intents
Explanation:
Activities, services, broadcast receivers, and content providers are the four main components.
Intents are used to communicate between these components.
What does the Package Manager in Android’s Application Framework handle?
a) Starting applications
b) Installing and managing permissions and applications
c) Running virtual machines
d) Managing network connections
Answer: b) Installing and managing permissions and applications
Explanation:
The Package Manager is responsible for the installation, management, and permissions of applications.
Which of the following is a key aspect of Android’s security framework?
a) Lack of application isolation
b) Discretionary Access Control (DAC) to the file system
c) No code signing
d) Open access to all system resources
Answer: b) Discretionary Access Control (DAC) to the file system
Explanation:
Android’s security framework includes application isolation, a permission framework, and DAC to the file system.
How does Android ensure code integrity?
a) By relying on user verification
b) By signing system code with Google’s key and applications with developer keys
c) By having no code signing process
d) By using hardware-based security
Answer: b) By signing system code with Google’s key and applications with developer keys
Explanation:
Android ensures code integrity by requiring system code to be signed by Google and applications to be signed by developers.
What is the purpose of the Dalvik Virtual Machine (DVM) in Android?
a) To manage hardware resources
b) To run applications
c) To handle network connections
d) To manage file systems
Answer: b) To run applications
Explanation:
The DVM is a virtual machine optimized for mobile devices that executes Android applications.
Which of the following is true about Android application sandboxing?
a) It allows any app to access any resource.
b) It is primarily enforced at the application layer.
c) It restricts apps to their own resources and permissions.
d) It is not applied to native applications.
Answer: c) It restricts apps to their own resources and permissions.
Explanation:
Android sandboxing limits apps to their own resources and the permissions granted to them.
Question: What is the role of the Linux kernel in Android’s security model?
a) To manage user interface
b) To enforce sandboxing
c) To run the Dalvik VM
d) To handle application installation
Answer: b) To enforce sandboxing
Explanation:
The Linux kernel is responsible for enforcing the sandboxing of Android applications.
Name the two primary levels at which Android enforces sandboxing.
Process level and filesystem level
What is the purpose of assigning a Unique ID (UID) to each Android application?
To run each app as a separate process and isolate it from other apps.
What is the Dalvik Virtual Machine (DVM), and what type of files does it execute?
A virtual machine optimized for embedded environments that executes .dex files.
What are the four main components of an Android application?
Activities,
Services,
Broadcast Receivers,
and Content Providers.