- Practical Windows Forensics
- Ayman Shaaban Konstantin Sapronov
- 1167字
- 2021-07-14 11:28:06
Security fundamentals
Let's look at some of the security fundamentals in the following subsections.
Security principles
The IR team's members need to have a general understanding of the basic security principles, such as the following:
- Confidentiality
- Availability
- Authentication
- Integrity
- Access control
- Privacy
- Nonrepudiation
Security vulnerabilities and weaknesses
To understand how any specific attack is manifested in a given software or hardware technology, the IR team's members need to be able to first understand the fundamental causes of vulnerabilities through which most attacks are exploited. They need to be able to recognize and categorize the most common types of vulnerabilities and associated attacks, such as those that might involve the following:
- Physical security issues
- Protocol design flaws (for example, man-in-the-middle attacks or spoofing)
- Malicious code (for example, viruses, worms, or Trojan horses)
- Implementation flaws (for example, buffer overflow or timing windows/race conditions)
- Configuration weaknesses
- User errors or indifference
The Internet
It is important that the IR team's members also understand the Internet. Without this fundamental background information, they will struggle or fail to understand other technical issues, such as the lack of security in underlying protocols and services that are used on the Internet or to anticipate the threats that might occur in the future.
Risks
The IR team's members need to have a basic understanding of computer security risk analysis. They should understand the effects on their constituency of various types of risks (such as potentially widespread Internet attacks, national security issues as they relate to their team and constituency, physical threats, financial threats, loss of business, reputation, or customer confidence, and damage or loss of data).
Network protocols
Members of the IR team need to have a basic understanding of the common (or core) network protocols that are used by the team and the constituency that they serve. For each protocol, they should have a basic understanding of the protocol, its specifications, and how it is used. In addition to this, they should understand the common types of threats or attacks against the protocol, as well as strategies to mitigate or eliminate such attacks.
For example, at a minimum, the staff should be familiar with protocols, such as IP, TCP, UDP, ICMP, ARP, and RARP. They should understand how these protocols work, what they are used for, the differences between them, some of the common weaknesses, and so on. In addition to this, the staff should have a similar understanding of protocols, such as TFTP, FTP, HTTP, HTTPS, SNMP, SMTP, and any other protocols.
The specialist skills include a more in-depth understanding of security concepts and principles in all the preceding areas in addition to expert knowledge in the mechanisms and technologies that lead to flaws in these protocols, the weaknesses that can be exploited (and why), the types of exploitation methods that would likely be used, and the strategies to mitigate or eliminate these potential problems. They should have expert understanding of additional protocols or Internet technologies (DNSSEC, IPv6, IPSEC, and other telecommunication standards that might be implemented or interface with their constituent's networks, such as ATM, BGP, broadband, voice over IP, wireless technology, other routing protocols, or new emerging technologies, and so on). They could then provide expert technical guidance to other members of the team or constituency.
Network applications and services
The IR team's staff need a basic understanding of the common network applications and services that the team and the constituency use (DNS, NFS, SSH, and so on). For each application or service they should understand the purpose of the application or service, how it works, its common usages, secure configurations, and the common types of threats or attacks against the application or service, as well as mitigation strategies.
Network security issues
The members of the IR team should have a basic understanding of the concepts of network security and be able to recognize vulnerable points in network configurations. They should understand the concepts and basic perimeter security of network firewalls (design, packet filtering, proxy systems, DMZ, bastion hosts, and so on), router security, the potential for information disclosure of data traveling across the network (for example, packet monitoring or "sniffers"), or threats that are related to accepting untrustworthy information.
Host or system security issues
In addition to understanding security issues at a network level, the IR team's members need to understand security issues at a host level for the various types of operating systems (UNIX, Windows, or any other operating systems that are used by the team or constituency). Before understanding the security aspects, the IR team's member must first have the following:
- Experience using the operating system (user security issues)
- Some familiarity with managing and maintaining the operating system (as an administrator)
Then, for each operating system, the IR team member needs to know how to perform the following:
- Configure (harden) the system securely
- Review configuration files for security weaknesses
- Identify common attack methods
- Determine whether a compromise attempt occurred
- Determine whether an attempted system compromise was successful
- Review log files for anomalies
- Analyze the results of attacks
- Manage system privileges
- Secure network daemons
- Recover from a compromise
Malicious code
The IR team's members must understand the different types of malicious code attacks that occur and how these can affect their constituency (system compromises, denial of service, loss of data integrity, and so on). Malicious code can have different types of payloads that can cause a denial of service attack or web defacement, or the code can contain more "dynamic" payloads that can be configured to result in multifaceted attack vectors. Staff should understand not only how malicious code is propagated through some of the obvious methods (disks, e-mail, programs, and so on), but they should also understand how it can propagate through other means, such as PostScript, Word macros, MIME, peer-to-peer file sharing, or boot-sector viruses that affect operating systems running on PC and Macintosh platforms. The IR team's staff must be aware of how such attacks occur and are propagated, the risks and damage associated with such attacks, prevention and mitigation strategies, detection and removal processes, and recovery techniques.
Specialist skills include expertise in performing analysis, black box testing, reverse engineering malicious code that is associated with such attacks, and in providing advice to the team on the best approaches for an effective response.
Programming skills
Some team members need to have system and network programming experience. The team should ensure that a range of programming languages is covered on the operating systems that the team and the constituency use. For example, the team should have experience in the following:
- C
- Python
- Awk
- Java
- Shell (all variations)
- Other scripting tools
These scripts or programming tools can be used to assist in the analysis and handling of incident information (for example, writing different scripts to count and sort through various logs, search databases, look up information, extract information from logs or files, and collect and merge data).
Incident handling skills
- Local team policies and protocols
- Understanding and identifying intruder techniques
- Communication with sites
- Incident analysis
- Maintenance of incident records
- Mastering Concurrency Programming with Java 8
- Mastering JavaScript Object-Oriented Programming
- ASP.NET Core 2 and Vue.js
- SQL語言從入門到精通
- JavaScript前端開發與實例教程(微課視頻版)
- Python Network Programming Cookbook(Second Edition)
- Mastering Google App Engine
- HTML5+CSS3網站設計基礎教程
- Python機器學習:手把手教你掌握150個精彩案例(微課視頻版)
- Oracle 18c 必須掌握的新特性:管理與實戰
- Unity UI Cookbook
- Selenium Testing Tools Cookbook(Second Edition)
- Kubernetes源碼剖析
- Spring技術內幕:深入解析Spring架構與設計原理(第2版)
- 軟件測試技術