Security Technologies in Commercial Products

Slides:



Advertisements
Similar presentations
Overview of local security issues in Campus Grid environments Bruce Beckles University of Cambridge Computing Service.
Advertisements

Building web applications on top of encrypted data using Mylar Presented by Tenglu Liang Tai Liu.
Android Security. N-Degree of Separation Applications can be thought as composed by Main Functionality Several Non-functional Concerns Security is a non-functional.
16.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft® Windows® Server 2003 Active Directory Infrastructure.
CSCD 303 Essential Computer Security Fall 2010 Lecture 4 - Desktop Security Reading:
CSI 400/500 Operating Systems Spring 2009 Lecture #20 – Security Measures Wednesday, April 29 th.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
Guide to Operating System Security Chapter 2 Viruses, Worms, and Malicious Software.
7-Access Control Fundamentals Dr. John P. Abraham Professor UTPA.
ADVANCED LINUX SECURITY. Abstract : Using mandatory access control greatly increases the security of an operating system. SELinux, which is an implementation.
Page 1 Sandboxing & Signed Software Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
Presentation By Deepak Katta
Microsoft ® Official Course Module 9 Configuring Applications.
Chapter 5 Roles and features. objectives Performing management tasks using the Server Manager console Understanding the Windows Server 2008 roles Understanding.
1 Chap 10 Malicious Software. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on.
All Your Droid Are Belong To Us: A Survey of Current Android Attacks 단국대학교 컴퓨터 보안 및 OS 연구실 김낙영
© GlobalSign. A GMO Internet Inc group company. Authentication. Security. Trust. Code Signing Distributing trustworthy software over the Internet.
1 Thomas Lippert Senior Product Manager - Mobile What’s new in SMC 5.0.
FTP Server and FTP Commands By Nanda Ganesan, Ph.D. © Nanda Ganesan, All Rights Reserved.
Chapter 9: SHARING FILE SYSTEM RESOURCES1 CHAPTER OVERVIEW  Create and manage file system shares and work with share permissions.  Use NTFS file system.
Android Security Auditing Slides and projects at samsclass.info.
ADV. NETWORK SECURITY CODY WATSON What’s in Your Dongle and Bank Account? Mandatory and Discretionary Protections of External Resources.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
ANDROID BY:-AANCHAL MEHTA MNW-880-2K11. Introduction to Android Open software platform for mobile development A complete stack – OS, Middleware, Applications.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Security fundamentals Topic 5 Using a Public Key Infrastructure.
Wireless and Mobile Security
Trusted Operating Systems
4P13 Week 5 Talking Points 1. Security Provided by BSD a self-protecting Trusted Computing Base (TCB) spanning kernel and userspace; kernel isolation.
1 #UPAugusta Today’s Topics What are Deadly IT Sins? Know them. Fear them. Fix them. #UPAugusta201 6.
LINUX Presented By Parvathy Subramanian. April 23, 2008LINUX, By Parvathy Subramanian2 Agenda ► Introduction ► Standard design for security systems ►
Security-Enhanced Linux Stephanie Stelling Center for Information Security Department of Computer Science University of Tulsa, Tulsa, OK
Active X and Signed Applets Chad Bollard. Overview ActiveX  Security Features  Hidden Problems Signed Applets  Security Features  Security Problems.
Access Controls Mandatory Access Control by Sean Dalton December 5 th 2008.
By: Collin Molnar. Overview  Intro to Android  Security basics  Android architecture  Application isolation  Application permissions  Physical access.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
MLS/MCS on SE Linux Russell Coker. What is SE Linux? A system for Mandatory Access Control (MAC) based on the Linux Security Modules (LSM) framework Uses.
ANDROID ACCESS CONTROL Presented by: Justin Williams Masters of Computer Science Candidate.
How to Enable Account Key Sign Instead Of Password In Yahoo? For more details:
Office 365 Help Desk Troubleshooting Guide
Module 51 (Mobile Device Fundamentals - Android)
Operating Systems {week 01.b}
Chapter 6: Securing the Cloud
Chapter 14: System Protection
Configuring Windows Firewall with Advanced Security
Configuring and Troubleshooting Routing and Remote Access
Symantec Code Signing Certificate
Security of Mobile Operating Systems
SE Linux Implementation
Directions: GO THROUGH THE FOLLWING SLIDES. Make sure you have quizlet cards for all the vocabulary. Study the terms.
Services Course 9/9/2018 9:54 PM Services Course Windows Live Hotmail Participant Guide © 2008 Microsoft Corporation. All rights reserved.
CMPE419 Mobile Application Development
What is an Operating System?
RR RR Problems Along With Solutions For iPhone And iPad Toll Free ( )
Swipe to Donate Life.
With IvSign, Office 365 Users Can Digitally Sign Word Documents in the Cloud from Any Device Without Having to Install Any Digital Certificates OFFICE.
Directions: GO THROUGH THE FOLLWING SLIDES. Make sure you have quizlet cards for all the vocabulary. Study the terms GCFLearnFree website “Computer Basics”:
Chapter 2: System Structures
Configuring Internet-related services
Operating System Security
Security.
SOFTWARE TECHNOLOGIES
Digital Literacy 1.00 Computer Basics
Operating System Concepts
Designing IIS Security (IIS – Internet Information Service)
CMPE419 Mobile Application Development
Links Launch Outlook Launch Skype Place Skype on Do Not Disturb.
Chapter 3 Software.
Online Safety; Privacy and Sharing
Online Safety; Privacy and Sharing
Presentation transcript:

Security Technologies in Commercial Products Dr. Glenn Wurster (gwurster@blackberry.com) April 2, 2013

Overview Access Control Installing Applications Malware Detection September 18, 2018 Overview Access Control Installing Applications Malware Detection Balancing Usability and Security

September 18, 2018 Access Control

Access Control Fundamentals Control the ability for a subject to perform an action on an object. Component Description Subject The entity making the request. a process or user. Action The requested operation read, write, execute Object The target of the action a file, network connection, hardware

Purpose of Access Control September 18, 2018 Purpose of Access Control Limit the damage caused by: Malicious applications Malicious users Compromised applications Badly written applications User mistakes

DAC and MAC Discretionary Access Control (DAC) September 18, 2018 DAC and MAC Discretionary Access Control (DAC) Owner of an object has absolute control over permissions. Mandatory Access Control (MAC) Owner of an object can only set permissions in line with what the administrator allows. Apartment building keys that are not copyable – you have the key, but can’t create copies to give to your friends. It’s MAC.

Fine-Grained Access Control September 18, 2018 Fine-Grained Access Control Can be either DAC or MAC Refers to the granularity of permissions System wide? Directory? File? Action on file? Byte offset of file?

POSIX ACLs A DAC scheme File permissions based on the owner, group, and everyone else. Owner can always modify permissions on the file. # file: audio # owner: gwurster # group: audio user::rwx group::r-x group:powerdev:r-x mask::r-x other::---

SELinux A fine-grained MAC scheme developed by the NSA September 18, 2018 SELinux A fine-grained MAC scheme developed by the NSA Subject is composed of: Who they are The role they are playing The domain they are operating in Policy is set by the system administrator, and is in addition to the POSIX DAC. Discuss role-based access control http://www.selinuxproject.org

SEAndroid Use SELinux to confine Android applications September 18, 2018 SEAndroid Use SELinux to confine Android applications Extend SELinux to support Android features Binder IPC Calendar Media Player Game http://selinuxproject.org/page/SEAndroid

AppArmor A MAC scheme developed by Immunix September 18, 2018 AppArmor A MAC scheme developed by Immunix Each application has its own profile Allows you to run the application and ‘learn’ the privileges it should have. Operates based on file paths. Discuss difference between path and inode based access control.

September 18, 2018 Linux Capabilities Is not capability based access control because privileges cannot be shared. Designed to allow processes to drop root privileges. Certain privileges were traditionally reserved for the root account. Capabilities split the permissions given to root. Discuss capability based access control – can request and receive capabilities, can delegate capabilities to other processes.

Sample Linux Capabilities September 18, 2018 Sample Linux Capabilities Name Description CAP_CHOWN Allow changing file ownership, overrides DAC CAP_KILL Send signals to other processes CAP_NET_RAW Allow using raw sockets (e.g., ping) CAP_NET_BIND _SERVICE Allow binding to ports below 1024 CAP_SYS_NICE Allow raising process priority CAP_SYS_TIME Allow setting the system clock linux-headers/include/linux/capability.h

QNX Abilities Similar to Linux capabilities, but more advanced. September 18, 2018 QNX Abilities Similar to Linux capabilities, but more advanced. Can have allowed ranges Whether the ability is inherited or not Can be set differently for root and non-root processes. http://developer.blackberry.com/native/reference/bb10/com.qnx.doc.neutrino.lib_ref/topic/p/procmgr_ability.html

September 18, 2018 Sample QNX Abilities procmgr_ability( 0, PROCMGR_ADN_NONROOT|PROCMGR_AOP_ALLOW|PROCMGR_AID_SPAWN_SETUID, PROCMGR_ADN_NONROOT|PROCMGR_AOP_SUBRANGE|PROCMGR_AID_SPAWN_SETUI D, (uint64_t)1000, (uint64_t)1050, PROCMGR_ADN_NONROOT|PROCMGR_AOP_SUBRANGE|PROCMGR_AOP_LOCK|PROCMG R_AID_SPAWN_SETUID, (uint64_t)2000, (uint64_t)2013, PROCMGR_ADN_ROOT|PROCMGR_AOP_DENY|PROCMGR_AOP_LOCK|PROCMGR_AID_E OL ); Allow a non-root process to set the UID to 1000-1050 and 2000-2013 when spawning. Remove all other abilities when running as root and lock further changes as well. http://developer.blackberry.com/native/reference/bb10/com.qnx.doc.neutrino.lib_ref/topic/p/procmgr_ability.html

A Thesis Moment Access control systems rely on the kernel September 18, 2018 A Thesis Moment Access control systems rely on the kernel To protect the kernel: Reduce the interfaces that can be used Reduce the code that can be attacked in the kernel

September 18, 2018 A Post-Thesis Moment Reduce the size of the kernel, and you reduce the risk.

Installing Applications

September 18, 2018 Installing in Windows Become Administrator and run some downloaded code.

Installing in Linux Become Root and run some downloaded code. September 18, 2018 Installing in Linux Become Root and run some downloaded code.

Installing in Android Confirms that the user accepts all permissions. September 18, 2018 Installing in Android Confirms that the user accepts all permissions. Places the application package in a directory. Allocates a UID and GID. Creates a local data directory protected by POSIX ACLs Mention SEAndroid

Updating in Android Updates are restricted by signing keys September 18, 2018 Updating in Android Updates are restricted by signing keys Android applications are signed by the developer Application v1.0 Application v1.1 Public Key Digital Signature http://developer.android.com/tools/publishing/app-signing.html http://dx.doi.org/10.1109/TSE.2011.7

Installing in BlackBerry 10 September 18, 2018 Installing in BlackBerry 10 Unpacks the application package in a directory. Allocates a UID and GID. When the application is run Asks for permissions. Creates a data directory protected by POSIX ACLs.

Installing in iOS Each app is placed in a sandbox at install time September 18, 2018 Installing in iOS Each app is placed in a sandbox at install time All code run on a production device must be signed by Apple. Signing check happens when a code page is loaded into memory. Code is signed as a result of being approved and distributed through the App Store. Sandbox uses TrustedBSD MAC http://www.mdsec.co.uk/research/iOS_Application_Insecurity_wp_v1.0_final.pdf

Application Stores Platform Number of Stores Android Many September 18, 2018 Application Stores Platform Number of Stores Android Many BlackBerry BB10 One BlackBerry Java iOS Windows Steam is an example of an alternate store for Windows.

A Thesis Moment Looked at restricting application install on Linux September 18, 2018 A Thesis Moment Looked at restricting application install on Linux Install scripts were modified to run as a restricted user. Looked at restricting upgrades Introduced the model before it was announced for Android

September 18, 2018 Malware Detection

What is Malware? Disrupt computer operation Gather sensitive information Gain access to private computer systems http://en.wikipedia.org/wiki/Malware

Is it Malware? Dynamic analysis Run the program and see what happens September 18, 2018 Is it Malware? Dynamic analysis Run the program and see what happens Static analysis Deconstruct the program to see what it would do

September 18, 2018 What do Companies Use? Companies do not want to give information about how their analysis works. Company Static Analysis Dynamic Analysis Google   BlackBerry Apple McAfee Symantec Microsoft

Google Bouncer A dynamic analysis approach September 18, 2018 Google Bouncer A dynamic analysis approach Runs the application in a virtual machine Hacked by Jon Oberheide and Charlie Miller Submitted an application that phoned home.

Usability and Security September 18, 2018 Usability and Security

Passwords – The Good Easy to learn how to use Efficient to use Accessible for disabled users Negligible cost per user Mature Non-proprietary

Passwords – The Bad and Ugly September 18, 2018 Passwords – The Bad and Ugly Written on post-it notes Same password for several accounts Rely on password recovery Can be shoulder-surfed Poorly chosen Not resilient to phishing http://research.microsoft.com/apps/pubs/?id=161585

September 18, 2018 Alternative - Android Equivalent to a 3 character alphanumeric password 20 guesses before device is locked Need to unlock a locked device by logging into the Google account tied to the phone.

Alternative - PassPoints September 18, 2018 Alternative - PassPoints Click ordered # of points to authenticate 1 2 3 4 5 http://clam.rutgers.edu/~birget/grPssw/susan1.pdf

PassPoints – Now You Try! September 18, 2018 PassPoints – Now You Try! Patterns: left-to-right right-to-left Locations: Knot on top of the car Diamond on the building Intersection of vertical and horizontal pipe on the building Middle of the window Tip of the chimney Dog’s Nose Dog’s Paws

Alternative – PCCP Persuasive Cued Click Points September 18, 2018 Alternative – PCCP Persuasive Cued Click Points Picture of the British Museum in London http://www.scs.carleton.ca/~paulv/papers/pccp-tdsc-author.pdf

September 18, 2018 Alternatives – PCCP Next picture shown depends on location of the click

Alternatives - Evaluation September 18, 2018 Alternatives - Evaluation Memorywise-Effortless Server-Compatible Resilient-to-Internal- Observation Scalable-for-Users Browser-Compatible Resilient-to-Leaks-from- Other-Verifiers Nothing-to-Carry Mature Physically-Effortless Non-Proprietary Resilient-to-Phishing Easy-to-Learn Resilient-to-Physical- Observation Resilient-to-Theft Efficient-to-Use No-Trusted-Third-Party Resilient-to-Targeted- Impersonation Infrequent-Errors Requiring-Explicit- Consent Easy-Recovery-from- Loss Resilient-to-Throttled- Guessing Unlinkable Accessible Resilient-to-Unthrottled- Guessing Negligible-Cost-per- User New is not necessarily better http://research.microsoft.com/apps/pubs/?id=161585

Access Control Users cannot correctly set policy. September 18, 2018 Access Control Users cannot correctly set policy. Previous search for SELinux - how to disable it. Fine-grained does not mean better

Improving Access Control September 18, 2018 Improving Access Control Who sets policy? User has not turned out well System Administrator often the user Crowd sourced community effort Guardian someone “in the know”

Application Permissions Platform Permissions Denyable BlackBerry Java ~25  BlackBerry QNX ~15 Apple iPhone ~8 Google Android ~130  Windows Phone ~28 Android is the only one to split reads and writes of data iPhone only does personal information (contacts, calendar, email) and location BlackBerry Java contains different permissions for different networks Windows phone (http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206936%28v=vs.105%29.aspx)

Separating Work and Personal September 18, 2018 Separating Work and Personal Separating work and personal life is easier said than done. How many have checked text messages while I’ve been talking? How many have checked email? How many classes have you missed because of a personal appointment?

Approaches to Separation September 18, 2018 Approaches to Separation How do you separate work and personal information? Approach Overhead Sharing Display Trusted Components Two Devices High Manual One at a Time Air Hypervisor Moderate Networks Hypervisor, Hardware Access Control Low IPC Unified Operating System, Hardware What is the difference between a hypervisor and operating system? Hypervisor does not understand: filesystems, networking Hypervisor pretends to be hardware, OS provides standard API that works across hardware. Both have to deal with hardware Hypervisors are traditionally smaller than monolithic kernels

A Thesis Moment Developers are not experts at everything September 18, 2018 A Thesis Moment Developers are not experts at everything Created a more restrictive policy for web applications Content Type Permissions Fetch* Read Modify Execute Images    HTML JavaScript Styles Audio/Video http://wurster.ca/glenn/publications/ACM-CCS-2008.pdf

Questions? Glenn Wurster (gwurster@blackberry.com)

Hypervisors

Life Before Hypervisors September 18, 2018 Life Before Hypervisors Hardware Operating System Application Java Virtual Machine Java Program

Bare Metal Hypervisor Hardware Hypervisor Operating System Application Also a type 1 hypervisor

Hosted Hypervisor Hardware Operating System Hypervisor Application September 18, 2018 Hosted Hypervisor Hardware Operating System Hypervisor Application Type 2

The Evolution of Malware

September 18, 2018 Identifying malware Given one sample that we know is malware, can we detect it again?

In the Beginning Detect malware by looking for specific sets of bytes 7469 2400 0061 625f 7373 655f 646e 5f5f 5f00 625f 7373 735f 6174 7472 5f5f 5f00 625f 7373 655f 646e 5f5f 5f00 7473 7261 0074 5f5f 7362 5f73 7473 7261 0074 5f5f 6e65 5f64 005f 655f 6164 6174 5f00 6e65 Detect malware by looking for specific sets of bytes

Avoiding the string match 7469 2400 0061 625f 7373 655f 646e 5f5f 5f00 625f 7373 735f 6174 7472 5f5f 5f00 625f 7373 655f 646e 5f5f 5f00 a5f9 7473 0074 5f5f 7362 5f73 7473 7261 0074 5f5f 6e65 5f64 005f 655f 6164 6174 5f00 6e65 Polymorphic code Certain assembly instructions do nothing and rax, rax add rax, rbx sub rax, rbx Certain instructions can be rearranged

Hiding the Binary Executable Packers (e.g., UPX) September 18, 2018 Hiding the Binary Executable Packers (e.g., UPX) Encrypt the original binary Decrypt only pieces of the binary as they’re needed for execution Custom Virtual Machines Write the malware for an emulated machine

September 18, 2018 Android Manifests

Android Manifest Permissions September 18, 2018 Android Manifest Permissions <manifest ...> <uses-permission android:name="android.permission.RECORD_AUDIO"/> <permission android:name=“android.permission.NAME_FISH” android:protectionLevel=“signature” /> <application> <activity android:name=".MainActivity”> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <service android:name=“com.example.fishtank.Tank” android:permission=“android.permission.NAME_FISH” /> </application> </manifest> http://developer.android.com/guide/topics/manifest/manifest-element.html

September 18, 2018 BlackBerry 10 Manifests

BlackBerry 10 Permissions ... Application-Name: Test Application-Description: The Test Application Application-Version: 1.0.6.0 Application-Requires-System: BlackBerry 10/10.0.9.0 Entry-Point-Name: Permissions Entry-Point: ... app/native/Test.so Entry-Point-Type: Qnx/Cascades Entry-Point-Icon: native/icon.png Entry-Point-User-Actions: use_camera Entry-Point-System-Actions: run_native

BlackBerry 10 Manifest Signing ... Package-Author: Glenn Wurster Package-Name: bb.gwurster.test Package-Version: 1.0.6.0 Package-Architecture: armle-v7 Package-Author-Certificate-Hash: G1LSjYVDFDbQdBbLlMvB4DzemNeILxqQo6sSVJE7ssz1WoCpEWMNhHBuGjZYIuH5vmNkrD7jjvNmY_UInZQxfQ Package-Author-Id: gYAAgIU_NLXhlghtmeALJDVELWU Archive-Asset-Name: native/bar-descriptor.xml Archive-Asset-SHA-512-Digest: JZ1frDUcJ4An7OKKS2iBfV__7-90tUaOrJX_O5N-lvE4l4wbHJuuOyyOPD--yYjM9C_WseY14hDMY9wawSw07g