Week 8 - STRIDE: Information Disclosure


(inzeed.files.wordpress.com)
 
When protocols like Telnet, FTP, HTTP were introduced, people were not aware of how insecure they are.  Many people thought that the data is secured by the authentication (basic authentication) mechanism.  That was how I thought until eavesdropping and man in the middle attacks came into play.  However, Information Disclosure is not just about communication.  It also expands to things that we do in everyday life.

When you see an executive of a company drives a car with the karate sticker on their car, you may think it just a sticker and there is not anything special about it.  However, to some other people, it is a good piece of information.  If it were a social engineer who tries to get information about the company where the executive works, the little sticker can be very beneficial.  From the sticker, the social engineer can find out about the martial art school, their schedule, the executive’s practice schedule, and other information, which can be used to plan the attack.

In software development, there is one thing that developers overlook (if not ignore), error code and error message.  The error code and error message often tell the user exactly what failed.  Well, we cannot blame them.  At the end of the day, the error message is designed to tell the user about the failure.  Even the standards like HTTP has the list of error code to be returned.  Here are a few examples:

·         Accessing a page without log in will result in a 401 – Unauthorized
·         Accessing a page with insufficient privileged (after logging in) will receive a 403 – Forbidden
·         Accessing a non-existing page will get a 404 – Not found

So there, as you can see, I can get some clues from the error codes.  If I want to know whether a folder or file exists in the server, I will just look for the two error codes: 403 and 404.

Information Disclosure in the digital world focuses on three states: data at rest, data in processing, and data in transit.  Information can be exposed when it is in any of the three states, although the level of exposure risk in each level may be different.

Data at Rest

Files and data that are in the disk drive or storage.  There can be only three ways to gain access to the data and files: local, remote, and malware.  Local access needs physical access with login credentials.  Remote access requires a path from the outside that leads to the target system.  The path can be a direct tunnel or a formation of multiple servers.  Malware can start from a workstation and craw its way to the target machine when there is no antivirus, access control, or firewall in place.

Data in Processing

When data is requested, and it goes through a loading and computing process before being sent.  In that small window, infected files that monitor the system can grab the data for malicious purposes.  

Data in Transit

Data that is being transmitted over a network connection is exposed to more changes of attack comparing to the other two states mentioned above.  When sending over unencrypted protocols like telnet, HTTP, FTP and the like, the data can be easily captured using any network sniffing tools.  Even when encrypted connections like HTTPS, SSH, SCP, SFTP are used, the data can still be captured if the attacker can get to the encryption key.

Among the six types of threats in the STRIDE model, Information Disclosure is broader of all, in my opinion.  I say that because the security defenders will find themselves having a hard time to distinguish between disclosable and non-disclosable information.  The same information can be beneficial to one person and not so useful to another due to the differences in their knowledge and experience.

Comments

Popular posts from this blog

Week 4 - STRIDE: Spoofing

Week 12 - The Final Words

Week 7 - STRIDE: Repudiation