secure instant messenger

21
SECURE INSTANT MESSENGER HUSKY HACKERS –GROUP 7 ABDULLA AL ALI DEEPAK KALRA RAGURAM KRISHNAMACHARI SHINN CHYANG

Upload: eron

Post on 23-Feb-2016

56 views

Category:

Documents


0 download

DESCRIPTION

SECURE INSTANT MESSENGER. HUSKY HACKERS –GROUP 7 ABDULLA AL ALI DEEPAK KALRA RAGURAM KRISHNAMACHARI SHINN CHYANG. IMPLEMENTATION. Finite State Machine 3 Event – Transport Event GUI Event Timeout Event Swing GUI Threads Transport Layer - UDP Listener Sender - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SECURE INSTANT MESSENGER

SECURE INSTANT MESSENGER

HUSKY HACKERS –GROUP 7ABDULLA AL ALIDEEPAK KALRA

RAGURAM KRISHNAMACHARISHINN CHYANG

Page 2: SECURE INSTANT MESSENGER

IMPLEMENTATION•Finite State Machine•3 Event –

•Transport Event•GUI Event•Timeout Event

•Swing GUI •Threads•Transport Layer - UDP

•Listener•Sender

•Business Logic - Requests

Page 3: SECURE INSTANT MESSENGER

SOFTWARE ENGINEERING• Waterfall Approach•Use Cases•State Diagrams•Coding Guidelines• Implementation•Code Review•Testing•Java Docs•Other Documents•Deployment

Page 4: SECURE INSTANT MESSENGER

CHALLENGES• RSA encryption •Client State Machine – One Client •Chat with one user at a time

Page 5: SECURE INSTANT MESSENGER

• IM state transition when A talks to B

•Timeline when A is talking to B, C wants to talk to A

CHALLENGES (State Machine)LOGIN

P2P authentication

P2P Message exchange

RID 250 RID 520 RID 530

Time 1 2 3A→B RID 250 RID 520 RID 530C→A RID 250 RID 520

Page 6: SECURE INSTANT MESSENGER

PROTECTION (Linux server)• Setup snort + log traffic

• Setup AIDE

• Disabling Extraneous services (cupsd, exim)

• Configure Firewall (iptables)

Page 7: SECURE INSTANT MESSENGER

PROTECTION (IM)•Cookie challenge to prevent DOS attack•Timestamp•Strong encryption and hash algorithm•Event logs on IM server

REQUEST ID FLOW DETAILS ENCRYPTION TYPE

RID_210 A -> S LOGIN PLAINTEXT

RID_220 S -> A C PLAINTEXT

RID_230 A -> S C, {T1, UA, PKA, h(pwd)}PKS RSA

RID_240 S -> A {UA, T1, T2, KA}PKA RSA

RID_250 A -> S KA {T2} RSA

Page 8: SECURE INSTANT MESSENGER

ATTACKS ON OTHER TEAMS• Lack of documentation

• Lack of code clarity

• Server uptime

Page 9: SECURE INSTANT MESSENGER

TEAM 1 – KADS• Design does not match implementation

•Client did not run in LINUX•Client & Server have to run in the same machine •Could not log in two users simultaneously

Page 10: SECURE INSTANT MESSENGER

TEAM 1 – KADS (Contd …)• No timeouts, client stuck in while loop.•

•No weak password protection

•AES in ECB mode

Page 11: SECURE INSTANT MESSENGER

TEAM 3 – TORMENTORS

• DoS ATTACK• Number of Client threads limited to 5000

Page 12: SECURE INSTANT MESSENGER

TEAM 3 – TORMENTORS (cont.) Couldn’t run the

program(unhandled exceptions)

Second DoS

Page 13: SECURE INSTANT MESSENGER

TEAM 5 – NSN•No end point hiding

Page 14: SECURE INSTANT MESSENGER

TEAM 2 – ENIGMA•No end point hiding

Page 15: SECURE INSTANT MESSENGER

ATTACKS SUFFERED• TEAM 3 - Trudy’s attempt to logout Bob

REQUEST ID FLOW DETAILS ENCRYPTION TYPE

RID_310 A -> S LIST, UA, KA{UA, T1} AES

RID_320 S -> A KA {T1, [usernames]} AES

REQUEST ID FLOW DETAILS ENCRYPTION TYPE

RID_710 A -> S LOGOUT, UA, KA {UA, T1} AES

RID_720 S -> A K A {T1} AES

• ARP POISONING• LIST -> LOGOUT

Page 16: SECURE INSTANT MESSENGER

WHY THE ATTACK FAILED• Originating IP address did not match Bob’s// Retreive the user from the Hash Map UserInfo currentUser = (UserInfo) users.get(ipAddress);

Successful logout

Received a datagram pkt...requestID: 710 from: 10.0.7.1 RID: 710710 LOGOUTThe user Deepak was removed.

Unsuccessful logout

Received a datagram pkt...requestID: 710 from: 10.0.0.3 RID: 710Received a datagram pkt...requestID: 210 from: 10.0.0.3 RID: 210

Page 17: SECURE INSTANT MESSENGER

How to prevent it

REQUEST ID FLOW DETAILS ENCRYPTION TYPE

RID_310 A -> S KA{LIST, UA, T1} AES

RID_320 S -> A KA {T1, [usernames]} AES

REQUEST ID FLOW DETAILS ENCRYPTION TYPE

RID_710 A -> S KA {LOGOUT, UA, T1} AES

RID_720 S -> A K A {T1} AES

Modify the protocols as following:

Page 18: SECURE INSTANT MESSENGER

ATTACKS SUFFERED (cont.)DoS attack from 10.0.5.2Server survivedTo Prevent: Block 10.0.5.2 using the firewall

Received a datagram pk from 10.0.5.2Received a datagram pk from 10.0.5.2Received a datagram pk from 10.0.5.2Received a datagram pk from 10.0.5.2Received a datagram pk from 10.0.5.2Received a datagram pk from 10.0.5.2Received a datagram pk from 10.0.5.2Received a datagram pk from 10.0.5.2Received a datagram pk from 10.0.5.2Received a datagram pk from 10.0.5.2Received a datagram pk from 10.0.5.2

Page 19: SECURE INSTANT MESSENGER

LESSONS LEARNED• Error Messages

Page 20: SECURE INSTANT MESSENGER

LESSONS LEARNED (cont.)• Similar encrypted protocols• Message integrity• End point hidingREQUEST ID FLOW DETAILS ENCRYPTION TYPE

RID_310 A -> S LIST, UA, KA{UA, T1} AES

REQUEST ID FLOW DETAILS ENCRYPTION TYPE

RID_710 A -> S LOGOUT, UA, KA {UA, T1} AES

REQUEST ID FLOW DETAILS ENCRYPTION TYPE

RID_610 A -> B UA, KAB {T1, message1}, h(message1) AES + SHA1

RID_620 B -> A KAB {T1} AES

Page 21: SECURE INSTANT MESSENGER