Sei sulla pagina 1di 4

Security Tests

Verifies that the controls are functioning properly. Security Assessment


Security Assessment: Under NIST SP 800-53A, assessments include 4 components;
Comprehensive reviews of the security of a system, application, or 1. Specifications are the document associated with the system being
other tested environments. (NIST SP 800-53A). audited e.g. policies, procedures, requirements, specifications and
Security Audit designs
Uses many of the same techniques followed during the security 2. Mechanisms are the controls used with the information systems to
assessment, but must be performed by independent auditors. meet the specification. Mechanisms may be based on Hardware,
Software or Firmware
Security Testing 3. Activities are the actions carried out by people within an information
 Should take place on a regular schedule, with attention paid to each system. These may include performing backups, exporting log files,
of the key security controls protecting an organization or reviewing account histories
 Example: A credit card processing system may undergo automated 4. Individuals are the people who implement specification,
vulnerability scanning on a nightly basis with immediate alerts to mechanisms, and activities
administrators when scan detects a new vulnerability
 Security testing programs should be carefully designed and included
rigorous, routine testing of a system using a risk-prioritized approach
It’s not sufficient to simply perform security tests. Security professionals
must also carefully review the results of those tests to ensure that each test
was successful

Security Audit Vulnerability Assessment


Audits are generally 3 types; This is a security testing tool, not security assessment tool.
 Internal Audit Security Content Automated Protocol (SCAP) provides a framework for
 External Audit discussion and also facilitates the automation of interactions between
 Third-party Audit different security systems. SCAP includes;
 Reports are intended for board of directors, government regulators,  Common Vulnerability and Exposures (CVE) provides naming system
and other third parties for describing vulnerabilities
 SSAE 16 is the proposed model to overcome multiple third-party  Common Vulnerability Scoring System (CVSS) provides a standardized
audits. It has 2 types; scoring system for describing the severity of security vulnerabilities
 Type I: Opinion of an auditor based on the description e.g. the  Common Configuration Enumeration (CCE) provides a naming system
mentioned control is present or not as described for system configuration issues
 Type II: Auditor does the actual testing and provides the result in  Common Platform Enumeration (CPE) provides a naming system for
the reports. It covers 6 months. Operating Systems, Applications, and Devices
 Extensible Configuration Checklist Description Format (XCCDF)
provides a language for specifying security checklists
 Open Vulnerability and Assessment Language (OVAL) provides a
language for describing security testing procedures
Vulnerability Scans The most common tool used for network discovery scanning is an open-
Network Discovery Scan: source tool called Nmap. When Nmap scans a system, it identifies the current
Techniques to identify open ports on a remote system: state of each network port on the system. The current status of that port can
 TCP SYN Scanning: Called as Half Open Scanning. Sends a SYN packet be defined as:
to scanned port. If receives a packet with SYN and ACK, that means  Open: The port is open on the remote system and there is an
the port is open application that is actively accepting connections on that port
 TCP Connect Scanning: Opens a full connection to the remote system  Closed: The port is accessible on the remote system, meaning that
on a specific port. This type of scan is used when user running the the firewall is allowing access, but there is no application accepting
scan doesn’t have permission to run Half Open Scan and restricted by connections on that port
Operating System from sending handcrafted packets  Filtered: Nmap is unable to determine whether a port is open or
 TCP ACK Scanning: Sends a packet with ACK flagset, indicating that closed because a firewall is interfering with the connection attempt
it is a part of open connection. Objective is to determine the rules Banner Grabbing:
enforced by a firewall and firewall methodologies Port scanners, network vulnerability scanners, and web vulnerability scanners
 Xmas Scanning: Sends a packet with FIN, PSH, and URG flags set. A use a technique called banner grabbing to identify the variant and version of
packet with so many flags set is said to be “lit up like a Christmas a service running on a system. This technique opens a connection to the
tree”, leading to the scan’s name service and reads the details provided on the welcome screen, or banner, to
assist with version fingerprinting.

Web Vulnerability Scanning:


Network Vulnerability Scanning: Web vulnerability scans are special-purpose scans that scour web applications
Network vulnerability scans go deeper than discovery scans. They don’t stop for known vulnerabilities. The tools may discover flaws not visible to network
with detecting open ports but continue on to probe a targeted system or vulnerability scanners.
network for the presence of known vulnerabilities. Database Vulnerability Scanning:
 False Positive: When the scanner may not have enough information Database vulnerability scans in which the tools that allow security
to conclusively determine that a vulnerability exists and it reports a professionals to scan both databases and web applications for vulnerabilities
vulnerability when there really is no problem that may affect database security. Example: sqlmap.
 False Negative: when the vulnerability scanner misses a vulnerability
and fails to alert the administrator to the presence of a dangerous Vulnerability Management Workflow
situation  Detection: The initial identification of a vulnerability normally takes
place as the result of a vulnerability scan
By default, network vulnerability scanners run unauthenticated scans i.e.  Validation: Administrators should confirm the detected vulnerability
without having passwords or other special information that would grant the is not a false positive
scanner special privileges, which limits the ability of the scanner to fully  Remediation: Validated vulnerabilities should then be remediated.
evaluate possible vulnerabilities. One way to improve the accuracy of the The goal of a workflow approach is to ensure that vulnerabilities are
scanning and reduce false positive and false negative reports is to perform detected and resolved in an orderly fashion
authenticated scans. The workflow should also include steps that prioritize vulnerability
remediation based upon the severity of the vulnerability, the likelihood of
exploitation, and the difficulty of remediation.
Penetration Testing White Box Penetration Test
The process normally consists of 5 stages;  Provides the attackers with detailed information about the systems
 Planning includes agreement upon the scope of the test and the rules they target
of engagement. This is an extremely important phase because it  Shortens the time of the attack and increasing the likelihood that it
ensures that both the testing team and management are in will find security flaws
agreement about the nature of the test and that the test is explicitly Gray Box Penetration Test
authorized  Also known as partial knowledge tests
 Information gathering and discovery uses manual and automated  Sometimes chosen to balance the advantages and disadvantages of
tools to collect information about the target environment. This white and black box penetration tests
includes performing basic reconnaissance to determine system  Commonly used when black box results are desired but costs or time
function and conducting network discovery scans to identify open constraints mean that some knowledge is needed to complete the
ports testing
 Vulnerability scanning probes for system weaknesses using Black Box Penetration Test
network/web/database vulnerability scans  Does not provide attackers with any information prior to the attack
 Exploitation seeks to use manual and automated exploit tools to  Simulates an external attacker trying to gain access to information
attempt to defeat system security about the business and technical environment before engaging in an
 Reporting summarizes the results of the penetration testing and attack
makes recommendations for improvements to system security

Software Testing Misuse Case Testing:


Code Review:  Also known as “abuse case testing”
 Foundation of software assessment programs  Testers first enumerate the known misuse cases. They then attempt
 Also known as a “peer review” as developers other than the one who to exploit those use cases with manual and/or automated attack
wrote the code review it for defects techniques
 May result in approval of an application’s move into a production  Example: Users of banking software might try to manipulate input
environment, or they may send the code back to the original strings to gain access to another user’s account. They might also try
developer with recommendations for rework of issues detected to withdraw funds from an account that is already overdrawn
during the review Dynamic Testing:
 Fagan inspections, the most formal code review processes follow a  Evaluates the security of software in a runtime environment
rigorous review and testing process with six steps:  Often only option for organizations deploying applications written by
1. Planning 2. Overview 3. Preparation 4. Inspection 5. Rework 6. someone else. Testers do not have access to the source code.
Follow-up  Example: Web application scanning tools to detect the presence of
Static Testing: cross-site scripting, SQL Injection, or other flaws in web applications
 Usually involves the use of automated tools designed to detect  May include synthetic transactions to verify system performance
common software flaws, such as buffer overflows  Synthetic Transactions: Scripted transactions with known expected
 Does not analyze either the source code or the compiled application results. The testers run the synthetic transactions against the tested
In mature development environments, application developers are given code and then compare the output of the transactions to the
access to static analysis tools and use them throughout the design, build, expected state. Any deviations between the actual and expected
and test process results represent possible flaws
Fuzz Testing: Interface Testing:
 Specialized dynamic testing technique that provides many different  Interface testing assesses the performance of modules against the
types of input to software to stress its limits and find previously interface specifications to ensure that they will work together
undetected flaws. properly when all of the development efforts are complete
 Supplies invalid input to the software, either randomly generated or  Modules are the separately developed different parts of a complex
specially crafted to trigger known software vulnerabilities software
Three types of interfaces should be tested during the software testing process:
There are two main categories of fuzz testing:  Application Programming Interfaces (APIs): Offers a standardized way
 Mutation (Dumb) Fuzzing: Takes previous input values from actual for code modules to interact and may be exposed to the outside
operation of the software and manipulates (or mutates) it to create world through web services
fuzzed input  User Interfaces (UIs): Examples include graphic user interfaces (GUIs)
 Generational (Intelligent) Fuzzing: Develops data models and creates and command-line interfaces. UIs provide end users with the ability
new fuzzed input based on an understanding of the types of data used to interact with the software
by the program  Physical Interfaces: Exist in some applications that manipulate
Fuzz testing typically doesn’t result in full coverage of the code and hence machinery, logic controllers, or other objects in the physical world
useful to conduct test coverage analysis to determine the full scope of the
test.

Website Monitoring
Test Coverage Analysis This type of monitoring comes in 2 different forms;
While testing is an important part of any software development process, it is  Passive monitoring analyzes actual network traffic sent to a website
unfortunately impossible to completely test any piece of software. Software by capturing it as it travels over the network or reaches the server.
testing professionals often conduct a test coverage analysis to estimate the This provides real-world monitoring data
degree of testing conducted against the new software.  Real user monitoring (RUM) is a variant of passive monitoring
The test coverage analysis formula may be adapted to use many different where the monitoring tool reassembles the activity of individual
criteria. Here are five common criteria: users to track their interaction with a website.
 Branch coverage: Has every if statement been executed under all if  Synthetic monitoring (or active monitoring) performs artificial
and else conditions? transactions created by scripts against a website to assess
 Condition coverage: Has every logical test in the code been executed performance. It is capable of detecting issues before they actually
under all sets of inputs? occurs.
 Function coverage: Has every function in the code been called and
returned results? Implementing Security Management Process
 Loop coverage: Has every loop in the code been executed under Apart from assessment and testing, these are the variety of management
conditions that cause code execution multiple times, only once, and processes designed to oversee the effective operation of information security
not at all? program;
 Statement coverage: Has every line of code been executed during  Log Review (includes log tampering prevention)
the test?  Account Management
 Backup Verification (includes Testing Data Backups)

Potrebbero piacerti anche