© 2024 Prancer Enterprise
Blog
OWASP top 10 API Security vulnerabilities – Insufficient Logging and Monitoring
Prancer
April 12, 2023
Gartner
Leading Vendor in Automated Penetration Testing
Gartner

Introduction

Insufficient Logging and Monitoring refers to the risk of APIs not having proper logging and monitoring in place to detect and respond to security threats or vulnerabilities. This can occur when APIs do not properly log or monitor events, such as authentication failures or unauthorized access attempts, or when they do not have proper alerts or notifications in place to alert security personnel of potential issues.

Risks

Some common risks associated with Insufficient Logging and Monitoring include:

  • Difficulty in detecting and responding to security threats or vulnerabilities in a timely manner
  • Difficulty in identifying the root cause of security incidents
  • Increased risk of data breaches or service disruptions

Attack Scenarios

Attack scenarios for cloud applications may include:

  • An attacker exploits a vulnerability in an API without being detected due to insufficient logging or monitoring

  • An attacker gains unauthorized access to an API and is able to perform malicious actions without being detected

  • An attacker is able to cover their tracks and evade detection by deleting or tampering with log files

Vulnerable Sample Code

A vulnerable sample of code in Go lang might look like this:

func login(w http.ResponseWriter, r *http.Request) {
  // Get the login credentials from the request
  var credentials struct {
    Email    string `json:"email"`
    Password string `json:"password"`
  }
  err := json.NewDecoder(r.Body).Decode(&credentials)
  if err != nil {
    http.Error(w, "Error decoding request body", http.StatusBadRequest)
    return
  }

  // Check the credentials against the database
  user, err := database.GetUser(credentials.Email)
  if err != nil {
    http.Error(w, "Error retrieving user", http.StatusInternalServerError)
    return
  }
  if user.Password != credentials.Password {
    http.Error(w, "Invalid email or password
 

Sample Attack

A sample attack payload using the curl command to exploit an API with insufficient logging and monitoring might look like this:

curl -X POST -H "Content-Type: application/json" -d '{"email":"attacker@example.com", "password":"password123"}' http://api.example.com/login
 

In this example, the attacker is using curl to send a request to the API’s login endpoint with a valid email and password. However, if the API is vulnerable to Insufficient Logging and Monitoring, the attacker may be able to perform malicious actions without being detected.

MITRE ATT&CK framework reference

Insufficient Logging and Monitoring can be mapped to the Tactic: Defense Evasion and the Techniques: Indicator Removal on Host, Indicator Removal from Tools in the MITRE ATT&CK framework. These techniques involve deleting or tampering with log files or other indicators of compromise in an attempt to evade detection.

Mitigation

To mitigate the risk of Insufficient Logging and Monitoring, organizations should ensure that they have proper logging and monitoring in place for their APIs. This may include logging all events and actions, implementing proper alerts and notifications for security threats or vulnerabilities, and regularly reviewing and analyzing log data to identify potential issues. Organizations should also ensure that they have proper backup and recovery procedures in place to preserve log data in the event of an attack or incident.

Download API Security whitepaper

Our in-depth whitepaper provides valuable insights into how Prancer Security’s cutting-edge solution mitigates critical risks such as unauthorized access and data breaches, while adhering to the highest security standards.

Don’t leave your API security to chance – download our comprehensive whitepaper now and discover how Prancer Security can safeguard your organization from potential threats!