Difference between revisions of "Java applet code review"

From OWASP
Jump to: navigation, search
 
 
(9 intermediate revisions by one user not shown)
Line 1: Line 1:
 
'''Attackers Reverse Engineer Client'''
 
'''Attackers Reverse Engineer Client'''
  
[[All clients can be reverse engineered, monitored, and modified]]
+
#[[All clients can be reverse engineered, monitored, and modified]]
[[All encryption keys and mechanisms are not secrets]]
+
#[[All encryption keys and mechanisms are not secrets]]
[[All intellectual property (algorithms, data) is disclosed]]
+
#[[All intellectual property (algorithms, data) is disclosed]]
 
+
  
 
'''Attackers Create Malicious Client, Server, or Proxy'''
 
'''Attackers Create Malicious Client, Server, or Proxy'''
  
[[Tamper with requests and responses]]
+
#[[Tamper with requests and responses]]
[[Spoof a legitimate client or server application]]
+
#[[Spoof a legitimate client or server application]]
 
+
+
 
+
Attackers Target Rich Client Application Itself
+
 
+
[[Clients can be abused - especially if they are "listening"]]
+
[[All forms of input corruption (injection, overflow, etc.) can be used]]
+
[[Spoofed server can be set up]]
+
 
+
Attackers Target Server Application Vulnerabilities
+
 
+
All typical server application issues are possible
+
 
+
Client Security Considerations
+
  
Mutual authentication over SSL
+
'''Attackers Target Rich Client Application Itself'''
Access control
+
Not possible on client?
+
  
* Input validation
+
#[[Clients can be abused - especially if they are "listening"]]
 +
#[[All forms of input corruption (injection, overflow, etc.) can be used]]
 +
#[[Spoofed server can be set up]]
  
* Interpreter use
+
'''Attackers Target Server Application Vulnerabilities'''
  
* Error handling and logging
+
#All typical server application issues are possible. See [[Java_server_%28J2EE%29_code_review]]
* Intrusion detection
+
* Encryption
+
  
* For protecting information - Not possible on client?
+
'''Client Security Considerations'''
* For secure communications
+
* For secure storage
+
  
* Jar Signing
+
#[[Mutual authentication over SSL]]
 +
#[[Access control is not possible on client]]
 +
#[[Input validation]]
 +
#[[Interpreter use]]
 +
#[[Error handling and logging]]
 +
#[[Intrusion detection]]
 +
#[[Encryption]]
 +
#[[Protecting information is not possible on client]]
 +
#[[For secure communications]]
 +
#[[For secure storage]]
 +
#[[Jar Signing]]

Latest revision as of 04:04, 22 January 2007

Attackers Reverse Engineer Client

  1. All clients can be reverse engineered, monitored, and modified
  2. All encryption keys and mechanisms are not secrets
  3. All intellectual property (algorithms, data) is disclosed

Attackers Create Malicious Client, Server, or Proxy

  1. Tamper with requests and responses
  2. Spoof a legitimate client or server application

Attackers Target Rich Client Application Itself

  1. Clients can be abused - especially if they are "listening"
  2. All forms of input corruption (injection, overflow, etc.) can be used
  3. Spoofed server can be set up

Attackers Target Server Application Vulnerabilities

  1. All typical server application issues are possible. See Java_server_(J2EE)_code_review

Client Security Considerations

  1. Mutual authentication over SSL
  2. Access control is not possible on client
  3. Input validation
  4. Interpreter use
  5. Error handling and logging
  6. Intrusion detection
  7. Encryption
  8. Protecting information is not possible on client
  9. For secure communications
  10. For secure storage
  11. Jar Signing