23. An engineer needs to ensure that a script has not been modified before it is launched. Which of the following best provides this functionality?
Answer: C
Hashing best provides the functionality to ensure that a script has not been modified before it is launched.
Hashing allows for the creation of a unique fixed-size string (hash) from the original script. By comparing the hash of the original script with the hash of the script before launch, the engineer can determine if any modifications have occurred.
A) Masking
Masking involves obscuring data to protect sensitive information, often by substituting characters or altering the appearance of the data. However, it does not provide a means to verify the integrity of the script itself, making it ineffective for the purpose of detecting modifications.
B) Obfuscation
Obfuscation is a technique used to make code difficult to understand for human readers, often to protect intellectual property. While it can deter reverse engineering, it does not prevent changes to the script, nor does it provide a reliable way to check if the script has been altered.
C) Hashing
Hashing is a process that generates a unique identifier for data, allowing for the verification of integrity. By creating a hash of the original script and checking it against the hash of the script before launch, the engineer can confirm whether or not the script has been modified, making this option the most suitable for ensuring integrity.
D) Encryption
Encryption transforms data into a secure format that can only be read with a decryption key. While it protects the confidentiality of the script, it does not provide a method for checking whether the script has been modified, thus failing to meet the requirement of ensuring the script's integrity.
Conclusion
Hashing is the most effective method for ensuring that a script has not been modified, as it allows for direct comparison of the original and current versions of the script. In contrast, masking, obfuscation, and encryption do not provide the necessary functionality to detect modifications, making them unsuitable for this specific requirement.