Android is a software stack for mobile devices that includes an operating system, middleware and key applications. It features an app development platform using Java and XML, a virtual machine called Dalvik, and integrated development tools. The history of Android began in the early 2000s when Google acquired Android Inc., which was founded to develop an open mobile platform. Key aspects of developing Android apps include activities, services, broadcast receivers and content providers as app components, and using intents to activate components. Apps are built as packages (APKs) containing code, resources and metadata.
An absolute beginners guide to node.js . Done for a presentation at college. The presentation contains data from various sources ,sources are noted at the end slide. please inform me any mistakes ,since at that time i was in a bit of hurry :)
Advanced Evasion Techniques by Win32/GapzAlex Matrosov
?
The document discusses advanced evasion techniques used by the Win32/Gapz malware. It describes how Gapz uses droppers, bootkits, and rootkit functionality for stealthy infection. The dropper uses PowerLoader and code injection into explorer.exe to bypass detection. The bootkit modifies the MBR and VBR to load at early boot stages. The rootkit implements hidden storage, process injection, and covert network communication channels.
slideshow: /ssuser9b325a/docker-101-144718472
This is an introduction to docker in Vietnamese language
In this document
- Introduction to docker
- Docker network
- Demo scenario
際際滷 show:
/ssuser9b325a/docker-101-144718472
This document discusses hacking and securing iOS applications. It begins by covering iOS security concepts and loopholes, then discusses how those loopholes can affect apps and allow easy theft of app data. The remainder of the document provides guidance on how to protect apps by securing local storage locations, runtime analysis, and transport security. Key recommendations include encrypting sensitive data, using data protection APIs, restricting access to private data, and properly validating SSL certificates.
There are many books, articles and paper publications about Android and related applications but only a few are related to how Android operating system works internally.In this talk we will see how android boots up , an overview of zygote , how system server and package manager works. This talk will be extremely helpful to foster understanding among android developers about Android Internals as well as everybody else who desires a general understanding of the internal working of Android powered devices.
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...Edureka!
?
This Edureka "Node.js tutorial" will help you to learn the Node.js fundamentals and how to create an application in Node.js. Node.js is an open-source, cross-platform JavaScript runtime environment for developing a diverse variety of server tools and applications. Below are the topics covered in this tutorial:
1) Client Server Architecture
2) Limitations of Multi-Threaded Model
3) What is Node.js?
4) Features of Node.js
5) Node.js Installation
6) Blocking Vs. Non C Blocking I/O
7) Creating Node.js Program
8) Node.js Modules
9) Demo C Grocery List Web Application using Node.js
NodeJS is an open source, cross platform run time environment for server side and networking application. NodeJS is popular in development because front & back end side both uses JavaScript Code.
This talk outlines the features in containerd 1.1 smart client: I/O redirection from the client side, containerd namespaces to leverage a single runtime instance with a logical isolation from multiple clients (Kubernetes, Docker Engine, other systems), and containers as types in Golang when using containerd Go client library.
Additionally, it explains all the performance improvements brought by BuildKit, and the capabilities that it opens up because of it's modular architecture, enabling open source developers who create new build systems using BuildKit directly to create new front ends.
This document provides an overview of Android internals through a series of topics:
1. It describes key Android concepts like components, intents, and the manifest file.
2. It outlines the overall Android architecture including system startup processes like the bootloader, kernel, init, zygote and system server.
3. It covers various aspects of the Android system like the Linux kernel customizations, native user-space environment, Dalvik VM, and Java Native Interface.
4. It also profiles important system-level components like the system server, activity manager, and Binder IPC mechanism.
The document discusses finding and analyzing iOS kernel bugs through fuzzing techniques. It begins by providing background on the iOS kernel structure based on XNU and OSX. It then summarizes two known iOS kernel bugs from the past that involved integer overflows and type conversions. The document goes on to describe passive and active fuzzing approaches that can be used to find new bugs, including hooking kernel functions to fuzz parameters. It also provides tips on reversing iOS kernel extensions and debugging the kernel. Finally, it analyzes examples of bugs found through fuzzing and how to understand the crash causes and trigger paths through static analysis and debugging.
Kotlin - scope functions and collectionsWei-Shen Lu
?
This document provides an overview of scope functions and collections in Kotlin. It discusses scope functions like apply, let, run, with, and also, as well as collection functions like takeIf and takeUnless. It then covers Kotlin collections including Lists, Sets, Maps, and the Collection interface. It discusses list-specific operations and mutable collections. It also demonstrates converting between collections and using distinct() to remove duplicates.
Linux Kernel Booting Process (1) - For NLKBshimosawa
?
Describes the bootstrapping part in Linux and some related technologies.
This is the part one of the slides, and the succeeding slides will contain the errata for this slide.
Klee and Angr are tools for symbolic execution. Klee is a symbolic virtual machine that executes programs symbolically and generates test cases by solving constraints. It works on LLVM bitcode. Angr is a Python framework for analyzing binaries using static and dynamic symbolic analysis. It lifts binaries into an intermediate representation called VEX to analyze machine code across architectures. Both tools explore all paths in a program and solve path constraints to generate inputs that execute each path.
Containerd Internals: Building a Core Container RuntimePhil Estes
?
Containerd Internals: Building a Core Container Runtime discusses the architecture and internals of Containerd. It provides a brief history of Containerd and explains its goals of providing a clean API, full OCI support, and decoupled components. It describes Containerd's components like runtimes, storage, and snapshots. It then explains the processes of pulling an image, starting a container, and getting Prometheus metrics.
The document discusses Linux device trees and how they are used to describe hardware configurations. Some key points:
- A device tree is a data structure that describes hardware connections and configurations. It allows the same kernel to support different hardware.
- Device trees contain nodes that represent devices, with properties like compatible strings to identify drivers. They describe things like memory maps, interrupts, and bus attachments.
- The kernel uses the device tree passed by the bootloader to identify and initialize hardware. Drivers match based on compatible properties.
- Device tree files with .dts extension can be compiled to binary blobs (.dtb) and overlays (.dtbo) used at boot time to describe hardware.
The document discusses the history and development of the Document Object Model (DOM) from its early implementations in 1995 to modern standards. It outlines key milestones like DOM Level 1 in 1998, the rise of JavaScript frameworks like Prototype, jQuery and MooTools in 2005-2006, and ongoing work by the W3C and WHATWG. The talk will explore security issues that can arise from the DOM's ability to convert strings to executable code and demonstrate an attack technique called DOM clobbering.
Apresenta??o realizada na disciplina de Aplica??es Corporativas como cumprimento do curso de Sistemas para Internet do Unip┷ (Centro Universit│rio de Jo?o Pessoa)
Booting Android: bootloaders, fastboot and boot imagesChris Simmonds
?
This document discusses booting Android devices. It covers Android boot images, bootloaders, fastboot protocol, and file systems used for different types of flash memory in Android devices. The key topics covered include bootloaders loading the boot and recovery images, the fastboot protocol for flashing and debugging, and file systems like ext4, f2fs, yaffs2 used on different flash chips like eMMC, SD cards, and raw NAND flash.
Coroutines allow writing asynchronous code in a sequential manner by suspending execution until an asynchronous operation completes. The document discusses how coroutines can be used to simplify asynchronous code for an order processing use case that involves retrieving user, address, product, and store data from repositories. It shows how coroutines eliminate nested subscriptions by suspending until asynchronous operations like retrieving a user or address complete before continuing execution sequentially. The Kotlin compiler converts coroutine code into recursive functions implementing a finite state machine to simulate sequential execution across asynchronous operations.
Arm device tree and linux device driversHoucheng Lin
?
This document discusses how the Linux kernel supports different ARM boards using a common source code base. It describes how device tree is used to describe hardware in a board-agnostic way. The kernel initializes machine-specific code via the device tree and initializes drivers by matching compatible strings. This allows a single kernel binary to support multiple boards by abstracting low-level hardware details into the device tree rather than the kernel source. The document also contrasts the ARM approach to the x86 approach, where BIOS abstraction and standardized buses allow one kernel to support most x86 hardware.
Evolving to serverless
How the applications are transforming
A note on CI/CD
Architecture of Docker
Setting up a docker environment
Deep dive into DockerFile and containers
Tagging and publishing an image to docker hub
A glimpse from session one
Services: scale our application and enable load-balancing
Swarm: Deploying application onto a cluster, running it on multiple machines
Stack: A stack is a group of interrelated services that share dependencies, and can be orchestrated and scaled together.
Deploy your app: Compose file works just as well in production as it does on your machine.
Extras: Containers and VMs together
There are many books, articles and paper publications about Android and related applications but only a few are related to how Android operating system works internally.In this talk we will see how android boots up , an overview of zygote , how system server and package manager works. This talk will be extremely helpful to foster understanding among android developers about Android Internals as well as everybody else who desires a general understanding of the internal working of Android powered devices.
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...Edureka!
?
This Edureka "Node.js tutorial" will help you to learn the Node.js fundamentals and how to create an application in Node.js. Node.js is an open-source, cross-platform JavaScript runtime environment for developing a diverse variety of server tools and applications. Below are the topics covered in this tutorial:
1) Client Server Architecture
2) Limitations of Multi-Threaded Model
3) What is Node.js?
4) Features of Node.js
5) Node.js Installation
6) Blocking Vs. Non C Blocking I/O
7) Creating Node.js Program
8) Node.js Modules
9) Demo C Grocery List Web Application using Node.js
NodeJS is an open source, cross platform run time environment for server side and networking application. NodeJS is popular in development because front & back end side both uses JavaScript Code.
This talk outlines the features in containerd 1.1 smart client: I/O redirection from the client side, containerd namespaces to leverage a single runtime instance with a logical isolation from multiple clients (Kubernetes, Docker Engine, other systems), and containers as types in Golang when using containerd Go client library.
Additionally, it explains all the performance improvements brought by BuildKit, and the capabilities that it opens up because of it's modular architecture, enabling open source developers who create new build systems using BuildKit directly to create new front ends.
This document provides an overview of Android internals through a series of topics:
1. It describes key Android concepts like components, intents, and the manifest file.
2. It outlines the overall Android architecture including system startup processes like the bootloader, kernel, init, zygote and system server.
3. It covers various aspects of the Android system like the Linux kernel customizations, native user-space environment, Dalvik VM, and Java Native Interface.
4. It also profiles important system-level components like the system server, activity manager, and Binder IPC mechanism.
The document discusses finding and analyzing iOS kernel bugs through fuzzing techniques. It begins by providing background on the iOS kernel structure based on XNU and OSX. It then summarizes two known iOS kernel bugs from the past that involved integer overflows and type conversions. The document goes on to describe passive and active fuzzing approaches that can be used to find new bugs, including hooking kernel functions to fuzz parameters. It also provides tips on reversing iOS kernel extensions and debugging the kernel. Finally, it analyzes examples of bugs found through fuzzing and how to understand the crash causes and trigger paths through static analysis and debugging.
Kotlin - scope functions and collectionsWei-Shen Lu
?
This document provides an overview of scope functions and collections in Kotlin. It discusses scope functions like apply, let, run, with, and also, as well as collection functions like takeIf and takeUnless. It then covers Kotlin collections including Lists, Sets, Maps, and the Collection interface. It discusses list-specific operations and mutable collections. It also demonstrates converting between collections and using distinct() to remove duplicates.
Linux Kernel Booting Process (1) - For NLKBshimosawa
?
Describes the bootstrapping part in Linux and some related technologies.
This is the part one of the slides, and the succeeding slides will contain the errata for this slide.
Klee and Angr are tools for symbolic execution. Klee is a symbolic virtual machine that executes programs symbolically and generates test cases by solving constraints. It works on LLVM bitcode. Angr is a Python framework for analyzing binaries using static and dynamic symbolic analysis. It lifts binaries into an intermediate representation called VEX to analyze machine code across architectures. Both tools explore all paths in a program and solve path constraints to generate inputs that execute each path.
Containerd Internals: Building a Core Container RuntimePhil Estes
?
Containerd Internals: Building a Core Container Runtime discusses the architecture and internals of Containerd. It provides a brief history of Containerd and explains its goals of providing a clean API, full OCI support, and decoupled components. It describes Containerd's components like runtimes, storage, and snapshots. It then explains the processes of pulling an image, starting a container, and getting Prometheus metrics.
The document discusses Linux device trees and how they are used to describe hardware configurations. Some key points:
- A device tree is a data structure that describes hardware connections and configurations. It allows the same kernel to support different hardware.
- Device trees contain nodes that represent devices, with properties like compatible strings to identify drivers. They describe things like memory maps, interrupts, and bus attachments.
- The kernel uses the device tree passed by the bootloader to identify and initialize hardware. Drivers match based on compatible properties.
- Device tree files with .dts extension can be compiled to binary blobs (.dtb) and overlays (.dtbo) used at boot time to describe hardware.
The document discusses the history and development of the Document Object Model (DOM) from its early implementations in 1995 to modern standards. It outlines key milestones like DOM Level 1 in 1998, the rise of JavaScript frameworks like Prototype, jQuery and MooTools in 2005-2006, and ongoing work by the W3C and WHATWG. The talk will explore security issues that can arise from the DOM's ability to convert strings to executable code and demonstrate an attack technique called DOM clobbering.
Apresenta??o realizada na disciplina de Aplica??es Corporativas como cumprimento do curso de Sistemas para Internet do Unip┷ (Centro Universit│rio de Jo?o Pessoa)
Booting Android: bootloaders, fastboot and boot imagesChris Simmonds
?
This document discusses booting Android devices. It covers Android boot images, bootloaders, fastboot protocol, and file systems used for different types of flash memory in Android devices. The key topics covered include bootloaders loading the boot and recovery images, the fastboot protocol for flashing and debugging, and file systems like ext4, f2fs, yaffs2 used on different flash chips like eMMC, SD cards, and raw NAND flash.
Coroutines allow writing asynchronous code in a sequential manner by suspending execution until an asynchronous operation completes. The document discusses how coroutines can be used to simplify asynchronous code for an order processing use case that involves retrieving user, address, product, and store data from repositories. It shows how coroutines eliminate nested subscriptions by suspending until asynchronous operations like retrieving a user or address complete before continuing execution sequentially. The Kotlin compiler converts coroutine code into recursive functions implementing a finite state machine to simulate sequential execution across asynchronous operations.
Arm device tree and linux device driversHoucheng Lin
?
This document discusses how the Linux kernel supports different ARM boards using a common source code base. It describes how device tree is used to describe hardware in a board-agnostic way. The kernel initializes machine-specific code via the device tree and initializes drivers by matching compatible strings. This allows a single kernel binary to support multiple boards by abstracting low-level hardware details into the device tree rather than the kernel source. The document also contrasts the ARM approach to the x86 approach, where BIOS abstraction and standardized buses allow one kernel to support most x86 hardware.
Evolving to serverless
How the applications are transforming
A note on CI/CD
Architecture of Docker
Setting up a docker environment
Deep dive into DockerFile and containers
Tagging and publishing an image to docker hub
A glimpse from session one
Services: scale our application and enable load-balancing
Swarm: Deploying application onto a cluster, running it on multiple machines
Stack: A stack is a group of interrelated services that share dependencies, and can be orchestrated and scaled together.
Deploy your app: Compose file works just as well in production as it does on your machine.
Extras: Containers and VMs together
This presentation start from basic concept such as container and container orchestration
And then go through Kubernetes internal especially Master Node components and Work Node components and show and explain core mechanism with codes.
???? ???? ??????? ? ???? ?? ? ????? ?? ??? ??? ???? | Learn more about the features and components of each service, starting with a Docker and ending with Kubernetes.
28. Windows Integrity
? Windows? ?? ????? ??? ??? ?? ??? ?? ?
?
? UNTRUSTED - Anonymous
? LOW C Everyone, can not access to local resources
? MEDIUM C Authenticated Users
? HIGH C Administrators
? SYSTEM C LocalSystem, LocalService...
29. HackSysExtremeVulnerableDriver
? Hacksysteam?? ??? ???? ?? ???? ?????
??? ? ? ?? ?? Driver
Double Fetch
Pool Overflow
Use After Free
Uninitialized Heap Variable
Uninitialized Stack Variable
Insecure Kernel Resource Access
Stack Overflow
Stack Overflow GS
Arbitrary Overwrite
Null Pointer Dereference
Type Confusion
Integer Overflow
easy hard
44. Case Userland
End Of Stack Segment
...
SE handler
nSEH
...
retn
sfp
Cookie
buffer
aaaa
...
pop pop ret
shellcode
...
aaaa
aaaa
aaaa
aaaa
Stack Overflow GS
45. Case Kernelland
memory fault exceptions that occur in kernel memory areas
are not handled by exception handlers, but only crash the OS.
So generate a memory fault exception due to the access of an
unmapped page in userland.
Stack Overflow GS
54. Windows 7 exploitation issue
? Executable NonPagedPool was the default
? Kernel ??? ??? ??? ?? ? ? ??
? Kernel information leaks were available with
NtQuerySystemInformation
? no SMEP, SMAP
55. Windows 8.1, 10 exploitation issue
? NonPagedPoolNx is the new default
? ??? ??? ???? ???!
? SMEP
? Windows 0xFFFFFFFFFD00448 (HAL Heap) contained a pointer to ntoskrnl.exe
? SIDT instruction leaks address of ntoskrnl.exe pointer (IDTR Register)
? Kernel address leak with GdiSharedHandleTable
? ROP base address ?? ? ??!
? Page Table Entry overwrite can bypass SMEP
? modify U/S flag
56. Mitigations Windows 10 1607
? Remove Kernel address leak with GdiSharedHandleTable
? SIDT instruction leaks address of ntoskrnl.exe pointer
mitigated
? ??? HAL Heap ???? ? ??
? Page Table Entry Randomize
57. Mitigations Windows 10 1703
? HAL Heap randomized
? now must leak ntoskrnl.exe pointer
? ?? base address ?? ? ??? leak ???
58. reference
? Hacksys Driver ? ??
https://github.com/hacksysteam/HackSysExtremeVulnerableDriver
? Hacksys Driver ???
https://hshrzd.wordpress.com/2017/06/05/starting-with-windows-kernel-
exploitation-part-2/
? Windows Kernel Architecture Internals - Dave Probert Windows Kernel
Architect, Microsoft
? DEFCON-25-Morten-Schenk-Taking-Windows-10-Kernel-Exploitation-to-
the-next-level-UPDATED