Bookmark Topic Watch Topic
 
friki data migration
Ranch Hand
Posts: 772
  • Mark post as helpful
  • send pies
  • Report post to moderator
General remarks

  • While any of the following may help solve security-related problems, keep in mind that security is a process, not a single product or technology. A technologically secure computer system does not help if someone can steal its hard drive, it's not backed up properly, or if its password is written on a Post-It note.
  • Introduction to various security topics
  • An interview with Bruce Schneier gives an introduction of some of the non-technological issues and trade-offs to consider. His book Secrets & Lies is a good introduction to designing secure system.
  • comp.risks is a newsgroup and mailing list where all matters related to computer security are discussed by highly knowledgeable practitioners of the field.
  • Overview of Java security, Sun's Secure Coding Guidelines for the Java Programming Language
  • Java Security Evolution and Concepts series in JavaWorld: Part 1 Part 2 Part 3 Part 4 Part 5
  • Pitfalls of the Java Permission model




  • Applet security

  • How Can An Applet Read Files On The Local File System




  • Security managers and class loaders

  • Introduction to SecurityManagers
  • Introduction to ClassLoaders
  • Introduction to the class loader hierarchy and the boot classpath




  • Policies

  • Introduction




  • Web applications and HTTP

  • Some starting points are in the ServletsFaq
  • Guide to Building Secure Web Applications
  • Form parameter checking
  • a couple of introductions to SQL injection
  • Cross-site scripting/JS-injection
  • HTTP Response Splitting: Introduction, Detecting and Testing (a browser extension like LiveHTTPHeaders for Firefox can also be very useful for this)
  • Single Sign-On (SSO) can be implemented with CAS, JOSSO, OpenSSO (now called OpenAM) or SPNEGO
  • OWASP's CSRFGuard project, which helps guard your web app against -wait for it- CSRF attacks.


  • Books
  • Ajax Security
  • [url=http://www.amazon.com/The%20Web%20Application%20Hacker%27s%20Handbook/dp/0470170778/]The Web Application Hacker's Handbook[/url]
  • XSS Attacks




  • JAAS

  • Home page
  • Authentication Tutorial - Authorization Tutorial
  • Introduction 1 - Introduction 2 - Introduction 3
  • JavaRanch Journal articles: Authentication using JAAS - Authorization using JAAS
  • Extend JAAS for class instance-level authorization
  • Using JAAS in Java EE and SOA Environments - Adapting JAAS to SOA Environments: SOA Security Service




  • JCE - Encryption - Message Digests

  • Home page
  • Basic DES encryption/decryption with JCE (you should really use "Triple-DES/3DES" instead of the obsolete DES)
  • Basic Triple-DES/3DES encryption/decryption with JCE
  • Using AES with JCE, code example
  • How do I work with message digests?, but Don't Hash Secrets
  • A list of available algorithms


  • Q: Using JCE I am getting a BadPaddingException. What should I do?

    A: Search the forums for "BadPaddingException" for several discussions on this. The gist is: don't use a String to store the encrypted text - use byte[].

    Q: Where can I get Java source code for the XYZ algorithm?

    A: Bouncycastle is an open source library comprised of many and varied encryption algorithms, amongst them a full JCE implementation. The codes for the AES competition are also available Those include Rijndael (which became AES), RC6, Serpent, Twofish and Mars.

    Q: I am getting an java.lang.SecurityException: Unsupported keysize or algorithm parameters. What gives?

    A: One reason may be that you're using incorrect parameters for the algorithm, mode or cipher. Check the above-mentioned list of algorithms for what is available. Another reason may be that you don't have the unlimited jurisdiction policy files installed; these can be downloaded from the same place you download the J2SE JDK.

    Q: How can I implement my own JCE provider?

    A: This is described in detail in the article How To Implement a Provider for the Java Cryptography Architecture Information on how to install the provider can be found in the sections on "How Provider Implementations Are Requested and Supplied" and "Installing Providers" in this article.

    Q: Which message digest (or hash) algorithm should I use?

    A: At this point, the various RC, MD and SHA-1 algorithms should no longer be used. SHA-2 is the way to go; it's available in Java in the SHA-256, SHA-384 and SHA-512 variants. (A NIST competition has selected a SHA-3 standard, but it's not yet part of the JRE, and anyway offers no fundamental advantage over SHA-2.)



    Web service security

  • This article is part of the Axis documentation, but it's generally applicable.




  • OWASP

  • The Open Web Application Security Project (OWASP) is a free and open application security community. The OWASP page contains many useful links.
  • Books - Soft copies for many of the books can be downloaded for free.
  • Video Links - Videos of presentations made by OWASP members at various conferences.
  • OWASP Development Guide - Wiki link.




  • Certifications
  • GSSP - Secure Software Programmer Certification
  • CISSP - Certified Information Systems Security Professional
  • CISMCertified Information Security Manager
  • CEH - Certified Ethical Hacker
  • OWASP (on hold)
  • various certifications
  • Master's degree in cyber security




  • Other topics

  • Storing Passwords - done right!
  • Creating an x509 certificate programmatically
  • Introduction to Steganography with Java
  • Secure Programming for Linux and Unix HOWTO
  • Apache Shiro "is a powerful and flexible open-source security framework that cleanly handles authentication, authorization, enterprise session management and cryptography."
  • A simple demonstration of how OAuth 2.0 works: Part 1 - Part 2 - Part 3 - Part 4
  • ''I'm getting a "javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target " exception. What gives?'' Don't Panic! Here's the solution. and here's the code that goes with it
  • Troy Hunt's Ultimate List of Security Links


  •  
      Bookmark Topic Watch Topic
    • New Topic