Bluetooth security

33
Bluetooth Security By Mohammed A. Ahmed Amjad M. Musleh Asmat K. Marouf Advisors Dr. Ashraf S. H. Mahmoud Dr. Marwan H. Abu-Amara

description

A Presentation

Transcript of Bluetooth security

Page 1: Bluetooth security

Bluetooth Security

By

Mohammed A. AhmedAmjad M. MuslehAsmat K. Marouf

AdvisorsDr. Ashraf S. H. Mahmoud

Dr. Marwan H. Abu-Amara

Page 2: Bluetooth security

Project Description

• Study Bluetooth security aspects

• Blue-attacks mechanism analysis

• Implementation of Java Bluetooth Applications

Page 3: Bluetooth security

Agenda

• Introduction• Security Mechanism• Bluesnarfing Attack• Bluetooth Programming Environment• J2ME into J2SE• Bluetooth Application Programming• Difficulties Faced• Conclusion

Page 4: Bluetooth security

Introduction

•What is Bluetooth?

- Short area wireless technology

- Developed by SIG (Special Interest Group)

•Properties

- 2.4 GHz ISM (industrial,scientific,medical) band

- Spread frequency hopping

- Point to Multipoint

Page 5: Bluetooth security

Introduction

• Bluetooth Stack

-Bluetooth host (software)-Bluetooth controller (hardware) -HCI (host controller interface)

Page 6: Bluetooth security

Introduction

•Bluetooth attacks examples

• Blue-snarf attack get personal information

• Blue-jack attack send unwanted messages

• Blue-bug attack full access (AT command)

Page 7: Bluetooth security

Security Mechanism

• Looking for Blue-attacks causes

– Searching on security mechanism• Holes in security architecture or Bluetooth spec.

– Searching on security implementation• Holes in vendor’s implementation

Page 8: Bluetooth security

Security Mechanism

• Bluetooth security: service-dependent– What service What security level required

• Bluetooth link level security– Not always enforced– Device Authentication– Link Encryption ( pairing )

• Bluetooth higher-level security– Up to vendors implementation

Page 9: Bluetooth security

Security Mechanism

• Analysis of link level security

Page 10: Bluetooth security

Find a Bluetooth Device

Enter PIN, generate

Auth.Key: K1 Enter PIN

Device 2Server

Device 1Client

Challenge

respond

Process Auth. and respond

Response OK?

Generate Encryption key

Generate Encryption key

Device 2Server

Device 1Client

Exchang link key

yes

Device found ?

Yes

No

Dissconnect!

Device 2Server

Device 1Client

Terminate

Exchange encrypted data

No

Encrypted-secure link

Page 11: Bluetooth security

Security Mechanism

• Results– Weakness in link level : PIN

• Solution: Long & random PIN

– Key exchange• Solution: Do it in private !!

– BUT• Other wireless protocols ~ same problem• Even if I got the PIN,ATTACKS SHOULD NOT HAPPEN!!

Page 12: Bluetooth security

Bluesnarfing Attack

• Why Bluesnarfing attack happens ?- vendors implementation of OBEX protocol

• Three profiles use the OBEX protocol:- Synchronization Profile (secure)

- File Transfer Profile (secure)

- Object Push (insecure)

File Transfer Profile

Aplication

Object Push

Business Card

Synchronization

Phone Book,Calender

OBEX

Lower Layers

Application Layer

Session Layer

Page 13: Bluetooth security

Bluesnarfing Attack

• What is OBEX protocol ?- Exchange objects between devices• The main four operations used in OBEX:

– Connect Operation– Put Operation– Get Operation – Disconnect Operation

• OBEX protocol Layers

Page 14: Bluetooth security

Bluesnarfing Attack

Normal OBEX session Client Server

Connect (Target #)

Get/put operation (Connection ID# , Who #)

Disconnect (Connection ID #, Who #)

Initiating the security procedure depending on the

target application if any

Page 15: Bluetooth security

Bluesnarfing Attack

How Bluesnarfing

Attack Happens :

Page 16: Bluetooth security

Bluetooth Programming Environment

• Why Java ?– Platform independent– Multiple vendors (choices!)– Widespread industry acceptance

• Java Platforms:– J2SE for desktop applications – J2ME for resource-constrained computing devices

Page 17: Bluetooth security

Bluetooth Programming Environment

• What is J2ME ?

• Configuration -core classes

• Profile - example :MIDP (Mobile Information Device

Profile)

• Optional Packages- To include additional technologies

- Example Bluetooth Package:

1. Javax.bluetooth 2. Javax.obex

Optional Packages

Profile

Configuration

Host Operating System

J2ME

Page 18: Bluetooth security

Bluetooth Programming Environment

• J2ME toolkit ( compile & emulate)

Page 19: Bluetooth security

Bluetooth Programming Environment

• Working in a Real EnvironmentTo discover and communicate with other devices

• To run our Bluetooth applications in a real environment:– Using a Bluetooth mobile device – Using our desktop with a Bluetooth adapter

• For the first approach:– NOKIA 6810 mobile phone

It did not work (Java Bluetooth API is missing )!

Page 20: Bluetooth security

J2ME into J2SE

• To support J2ME features:– javax.microedition.io

• To support Bluetooth:– javax.bluetooth

• Is it enough?– Other classes are missed

Page 21: Bluetooth security

J2ME into J2SE

• Ready Solution (GCF)– GCF ( Generic Connection Framework)

– Define ALL packages to migrate J2ME to J2SE

– Different implementations• Example: aveLink Bluetooth for java

Page 22: Bluetooth security

Bluetooth Application Programming

• Short-term goal– Bluetooth programming & attack preparation

• Long-term goal– Bluetooth attacks implementation

• Application components– Bluetooth Controller– Connection Controller– Attack Executor

Page 23: Bluetooth security

Bluetooth Application Programming

• General scenario

Page 24: Bluetooth security

Bluetooth Application Programming

• Bluetooth Controller– Job

• Device discovery

• Service discovery

– Implementation • javax.bluetooth built-in methods

Page 25: Bluetooth security

Bluetooth Application Programming: Bluetooth Controller

Page 26: Bluetooth security

Bluetooth Application Programming

• Connection Controller– Connect to what service (service inquiry)

– URL of the service (service record as response)

– Establish appropriate connection

• Connection to service: 2-parties operation– Server mobile may respond differently

Page 27: Bluetooth security

Bluetooth Application Programming

• Attack executor

– Message Advertiser• Advertise messages to mobiles in range• Use OBEX

– Infinite SMS sender• Send SMS from one victim to another• Use AT commands over serial port profile

Page 28: Bluetooth security

Bluetooth Application Programming: Message Advertiser

Page 29: Bluetooth security

Bluetooth Application Programming: Infinite SMS sender

Page 30: Bluetooth security

Difficulties Faced

• Lack of resources– Cost– Non-Vulnerability

• Pre-work: environment adaptation– Software & hardware requirements

• Illegality of hacking limited guidance

Page 31: Bluetooth security

Conclusion

• General wireless programming sense• Theoretical Experience

– Bluetooth in general– Bluetooth security issues

• Practical experience – Different java platforms programming– Bluetooth programming in particular

• FinallyKnowledge-based hacking =Knowledge + Time + effort + KEEP TRYING

Page 32: Bluetooth security

MORE INFORMATION

http://student.kfupm.edu.sa/s208675

Page 33: Bluetooth security

THANK YOU