Biologger A Biometric Keylogger



Similar documents

Overview of Network Security The need for network security Desirable security properties Common vulnerabilities Security policy designs

The Trivial Cisco IP Phones Compromise

Potential Targets - Field Devices

WIRELESS SECURITY. Information Security in Systems & Networks Public Development Program. Sanjay Goel University at Albany, SUNY Fall 2006

Security. TestOut Modules

CS5008: Internet Computing

Linux Network Security

External Vulnerability Assessment. -Technical Summary- ABC ORGANIZATION

CRYPTUS DIPLOMA IN IT SECURITY

Basic Vulnerability Issues for SIP Security

2. From a control perspective, the PRIMARY objective of classifying information assets is to:

7 Network Security. 7.1 Introduction 7.2 Improving the Security 7.3 Internet Security Framework. 7.5 Absolute Security?

CS 665: Computer System Security. Network Security. Usage environment. Sources of vulnerabilities. Information Assurance Module

SY system so that an unauthorized individual can take over an authorized session, or to disrupt service to authorized users.

CrashPlan Security SECURITY CONTEXT TECHNOLOGY

Building Energy Security Framework

solutions Biometrics integration

Course Title: Penetration Testing: Security Analysis

COURSE NAME: INFORMATION SECURITY INTERNSHIP PROGRAM

Security Issues with Integrated Smart Buildings

PCI Compliance - A Realistic Approach. Harshul Joshi, CISM, CISA, CISSP Director, Information Technology CBIZ MHM hjoshi@cbiz.com

Passing PCI Compliance How to Address the Application Security Mandates

Penetration testing. A step beyond missing patches and weak passwords

Thick Client Application Security

a) Encryption is enabled on the access point. b) The conference room network is on a separate virtual local area network (VLAN)

LEARNING COMPUTER SYSTEMS VULNERABILITIES EXPLOITATION THROUGH PENETRATION TEST EXPERIMENTS

Learn Ethical Hacking, Become a Pentester

enicq 5 System Administrator s Guide

Application Intrusion Detection

PENTEST. Pentest Services. VoIP & Web.

How To Protect A Web Application From Attack From A Trusted Environment

Exploiting Transparent User Identification Systems

Build Your Own Security Lab

INTRODUCTION TO FIREWALL SECURITY

WLAN Attacks. Wireless LAN Attacks and Protection Tools. (Section 3 contd.) Traffic Analysis. Passive Attacks. War Driving. War Driving contd.

Guideline for setting up a functional VPN

Application Security Testing

CYBER ATTACKS EXPLAINED: PACKET CRAFTING

Covert Operations: Kill Chain Actions using Security Analytics

JK0 015 CompTIA E2C Security+ (2008 Edition) Exam

Information Supplement: Requirement 6.6 Code Reviews and Application Firewalls Clarified

ICANWK406A Install, configure and test network security

CompTIA Security+ (Exam SY0-410)

Bendigo and Adelaide Bank Ltd Security Incident Response Procedure

Global Partner Management Notice

Virtual private network. Network security protocols VPN VPN. Instead of a dedicated data link Packets securely sent over a shared network Internet VPN

(WAPT) Web Application Penetration Testing

Who is Watching You? Video Conferencing Security

ITEC441- IS Security. Chapter 15 Performing a Penetration Test

Recommended IP Telephony Architecture

Payment Card Industry Data Security Standard Payment Card Industry Data Security Standard (PCI / DSS)

Security+ Guide to Network Security Fundamentals, Fourth Edition. Chapter 6 Network Security

Biometric Security: Client-Server Systems. Mira LaCous VP Technology & Development BIO-key International, Inc Mira.LaCous@bio-key.

WEB SECURITY. Oriana Kondakciu Software Engineering 4C03 Project

The purpose of this report is to educate our prospective clients about capabilities of Hackers Locked.

Sitefinity Security and Best Practices

Penetration Testing 2014

Course Content Summary ITN 261 Network Attacks, Computer Crime and Hacking (4 Credits)

JK0-022 CompTIA Academic/E2C Security+ Certification Exam CompTIA

White Paper A SECURITY GUIDE TO PROTECTING IP PHONE SYSTEMS AGAINST ATTACK. A balancing act

INDUSTRIAL CONTROL SYSTEMS CYBER SECURITY DEMONSTRATION

Where every interaction matters.

Network Security and Firewall 1

Barracuda Intrusion Detection and Prevention System

Malicious Network Traffic Analysis

A Study on The Information Gathering Method for Penetration Testing

PROFESSIONAL SECURITY SYSTEMS

Multi-factor authentication

Track 2 Workshop PacNOG 7 American Samoa. Firewalling and NAT

Network Concepts. IT 4823 Information Security Concepts and Administration. The Network Environment. Resilience. Network Topology. Transmission Media

How To Protect Data From Attack On A Network From A Hacker (Cybersecurity)

Alarm over IP. What is Alarm over IP? How does Alarm over IP work? Intrusion Systems White Paper Series Alarm over IP

Part I. Universität Klagenfurt - IWAS Multimedia Kommunikation (VK) M. Euchner; Mai Siemens AG 2001, ICN M NT

Chapter 7 Transport-Level Security

Architecture Overview

Cloud S ecurity Security Processes & Practices Jinesh Varia

How To Manage Security On A Networked Computer System

Project X Mass interception of encrypted connections

Internet infrastructure. Prof. dr. ir. André Mariën

Windows Attack - Gain Enterprise Admin Privileges in 5 Minutes

Professional Penetration Testing Techniques and Vulnerability Assessment ...

Using Entrust certificates with VPN

EC-Council Certified Security Analyst / License Penetration Tester (ECSA/LPT) v4.0 Bootcamp

SCADA System Security. ECE 478 Network Security Oregon State University March 7, 2005

Enterprise Cybersecurity Best Practices Part Number MAN Revision 006

GFI White Paper PCI-DSS compliance and GFI Software products

Penetration Testing with Kali Linux

GlobalSCAPE DMZ Gateway, v1. User Guide

The Information Leak Detection & Prevention Guide

Network Security Administrator

Session Hijacking Exploiting TCP, UDP and HTTP Sessions

Introduction of Intrusion Detection Systems

Improved document archiving speeds; data enters the FileNexus System at a faster rate! See benchmark test spreadsheet.

Transcription:

Biologger A Biometric Keylogger Matt Lewis, Black Hat Europe 2008

Agenda Background and research aims Worked example Protocol investigation Identifying template formats Identifying image data Fake biometric creation Identifying and replaying control data Application to penetration testing methodology Mitigation and conclusions

Why Investigate Biometrics? (1) Many large-scale National ID projects to be realised (Passports, ID Cards). Future component of Critical National Infrastructure (CNI) Organisations looking at different types of physical access control (building and room access) Organisations looking at biometrics for logical access control (IT logon, data encryption)

Why Investigate Biometrics? (2) Many biometric devices implement an IP stack (ease of integration within existing networks and lower costs) Biometrics are just electronic systems that comprise: Scanners/acquisition devices = input devices Data transfer to/from backend databases = networks Template storage = databases Need to identify methods of investigating the security of biometric systems One approach investigate the protocols and data exchanges between biometric devices and processing units

Biologging: In the spirit of key logging, man-in-the-middle the traffic and see what we can do with what we find

Example Lab Setup (1)

Example Lab Setup (2) Biometric device uses UDP between itself and management server Management server maintains control of a network of devices and a backup of biometric templates Electronic lock activated with successful authentication All traffic proxied through laptop (POC Biologger)

Protocol Investigation (1) Passive capture of all data transfers between device and server all possible user actions explored: Enrolment User deletions Template upload/download Captured traffic then inspected offline zero knowledge black/box style

Protocol Investigation (2) Wake-up message identified before each transmission to/from device/server: \x00\x00\x0a\xfe\x00\x00 Device/server replies with a message containing two variable bytes, which appear in all subsequent transactions (a form of session identifier) Two further variable bytes within message (some form of checksum)

Protocol Investigation (3) Messages of ~300 bytes identified, deemed likely to contain template data Inspection of multiple packets allowed us to determine with reasonable certainty the following information:

Protocol Investigation (4) System under test allows for the enrolment of up to all 10 fingers, and possible to identify finger mappings: Useful for attackers to know which fingers are registered may assist in spoofing attacks (see later) Some fingers contain more detail than others may be more vulnerable to exploitation of the False Accept Rate (FAR), therefore good victims/targets

Identifying Template Format Brief open-source investigation of the device revealed that templates are categorised to speed-up matching process Inspection of multiple enrolments from device captured by Biologger revealed third byte corresponding to the following: \x00 Left Loop \x01 Right Loop \x02 Arch

Identifying Image Data (1) System allows for backup of fingerprint images during enrolment Data transfers of around 10,000 bytes observed (likely image data) Quick script to plot captured data with different permutations in (x,y) axis actual byte value used as greyscale value

Identifying Image Data (2) for wrap in range(100,150): # try plotting in x axis from wraparound of 100 to 150 # create new greyscale image newim = Image.new ("L", (150,150)) putpixel = newim.putpixel x = 0 y = 0 # plot all captured image data for p in range(len(data)): # get the pixel colour value col = ord(data[p]) putpixel((x, y), col) x = x + 1 # if we've reached current wrap, plot on next line if x == wrap: x = 0 y = y + 1 newim.save("fingerprint" + str(wrap) + ".jpg")

Identifying Image Data (3) Animation

Fingerprint image eventually revealed! Identifying Image Data (4)

Identifying Image Data (5) Reconstructed image not perfect, but could be cleaned with further manipulation If quality is sufficient, could be used to develop fake biometric Main observation at this stage data is not encrypted!

Identifying Image Data (6) Intercepted image data may not be raw Other image file formats may be in use, e.g. JPEG May need to search captured data for common file format headers, e.g. JFIF Image data may be compressed for data transfer this requires further analysis and effort to identify useful information

Fake Biometric Creation (1) The process of turning a 2D image into 3D artefact Note that an image from device/sensor is likely to be very good quality (passed internal quality controls of the device) Intercepted images therefore better candidates than other latent or passive image capture methods

Fake Biometric Creation (2) 1. Take captured/reconstructed Biologger image 2. Convert to monochrome (black and white). Microsoft Paint works well 3. Etch onto PCB, or use image on transparency with UV exposure and acid bath to yield copper 3D mould 4. Use filling agent of choice to create fake fingertip (e.g. silicone/gelatine) Image Yokohama Nat. Univ. Matsumoto Laboratory

Video Video to be played here

Replaying Control Data (1) Further inspection of captured traffic revealed control messages System allows addition of new users without fingerprint data (e.g. PIN only) <New User Message> = <User ID number><privilege><password><name><devicenumber> The following privileges were identified: \x00 user disabled \x01 - normal user \x02 - manager \x03 - administrator 8-byte door unlock message also identified, contains device number within the network that is to issue the unlock signal

Replaying Control Data (2) Recall earlier problem unable to identify checksum value (2-bytes) 2^16 = 65536 possibilities for the checksum. That must be brute-forceable! sub bruteforce_message { $session = shift; # get the session ID after issuing wake-up message $device = shift; # get the device number to which to issue the open door command # send open door message with session identifier and all possible checksum values # contained within two byte variables $v1 and $v2 for($v1 = 0; $v1 < 256; $v1++) { for($v2 = 0; $v2 < 256; $v2++) { $open_door = "\x0a". chr($v1). chr($v2). $session. $device; # write the message to the socket print $sock $open_door; # incure a slight delay before transmitting next packet select(undef, undef, undef, 0.001); } } }

Replaying Control Data (3) Takes circa 6 minutes on a 1GHz laptop with a singlethreaded solution Possible to (eventually) successfully open the door with this replay Also possible to add new administrative users (without biometric) $add_user = "\x0a". chr($v1). chr($v2). $session. 65534\x031234Hacker\x00 ; Denial of Service anyone? A Delete user message is also available

Application to Penetration Testing (1) Open Source information gathering manufacturer/vendor website can reveal much about the biometric device and modus operandi Target discovery and network analysis Portscan the device(s) - web servers are common services (potential admin functions) Portscan the server(s) SQL servers are common good old blank sa? Network analysis the types of things we ve seen today Identifying, distinguishing and replaying biometric/control data Information leaks information relating to the biometric, privilege levels, access rights, ID numbers and PINs

Application to Penetration Testing (2) Identifying biometric images and the recreation, manipulation and exploitation thereof Operating system analysis Usual tools and techniques apply. For the biometric device, embedded OS may require further analysis Exploits and privilege escalation For servers, the usual applies For the biometric device, potential 0-days in embedded bespoke operating systems, unstable IP stacks (previous experience of a device reboot as a result of simple SYN scan)

Application to Penetration Testing (3) Further Access Biometric spoofing impersonating, development of fake biometric, defeating liveness detection Is the system under test a physical access solution? What further physical access can be achieved? Can I open the door to the server room? Is the system under test and ID/authentication solution? Can I swap identities, extend my VISA, improve my societal status? Can I remove myself from a watch-list?

Conclusions (1) Biologging provides a useful mechanism for examining the security capabilities of biometric systems Biologging could be achieved through a number of different methods: Sniffing device on the same broadcast domain Inline wire tap / proxy device Host-based function hooking/dll injection on biometric servers

Conclusions (2) Most of the issues identified in this briefing could be mitigated with proper encryption of all biometric, user and control data Authenticated sessions between device and server would also improve the current configuration Regular log audits might identify unusual patterns of use Challenge-response mechanisms could be employed (e.g. request different finger on each authentication) Same principles apply to all biometric modes: Face, Finger, Iris, Hand, Voice Biometrics Security

Questions? matthew.lewis[at]irmplc.com