170 likes | 350 Views
Application Security. A case for business. Lack of Security Culture. College Curriculums Lacks security module Not updated Programmers Hard to find Lack formal training unaware. Common Vulnerabilities. Xss or Cross site scripting Sql Injection Overflows Format String. Common approach.
E N D
Application Security A case for business
Lack of Security Culture College CurriculumsLacks security moduleNot updated ProgrammersHard to findLack formal trainingunaware
Common Vulnerabilities Xss or Cross site scripting Sql Injection Overflows Format String
Common approach Bug is reported Programmer spends time learning about it Implements fix Increase in development time and cost Later patch might overwrite previous fix Vulnerability reintroduced
Missing link(1) Security/input/output validation framework How? Identify risks posing tasks in the application: Grabbing user inputreading/writing to filesDisplaying dataUsing SqlDisplaying sensitive user databuying an item
Missing Link(contd) Identify common vulnerability types to each risky task as well as best practice approach to locking them down Created in conjunction with senior member of development team and security consultant.
Sample approaches(1) Grabbing User Input:Utilize strong data types when applicableIdentify and enforce data length restrictionsIdentify and enforce acceptable character white lists when utilizing strings. Reading/writing to filesPerform and enforce lowest rights permission checking.
Sample approaches(2) Displaying Data:Create whitelist of acceptable charactersCharacters not on list should be escaped, stripped or HTML encoded before display. Using Sql:Enforce using character whitelist to prevent sql injection. Perform important application functionality:proper session validation(Authentication)object access checking(Authorization)
Sample approaches(3) Consider using existing frameworks Well known issues already addressed Saves development time Bug fixes can be applied in central location as opposed to multiple.
Common existing frameworks Java validation Library for java Xworkvalidator for java struts JSTL for JSP Anti-Xss library for microsoft .NET
Lastly, Document!!! Create best practices document outlining how to address risky tasks Short training course Q & A sessions to address concerns of dev. Team Emphasize code management advantages and security checking consistency
Benefits Time savings essential for developer acceptance. Initially adds to development time. Management and future code audits easier.
Finally Enforce utilization of framework a project requirement with consequence for failure to implement without a good reason. Else developers treat as optional step
References The business case for security frameworks By Robert Auger http://www.webappsec.org/projects/articles/042307.shtml The Cross Site Scripting (XSS) FAQhttp://www.cgisecurity.com/articles/xss-faq.shtml