440 likes | 468 Views
Presentation By Mahmoud Youssef Mohamed PhD Candidate – IT major. Mobile Commerce Security. Topics. Mobile Commerce: The future of E-commerce. Mobile Commerce Applications. Mobile Computing Technologies. New Security Risks. New Privacy Risks. Software Risks. Conclusion.
E N D
Presentation By Mahmoud Youssef Mohamed PhD Candidate – IT major Mobile Commerce Security
Topics Mobile Commerce: The future of E-commerce Mobile Commerce Applications Mobile Computing Technologies New Security Risks New Privacy Risks Software Risks Conclusion
What is Mobile Commerce • Mobile Commerce (M-Commerce) is an emerging discipline involving applications, mobile devices, wireless networks, location technologies, and middleware [Cousins and Varshney] • Mobile devices usually use a different set of Internet protocol called the Wireless Application Protocol (WAP)
The Enabling Technologies • Wireless Networks • Wireless WAN (CDPD) • Wireless LAN (802.11a and 802.11b) • Short Range (Bluetooth) • Radio Frequency Identification (RFID) • Location Technologies • Outdoor Technologies • Infrastructure-based • Device-based • Indoor Technologies • Mobile Devices • Programming Standards (J2ME)
The Market Opportunityfor M-Commerce • Reports from Siemens and Ericsson (2001) predict: • the number of mobile devices to reach 500 million devices by 2002, and • 1 billion devices by 2004 • Durlacher (2000) expects the European market to reach € 23 billion by 2003 • Mobile advertising will be the killer application with 23% of the market size and mobile shopping will be the third major application with 15% of the market size
Mobile Commerce Applications Source (Ovum): http://www.ovum.com
Mobile Commerce Applications • Mobile Financial Services • Mobile Security Services • Mobile Shopping • Mobile Advertising • Mobile Dynamic Information Management • Mobile Information Provisioning • Mobile Entertainment • Mobile Telematics • Mobile Customer Care
Mobile Computing Technologies Mobile Computing Environment Wireless Application Protocol (WAP) Architecture Comparison between Internet and WAP technologies Bluetooth
Mobile Computing Environment Source: Barbara, D. 1999, Mobile Computing and Databases – A survey
Client Web Server WAP Gateway WML CGI Scripts etc. WML Encoder WML-Script WSP/WTP HTTP WML Decks with WML-Script WMLScript Compiler WTAI Protocol Adapters Content Etc. WAP Architecture Source: WAP Forum, Wireless Application Protocol Overview
Wireless Application Protocol Wireless ApplicationEnvironment (WAE) Other Services and Applications HTML JavaScript Transaction Layer (WTP) Session Layer (WSP) HTTP TLS - SSL Security Layer (WTLS) Transport Layer (WDP) TCP/IP UDP/IP Bearers: IS-136 CDPD PDC-P CDMA Etc.. SMS USSD CSD Comparison between Internet and WAP technologies Source: WAP Forum, Wireless Application Protocol Overview
Bluetooth • Bluetooth is the codename for a small, low-cost, short range wireless technology specification • Enables users to connect a wide range of computing and telecommunication devices easily and simply, without the need to buy, carry, or connect cables. • Bluetooth enables mobile phones, computers and PDAs to connect with each other using short-range radio waves, allowing them to "talk" to each other • It is also cheap
Bluetooth Security • Bluetooth provides security between any two Bluetooth devices for user protection and secrecy • mutual and unidirectional authentication • encrypts data between two devices • Session key generation • configurable encryption key length • keys can be changed at any time during a connection • Authorization (whether device X is allowed to have access service Y) • Trusted Device: The device has been previously authenticated, a link key is stored and the device is marked as “trusted” in the Device Database. • Untrusted Device: The device has been previously authenticated, link key is stored but the device is not marked as “trusted” in the Device Database • Unknown Device: No security information is available for this device. This is also an untrusted device. • automatic output power adaptation to reduce the range exactly to requirement, makes the system extremely difficult to eavesdrop
New Security Risks • Abuse of cooperative nature of ad-hoc networks • An adversary that compromises one node can disseminate false routing information. • Malicious domains • A single malicious domain can compromise devices by downloading malicious code • Roaming (are you going to the bad guys ?) • Users roam among non-trustworthy domains
New Security Risks Cont’d • Launching attacks from mobile devices • With mobility, it is difficult to identify attackers • Loss or theft of device • More private information than desktop computers • Security keys might have been saved on the device • Access to corporate systems • Bluetooth provides security at the lower layers only: a stolen device can still be trusted
New Security Risks Cont’d • Problems with Wireless Transport Layer Security (WTLS) protocol • Security Classes: • No certificates • Server only certificate (Most Common) • Server and client Certificates • Re-establishing connection without re-authentication • Requests can be redirected to malicious sites
New Privacy Risks • Monitoring user’s private information • Examples: DoubleClick and Engage • Offline telemarketing • Examples: At&T and Sprint • Who is going to read the “legal jargon” • Value added services based on location awareness (Location-Based Services) • Example: Pushing cuisine information and coupons
Targeted Marketing Applications • Keeping customers interested mandates personalization (Based on their user profiles) • Adding location to the customer selection criteria makes it even more effective. • Much information can be inferred by linking a user profile to her current location • W3C’s Platform for Privacy Preferences (P3P) • informing users about the privacy policy of the cites they visit
Privacy Protection • Considerable privacy protection can be achieved by designing an access control model that enables the user to define the access modes granted to merchants based on: • The individual merchant or a class of merchants • The time interval in the query • The location windows in the query • However, centralized management of profiles is needed.
Software Risks Wireless Application Protocol (WAP) Risks Platform Risks Java Security Application Risks WMLScript Risks of WMLScript
WAP Risks • WAP Gap • Claim: WTLS protects WAP as SSL protects HTTP • Problem: In the process of translating one protocol to another, information is decrypted and re-encrypted • Recall the WAP Architecture • Solution: Doing decryption/re-encryption in the same process on the WAP gateway • Wireless gateways as single point of failure
Platform Risks • Without a secure OS, achieving security on mobile devices is almost impossible • Learned lessons: • Memory protection of processes • Protected kernel rings • File access control • Authentication of principles to resources • Differentiated user and process privileges • Sandboxes for untrusted code • Biometric authentication
What is Java? • The most robust, easy-to-use, versatile language available today • Applications written for traditional operating systems are tied directly to that platform and cannot be easily ported to other platforms • often vendors need to provide different versions of the same software • Java has Write Once/Run Anywhere executables • allows Java programs written on one type of hardware or OS to run unmodified on almost any other type of computer • Best aspects is that it is architecture neutral Java applications Java Virtual Machine Unix Windows OS/2 MacOS Sparc Intel/Others PowerPC
What is Java? • Java is both interpreted and compiled • interpreted languages - BASIC • translates line-by-line and executes them, so slower • compiled languages - COBOL, C, C++, FORTRAN • translates the entire program into machine code and then the machine code is executed, so faster • First, source code is compiled to an intermediate code called bytecode • Java runtime interpreter then translates the complied bytecode to machine code • bytecode is different from machine code (more like assembly language) • includes the best aspects of C/C++, leaving out complicated aspects such as multiple inheritance, pointers etc.
What is mobile code? • Mobile code is a general term that refers to executable code that migrates and executes on remote hosts • Code travels from server machine to the client machine Provides • rich data display • a stock broker may publish the results of a financial analysis model • instead of publishing the result of the model as a graph, the broker could publish the model itself with connections to live stock market data and customer’s portfolio • efficient use of network
Types of Mobile Code • One-hop agents • sent on demand from a server to a client machine and executed • after execution, the result generated by the agent or the agent itself is sent to the owner who sent it • e.g. Java applets • Applet is a small piece of executable code, which may be included in a web page • Multi-hop agents • sent on the network to perform a series of tasks • These agents may visit multiple agent platforms and communicate with other agents • you may send personalized agents to roam the Internet. • To monitor your favorite Web sites • get you the ticket you couldn't get at the box office • help you to schedule meetings for your next overseas trip.
Threats to and due to mobile code • Malicious code • may disclose or damage our private data • spend our money? • Crash the system? • challenge is to execute useful applets while protecting systems from malicious code • Malicious host • challenge is to protect the agents from malicious servers
Techniques to prevent malicious code • Code blocking • authentication • safe interpreters • fault isolation • code inspection and verification
Code blocking • Disabling applications • switching off Java in Java-enabled browsers • relies on users complying with the security policy • not easy to administer in a large environment • prevents intranet use of mobile code • Filtering • firewalls to filter web pages containing applets • does not rely on user compliance • management can be centralized
Code blocking using firewalls • Rewriting <applet> tags • browser does not receive the <applet> and so no applet is fetched • Blocking by hex signatures • Java class files start with a 4-byte hex signature CA FE BA BE • apply in combination with <applet> blocker • Blocking by filenames • files with names ending .class • need to handle .zip files that encapsulate Java class files
Authentication • Achieved through code signing • based on the assurance obtained when the source of the code is trusted • on receiving the mobile code, client verifies whether it was signed by an entity on a trusted list • used in JDK 1.1 and Active X • once signature is verified, code has full privileges • Problems • trust model is all or nothing (trusted versus untrusted) • needs public key infrastructure • limits users (the untrusted code may be useful and benign) • no protection if the code from a trusted source is malicious
Safe Interpreters • Instead of using compiled executables, interpret mobile code • interpreter enforces a security policy • each instruction is executed only if it satisfies the security policy • Examples of safe interpreters • Safe-Tel • telescript • Java VM
Safe interpreter: The Sandbox security model • The applet’s actions are restricted to a sandbox • the applet may do anything it wants within its sandbox, but cannot read or alter any data outside of its sandbox • Applets and applications • Local code is trusted and has full access to system resources • downloaded remote code is restricted • Java applications may be purchased and installed just like traditional applications, these are trusted Remote code sandbox Local code JVM Valuable Resources
Building the sandbox • class loader • responsible for loading classes • given class name, fetches remote applet’s code (I.e, locates, generates its definitions) • keeps namespaces of different applets separate • bytecode verifier • checks a classfile for validity (bytecode conformance to language specification and that there are no violations of Java language rules) • code has only valid instructions • code does not overflow or underflow stack • does not change the data types illegally • goal is to prevent access to underlying machine via crashes, undefined states
Building the Sandbox • security manager • enforces the boundaries of the sandbox • whenever an applet tries to perform an action, the Java virtual machine first asks the security manger if the action can be performed safely • JVM performs the action only if the security manager approves • e.g, a trusted applet from the local disk trying to read the disk • imported untrusted applet may be trying to connect back to its home server • if no security manager installed, all privileges are granted
Building the sandbox • Security manager will not allow • untrusted applet to read/write to a file, delete a file, get any info about a file, execute OS commands or native code, load a library, establish a network connection to any machine other than the applet’s home server
Extensions to the Sandbox • JDK 1.1.x • supports digitally signed applets • if signature can be verified, a remote applet is treated as local trusted code • JDK 1.2 • no concept of local trusted code • all code is subject to verification • fine grained domain based and extensible access control • typed and grouped permissions • configurable security policy
Application Risks to Mobile Devices • Java Virtual Machine (JVM) implementation • No type check is implemented • No sandbox or stack introspection • The use of C language with its related problems • Security tradeoffs imposed by limited capabilities
WMLScript • Scripting is heavily used for client-side processing to offload servers and reduce demand on bandwidth • Wireless Markup Language (WML) is the equivalent to HTML, but derived from XML • WMLScript is WAP’s equivalent to JavaScript • Derived from JavaScript™
WMLScript Cont’d • Integrated with WML • Reduces network traffic • Has procedural logic, loops, conditionals, etc • Optimized for small-memory, small-CPU devices • Bytecode-based virtual machine • Compiler in network • Works with Wireless Telephony Application (WTA) to provide telephony functions
Risks of WMLScript • Lack of Security Model • Does not differentiate trusted local code from untrusted code downloaded from the Internet. So, there is no access control!! • WML Script is not type-safe. • Scripts can be scheduled to be pushed to the client device without the user’s knowledge • Does not prevent access to persistent storage • Possible attacks: • Theft or damage of personal information • Abusing user’s authentication information • Maliciously offloading money saved on smart cards
Conclusion • The platform and languages used have failed to adopt fundamental security concepts • Encrypted communication protocols are necessary to provide confidentiality, integrity, and authentication services to m-commerce application • The greatest risk is possibly coming from mobile code
Conclusion Cont’d • Some of these problems are expected to be fixed in the near future. However, other problems will continuo to exist. • Security models have to be part of the design • Currently, accumulated experience in the security field has not been fully utilized in mobile commerce systems. • The success of mobile commerce will depend critically on the level of security available.