Скачать книгу

information. Just make sure that you set everyone’s expectations properly.

       How will you know whether customers care about what you’re doing?

       How will you notify customers that the organization is taking steps to enhance the security of their information?

       What measurements can ensure that these efforts are paying off?

      Establishing your goals takes time, but you won’t regret setting them. These goals are your road map. If you have any concerns, refer to these goals to make sure that you stay on track. You can find additional resources on goal setting and management in the appendix.

      DO YOU NEED INSURANCE?

      After you’ve established your overall goals, decide which systems to test. You may not want — or need — to assess the security of all your systems at the same time. Assessing the security of all your systems could be quite an undertaking and might lead to problems. I’m not recommending that you don’t eventually assess every computer and application you have. I’m just suggesting that whenever possible, you should break your projects into smaller chunks to make them more manageable, especially if you’re just getting started. The Pareto principle (focusing on your highest-payoff tasks) should take precedence. You might need to answer questions such as these when deciding which systems to test based on a high-level risk analysis:

       What are your most critical systems?

       Which systems, if accessed without authorization, would cause the most trouble or suffer the greatest losses?

       Which systems appear to be most vulnerable to attack?

       Which systems are undocumented, are rarely administered, or are the ones you know the least about?

      The following list includes devices, systems, and applications on which you might perform vulnerability and penetration tests:

       Routers and switches

       Firewalls, including their associated rulebases

       Wireless access points

       Web applications and APIs (hosted locally or in the cloud)

       Workstations (desktops, laptops — running locally or at users’ homes)

       Servers, including database servers, email servers, and file servers (hosted locally or in the cloud)

       Mobile devices (such as smartphones and tablets) that store confidential information

       Physical security cameras and building access control systems

       Cloud security policy configurations, such as those for Amazon Web Services (AWS)

       Supervisory control and data acquisition (SCADA) and industrial control systems

      The systems you test depend on several factors. If you have a small network, you can test everything. For larger organizations, consider testing only public-facing hosts such as email and web servers and their associated applications. Assuming you meet all outside requirements, the security testing process is somewhat flexible. Based on compliance regulations or demands from business partners and customers, you should decide what makes the most business sense or what you’re required to do.

      Start with the most seemingly vulnerable or highest-value systems, and consider these factors:

       Whether the computer or application resides on the network or in the cloud and what compensating security controls might already exist

       Which operating system (OS) and application(s) the system runs

       The amount or type of critical information stored on the system

      A previous information risk assessment, vulnerability scan, or business impact analysis may have generated answers to the preceding questions. If so, that documentation can help you identify systems for further testing. Bow Tie and Failure Modes and Effects Analysis (FMEA) are additional approaches for determining what to test.

      

Vulnerability and penetration testing goes deeper than basic vulnerability scans and higher-level information risk assessments. With proper testing, you might start by gleaning information on all systems — including the organization as a whole — and then further assess the most vulnerable systems. I discuss the vulnerability and penetration testing methodology in Chapter 4.

      Attack-tree analysis, also known as threat modeling, is the process of creating a flow-chart-type mapping of how malicious attackers would attack a system. Attack trees are used in higher-level information risk analyses; they’re also used by security-savvy development teams for planning new software projects. If you want to take your security testing to the next level by thoroughly planning your attacks, working methodically, and being more professional, attack-tree analysis is the tool you need.

      The only drawback is that attack trees can take considerable time to create and require a fair amount of expertise. Why sweat the process, though, when a computer can do a lot of the work for you? A commercial tool called SecurITree, by Amenaza Technologies Ltd. (www.amenaza.com), specializes in attack-tree analysis. You could also use Microsoft Visio (www.microsoft.com/en-us/microsoft-365/visio/flowchart-software)) or SmartDraw (www.smartdraw.com). The following figure shows a sample SecurITree attack-tree analysis.

Snapshot of a sample SecurITree attack-tree analysis.

      One miscommunication or slip-up can send systems crashing during your security testing. No one wants that to happen. To prevent mishaps, develop and document testing standards. These standards should include

       When the tests are performed, along with the overall timeline

       Which tests are performed

       How much knowledge of the systems you require in advance

       How the tests are performed and from what source IP addresses (if performed via an external source via the Internet)

       What to do when a major vulnerability is discovered

      This list is general best practices; you can apply more standards for your situation. The following sections describe these best practices in more detail.

      Timing your tests

      They

Скачать книгу