Mobile Payment Application Security. Security steps to take while developing Mobile Application s. SISA Webinar.

Similar documents
Mobile Malfeasance. Exploring Dangerous Mobile Code. Jason Haddix, Director of Penetration Testing

Point ipos Implementation Guide. Hypercom P2100 using the Point ipos Payment Core Hypercom H2210/K1200 using the Point ipos Payment Core

PCI Implementation Workshop [CPISI] PCI Version 3.2

PCI COMPLIANCE IS NO LONGER OPTIONAL

Google Cloud Platform: Customer Responsibility Matrix. December 2018

INFORMATION SUPPLEMENT. Use of SSL/Early TLS for POS POI Terminal Connections. Date: June 2018 Author: PCI Security Standards Council

SECURITY PRACTICES OVERVIEW

PCI DSS COMPLIANCE 101

The PCI Security Standards Council

Security Update PCI Compliance

Section 1: Assessment Information

A QUICK PRIMER ON PCI DSS VERSION 3.0

Commerce PCI: A Four-Letter Word of E-Commerce

Payment Card Industry Internal Security Assessor: Quick Reference V1.0

All the Latest Data Security News. Best Practices and Compliance Information From the PCI Council

PCI Compliance Updates

Payment Card Industry (PCI) Data Security Standard

Navigating the PCI DSS Challenge. 29 April 2011

C1: Define Security Requirements

Google Cloud Platform: Customer Responsibility Matrix. April 2017

6 Vulnerabilities of the Retail Payment Ecosystem

Copyright

CN!Express CX-6000 Single User Version PCI Compliance Status Version June 2005

David Jenkins (QSA CISA) Director of PCI and Payment Services

EVALUATION OF PAYMENT APPLICATION DATA SECURITY STANDARD (PA-DSS) ELIGIBILITY WITH CAYAN GENIUS AND CAYAN TRANSPORT

Ethical Hacking and Countermeasures: Web Applications, Second Edition. Chapter 3 Web Application Vulnerabilities

CSWAE Certified Secure Web Application Engineer

The requirements were developed with the following objectives in mind:

Scan Report Executive Summary

Evolution of Cyber Attacks

Payment Card Industry (PCI) Data Security Standard

The Attacker s POV Hacking Mobile Apps. in Your Enterprise to Reveal Real Vulns and Protect the Business. Tony Ramirez

Payment Card Industry (PCI) Data Security Standard

.NET Secure Coding for Client-Server Applications 4-Day hands on Course. Course Syllabus

Web Tap Payment Authentication and Encryption With Zero Customer Effort

Certified Secure Web Application Engineer

Security

Payment Card Industry (PCI) Data Security Standard Self-Assessment Questionnaire A and Attestation of Compliance

C and C++ Secure Coding 4-day course. Syllabus

Comodo HackerGuardian. PCI Security Compliance The Facts. What PCI security means for your business

Kenna Platform Security. A technical overview of the comprehensive security measures Kenna uses to protect your data

Scan Report Executive Summary. Part 2. Component Compliance Summary Component (IP Address, domain, etc.):

Stripe Terminal Implementation Guide

Will you be PCI DSS Compliant by September 2010?

Section 1: Assessment Information

Bank Infrastructure - Video - 1

PCI Compliance: It's Required, and It's Good for Your Business

Advanced Certifications PA-DSS and P2PE. Erik Winkler, VP, ControlCase

Scan Report Executive Summary

Daxko s PCI DSS Responsibilities

Payment Card Industry (PCI) Data Security Standard

The Devil is in the Details: The Secrets to Complying with PCI Requirements. Michelle Kaiser Bray Faegre Baker Daniels

GlobalSCAPE EFT Server. HS Module. High Security. Detail Review. Facilitating Enterprise PCI DSS Compliance

Don t blink or how to create secure software. Bozhidar Bozhanov, LogSentinel

Security and Privacy. SWE 432, Fall 2016 Design and Implementation of Software for the Web


PCI DSS. Compliance and Validation Guide VERSION PCI DSS. Compliance and Validation Guide

PCI DSS Compliance. White Paper Parallels Remote Application Server

The nominative data coming from the population registry and used to generate the voting cards are never stored in the evoting system database.

Security Engineering by Ross Andersson Chapter 18. API Security. Presented by: Uri Ariel Nepomniashchy 31/05/2016

AuthAnvil for Retail IT. Exploring how AuthAnvil helps to reach compliance objectives

OWASP Thailand. Proxy Caches and Web Application Security. OWASP AppSec Asia October 21, Using the Recent Google Docs 0-Day as an Example

Security Information & Policies

PCI DSS 3.2 AWARENESS NOVEMBER 2017

Site Data Protection (SDP) Program Update

Deliver Strong Mobile App Security and the Ultimate User Experience

The Android security jungle: pitfalls, threats and survival tips. Scott

PCI PA-DSS Implementation Guide

Payment Card Industry (PCI) Compliance

CASE STUDY - Preparing for a PCI-DSS Audit using Cryptosense Analyzer

Solutions Business Manager Web Application Security Assessment

Transaction Security Challenges & Solutions

Point PA-DSS. Implementation Guide. Banksys Yomani VeriFone & PAX VPFIPA0201

PCI PA DSS. PBMUECR Implementation Guide

PCI DSS and VNC Connect

Using the Cisco ACE Application Control Engine Application Switches with the Cisco ACE XML Gateway

EasyCrypt passes an independent security audit

Course 834 EC-Council Certified Secure Programmer Java (ECSP)

01/02/2014 SECURITY ASSESSMENT METHODOLOGIES SENSEPOST 2014 ALL RIGHTS RESERVED

Implementation Guide paypoint version 5.08.xx, 5.11.xx, 5.13.xx, 5.14.xx, 5.15.xx

Payment Card Industry and Citrix XenApp and XenDesktop Deployment Scenarios

PCI DSS Compliance. Verba SOLUTION GUIDE. Introduction. Verba and the Payment Card Industry Data Security Standard

GUIDE TO STAYING OUT OF PCI SCOPE

MOBILE THREAT LANDSCAPE. February 2018

Attacks Against Websites 3 The OWASP Top 10. Tom Chothia Computer Security, Lecture 14

PDQ Guide for the PCI Data Security Standard Self-Assessment Questionnaire C (Version 1.2)

But where'd that extra "s" come from, and what does it mean?

Payment Card Industry (PCI) Data Security Standard

Payment Card Industry (PCI) Data Security Standard

A Perfect Fit: Understanding the Interrelationship of the PCI Standards

Data Security Standard

Encryption of cardholder information. Torbjörn Lofterud Cybercom Sweden East AB.

PCI DSS Addressing Cyber-Security Threats. ETCAA June Gabriel Leperlier

Managed Application Security trends and best practices in application security

Payment Card Industry (PCI) Data Security Standard

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

PCI compliance the what and the why Executing through excellence

Payment Card Industry (PCI) Data Security Standard

OWASP Top 10 Risks. Many thanks to Dave Wichers & OWASP

1 About Web Security. What is application security? So what can happen? see [?]

Transcription:

Mobile Payment Application Security Security steps to take while developing Mobile Application s

About SISA Payment Security Specialists PCI Certification Body (PCI Qualified Security Assessor) Payment Application Security Assessor (PA QSA) Point to Point Encryption Qualified Security Assessor (P2PE QSA) VISA Approved Security Assessor (PCI PIN) PCI Approved Scanning Vendor (PCI ASV) Certified the First IT/ITES, First Bank and First Merchant on PCI Compliance. Securing payments for over 1,000 organizations in over 30 Countries Delivery locations across Asia Pacific, Middle East and Americas. SISA CPISI Certification has over 5,000 professionals and is the one of the most coveted certifications for payment security professionals in the marketplace.

SISA Offering Synergistic Security Framework

Speakers Dharshan Shanthamurthy Renju Varghese Jolly CEO Principal Consultant

Introduction As per a Garner study, If an organization doesn t have a mobile strategy, then they don t have a strategy at all. Expected mobile and tablet sale by end of 2015 is 3 billion devices Gartner is predicting that by end of 2017, focus of end-point breach will shift from PC to mobile devices Consider that with 1.6 million Android application and 1.5 million apps in App Store Hence, the webinar on Mobile Application Security As Doctor s say Prevention is better than cure.

Anatomy of a Mobile Attack

Different Types of Mobile App Web Referred as WAP or Mobile Sites Native Compiled for the specific mobile platforms (like Android, ios) and leveraging the mobile platform API s Wrapper / Hybrid Operated by leveraging web pages inside a Native application

Steps to consider while developing the mobile application Coding Practices Increase code complexity and Use Obfuscation Avoid Simple Logic Test Third party libraries Implement anti-tamer techniques Securely store sensitive data in RAM Secure deletion of data Avoid query string for sensitive data Handling Sensitive data Implement secure data storage Limit use of UUID Protect Application Settings Hide account number and use tokens Implement Secure Network transmission of sensitive data Validate input from client Caching and Logging Avoid caching app data Avoid crash logs Carefully manage debug logs

Coding Practices - Increase Code Complexity and Use Obfuscation Reverse engineering apps can provide valuable insight into how the application works Making the application complex internally, will make it difficult for the attacker Obfuscate all sensitive application code where feasible by running an automated code obfuscation program using either 3rd party commercial software or open source solutions Implement anti-debugging techniques (e.g. prevent a debugger from attaching to the process) Disable logging Restricting debuggers and Trace Checking Avoid Simple Logic Simple logic tests in code are more susceptible to attack. Example: if sessionistrusted == 1 If the attacker can change the one value, they can circumvent the security controls Consider a better programming paradigm, where privileges are enforced by the server when the session is not trusted, or by preventing certain data from being decrypted Integrating techniques such as encryption, timed callbacks and flow-based programming can add complexity for an attacker.

Coding Practices - Test Third-Party Libraries Third party libraries can contain vulnerabilities and weaknesses Developers assume libraries are well-developed and tested, but issues can and do exist in the code Conduct security audit for all third party libraries and functions Implement Anti-tamper techniques Apps can be tampered with or backdoored and then re-signed by an attacker Insert malicious functions and publish the malicious versions via third-party markets Employ anti-tamper as well as tamper detection techniques designed to prevent illegitimate application from running Checksum or digital signatures for detecting whether data files have been tampered with Use PackageManager class, use public key from the app s certificate to validate whether it is signed by developers private key

Coding Practice - Securely Store Sensitive Data in RAM Application specific data in RAM are not cleaned properly upon user logout or session time out Encryption keys can linger in the background Sensitive data should not be retained in RAM no longer than required Nullify the variables handling sensitive data Consider using character array instead of immutable objects Understand Secure Deletion of Data Calling file.delete () will not securely erase the file, as long as it is not overwritten Assume that data written to device can be recovered Encryption might add an additional layer Ideally avoid storing sensitive information on the device

Coding Practice - Avoid Query String for Sensitive Data Query string parameters are more visible and be unexpectedly cached (web history, webserver or proxy logs, etc.) Use secure POST to send user data, with XSRF token protection. POST data is not logged by default in areas where query string data can be found For all POST or GET query, temporary session cookies should be used Encrypt data using temporary session key can prevent a replay attack

Handling Sensitive Data Implement Secure Data Storage Do not store / cache data Transmit and display but do not persist to memory Store only in RAM (and clear at application close) Additional layer of Encryption use third party encryption solution than platform based API s Encryption keys should not remain in RAM during the instance lifecycle of the app. Instead, keys should be generated real time for encryption/decryption as needed and discarded each time. Do not store sensitive data in the keychain of ios devices due to vulnerabilities in their cryptographic mechanisms. Store sensitive data on the server instead in the App Do not store temp/cached data in a world readable directory. Assume shared storage is untrusted. Ensure that sensitive data (e.g. passwords, keys etc.) are not visible in cache or logs. Use a time based (expiry) type of control which will wipe sensitive data from the mobile device once the application has not communicated with its servers for a given period of time.

Handling Sensitive Data Protect Application Settings Developers store the application setting in plist file in ios and XML file or SQLite database in Android Settings are not encrypted by default and can be read or modified Compile the application settings into code Don t store any critical settings in dictionaries or other files unless encrypted first Encrypt all configuration file using a master key encrypted with a passphrase that is supplied by the user Hide Account Numbers and use Tokens Many app store complete account number in various screens Display only partial numbers (e.g. ****4251) Don t store the full account number, instead store only the partial number or truncated value Instead of account number, tokens can be generated and assigned to each account Token number should not be deductible by user and should have server side mapping

Handling Sensitive Data Implement Secure Network Transmission of Sensitive Data Unlike web browsers, mobile devices do not show when an app is (or is not) using TLS And just trusting TLS / SSL certificate is not enough Consider using asymmetric or symmetric encryption for encrypting data Validate input from client Even if data is generated by mobile, it is possible that it might have been intercepted and manipulated Can lead to buffer overflows, SQL injection and other attacks As with web application security, properly sanitize all inputs from mobile application at server side User OWASP ESAPI for the same Limit use of UUID Mobile devices have a unique ID (UUID) Developers have adopted UUID as way of device authentication, thus making it a foundation of security for many systems. UUID tracking will lead to privacy concern and impersonating a user Don t use any device provided identifier for identifying the device (UUID nor MC address) Create an app-unique device factor at registration Use the app-unique device factor along with user authentication for creating a session

Caching and Logging Avoid Caching App Data Data can be stored in variety of artifacts log/debug files, cookies, web history, web cache, files and SQLite database Simply do not store / cache data Prevent HTTP caching Avoid caching URL history and page data Avoid crash logs If app crashes, the resulting log can provide valuable information to an attacker Ensure apps are built without warnings and are thoroughly tested to avoid crashes Also, avoid sending crash logs over the network in plaintext Carefully manage debug logs Debug logs are designed to be used to detect and correct flaw in the application But these logs can leak sensitive information Recommend to disable debug logs in the production environment

For Mobile POS application Additional points to consider while developing mobile POS application Card reader should be PCI PTS certified device Track2 data and PIN block needs to encrypted using DUKPT encryption algorithm Different keys should be used for encrypting track2 data and PIN block PCI PTS certified SCR device provide API s, which will return the cardholder name and last four digits of the card number. Use the API for displaying the card holder details. Both track2 and PIN block needs to be encrypted by the SCR and should be decrypted If possible, have a HSM (Host Security Module) for decrypting the data at the back-end Do not store any sensitive information, even if encrypted in debug logs or database Mobile POS application needs to undergo PA-DSS validation service as well

Thank You! marketing@sisainfosec.com