M3: Insecure
Communication
Meet The Team
2
Gayan Gothama Thisaranga Dilshan
What is Insecure
Commiunication?
1
What is Insecure
Commiunication?
A client –server model is often used to
exchange date in Mobile Apps
Which must be transferred via internet
securely
Transferring these data via unencrypted
channels and as plain text can be mostly
dangerous.
4
Threat Agents
2
Threat Agents
Threat actors may take advantage of
vulnerabilities in the system to intercept
sensitive data as it transmit across the
internet.
1. A malware
2. Network devices (routers, cell towers)
3. An adversary that shares local network
(Compromised WiFi / Monitored WiFi)
6
Insecure
Communication
Reasons
3
Insecure Communication Reasons
1. Poor Handshaking
2. Weak Re-negotiation
3. Intercepting traffic
4. Plaintext Data Communication
8
 Every TLS/SSL connection stats with a handshake
 Handshake contains the rules for secure connection
 Server side configuration is crucial in this case and
here are some requirements,
i. Certificate is preferably not a wildcard domain
ii. Key length must be > 2048bits
iii. Allow secure protocols only (Ex:TSL V1.2)
iv. Allow only secure cipher suits (Ex:AES256
SHA2)
9
1. Poor Handshaking
 Renegotiation : The process of establishing a
new handshake when during the TLS/SSL link.
 The problem is that most mobile app
renegotiations aren't cryptographically
connected to the TLS/SSL link they're running
over.
 Attacker can inject a malicious code and trick
the server.
10
2. Weak Re-negotiation
Four Types of Renegotiations:
A. Client-initiated secure renegotiation.
B. Client-initiated insecure renegotiation.
C. Server-initiated secure renegotiation.
D. Server-initiated insecure renegotiation.
Two Main Problems of Renegotiations :
A. Man-in-the-middle Attack
B. DoS Attack
11
12
3. Intercepting Traffic
 There are several factors that should be
satisfied in order to intercept a mobile app
traffic.
1) Install the proxy’s CA certificate on device.
2) Configuring the workstation into a router.
3) Change Wi-Fi configuration of the device.
13
4. Plaintext Data Communication
 Any application that contains
secret/sensitive information, must
not transmit data in plain text.
 Which will cause a sensitive
information disclosure
14
Am I Vulnerable
to Insecure
Communication?
4
16
 Mainly effects to your Data Integrity and Data
Confidentiality
1) Eavesdropping
2) Offline Attacks
3) Certificate Checking Issues
4) Weak Ciphers
How To Prevent
Insecure
Communication?
5
18
1) Use industry standard ciphers + key lengths
2) Only use trusted CA certificates
3) Perform a SSL Chain Verification at all times
4) Account external 3rd party entities
Ex: Analytics companies, Social networks
5) Use SSL/TLS in where channels used in mobile
to backend communication
6) Add extra layer of encryption before offering
data to SSL channel
General Practices
19
1) Poor certificate inspection
2) Leakage of Privacy
3) Leakage of Confidentiality
Common Scenarios
Thanks!!
20

OWASP Top 10 - Insecure Communication

  • 1.
  • 2.
    Meet The Team 2 GayanGothama Thisaranga Dilshan
  • 3.
  • 4.
    What is Insecure Commiunication? Aclient –server model is often used to exchange date in Mobile Apps Which must be transferred via internet securely Transferring these data via unencrypted channels and as plain text can be mostly dangerous. 4
  • 5.
  • 6.
    Threat Agents Threat actorsmay take advantage of vulnerabilities in the system to intercept sensitive data as it transmit across the internet. 1. A malware 2. Network devices (routers, cell towers) 3. An adversary that shares local network (Compromised WiFi / Monitored WiFi) 6
  • 7.
  • 8.
    Insecure Communication Reasons 1.Poor Handshaking 2. Weak Re-negotiation 3. Intercepting traffic 4. Plaintext Data Communication 8
  • 9.
     Every TLS/SSLconnection stats with a handshake  Handshake contains the rules for secure connection  Server side configuration is crucial in this case and here are some requirements, i. Certificate is preferably not a wildcard domain ii. Key length must be > 2048bits iii. Allow secure protocols only (Ex:TSL V1.2) iv. Allow only secure cipher suits (Ex:AES256 SHA2) 9 1. Poor Handshaking
  • 10.
     Renegotiation :The process of establishing a new handshake when during the TLS/SSL link.  The problem is that most mobile app renegotiations aren't cryptographically connected to the TLS/SSL link they're running over.  Attacker can inject a malicious code and trick the server. 10 2. Weak Re-negotiation
  • 11.
    Four Types ofRenegotiations: A. Client-initiated secure renegotiation. B. Client-initiated insecure renegotiation. C. Server-initiated secure renegotiation. D. Server-initiated insecure renegotiation. Two Main Problems of Renegotiations : A. Man-in-the-middle Attack B. DoS Attack 11
  • 12.
  • 13.
    3. Intercepting Traffic There are several factors that should be satisfied in order to intercept a mobile app traffic. 1) Install the proxy’s CA certificate on device. 2) Configuring the workstation into a router. 3) Change Wi-Fi configuration of the device. 13
  • 14.
    4. Plaintext DataCommunication  Any application that contains secret/sensitive information, must not transmit data in plain text.  Which will cause a sensitive information disclosure 14
  • 15.
    Am I Vulnerable toInsecure Communication? 4
  • 16.
    16  Mainly effectsto your Data Integrity and Data Confidentiality 1) Eavesdropping 2) Offline Attacks 3) Certificate Checking Issues 4) Weak Ciphers
  • 17.
  • 18.
    18 1) Use industrystandard ciphers + key lengths 2) Only use trusted CA certificates 3) Perform a SSL Chain Verification at all times 4) Account external 3rd party entities Ex: Analytics companies, Social networks 5) Use SSL/TLS in where channels used in mobile to backend communication 6) Add extra layer of encryption before offering data to SSL channel General Practices
  • 19.
    19 1) Poor certificateinspection 2) Leakage of Privacy 3) Leakage of Confidentiality Common Scenarios
  • 20.

Editor's Notes

  • #5 Simply, interception of sensitive data through a communication channel will result in a privacy violation. The violation of a user’s confidentiality may result in: Identity theft; Fraud, or Reputational Damage.
  • #10 2. Means what cipher suit is using to encrypt the communication. Verify that a secure connections has been established before the actual data transfer 3.  There are basic things that you can, and should, check on every SSL/TLS connection handling sensitive data, to ensure the communication is secure:
  • #11 2. This can be used by a malicious actor to establish a TLS link with the target server. 3. The attacker can insert a predefined malicious code/content and them clasp it into a new TLS link from a client. Hence server identifies this as a renegotiation and, considers as a data which comes from the client.
  • #12 B. a DoS attack caused by sending lots of handshaking to exhaust the server’s resources.
  • #14 User certificate must be trusted by the App. If there is any SSL pinning, bypassing them is also required.
  • #15 Sensitive information like PW, Encryption keys, Meta Data, Account details could be compromised. Also it could lead to MITM attacks also.
  • #17 In here mobile-to-mobile or app-to-server communication is considered. communications technologies : TCP/IP, WiFi, Bluetooth, NFC, infrared, GSM, 3G is considered. When sensitive data can be exposed, or derived by looking at the communication as it happens  Keep a recording of the conversation as it happens and attacking later using the stored data. Cryptographically tested and determined as insecure ciphers/old ciphers Maybe the key length of the cipher is small or the cipher mechanism is easy to break.
  • #19 Avoid mixed SSL sessions cuz they may unveil the user’s session ID. Sensitive information, session tokens transmit to Backend API/Web service 6.  the extra layer of encryption will provide a secondary protection specially towards confidentiality violation.
  • #20 After successful secure connection establishment, client will fail to check but accept any and all certificates offered by server. This could leads to a MITM attack via TLS proxy. Any privacy related data transfer over insecure channel will jeopardize the Confidentiality. If client negotiate with server to use a weak cipher, it can be easily deciphered by an attacker and damage the Confidentiality.