Georgios PortokalidisColumbia University Philip HomeburgVrije Universiteit Kostas AnagnostakisNiometris R&D Herbert BosVrije Universiteit 2010/11/30 1.

Slides:



Advertisements
Similar presentations
Remus: High Availability via Asynchronous Virtual Machine Replication
Advertisements

Creating HIPAA-Compliant Medical Data Applications with Amazon Web Services Presented by, Tulika Srivastava Purdue University.
System Integration and Performance
CS 695 Host Forensics: Auditing Using VMs GEORGIOS PORTOKALIDIS.
MicroCast: Cooperative Video Streaming on Smartphones Lorenzo Keller, Anh Le, Blerim Cic, Hulya Seferoglu LIDS, Christina Fragouli, Athina Markopoulou.
R2: An application-level kernel for record and replay Z. Guo, X. Wang, J. Tang, X. Liu, Z. Xu, M. Wu, M. F. Kaashoek, Z. Zhang, (MSR Asia, Tsinghua, MIT),
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
CHESS: A Systematic Testing Tool for Concurrent Software CSCI6900 George.
ManageEngine TM Applications Manager 8 Monitoring Custom Applications.
DEPARTMENT OF COMPUTER ENGINEERING
Secure Off Site Backup at CERN Katrine Aam Svendsen.
MPICH-V: Fault Tolerant MPI Rachit Chawla. Outline  Introduction  Objectives  Architecture  Performance  Conclusion.
An Integrated Framework for Dependable Revivable Architectures Using Multi-core Processors Weiding Shi, Hsien-Hsin S. Lee, Laura Falk, and Mrinmoy Ghosh.
Data Networking Fundamentals Unit 7 7/2/ Modified by: Brierley.
Nikolay Tomitov Technical Trainer SoftAcad.bg.  What are Amazon Web services (AWS) ?  What’s cool when developing with AWS ?  Architecture of AWS 
1 Web Content Delivery Reading: Section and COS 461: Computer Networks Spring 2007 (MW 1:30-2:50 in Friend 004) Ioannis Avramopoulos Instructor:
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
ThinkAir: Dynamic Resource Allocation and Parallel Execution in Cloud for Mobile Code Offloading Sokol Kosta, Pan Hui Deutsche Telekom Labs, Berlin, Germany.
Highly Available ACID Memory Vijayshankar Raman. Introduction §Why ACID memory? l non-database apps: want updates to critical data to be atomic and persistent.
VMM Based Rootkit Detection on Android Class Presentation Pete Bohman, Adam Kunk, Erik Shaw.
Accelerating Mobile Applications through Flip-Flop Replication
1 Chap 10 Malicious Software. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on.
NV V5.7 Product Presentation. Brand New Professional GUI  Multiple User Interface for different look and feel  Audio indicator on camera (play audio.
All Your Droid Are Belong To Us: A Survey of Current Android Attacks 단국대학교 컴퓨터 보안 및 OS 연구실 김낙영
Presented by: Kushal Mehta University of Central Florida Michael Spreitzenbarth, Felix Freiling Friedrich-Alexander- University Erlangen, Germany michael.spreitzenbart,
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Kenichi Kourai (Kyushu Institute of Technology) Takuya Nagata (Kyushu Institute of Technology) A Secure Framework for Monitoring Operating Systems Using.
An approach to on the fly activation and deactivation of virtualization-based security systems Denis Efremov Pavel Iakovenko
1 Chap 10 Virus. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on an ever increasing.
University of Central Florida TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones Written by Enck, Gilbert,
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Parallelizing Security Checks on Commodity Hardware Ed Nightingale Dan Peek, Peter Chen Jason Flinn Microsoft Research University of Michigan.
EVALUATING SECURITY OF SMART PHONE MESSAGING APPLICATIONS PRESENTED BY SUDHEER AKURATHI.
Christopher Kruegel University of California Engin Kirda Institute Eurecom Clemens Kolbitsch Thorsten Holz Secure Systems Lab Vienna University of Technology.
. 1. Computer Security Concepts 2. The OSI Security Architecture 3. Security Attacks 4. Security Services 5. Security Mechanisms 6. A Model for Network.
VMM Based Rootkit Detection on Android Class Presentation Pete Bohman, Adam Kunk, Erik Shaw.
1 NETE4631 Working with Cloud-based Storage Lecture Notes #11.
ANDROID BY:-AANCHAL MEHTA MNW-880-2K11. Introduction to Android Open software platform for mobile development A complete stack – OS, Middleware, Applications.
Amit Warke Jerry Philip Lateef Yusuf Supraja Narasimhan Back2Cloud: Remote Backup Service.
Efficient Live Checkpointing Mechanisms for computation and memory-intensive VMs in a data center Kasidit Chanchio Vasabilab Dept of Computer Science,
1 REMOTE CONTROL SYSTEM V7 2 Introduction.
ALCF Argonne Leadership Computing Facility GridFTP Roadmap Bill Allcock (on behalf of the GridFTP team) Argonne National Laboratory.
1 Distributed Systems Distributed Object-Based Systems Chapter 10.
VMM Based Rootkit Detection on Android
Execution Replay and Debugging. Contents Introduction Parallel program: set of co-operating processes Co-operation using –shared variables –message passing.
State Machine Replication State Machine Replication through transparent distributed protocols State Machine Replication through a shared log.
AFS/OSD Project R.Belloni, L.Giammarino, A.Maslennikov, G.Palumbo, H.Reuter, R.Toebbicke.
BareDroid Presenter: Callan Christophersen. What is BareDroid BareDroid is a system to analyse Android apps on real devices with no emulation. It uses.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Computer System Structures
Android Mobile Application Development
Containers as a Service with Docker to Extend an Open Platform
BEST CLOUD COMPUTING PLATFORM Skype : mukesh.k.bansal.
Credits: 3 CIE: 50 Marks SEE:100 Marks Lab: Embedded and IOT Lab
Hybrid Cloud Architecture for Software-as-a-Service Provider to Achieve Higher Privacy and Decrease Securiity Concerns about Cloud Computing P. Reinhold.
Chapter 2: System Structures
Fastdroid Produced by : Firas Abdalhaq Mohammad Amour Supervised by : Dr. Raed Alqadi.
Chapter 4 The Power behind the Power
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Google App Engine Ying Zou 01/24/2016.
Cloud computing mechanisms
Auditing Using Virtual Machines
Chapter 4 The Power behind the Power
Multithreaded Programming
Prof. Leonardo Mostarda University of Camerino
Reverse engineering through full system simulations
Korea Software HRD Center
Presentation transcript:

Georgios PortokalidisColumbia University Philip HomeburgVrije Universiteit Kostas AnagnostakisNiometris R&D Herbert BosVrije Universiteit 2010/11/30 1

Paranoid Android? 2010/11/30 2 Click this album to play this song …

Outline  Introduction  Architecture  Implementation  Evaluation  Related Work  Conclusion 2010/11/30 3

Introduction  Recently, iPhone and Android platform have shown to be susceptible to remote exploits  Obama’s blackberry Obama’s blackberry 2010/11/30 4

Introduction  Using a file scanner or antivirus, like ClamAV  Time-consuming (30 minutes)  Battery problem (2% battery capacity)  Is 11.8x slower than running it on single-core VM  We argue for a different security model that completely devolves attack detection from the phone  Key: Cloud ! 2010/11/30 5

Introduction  Antivirus file scanning  Zero-days? Remote exploits? Memory-resident attacks?  Smartphone APIs  Android: Java Dalvik VM  But also provide native APIs  May be vulnerable to these attacks 2010/11/30 6

Introduction  Contributions:  Multiple security checks simultaneously without overburdening the device  Execution recording and replaying framework for Android  Transparent backup of all user data in the cloud  Replication mechanism  Application transparent recording and replaying 2010/11/30 7

Architecture  Tracer  Record all info needed to accurately replay its execution  Replayer  Receive the trace and faithfully replays the execution within the emulator  Proxy  Intercept and temporarily store inbound traffic  The replayer can access the proxy to retrieve the data needed for replaying 2010/11/30 8

Architecture 2010/11/30 9

Architecture  Assumptions  The replay server will not be compromised  Attackers cannot break the encryption  The device is able to contact the server safely, to create an initial replica, and setup the tracer  The servers have out-of-band channels to notify users about problems and a way to restore the image 2010/11/30 10

Architecture  Tracer  Nondeterministic inputs and events  Mostly pass through the system calls  Record all data transferred from kernel to user space through system calls 2010/11/30 11

Architecture  Replayer  Use the recorded values when replaying the system calls on replica  Including IPC using system calls  Only replay process and not kernel execution  May not be able to detect an attack against the kernel  But most kernel vulnerabilities are only exploitable locally  Shared memory: repeatable deterministic task scheduler 2010/11/30 12

Architecture  Synchronisation  Loose Synchronisation  Transmit the trace only when the device is awake and connected to the Internet  User is most likely to be attacked while surfing the web  Support extremely sychronisation  Only sync when recharging 2010/11/30 13

Architecture  Synchronisation  Tamper-Evident Secure Storage  HMAC: Hash-based Message Authentication Code HMAC: Hash-based Message Authentication Code  HMAC = Hash( K xor opad, Hash(K xor ipad, text))  STORE(message + HMAC(key, message))  key’ = Hash(key)  key = key’  If sync error, the device is treated as potentially compromised 2010/11/30 14

Architecture  Security Methods  Dynamic analysis in emulator  Antivirus software  Memory scan  System call detection  P.S. only implement the first two 2010/11/30 15

Architecture  Proxy and Server Location  User Notification and Recovery  Handling Data Generated On the Device  Bulk downloads  Incremental downloads 2010/11/30 16

Implementation  Need a new boot image!  Linux ptraceptrace  PTRACE_SYSCALL 2010/11/30 17

Implementation  Starting The Tracer  Init starts tracer first  Next, init starts the exec stubs  The stub writes its pid to tracer’s FIFO and pauses  Then tracer attaches to the process, and continues the stub  Exec 2010/11/30 18

Implementation  Scheduling And Shared Memory  User space Scheduler  Ensuring no two threads that share a memory object can ever run concurrently  Triggered by system call  Spinlock and mutexes  Future work  CREW protocol (concurrent-read-exclusive-write)  To track all reads from memory 2010/11/30 19

Implementation  Ioctls  An interface between user and kernel space  /dev/binder  Handles about 200 ioctl commands 2010/11/30 20

Implementation  Execution Trace Compression  Record only system calls that introduce nondeterminism  Use a network proxy so that inbound data are not logged in the trace  Compress data using three algorithms  Delta encoding  Huffman encoding  DEFLATE algorithm (gzip) 2010/11/30 21

Implementation  Attack Detection Mechanisms  Virus Scanner  ClamAV  Dynamic Taint Analysis  Overhead imposed is high  Only on replica 2010/11/30 22

Evaluation  HTC G1 with tracer  Modified QEMU for replayer 2010/11/30 23

Evaluation 2010/11/30 24

Evaluation  Data Volume:  5 hours of audio playback  22.5 MB 2010/11/ B/s 121B/s

Evaluation  CPU loading  15% higher  Browsing may consume up to 30% more energy 2010/11/30 26

Evaluation  Server Scalability  Dual-Core NB  2.26GHz P G RAM  Quad-Core  2.40GHz Q G RAM  Amazon EC2 2010/11/30 27

Evaluation  Dynamic Taint Analysis  X2-x2.5 slowdown  If DTA applied to all replica  Only roughly half of the instances reported in Figure5 2010/11/30 28

Evaluation  Overhead Imposed By Ptrace  Compression (deflate_slow) consumes only 7.62%  65% is spent in ptrace and waitpid  Solution: move to kernel 2010/11/30 29

Evaluation 2010/11/30 30

Related Work  Malkhi et al.  Secure execution of java applets using a remote playground  Ripley: automatically securing web 2.0 applications through replicated execution  CloudCloud  Acceleration  SmartSiren  Antivirus in smartphones 2010/11/30 31

Related Work  VirusMeter  Kirin 2010/11/30 32

Conclusion  Attack detection on a remote server in the cloud  No limit on the number of attack detection techniques  Transmission overhead is kept below 2.5KiBps 2010/11/30 33