Web Security Risk: Missing Function Level Access Controls



Web Security Risk: Missing Function Level Access Controls


Missing Function Control Access control happens when the correct authentication prosses are not done for some parts of the web application or web server because the people creating the web service might think of putting in access controls at every level. This creates vulnerabilities that can be exploited by people to access parts of the web service, web servers and databases without the need for proper authentication allowing people to access admin parts of the web server. (tutorialspoint, 2018). Often the web page has authentication but the functions and rescores behind it don’t have authentication allowing hackers to access it (s, 2016) .

Missing Function Level Access Control vulnerabilities are easy to exploit if they exist in the web application, server or service. (OWASP, 2013) Attacks exploiting the lack of level access control will  look for UI that exposes untheorized parts of the web application which can make it easier for hackers to target those parts because they know about them. Now that the hacker knows about the untheorized parts they can use many techniques (Hdiv, n. d.).

One of these techniques is involves accessing parts of the web service by simply typing in the url into the browser to see if admin pages exist and if the page has no authentication the hacker can then gain access the admin parts of the web application. Another method a hacker may use to exploit a lack of Level Access Controls is the use of a method called a “Horizontal Access Attack” where the hacker will log in as one user then change the userID=oneUser in the url to that where userID=anotherUser.
Without the use of proper function level access control, a hacker will now have access to that user’s information and level of access in that web application (Hdiv, n. d.).
 Continuing the list of exploiting Level Access Control vulnerabilities using urls is when the hacker types in a url to a privileged function to gain access to it. If there is no proper authorization process involved the hacker can now access that privileged function (OWASP, 2013).

An attack using the exploiting of level access control vulnerabilities requires the hacker to have access to the network or web service (OWASP, 2013). This means that if these there are level access control vulnerabilities a hacker can exploit it at any time the network is connected, or the web service is online.
The damage that a hacker can cause by exploiting these level access control vulnerabilities can vary based on what can be accessed, from useless information (best case scenario ) to a takeover of the web service ( one of the many worse case scenarios ) (Sarud, 2016) and wherever or not information about the vulnerabilities or attacks becomes public were the web services’ owner reputation will be damaged (tutorialspoint, 2018). Depending on what the hacker’s motives are can also determine the amount of damage caused but the damage is usually based on what the admin users can access and do. (tutorialspoint, 2018)

There are many steps to defend against vulnerabilities caused by missing function level access control. The first step is to make it so that all access is denied by default and have it so that the web application must make sure that the admin parts and privileged functions are being accessed from a user with the privileges to access them (Hamit, 2014).
Another step to help defend against function level access vulnerabilities is to check for them using the same tactics the hackers use to exploit them by using forced browsing (directly typing in the urls for the admins and privileged functions) and horizontal Access Attack. This is make most of the vulnerabilities known which will allow the vulnerabilities to be patched up (Sarud, 2016) .
Continuing the list of needed steps to help minimize the vulnerabilities caused by Missing Function Level Access Control is to analyse the code looking for patterns to gain an in depth understanding of how the authorization is handled in the code. When patterns around the code is understood and easy to spot. The security checkers should read the code looking for where access to admin users and privileged functions that don’t have that authorization code (Sarud, 2016).
An important step is to make sure the code is malleable enough to handle the necessary changes when the code needs to be updated when holes in the authentication processes are found or missing. (OWASP, 2013)

The use of “fail-safe authentication” to log the user out if an error or an exception occurs or is thrown in the authentication process to prevent the user from accessing admin privileges and privileged functions and information (Guazzelli, 2016).

A useful step in avoiding client-side authentication tokens and if they must be used, they need to be well encrypted so that the user cannot access the authentication process and manipulate it. Authentication tokens must be authenticated and not just accepted as well as ensuring that these tokens cannot be seen or accessed by the user themselves (Guazzelli, 2016).

In conclusion, Missing Function Level Access Control vulnerabilities are gaps in the authentication processes of web applications, web services and web servers which allow hackers enter parts of the web service which they are not authorized to use to steal sensitive information for themselves. This results in data being stolen and damages the reputation of the web services’ owner. Hackers exploit missing function level access vulnerabilities by typing in the url of admin, privileged functions or user ids. Useful steps in dealing with missing function access control vulnerabilities are first checking for them by typing in the url of the privileged functions as a visitor and as users who are not authorized to access those functions and see if they can be accessed. Then looking at the code for authentication functions and making sure that those authentication methods are used for all parts that need authentication functions. Then deny access by default and only let users who are authorized to access the parts they need to access and block everything else. After that ensure that client-side authentication tokens are if possible and encrypted , ensure that the user is logged out if an error occurs and finally, make sure that the code is malleable enough to be effectively updated when a Missing Function Level Access Control vulnerability is discovered. This will help to minimize the likelihood of a hacker exploiting Missing Function Level Access Control vulnerabilities.

References

Guazzelli, L. (2016, November 3). A7 Missing Function Level Access Control. Retrieved from Pentaho COmmunity Wiki: https://wiki.pentaho.com/display/PEOpen/A7+Missing+Function+Level+Access+Control
Hamit, J. (2014, March 20). Top Ten Web Security Risks: Missing Function Level Access Control (#7). Retrieved from Credera: https://www.credera.com/blog/technology-insights/open-source-technology-insights/top-ten-web-security-risks-missing-function-level-access-control-7/
Hdiv. (n. d.). Missing Function Level Access Controll. Retrieved from Hdiv Security: https://hdivsecurity.com/owasp-missing-function-level-access-control
OWASP. (2013, June 15). Top 10 2013-A7-Missing Function Level Access Control. Retrieved from owasp: https://www.owasp.org/index.php/Top_10_2013-A7-Missing_Function_Level_Access_Control
s, G. (2016, Novemeber 29). A7 Missing Function Level Access Control. Retrieved from GBHackers on Security: https://gbhackers.com/a7-missing-function-level-access-control/
Sarud, L. (2016, July 13). OWASP TOP 10: Missing Function Level Access Control. Retrieved from detectify blog: 2016
tutorialspoint. (2018). Missing Function Level Access Control. Retrieved from tutorialspoint: https://www.tutorialspoint.com/security_testing/missing_function_level_access_control.html








Comments

Popular Posts