Difference between revisions of "Java applet code review"

From OWASP
Jump to: navigation, search
 
(4 intermediate revisions by one user not shown)
Line 18: Line 18:
 
'''Attackers Target Server Application Vulnerabilities'''
 
'''Attackers Target Server Application Vulnerabilities'''
  
#[[All typical server application issues are possible]]
+
#All typical server application issues are possible. See [[Java_server_%28J2EE%29_code_review]]
  
 
'''Client Security Considerations'''
 
'''Client Security Considerations'''
  
 
#[[Mutual authentication over SSL]]
 
#[[Mutual authentication over SSL]]
#[[Access control]]
+
#[[Access control is not possible on client]]
#[[Not possible on client?]]
+
 
#[[Input validation]]
 
#[[Input validation]]
 
#[[Interpreter use]]
 
#[[Interpreter use]]
Line 30: Line 29:
 
#[[Intrusion detection]]
 
#[[Intrusion detection]]
 
#[[Encryption]]
 
#[[Encryption]]
#[[For protecting information - Not possible on client?]]
+
#[[Protecting information is not possible on client]]
 
#[[For secure communications]]
 
#[[For secure communications]]
 
#[[For secure storage]]
 
#[[For secure storage]]
 
#[[Jar Signing]]
 
#[[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