
Annualized Rate Occurrence (ARO):
Annualized Rate Occurrence is the estimated frequency at which a given threat is expected to happen.
ARO can be calculated by using the following formula:
Annualized Loss Expectancy (ALE):
Annualized Loss Expectancy is the loss expected from the attack of a specific information asset which has been carried over for a year. It is a product of single loss expectancy and the annualized rate of occurrence.
ALE can be calculated by using the following formula:
Cost-Benefit Analysis (CBA):
- CBA is the study that determines the cost required for protecting an asset.
- It is a process of feasibility which is carried with a formal documentation process. It is also called as economic feasibility study.
- System value is an estimated total cost of the organization in terms of the cost of equipment, and more important, in terms of the cost of information stored in the system.
CBA can be calculated by using the following formula:
Here, the term

Explanation of Solution
Calculate ARO for Programmer mistakes:
Substitute the value of “One year” as “365” and “Frequency of occurrence (One per months)” as “
Hence, the ARO for programmer mistakes is “12 (approximately)”.
Calculate ARO for Loss if intellectual property:
Substitute the value of “One year” as “365” and “Frequency of occurrence (One per 10 years)” as “
Hence, the ARO for Loss if intellectual property is “0.5 (approximately)”.
Calculate ARO for Software Piracy:
Substitute the value of “One year” as “365” and “Frequency of occurrence (One per months)” as “
Hence, the ARO for Software Piracy is “12 (approximately)”.
Calculate ARO for Theft of information (hacker):
Substitute the value of “One year” as “365” and “Frequency of occurrence (One per 6 months)” as “
Hence, the ARO for Theft of information (hacker) is “2 (approximately)”.
Calculate ARO for Theft of information (employee):
Substitute the value of “One year” as “365” and “Frequency of occurrence (One per year)” as “365” in the equation (1).
Hence, the ARO for Theft of Theft of information (employee) is “1 (approximately)”.
Calculate ARO for Web defacement:
Substitute the value of “One year” as “365” and “Frequency of occurrence (One per quarter)” as “
Hence, the ARO for Web defacement is “4 (approximately)”.
Calculate ARO for Theft of equipment:
Substitute the value of “One year” as “365” and “Frequency of occurrence (One per 10 years)” as “
Hence, the ARO for Theft of equipment is “0.5 (approximately)”.
Calculate ARO for Viruses, worms, Trojan Horses:
Substitute the value of “One year” as “365” and “Frequency of occurrence (One per months)” as “
Hence, the ARO for Viruses, worms, Trojan Horses is “12 (approximately)”.
Calculate ARO for Denial-of-service attacks:
Substitute the value of “One year” as “365” and “Frequency of occurrence (One per 6 months)” as “
Hence, the ARO for Denial-of-service attacks is “2 (approximately)”.
Calculate ARO for Earthquake:
Substitute the value of “One year” as “365” and “Frequency of occurrence (One per 20 years)” as “
Hence, the ARO for Earthquake is “0.05 (approximately)”.
Calculate ARO for Food:
Substitute the value of “One year” as “365” and “Frequency of occurrence (One per 10 years)” as “
Hence, the ARO for Food is “0.1 (approximately)”.
Calculate ARO for Fire:
Substitute the value of “One year” as “365” and “Frequency of occurrence (One per 10 years)” as “
Hence, the ARO for Fire is “0.1 (approximately)”.
Calculate ALE for Programmer mistakes:
Substitute the value of “SLE” as “5000” and “ARO” as “12” in the equation (2).
Hence, the ALE for programmer mistakes is “60000”.
Calculate ALE for Loss if intellectual property:
Substitute the value of “SLE” as “75000” and “ARO” as “0.5” in the equation (2).
Hence, the ALE for Loss if intellectual property is “37500”.
Calculate ALE for Software Piracy:
Substitute the value of “SLE” as “500” and “ARO” as “12” in the equation (2).
Hence, the ALE for Software Piracy is “6000”.
Calculate ALE for Theft of information(hacker):
Substitute the value of “SLE” as “2500” and “ARO” as “2” in the equation (2).
Hence, the ALE for Theft of information (hacker)is “5000”.
Calculate ALE for Theft of information (employee)
Substitute the value of “SLE” as “5000” and “ARO” as “1” in the equation (2).
Hence, the ALE for Theft of information (employee) is “5000”.
Calculate ALE for Web defacement:
Substitute the value of “SLE” as “500” and “ARO” as “4” in the equation (2).
Hence, the ALE for Web defacement is “2000”.
Calculate ALE for Theft of equipment:
Substitute the value of “SLE” as “5000” and “ARO” as “0.5” in the equation (2).
Hence, the ALE for Theft of equipment is “2500”.
Calculate ALE for Viruses, worms, Trojan Horses:
Substitute the value of “SLE” as “1500” and “ARO” as “12” in the equation (2).
Hence, the ALE for Viruses, worms, Trojan Horses is “18000”.
Calculate ALE for Denial-of-service attacks:
Substitute the value of “SLE” as “2500” and “ARO” as “2” in the equation (2).
Hence, the ALE for Denial-of-service attacks is “5000”.
Calculate ALE for Earthquake:
Substitute the value of “SLE” as “250000” and “ARO” as “0.05” in the equation (2).
Hence, the ALE for Earthquake is “12500”.
Calculate ALE for Food:
Substitute the value of “SLE” as “50000” and “ARO” as “0.1” in the equation (2).
Hence, the ALE for Food is “5000”.
Calculate ALE for Fire:
Substitute the value of “SLE” as “100000” and “ARO” as “0.1” in the equation (2).
Hence, the ALE for Fire is “10000”.
To calculate CBA for Programmer mistakes:
Substitute the value of “ALE (prior)” as “260000” and “ALE (post)” as “60000” and “ACS” as “20000” in the equation (3).
Hence, the CBA for programmer mistakes is “180000”.
To calculate CBA for Loss if intellectual property:
Substitute the value of “ALE (prior)” as “75000” and “ALE (post)” as “37500” and “ACS” as “15000” in the equation (3).
Hence, the CBA for Loss if intellectual property is “22500”.
To calculate CBA for Software Piracy:
Substitute the value of “ALE (prior)” as “26000” and “ALE (post)” as “6000” and “ACS” as “30000” in the equation (3).
Hence, the CBA for Software Piracy is “-10000”.
To calculate CBA for Theft of information (hacker):
Substitute the value of “ALE (prior)” as “10000” and “ALE (post)” as “5000” and “ACS” as “15000” in the equation (3).
Hence, the CBA for Theft of information (hacker) is “-10000”.
To calculate CBA for Theft of information (employee):
Substitute the value of “ALE (prior)” as “10000” and “ALE (post)” as “5000” and “ACS” as “15000” in the equation (3).
Hence, the CBA for Theft of information (employee) is “-10000”.
To calculate CBA for Web defacement:
Substitute the value of “ALE (prior)” as “6000” and “ALE (post)” as “2000” and “ACS” as “10000” in the equation (3).
Hence, the CBA for Web defacement is “-6000”.
To calculate CBA for Theft of equipment:
Substitute the value of “ALE (prior)” as “5000” and “ALE (post)” as “2500” and “ACS” as “15000” in the equation (3).
Hence, the CBA for Theft of equipment is “-12500”.
To calculate CBA for Viruses, worms, Trojan Horses:
Substitute the value of “ALE (prior)” as “78000” and “ALE (post)” as “18000” and “ACS” as “15000” in the equation (3).
Hence, the CBA for Viruses, worms, Trojan Horses is “45000”.
To calculate CBA for Denial-of-service attacks:
Substitute the value of “ALE (prior)” as “10000” and “ALE (post)” as “5000” and “ACS” as “10000” in the equation (3).
Hence, the CBA for Denial-of-service attacks is “-5000”.
To calculate CBA for Earthquake:
Substitute the value of “ALE (prior)” as “12500” and “ALE (post)” as “12500” and “ACS” as “5000” in the equation (3).
Hence, the CBA for Earthquake is “-5000”.
To calculate CBA for Food:
Substitute the value of “ALE (prior)” as “25000” and “ALE (post)” as “5000” and “ACS” as “10000” in the equation (3).
Hence, the CBA for Food is “10000”.
To calculate CBA for Fire:
Substitute the value of “ALE (prior)” as “50000” and “ALE (post)” as “10000” and “ACS” as “10000” in the equation (3).
Hence, the CBA for Fire is “30000”.
ARO and ALE table for all the threat cost is given below:
ARO and ALE threats | SLE | ARO | ALE | CBA |
Programmer mistakes | 5,000 | 12 | 60,000 | 180,000 |
Loss if intellectual property | 75,000 | 0.5 | 37,500 | 22,500 |
Software Piracy | 500 | 12 | 6,000 | -10,000 |
Theft of information(hacker) | 2,500 | 2 | 5,000 | -10,000 |
Theft of information (employee) | 5,000 | 1 | 5,000 | -10,000 |
Web defacement | 500 | 4 | 2,000 | -6,000 |
Theft of equipment | 5,000 | 0.5 | 2,500 | -12,500 |
Viruses, worms, Trojan Horses | 1,500 | 12 | 18,000 | 45,000 |
Denial-of-service attacks | 2,500 | 2 | 5,000 | -5000 |
Earthquake | 250,000 | 0.05 | 12,500 | -5,000 |
Food | 50,000 | 0.1 | 5,000 | 10,000 |
Fire | 100,000 | 0.1 | 10,000 | 30,000 |
Reason for changes in values:
Some values have been changed because of the implementation controls which had a positive impact on protection of XYZ’s assets. Thus, reducing the frequency of occurrences. However, the controls did not decrease cost for a single incident because the importance of an asset will stay the same and cost XYZ the same amount of time and money to replace. The costs that are listed are worth when the controls are in their place.
Want to see more full solutions like this?
Chapter 5 Solutions
Principles Of Information Security, Loose-leaf Version
- Which basic data structure (Doubly Linked List, Singly Linked List, Array) would you use to implement a Stack? Why?arrow_forwardDid you comment all methods in the Deque class to include 1. The method's behavior 2. Arguments that are passed to the method (if any), their expected types, and what they are used for 3. What the method returns (if any) 4. A description of the behavior of each line in the methodarrow_forwardWhy use a Doubly Linked List as opposed to a Singly Linked List for a Deque?arrow_forward
- this module is java 731 , follow all instructions and make sure the outputs are like what they expect and make sure the code is 100% correct . include all comments , layout and structure to be perfect too, thanks. Question 1: E-Hailing Bicycle Management System Case Study:An e-hailing company that rents out bicycles needs a system to manage its bicycles, users, and borrowing process. Each user can borrow up to 2 bicycles at a time, specifically for families with children 18 years or below. The system must track the bicycles (name, make, type, and availability) and users (name, ID, and borrowed bicycles). The company also wants to ensure that the system uses a multidimensional array to store information about the bicycles. Requirements: Add and View Bicycles: Borrow Bicycles: Return Bicycles Display Borrowed Bicycles and Search for a bicycle Create a menu-driven program to implement the above. Sample Output: Add Bicycle View All Bicycles Borrow Bicycle Return…arrow_forwardAdd a method called transfer () to the BankAccount class, that takes in an amount and destinationAccount as input and transfer the funds from current account to destination account. This method should return the balance of the current account after the transfer, also should check for the sufficient balance in current account before proceeding the transfer and if there is insufficient balance return an error message "Insufficient balance". Modify the BankAccount Test class, so that it calls the transfer () method and prints the balance after transfer. Make sure that the transfer() method updates the balance of both the current account and the destination account.arrow_forward• Create a public method called deposit() that takes in an amount of type double as input and adds the amount to the current balance. This method should also return the updated balance. • Create another public method called withdraw() that takes in an amount of type double as input, checks if the withdrawal amount is less than the current balance, and if so, subtracts the amount from the balance. If the withdrawal amount is greater than the current balance, the method should return an error message "Insufficient balance". • Create a public method getAccountInfo() that returns the account information in the format "Account Number: xxxxx, Account Holder: John Doe, Account Type: SAVINGS/CHECKING, Balance: $xxxX.XX". • Finally, create a constructor method that takes in the account number, account holder name, initial balance and account type as input and initializes the corresponding instance variables. In the BankAccount class, make sure to use the private access modifier for the instance…arrow_forward
- Create a BankAccount Test class that contains a main() method that instantiates an object of type BankAccount, with account number of 12345, account holder name of "John Doe", initial balance of $1000 and account type as SAVINGS . Then use the deposit() and withdraw() methods of the object to deposit $500 and withdraw $300. Finally, use the getAccountInfo() method to print the current account information. Use the getAccountInfo() method to verify that the deposit and withdrawal actions are performed correctly and that the account information is updated accordingly.arrow_forwardAdd a new class checkingAccount that inherits from the BankAccount class, and has a double instance variable overdraft Limit in addition to the variables inherited from the superclass. • Create a constructor for the checking Account class that takes in the account number, account holder name, initial balance, account type and overdraft limit as input, and uses the super keyword to call the constructor of the superclass, passing in the account number, account holder name and initial balance, account type. • Re-write the withdraw() method in the checkingAccount class so that it first checks if the withdrawal amount is less than the current balance plus the overdraft limit. If it is, the withdrawal is allowed and the balance is updated. If not, the method should return an error message "Insufficient funds". • Create a new method displayOverdraft Limit() that returns the overdraft limit of the CheckingAccount . • In the BankAccountTest class, create a new object of type Checking Account…arrow_forwardExplain what the rwpos() function does. What is the base case? What values are passed to the recursive call? What value is returned by the original function call?arrow_forward
- Explain what the rs() function does. What value(s) does it return? Is that value always the same? Why or why not?arrow_forwardExplain what the rwsteps() function does. What is the base case? What values are passed to the recursive call? What is printed each time rwsteps() is called? What value is returned by the original function call?arrow_forwardmodule: java Question3: (30 MARKS) Passenger Rail Agency for South Africa Train Scheduling System Problem Statement Design and implement a train scheduling system for Prasa railway network. The system should handle the following functionalities: 1. Scheduling trains: Allow the addition of train schedules, ensuring that no two trains use the same platform at the same time at any station. 2. Dynamic updates: Enable adding new train schedules and canceling existing ones. 3. Real-time simulation: Use multithreading to simulate the operation of trains (e.g., arriving, departing). 4. Data management: Use ArrayList to manage train schedules and platform assignments. Requirements 1. Add Train Schedule, Cancel Scheduled Train, View Train Schedules and Platform Management 2. Concurrency Handling with Multithreading i.e Use threads to simulate train operations, Each…arrow_forward
- Principles of Information Security (MindTap Cours...Computer ScienceISBN:9781337102063Author:Michael E. Whitman, Herbert J. MattordPublisher:Cengage LearningManagement Of Information SecurityComputer ScienceISBN:9781337405713Author:WHITMAN, Michael.Publisher:Cengage Learning,Principles of Information Systems (MindTap Course...Computer ScienceISBN:9781285867168Author:Ralph Stair, George ReynoldsPublisher:Cengage Learning
- Information Technology Project ManagementComputer ScienceISBN:9781337101356Author:Kathy SchwalbePublisher:Cengage LearningCOMPREHENSIVE MICROSOFT OFFICE 365 EXCEComputer ScienceISBN:9780357392676Author:FREUND, StevenPublisher:CENGAGE LPrinciples of Information Systems (MindTap Course...Computer ScienceISBN:9781305971776Author:Ralph Stair, George ReynoldsPublisher:Cengage Learning




