Episodios

  • Course 42 - Mobile Malware Analysis Fundamentals | Episode 12: Dynamic Analysis Tools, Techniques, and Assessment
    Sep 8 2026
    This episode covers dynamic analysis of Android applications, with a strong emphasis on runtime interaction, monitoring, and debugging.1. Android Dynamic Analysis with DrozerThe episode introduces Drozer, an Android security assessment framework that allows researchers to interact with application components while they are running.Key capabilities include:
    • Establishing communication between the analysis machine and Android device using ADB port forwarding.
    • Enumerating installed packages and examining metadata such as permissions, UIDs, and package information.
    • Identifying potentially exposed attack surfaces, including:
      • Exported Activities
      • Broadcast Receivers
      • Content Providers
    • Interacting directly with application components to observe their runtime behavior.
    This makes Drozer particularly useful for discovering insecurely exposed Android components that may not be obvious through static analysis alone.2. Runtime File-System MonitoringThe episode introduces FSmon for monitoring file-system activity in real time.Researchers can observe:
    • Files being created or modified.
    • Files being deleted.
    • Changes occurring while an application executes.
    • System-level activity associated with suspicious behavior.
    The collected information can then be analyzed to determine how an application interacts with the underlying operating system.3. Network MonitoringNetwork behavior is investigated using TCPDump.The general workflow is:Android Device → TCPDump → PCAP → WiresharkCapturing traffic allows analysts to investigate:
    • Remote connections.
    • Destination IP addresses.
    • DNS activity.
    • HTTP/HTTPS communications.
    • Potential command-and-control infrastructure.
    • Data transmitted by the application.
    Network analysis is particularly valuable when static analysis reveals suspicious URLs or networking functions but does not establish exactly when or why those connections occur.4. Debugging and InstrumentationThe episode also introduces several debugging approaches:
    • GDB for remote debugging sessions.
    • Android Studio for Java-level debugging.
    • Anbug as an additional Android debugging tool.
    Debugging provides a deeper level of visibility than simple behavioral monitoring because analysts can inspect program execution and investigate what happens at specific points during runtime.5. Connecting Android and iOS AnalysisThe knowledge check reinforces that the same fundamental methodology applies across both platforms:Static Analysis → Hypothesis → Dynamic Analysis → Observation → ConfirmationFor iOS, important concepts include:
    • UIApplicationMain
    • The five application lifecycle states.
    • Method swizzling for modifying or intercepting method behavior during runtime analysis.
    For Android, the focus is on ADB, particularly commands used to:
    • Install applications.
    • Communicate with devices.
    • Forward ports for remote analysis and debugging.
    Overall TakeawayThe major lesson is that static and dynamic analysis are complementary rather than competing approaches.Static analysis tells you:“What could this application do?”Dynamic analysis tells you:“What does this application actually do?”By combining component enumeration, filesystem monitoring, network capture, debugging, and static inspection, an analyst can move from an initial suspicion to a much stronger, evidence-based understanding of a mobile application's behavior.

    You can listen and download our episodes for free on more than 10 different platforms:
    https://linktr.ee/cybercode_academy
    Más Menos
    28 m
  • Course 42 - Mobile Malware Analysis Fundamentals | Episode 11: Dynamic Analysis for iOS and Android
    Sep 7 2026
    Dynamic Mobile Malware Analysis — iOS and AndroidThis episode expands dynamic malware analysis beyond basic runtime observation and introduces process instrumentation, debugging, network capture, and automated mobile-security frameworks across both iOS and Android.The central idea is:Static analysis tells you what a sample may be capable of; dynamic analysis shows what it actually does when executed.1. iOS Dynamic AnalysisThe iOS portion focuses on three major capabilities:Runtime instrumentation with CycriptLow-level debugging with LLDBNetwork monitoring with tcpdump + Wireshark2. Process Injection with CycriptCycript allows researchers to interact with a running iOS process and inspect or manipulate Objective-C objects at runtime.Conceptually:Running Application ↓ Cycript ↓ Attach / Inject ↓ Inspect Runtime Objects ↓ Modify Properties / Invoke Methods ↓ Observe Application Response For example, an analyst can investigate UI objects and modify properties while the application is running.This is useful because it allows researchers to test hypotheses without modifying the original application binary.Possible observations include:UI changesMethod executionObject propertiesRuntime stateApplication responses to manipulated conditions3. Runtime InstrumentationThe important concept is instrumentation.Instead of simply watching the application externally, the analyst gains visibility into the application's internal runtime environment.This can help answer questions such as:Which method is being called?What arguments are being passed?Which objects are created?What happens after a specific condition is satisfied?Does the application execute hidden functionality?This makes runtime instrumentation particularly useful when static analysis identifies an interesting function but its actual behavior remains unclear.4. LLDB and Remote DebuggingThe episode then introduces LLDB, a powerful debugger used for low-level inspection.In a controlled research environment, LLDB can allow an analyst to examine:RegistersMemoryInstructionsBreakpointsProgram executionFunction addressesThis provides a significantly deeper level of visibility than high-level instrumentation.5. ASLR and Address CalculationA major challenge during binary debugging is Address Space Layout Randomization (ASLR).ASLR changes where executable components are loaded into memory.Conceptually:Static Binary Address + Runtime ASLR Slide ↓ Actual Runtime Address Therefore, an analyst may need to determine the ASLR slide before translating an address observed during static analysis into the corresponding address in the running process.This is particularly important when setting breakpoints on specific functions.6. Network Monitoring with tcpdumpDynamic analysis isn't limited to the application's process.Network behavior is often one of the strongest sources of evidence.On a controlled research device, tcpdump can capture network traffic into a PCAP file.Conceptually:iOS Malware ↓ Network Activity ↓ tcpdump ↓ PCAP ↓ Wireshark ↓ Traffic Analysis Wireshark can then help identify:Destination IP addressesDNS queriesConnection patternsProtocolsHTTP trafficSuspicious infrastructureIf traffic is unencrypted, analysts may also be able to inspect transmitted content directly.7. Android Dynamic AnalysisThe Android portion focuses heavily on creating a controlled laboratory environment.The primary components are:MobSFAndroid StudioAndroid Virtual DevicesADB8. MobSF — Automated Mobile AnalysisMobile Security Framework (MobSF) provides automated analysis capabilities for mobile applications.For an APK, it can quickly identify artifacts such as:Dangerous permissionsEmbedded URLsSuspicious stringsApplication componentsSecurity weaknessesPotential indicators of compromiseThis makes MobSF useful for initial triage.However, automated findings should be treated as leads rather than definitive conclusions.A useful workflow is:APK ↓ MobSF ↓ Automated Findings ↓ Interesting Indicators ↓ Manual Static Analysis ↓ Dynamic Analysis 9. Android Virtual DevicesAndroid Studio's Android Virtual Device (AVD) system allows researchers to create isolated Android environments for testing.A malware-analysis environment should be separated from:Personal devicesProduction systemsCorporate networksSensitive accountsImportant filesThe purpose is to reduce the consequences of accidental malware execution.10. Android Debug Bridge — ADBADB is one of the most important tools in Android security research.It provides a command-line interface for communicating with an Android device or emulator.Conceptually:Analyst ↓ ADB ↓ Android Device / Emulator ↓ Application / Files / Processes ADB can be used for tasks such as:Installing APKsRemoving applicationsAccessing a shellTransferring filesCollecting logsInspecting the deviceDebugging applicationsFor example:adb devices can verify that an Android device or emulator is available.An APK can be installed in a controlled lab ...
    Más Menos
    24 m
  • Course 42 - Mobile Malware Analysis Fundamentals | Episode 10: The Essentials of Dynamic Analysis
    Sep 6 2026
    Dynamic iOS Malware Analysis — Key Takeaways
    1. Application Entry Point
      • The standard entry point for an iOS application is UIApplicationMain.
      • It initializes the application runtime and connects the application to its App Delegate, which manages important lifecycle events.
    2. Method Swizzling
      • Method swizzling allows an analyst to intercept or replace a class method at runtime.
      • In a controlled malware-analysis environment, you can hook a method responsible for a network/environment check and alter its behavior so the application follows a different execution path.
      • This can help determine what the malware would do if the expected condition were satisfied.
    3. Languages
      • Objective-C is particularly important because iOS runtime behavior and method dispatch are heavily based on Objective-C's runtime.
      • JavaScript is useful when working with Cycript to interact with and manipulate the running process.
    Overall WorkflowStatic Analysis → Identify Interesting Method → Run in Isolated/Jailbroken Lab → Attach with Cycript → Hook/Swizzle Method → Observe Behavior → Document Network/File/System ChangesThe important conceptual transition here is that static analysis tells you what the application appears capable of doing, while dynamic analysis lets you observe what it actually does at runtime.

    You can listen and download our episodes for free on more than 10 different platforms:
    https://linktr.ee/cybercode_academy
    Más Menos
    23 m
  • Course 42 - Mobile Malware Analysis Fundamentals | Episode 9: Mastering Basic Static Analysis for Mobile Malware
    Sep 5 2026
    Mobile Malware Static Analysis — Module ConclusionThis episode serves as a knowledge check and consolidation of the basic static-analysis methodology covered across both iOS and Android. The emphasis is not on learning one particular tool, but on developing a repeatable investigation process.1. iOS Static AnalysisSeveral important tools and artifacts are reinforced.class-dumpUsed primarily to extract and inspect Objective-C class information from compiled iOS binaries.It can help reveal:ClassesMethodsInterfacesApplication structureThis gives the analyst an initial picture of how an application is organized.otoolA versatile Mach-O inspection utility.For example:otool -L application can display the application's linked dynamic libraries.Other otool options can provide additional information about the Mach-O binary, making it an important first-stage reverse-engineering tool.2. Finding the iOS ExecutableThe Info.plist contains important application metadata.One useful investigation task is determining the executable associated with the application.Conceptually:IPA ↓ Payload/ ↓ Application.app/ ↓ Info.plist ↓ CFBundleExecutable ↓ Executable Name The CFBundleExecutable value identifies the main executable associated with the application bundle.3. Android Static AnalysisOn Android, the equivalent early-stage artifact is the AndroidManifest.xml.apktool is commonly used to decode an APK so that its manifest and resources can be examined.For example:apktool d application.apk -o decoded_app The resulting manifest can reveal:ActivitiesServicesBroadcast receiversContent providersPermissionsIntent filters4. Intent FiltersA particularly important Android concept is the intent-filter.Intent filters describe the types of intents that an Android component can respond to.For example, a receiver may declare an intent associated with a particular system event.This makes intent filters useful during malware analysis because they help answer:What events is this application designed to react to?For example:Intent ↓ Matching Intent Filter ↓ Android Component ↓ Application Logic This is especially important when investigating applications that react automatically to events such as incoming messages, boot events, connectivity changes, or other system broadcasts.5. The Structured Malware-Analysis MethodologyOne of the most important lessons from the entire module is that malware analysis should follow a structured methodology rather than randomly examining files and tools.A strong workflow is:1. Define the objective ↓ 2. Preserve the sample ↓ 3. Calculate hashes ↓ 4. Search online intelligence resources ↓ 5. Identify platform and file type ↓ 6. Examine metadata ↓ 7. Analyze permissions / capabilities ↓ 8. Inspect code and binaries ↓ 9. Identify suspicious artifacts ↓ 10. Build a behavioral hypothesis ↓ 11. Validate through deeper analysis Why define the objective first?Without a specific objective, malware analysis can become extremely inefficient.For example, different questions require different investigations:What does this application do?Does it communicate with a C2 server?Does it steal SMS messages?What persistence mechanism does it use?What information does it collect?The objective determines which artifacts deserve priority.6. Hashing as an Early Triage TechniqueHashing provides a convenient way to identify a malware sample.Common hashes include:md5sum sample.apk sha256sum sample.apk The hash can then be searched in authorized threat-intelligence databases.This can potentially reveal:Previous detectionsMalware family classificationsExisting researchKnown indicatorsPrevious submissionsHowever:No detection does not equal no malware.A previously unseen sample may have no reputation whatsoever.7. Using Online ResourcesOnline intelligence sources can significantly accelerate analysis.Instead of spending hours investigating an artifact that has already been studied, researchers can search existing intelligence for:File hashesDomainsIP addressesURLsMalware familiesKnown samplesDecompiled artifactsThe important skill is knowing when to leverage existing intelligence and when to perform your own analysis.8. iOS vs. Android — Quick ComparisonAreaiOSAndroidApplication packageIPAAPKMain metadataInfo.plistAndroidManifest.xmlExecutableMach-ODEX/native librariesKey toolotoolapktoolClass inspectionclass-dumpDEX decompilersComponent analysisApp metadata/runtimeActivities, Services, Receivers, ProvidersEvent handlingiOS frameworksIntent / Intent FilterPrimary static-analysis goalUnderstand binary structureUnderstand package structure and application logic9. The Bigger PictureThe module has essentially established a complete basic static-analysis foundation for both mobile platforms.iOSIPA ↓ Info.plist ↓ Executable ↓ Mach-O Analysis ↓ class-dump / otool ↓ Strings / Symbols / Libraries ↓ Behavioral Hypothesis AndroidAPK ↓ AndroidManifest.xml ↓ Permissions / Components ↓ Intent ...
    Más Menos
    21 m
  • Course 42 - Mobile Malware Analysis Fundamentals | Episode 8: Static Analysis of Android Banking Trojans
    Sep 4 2026
    Android Basic Static Analysis — Advanced Study GuideThis episode demonstrates how to perform basic static analysis of Android applications, moving from initial malware triage to manifest analysis, code decompilation, and identification of suspicious functionality.1. Android Malware Analysis MethodologyAlthough Android and iOS have very different architectures, the fundamental malware-analysis methodology remains similar:Sample ↓ Identification ↓ Hashing ↓ Threat Intelligence ↓ Manifest Analysis ↓ Code Analysis ↓ Behavioral Hypothesis ↓ Dynamic Analysis The objective of static analysis is to understand as much as possible without executing the malware.2. Initial APK IdentificationThe first stage is to establish basic information about the APK.Useful checks include:File typeFile sizeCryptographic hashesExisting antivirus detectionsKnown threat intelligenceFor example:file "malware 2.apk" Hashing provides a stable identifier for the sample:md5sum "malware 2.apk" sha256sum "malware 2.apk" The resulting hashes can then be searched in authorized malware-intelligence services such as VirusTotal.Important principleA clean scan does not establish that an APK is safe. Static analysis should continue even when existing security engines report no detection.3. AndroidManifest.xml AnalysisThe AndroidManifest.xml is one of the most important artifacts in an Android investigation.An APK's manifest is normally stored in a compiled/binary representation, so tools such as apktool can be used to decode it into a human-readable form.For example:apktool d "malware 2.apk" -o malware_analysis The decoded project may contain:malware_analysis/ ├── AndroidManifest.xml ├── smali/ ├── res/ ├── assets/ └── ... The manifest can reveal:Application componentsActivitiesServicesBroadcast receiversContent providersIntent filtersRequested permissionsExported components4. Permission AnalysisPermissions can provide an early indication of an application's intended capabilities.In this lab, the APK requests permissions associated with:Reading SMSWriting SMSReceiving/intercepting SMSInstalling packagesRemoving packagesThis combination is particularly interesting for a purported banking application.However, permissions alone do not prove malicious behavior.A better analytical question is:Which parts of the code actually use these permissions, and for what purpose?That connects manifest analysis with code analysis.5. Identifying the Application's TargetThe investigation decodes the application's string resources and discovers that its name translates from Korean to "smart banking."This provides an important contextual clue.Combined with the SMS-related permissions, the analyst can begin developing a hypothesis:Korean Banking Theme + SMS Access + Device Information ↓ Potential Banking-Focused Malware The hypothesis should then be tested against the application's actual code and behavior.6. DEX AnalysisAndroid applications typically contain compiled code in DEX (Dalvik Executable) format.The primary file is often:classes.dex Static analysis can involve converting DEX bytecode into a more readable representation.A traditional workflow demonstrated in the episode is:classes.dex ↓ dex2jar ↓ JAR / Java representation ↓ JD-GUI / JEB / Procyon ↓ Pseudo-source code The resulting code is not necessarily identical to the original source code, but it can provide a useful approximation of the application's logic.7. Why Decompilation MattersManifest analysis tells you what the application declares.Decompilation helps determine what the application actually does.For example:Manifest: READ_SMS RECEIVE_SMS ↓ Code: SMSReceiver ↓ Extract SMS information ↓ Process information ↓ Potential network communication This correlation is much stronger evidence than simply observing a suspicious permission.8. SMSReceiver InvestigationOne of the most significant findings in the lab is the SMSReceiver class.A broadcast receiver associated with SMS functionality deserves particular attention because SMS can contain:Authentication codesBanking notificationsAccount alertsPassword-reset messagesTwo-factor authentication codesThe analyst therefore investigates what the receiver actually does with incoming messages.9. Device ProfilingThe SMSReceiver analysis also reveals functionality for collecting information about the device, including:SIM-related informationTelephone informationDevice characteristicsThis creates a stronger behavioral picture:SMSReceiver │ ├── Access SMS │ ├── Gather SIM information │ ├── Gather telephone information │ └── Network communication This behavior is considerably more suspicious when combined with the application's banking theme.10. Suspicious Network InfrastructureThe analysis identifies a connection to:banking1.catcat.net This domain becomes an important indicator of compromise (IOC) and a potential focus for further investigation.At this stage, the ...
    Más Menos
    21 m
  • Course 42 - Mobile Malware Analysis Fundamentals | Episode 7: Malware Tools and Practical Lab Walkthrough
    Sep 3 2026
    iOS Basic Static Analysis — Advanced Study GuideThis episode moves from the fundamentals of iOS malware analysis into hands-on static binary analysis, demonstrating how command-line utilities and reverse-engineering tools can reveal valuable information without executing the malware.1. otool — Inspecting Mach-O Binariesotool is one of the most useful command-line utilities for examining Apple Mach-O binaries.A particularly important option is:otool -L application This displays the dynamic libraries linked by the executable.Analyzing these libraries can provide early clues about the application's functionality and dependencies.For example, an analyst may investigate whether an application relies on libraries associated with:NetworkingCryptographyUser interfacesSystem servicesOther potentially interesting functionality2. nm — Examining SymbolsThe nm utility displays symbols contained within a binary.This can help analysts identify:FunctionsGlobal symbolsExternal referencesPotentially interesting APIsSearching symbols for security-sensitive functions can provide useful leads for further investigation.The important principle is:Symbols don't prove malicious behavior, but they can help identify where to investigate.3. Identifying Objective-C vs. SwiftThe language used to develop an iOS application can sometimes be inferred from characteristics of its compiled binary.Objective-CObjective-C applications commonly expose recognizable:Class namesMethod namesObjective-C runtime metadataSelector informationSwiftSwift uses name mangling, meaning function and symbol names may appear in encoded or transformed forms.Older Swift binaries can contain recognizable mangling patterns such as _T.However, analysts should avoid relying on a single indicator because modern binaries can contain a mixture of:SwiftObjective-CC/C++Third-party frameworks4. Class DumpingClass-dumping tools can help reconstruct information about Objective-C classes from compiled binaries.Conceptually:Mach-O Binary ↓ Objective-C Metadata ↓ Classes / Methods ↓ Potential Application Logic This can give an analyst an initial understanding of the application's internal architecture without immediately performing full reverse engineering.5. Disassembly and Reverse EngineeringFor deeper analysis, tools such as Hopper and IDA Pro can be used to examine the binary at the assembly level.A typical workflow is:IPA ↓ Mach-O Executable ↓ Disassembly ↓ Functions ↓ Control-Flow Analysis ↓ Decompilation ↓ Behavioral Understanding These tools can help researchers:Locate functionsSearch stringsFollow cross-referencesVisualize control flowExamine assembly instructionsGenerate higher-level pseudocodeThe goal isn't simply to read assembly—it is to reconstruct the program's logic.6. Initial Malware TriageBefore performing extensive analysis, the episode demonstrates basic malware triage.A useful first step is generating a cryptographic hash of the sample.For example:md5 malware.ipa The resulting hash can be used as a sample identifier when checking authorized malware-intelligence resources.The general workflow is:Sample ↓ Hash ↓ Threat Intelligence Lookup ↓ Existing Detections / Reputation ↓ Initial Context A hash lookup can provide useful context, but a lack of detections does not mean that the file is safe.7. Extracting the IPAAn IPA can be extracted to expose its internal application structure.Conceptually:malware.ipa ↓ Payload/ ↓ malware.app/ ├── executable ├── Info.plist ├── Frameworks/ └── Resources/ The executable and Info.plist are particularly valuable during initial triage.8. Analyzing Info.plistThe episode uses plutil to inspect the application's property-list information.For example:plutil -p Info.plist The analyst can use this information to investigate:Bundle identifierApplication metadataExecutable nameApplication configurationSupported capabilitiesPotentially suspicious settings9. Hidden Application BehaviorOne particularly interesting discovery in the lab is the discrepancy between the executable's internal identity and how the application presents itself to the user.The executable is associated with "no icon", while the application presents itself as "passbook" and contains configuration indicating a hidden icon.This type of inconsistency is valuable during malware triage because it raises questions about the application's intended behavior.An analyst should ask:Why is the application attempting to hide?Why does its internal naming differ from its apparent identity?What functionality is being concealed?Does the application attempt to maintain persistence?What happens when it executes?These questions form the basis of the behavioral hypothesis.10. String AnalysisExtracting strings from a binary is another useful early-stage technique.Conceptually:Binary ↓ Strings ↓ URLs IPs File Paths Commands Configuration Identifiers ↓ Behavioral Hypothesis Strings can reveal:DomainsURLsIP addressesFile ...
    Más Menos
    21 m
  • Course 42 - Mobile Malware Analysis Fundamentals | Episode 6: The Evolution and Methodology of iOS Malware Attacks
    Sep 2 2026
    iOS Malware Analysis — Key TakeawaysThis episode introduces the fundamentals of iOS malware analysis, combining the historical evolution of mobile threats with the methodology used by security researchers to investigate them.1. Understanding Mobile MalwareMobile malware is malicious software designed to disrupt devices, steal information, gain unauthorized access, or perform malicious actions. Common categories include:
    • Ransomware
    • Banking Trojans
    • SMS-based malware
    • Spyware
    • Backdoors
    2. Evolution of iOS MalwareThe episode examines major milestones in the history of iOS threats:
    • Ikee (2009): An early worm targeting jailbroken iPhones, demonstrating how removing Apple's security restrictions could increase exposure.
    • XcodeGhost (2015): A major supply-chain attack in which malicious versions of Apple's development environment were used to inject malicious code into otherwise legitimate applications.
    The broader lesson is that attackers do not necessarily need to compromise iOS directly; they can target developers, applications, distribution mechanisms, or users.3. Major iOS Attack VectorsiOS malware can reach victims through several mechanisms:
    • Social engineering: Tricking users into installing or executing malicious software.
    • Software vulnerabilities: Exploiting weaknesses in iOS or applications.
    • Enterprise certificates: Abusing legitimate enterprise distribution mechanisms.
    • Repackaged applications: Taking legitimate applications, inserting malicious code, and redistributing them.
    This demonstrates an important security principle: the security of the operating system is only one part of the overall attack surface.4. Malware Analysis MethodologyMalware analysis is presented as both a structured technical process and an investigative discipline.A researcher should first establish:
    1. What do I want to determine?
    2. What evidence do I need?
    3. What analysis techniques should I use?
    4. How can I perform the investigation safely?
    Safety is especially important when dealing with unknown malware. Analysis should take place inside isolated environments, with appropriate precautions for potentially malicious files.5. Static AnalysisThe episode introduces static analysis as an initial step before executing malware.The objective is to examine the application without running it and identify useful artifacts such as:
    • URLs
    • IP addresses
    • C2 infrastructure
    • File paths
    • Embedded strings
    • Configuration information
    • Suspicious code or components
    These artifacts help the analyst construct an initial hypothesis about the malware's behavior.Core TakeawayThe central idea is that iOS malware analysis starts with understanding the ecosystem and attack surface, then progresses toward evidence-driven investigation.The typical progression is:Malware discovery → Safe preservation → Static analysis → Artifact identification → Behavioral hypothesis → Dynamic analysisUnderstanding historical threats such as Ikee and XcodeGhost also demonstrates how attackers continually adapt when operating-system security mechanisms become stronger.

    You can listen and download our episodes for free on more than 10 different platforms:
    https://linktr.ee/cybercode_academy
    Más Menos
    23 m
  • Course 42 - Mobile Malware Analysis Fundamentals | Episode 5: Fundamentals, App Structure, and Knowledge Review
    Sep 1 2026
    Android Security & APK Architecture — Advanced Study Template1. Android Security ModelAndroid security is built around several fundamental objectives:- Protecting user and application data- Isolating applications from one another- Controlling privileges- Providing secure inter-process communication- Restricting unauthorized access to system resourcesThe architecture combines traditional Linux security mechanisms with Android-specific controls.2. Linux FoundationAndroid is built on the Linux kernel, which provides fundamental capabilities such as:- Process management- Memory management- Networking- Device drivers- Filesystem access- User and group permissionsAndroid builds additional security mechanisms on top of these Linux primitives.3. Android Application SandboxOne of Android's most important security mechanisms is the application sandbox.Applications normally execute under distinct Linux identities, which limits their ability to interact with other applications.Conceptually:Android System │ ┌────┼────┐ │ │ │ App A App B App C │ │ │ UID A UID B UID C │ │ │ Sandbox Sandbox Sandbox This isolation helps prevent a compromised application from automatically accessing another application's private data.Security principleCompromise of one application should not automatically imply compromise of every application on the device.4. SELinuxAndroid also uses SELinux (Security-Enhanced Linux) to provide Mandatory Access Control (MAC).This adds another layer beyond traditional Linux discretionary permissions.Conceptually:Application Request ↓ Linux Permissions ↓ SELinux Policy ↓ Allow / Deny Even if a process has certain Linux-level permissions, SELinux policies can impose additional restrictions on what that process is allowed to do.5. Android Application Package — APKAndroid applications are distributed primarily as APK files.An APK is an archive containing the application's:- Compiled code- Resources- Manifest- Assets- Configuration- Supporting componentsA simplified structure looks like:Application.apk │ ├── AndroidManifest.xml ├── classes.dex ├── resources.arsc ├── res/ ├── assets/ ├── lib/ └── META-INF/ For malware analysts, understanding this structure is fundamental.6. AndroidManifest.xmlThe Android Manifest is one of the most important files during APK analysis.It can contain information about:- Package identity- Application components- Permissions- Services- Activities- Broadcast receivers- Content providers- Intent filters- Application configurationMalware-analysis perspectiveThe manifest is often an excellent first point of investigation.For example, suspicious permissions or unexpected exported components can provide early indicators worth investigating further.7. ActivitiesAn Activity generally represents a user-facing application component.Examples include:- Login screens- Settings screens- Main application interfaces- FormsActivities define how users interact with the application.Security relevanceAn analyst may examine:- Exported activities- Intent filters- Deep links- Input handling- Inter-component communication8. ServicesServices perform operations that may continue without a conventional foreground UI.They can be used for tasks such as:- Background processing- Network operations- Synchronization- Long-running application tasksMalware relevanceMalware may attempt to use background components to maintain functionality while minimizing visible user interaction.9. IntentsIntents are messaging objects used to request actions or communicate between Android components.They can facilitate communication between:- Activities- Services- Broadcast receivers- Other applicationsConceptually:Component A │ │ Intent ▼ Component B Security relevancePoorly protected component interfaces can sometimes create security issues involving unauthorized interaction or data exposure.10. Broadcast ReceiversBroadcast Receivers respond to broadcast messages generated by the system or applications.They can be used to react to events such as:- System state changes- Application events- Connectivity-related events- Other broadcastsFrom a malware-analysis perspective, receivers can be interesting because they may reveal how an application responds to specific system events.11. DEX FilesAndroid applications contain compiled bytecode in DEX (Dalvik Executable) format.The primary file is commonly:classes.dex Additional DEX files may appear when an application contains enough code to require multiple files.The code is executed through Android's runtime environment.12. Dalvik vs. ARTHistorically, Android applications ran using the Dalvik Virtual Machine (DVM).Modern Android uses the Android Runtime (ART).Older Android ↓ Dalvik ↓ classes.dex Modern Android ↓ ART ↓ classes.dex Understanding this distinction is important when studying older Android malware samples versus modern applications.13. Content ProvidersContent ...
    Más Menos
    26 m