Software Security Testing

Download Report

Transcript Software Security Testing

Software Security Testing
Vinay Srinivasan
[email protected]
[email protected]
cell: +91 9823104620
By
Vinay Srinivasan
(Tech Lead)
Working At
Testing Center of Excellence Laboratory,
TechMahindra, Pune
Secure Software
 Confidentiality
 Disclosure of information to only intended parties
 Integrity
 Determine whether the information is correct or not
 Data Security
 Privacy
 Data Protection
 Controlled Access
 Authentication
 Access to Authorized People
 Availability
 Ready for Use when expected
 Non Repudiation
 Information Exchange with proof
Software Security










Security of Operating System
Security of Client Software
Security of Application Software
Security of System Software
Security of Database Software
Security of Software Data
Security of Client Data
Security of System Data
Security of Server Software
Security of Network Software
Why Security Testing













For Finding Loopholes
For Zeroing IN on Vulnerabilities
For identifying Design Insecurities
For identifying Implementation Insecurities
For identifying Dependency Insecurities and Failures
For Information Security
For Process Security
For Internet Technology Security
For Communication Security
For Improving the System
For confirming Security Policies
For Organization wide Software Security
For Physical Security
Approach to Software Security Testing








Study of Security Architecture
Analysis of Security Requirements
Classifying Security Testing
Developing Objectives
Threat Modeling
Test Planning
Execution
Reports
Security Testing Techniques
 OS Hardening
 Configure and Apply Patches
 Updating the Operating System
 Disable or Restrict unwanted Services and Ports
 Lock Down the Ports
 Manage the Log Files
 Install Root Certificate
 Protect from Internet Misuse and be Cyber Safe
 Protect from Malware
 Vulnerability Scanning
 Identify Known Vulnerabilities
 Scan Intrusively for Unknown Vulnerabilities
Security Testing Techniques (continued…)
 Penetration Testing
 Simulating Attack from a Malicious Source
 Includes Network Scanning and Vulnerability Scanning
 Simulates Attack from someone Unfamiliar with the System
 Simulates Attack by having access to Source Code, Network, Passwords
 Port Scanning and Service Mapping
 Identification and locating of Open Ports
 Identification of Running Services
 Firewall Rule Testing
 Identify Inappropriate or Conflicting Rules
 Appropriate Placement of Vulnerable Systems behind Firewall
 Discovering Administrative Backdoors or Tunnels
 SQL Injection
 Exploits Database Layer Security Vulnerability
 Unexpected Execution of User Inputs
Security Testing Techniques (continued…)
 Cross Side Scripting
 Injecting Malicious Client Side Script into Web Pages
 Persistent, Non-Persistent and DOM based Vulnerabilities
 Parameter Manipulation
 Cookie Manipulation
 Form Field Manipulation
 URL Manipulation
 HTTP Header Manipulation
 Denial of Service Testing
 Flooding a target machine with enough traffic to make it incapable
 Command Injection
 Inject and execute commands specified by the attacker
 Execute System level commands through a Vulnerable Application
Security Testing Techniques (continued…)
 Network Scanning
 Identifying Active Hosts on a network
 Collecting IP addresses that can be accessed over the Internet
 Collecting OS Details, System Architecture and Running Services
 Collecting Network User and Group names
 Collecting Routing Tables and SNMP data
 Password Cracking
 Collecting Passwords from the Stored or Transmitted Data
 Using Brute Force and Dictionary Attacks
 Identifying Weak Passwords
 Ethical Hacking
 Penetration Testing, Intrusion Testing and Red Teaming
 File Integrity Testing
 Verifying File Integrity against corruption using Checksum
Security Testing Techniques (continued…)
 War Dialing
 Using a Modem to dial a list of Telephone Numbers
 Searching for Computers, Bulletin Board System and Fax Machines
 Wireless LAN Testing
 Searching for existing WLAN and logging Wireless Access Points
 Buffer Overflow Testing
 Overwriting of Memory fragments of the Process, Buffers of Char type
 Format String Testing
 Supplying Format type specifiers in the Application input
 Random Data Testing
 Random Data Inputs by a Program
 Encoded Random Data included as Parameters
 Crashing built-in code Assertions
Security Testing Techniques (continued…)
 Random Mutation Testing
 Bit Flipping of known Legitimate Data
 Byte stream Sliding within known Legitimate Data
 Session Hijacking
 Exploitation of Valid Computer Session
 Exploitation of the Web Session control mechanism
 Gain unauthorized access to the Web Server
 Phishing
 Masquerading as a trustworthy entity in an electronic communication
 Acquiring usernames, passwords and credit card details
 URL Manipulation
 Make a web server Deliver inaccessible web pages
 URL Rewriting
Security Testing Techniques (continued…)
 IP Spoofing
 Creating Internet Protocol (IP) packets with a forged source IP address
 Packet Sniffing
 Capture and Analyze all of the Network traffic
 Virtual Private Network Testing
 Penetration Testing
 Social Engineering
 Psychological Manipulation of People
 Divulging confidential information
Conclusion







Analyze potential Threat and its Impact
Complete Security Testing may not be Feasible
Collect Information to Secure Business Environment
Should be done as early as possible in the Dev.. Cycle
Should be able to identify the Security Requirements
Have Specific understanding of the Various Processes
Should provide Recommendations to overcome Weakness
Thank You
Contact Details
 Email :
 [email protected][email protected]
 Phone :
 +91-20-42250000 Extn : 253925 / 253926
 +91-20-66550000 Extn : 253925 / 253926
 +91-9823104620
 Fax :
 +91-20-42252501
 +91-20-66552501