Building a Security Assessment and Testing Program
- Security Testing
- Verify a control is functioning properly.
- 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 Assessments
- Are comprehensive reviews of the security of a system, application, or other tested environment.
- Security Audits
- Three main types of audits
- internal audits
- external audits
- third-party audits
- Real World Scenario
- Internal Audits
- Internal audits are performed by an organization's internal audit staff and are typically intended for internal audiences.
- Chief Audit Executive (CAE)
- External Audits
- External audits are performed by an outside auditing firm.
- The so-called Big Four audit firms:(所谓的四大审计事务所)
- Ernst & Young (EY, 安永会计师事务所 / アーンスト&ヤング, イギリス発)
- Deloitte (DTT, 德勤会计师事务所 / デロイト、イギリス発)
- PricewaterhouseCoopers (PwC, 普华永道会计师事务所 / プライスウォーターハウスクーパース, イギリス発)
- KPMG (毕马威 / KPMG, イギリス発)
- Third-Party Audits
- Service Organization Controls
- SOC 1 Engagements
- SOC 2 Engagements
- Audit results are confidential and only shared under an NDA.
- SOC 3 Engagements
- Audit results are intended for public disclosure.
- SOC reports
- Type I Reports
- Type I reports also cover only a specific point in time, rather than an extended period.
- Type II Reports
- The Type II report also covers an extended period of time: at least six months of operation.
- Mush more reliable then Type I reports.
- Auditing Standards
- COBIT (Control Objectives for Information and Related Technologies)
- Describes the common requirements that organizations should have in place surrounding their information systems.
- ISO 27001
- Describes a standard approach for setting up an information security management system.
Performing Vulnerability Assessments
- Describing Vulnerabilityes
- NIST : Security Content Automation Protocol (SCAP)
- CVE
- CVSS
- CCE
- CPE
- XCCDF
- OVAL
- Vulnerability Scans
- Four main categories of vulnerability scans:
- Network dicovery scans (网络诊断扫描)
- Network vulnerability scans (网络漏洞扫描)
- Web application vulnerability scans (Web应用程序漏洞扫描)
- Database vulnerability scans (数据库漏洞扫描)
- Network Dicovery Scanning
- Techniques to identify open ports on remote systems
- TCP SYN Scanning (also known as "half-open" scanning)
- Sends a SYN packet and receives a SYN ACK packet in response, but it does not send the final ACK required to complete the three-way handshake.
- TCP Connect Scanning
- TCP ACK Scanning
- UDP Scanning
- Xmas Scanning
- The most common tool for network dicovery scanning is nmap. Current state of the port:
- Open - open & there is an application actively accepting connections on that port.
- Closed - accessible but there is no application accepting connection.
- Filtered - unable to determine open or closed (a firewall is interfering with the connection)
- netstat command
- Lists all active network connections on a system as well as those ports that are open and awaiting new connectons.
- Network Vulnerability Scanning
- Network vulnerability scans go deeper than discovery scans.
- false positive report (假阳性报告 / 誤検知レポート)
- false negative report (假阴性报告 / 偽陰性報告)
- By default, network vulnerability scanners run unauthenticated scans.
- Performing authenticated scans of systems can reduce false prositive/negative reports.
- Web Vulnerability Scanning
- Special-purpose tools that scour web applications for known vulnerabilities.
- May discover flaws not visible to network vulnerability scanners.
- Nessus
- OWASP
- Databasae Vulnerability Scanning
- Tools that allow security professionals to scan both databases and web applications for vulnerabilities that may affect database security.
- Sqlmap
- Vulnerability Management Workflow
- A workflow approach to managing vulnerabilities should also be developed.
- The basic steps:
- Detection
- Validation (Confirming the vuln to detemine it is not a false positive report)
- Remediation
- Penetration Testing
- NIST defines four phases
- Planning
- Information gathering and discovery
- Attack
- tool: Metasploit Framework
- Three groups categoried of the tests
- White-Box Penetration Test ("known environment" test)
- Provides the attackers with detailed information.
- Bypasses many of the reconnaissance steps.
- Shortening the time.
- Increasing the likelihood that it will find security flaws.
- Gray-Box Penetration Test ("partially known environment" test)
- Partical knowledge tests.
- Balance the advantages and disadvantages os white- and black-box penetraton tests.
- Black-Box Penetration Test ("unknown environment test")
- Simulates an external attacker.
- Compliance Checks
- An important part of security testing and assessment programs for regulated firms.
Testing Your Software
- Code Review and Testing
- Code Review (also known as peer review)
- Fagan inspections (The most formal code review processes)
- Planning
- Overview
- Preparation
- Inspection
- Rework
- Follow-up
- Static Testing
- Static application security testing (SAST)
- Dynamic Testing
- Dynamic application security testing (DAST)
- IAST (Interactive application security testing)
- RASP (Runtime Applications Self-Protection)
- Fuzz Testing
- A specialized dynamic testing technique that provides many different types of input to software to stress its limits and find previously undetected flaws.
- Categories
- Mutation (Dumb) Fuzzing (突变模糊测试)
- Uses bit flipping and other techniques to slightly modify previous inputs to a program in an attempt to detect software flaws.
- Generational (Intelligent) Fuzzing
- Interface Testing
- Three types
- APIs
- User Interfaces (UIs)
- Includes assessments of both graphical user interfaces (GUIs) and command-line interfaces (CLIs) for a software program.
- Physical Interfaces
- Misuse Case Testing (异常用例测试)
- Test Coverage Analysis
- Five common criteria (五个共同标准)
- Branch coverage
- Condition coverage
- Function coverage
- Loop coverage
- Statement coverage
- Website Monitoring
- Passive monitoring
- Real user monitoring (RUM)
- Synthetic monitoring (or active monitoring)
Implementing Security Management Processes
- Log Reviews (日志审查)
- To ensure that privileged users are not abusing their privileges.
- Account Management
- To ensure that users retain authorized permissionsn and that unauthorized modifications do not occur.
- Organizations that do not have time to conduct this thorough process may use sampling instead.
- Disaster Recovery and Business Continuity
- Consistent backup programs are an extremely important component of these efforts.
- Training and Awareness (培训和认识)
- Many organizations use phishing simulations to evaluate the effectiveness of their security awareness programs.
- Key Performance and Risk Indicators
- Number of open vulnerabilities
- Time to resolve vulnerabilities
- Vulnerability/defect recurrence
- Number of compromised accounts
- Number of software flaws detected in preproduction scanning
- Repeat audit findings
- User attempts to visit known malicious sites
Summary
Exam Essentials
- Understand the importance of security assessment and testing programs.
- Conduct Vulnerability assessments and penetration tests.
- Perform software testing to validate code moving into production.
- Understand the difference between static and dynamic software testing.
- Explain the concept of fuzzing.
- Perform security management tasks to provide oversight to the information security program.
- Conduct or facilitate internal and third-party audits.
- Collect security process data.
Review Questions
1 A
2 D
3 D → C
4 C
5 A
6 C
7 B
8 B
9 D
10 C
11 D
12 C
13 B
14 A → C
15 A
16 A → B
17 B
18 B
19 B
20 C → B
正解率:16 / 20 = 80%