Directory Traveral

Photo by Gabriel Heinzer on Unsplash

Also called directory climbing, dot-dot-slash, and backtracking attack, the directory traversal method leverages the way in which an application gets data from the webserver. Generally, Access Control Lists (ACLs) limit user access to specific files within a root directory.

Consider a set of nested folders that follow this order:

  • Root directory: My Very Sensitive Data (MVSD)
  • Inside MVSD folder: Protecting from H@x0rs (PfH) folder
  • Inside PfH folder: My Password is Bad (MPiB) folder
  • Inside MPiB folder: H@x0rs Stole My Info file

Now, you might have an additional set of folders outside that root folder including Pictures, Videos, and Downloads. Unless you have access to each of these other root folders, you can’t access the information they contain.

Web applications organize information the same way, even if you don’t see it. In a directory traversal attack, malicious actors figure out the URL structure that the application uses to request files. Using the hypothetical above, that URL might be:

www.myinsecurewebapp.com/MyPas… “.asp?item=” indicates that this URL pulled the file “H@x0rsStoleMyInfo” from the “My Password is Bad” folder. Now, they know the structure of folders and how to start getting different files.

Using this structure, they add “../” at the end. The “../” indicates moving from one folder to one just above it in the hierarchy. The new request might look like this:

www.myinsecurewebapp.com/MyH@cking.asp?item=../

They keep adding the ../ until they gain access to another file. If they know the name of the file, such as an operating system file name, they might do this:

www.mywebsiteinfo.com/MyPasswordisBad.asp?item=../genericoperatingsystemfile

At this point, they just keep adding more “../” after the equal sign until they get to the folder level and file they want.

Top 7 SaaS Security Risks

Photo by Lewis Kang’ethe Ngugi on Unsplash

Contemporary enterprises increasingly embrace cloud technology to harness the operational advantages of delegating essential business functions. A study conducted in 2021 discovered that 90% of the organizations surveyed have integrated cloud computing into their operations, including utilizing services like software-as-a-service (SaaS).

SaaS solutions are pivotal in enabling organizations to attain critical objectives like cost reduction and accelerated time-to-market. Nevertheless, akin to other digital transformation tools, they also introduce cybersecurity vulnerabilities.

When organizations become customers of third-party vendors, they ultimately place their sensitive data in their hands, relying on a foundation of trust. However, even with this trust in place, if a data breach occurs due to inadequate data security practices by the SaaS provider, the responsibility for such a breach still falls squarely upon the client organization.

This article delineates the seven foremost cybersecurity risks introduced by SaaS solutions and provides insights into how organizations can proactively mitigate these risks to prevent potential data breaches.

Top 3 SaaS Security Risk

Below is a list of the three primary cybersecurity risks your organization should consider when utilizing SaaS services.

  1. Cloud Misconfiguration

Since SaaS environments operate within the public cloud, organizations must remain vigilant regarding the distinct cyber threats associated with cloud applications. One prevalent concern is cloud misconfigurations, which transpire when the SaaS provider or the SaaS customer neglects to properly secure the cloud environment. These lapses in security management leave organizations vulnerable to a multitude of cyber threats, including:

Cloud Leaks, Ransomware, Malware, Phishing, External Hackers, Insider threats

A prevalent misconfiguration in cloud computing involves the granting of overly generous permissions. This misstep transpires when an administrator bestows excessive access rights upon an end-user, leading to a permissions imbalance. Excessive licenses constitute a substantial security risk, frequently allowing cloud leaks, data breaches, and insider threats to manifest.

An illustrious instance of a misconfiguration by a cloud service provider is Amazon Web Services (AWS) default public access settings for S3 buckets. Beyond addressing misconfigurations from the cloud provider, your organization must introspect and enhance its security protocols. Gartner’s prediction that 99% of cloud security failures will be attributable to the customer’s actions by 2025 underscores the critical importance of internal security vigilance.

Another noteworthy example of a significant software misconfiguration is the Microsoft Power Apps Data Leak. Secuirty Researchers identified misconfigured OData APIs within Microsoft’s Power Apps portals. This oversight led to the inadvertent exposure of a staggering 38 million records spread across 47 different organizations.

2. Zero Day Vulnerabilities

A zero-day vulnerability is an unpatched software vulnerability that remains unknown to developers. Cybercriminals can exploit these vulnerabilities through attacks, often causing data breaches and loss across affected organizations.

Zero-day vulnerabilities are particularly damaging when identified in popular SaaS platforms – many organizations could be affected, causing a mass shutdown of operations. For example, Accellion’s file-sharing system, FTA, was compromised in 2020 by web shell attacks and zero-day exploits to exploit an unpatched software vulnerability. The incident was part of a broader supply chain attack that breached the sensitive data of over 100 Accellion customers, resulting in widespread operational disruptions.

Organizations must be able to rapidly identify existing vulnerabilities in their SaaS apps to prevent further security issues from occurring through delayed remediation. 

3. Third Party Risk

SaaS services generate third-party risk – the risk deriving from any third party in an organization’s supply chain. Third parties can pose different levels of risk to an organization’s information security. For example, an organization will likely consider a contracted office janitor a low-level security threat, whereas a SaaS vendor is likely high-risk. 

Most SaaS apps will access or store an organization’s sensitive data, including publicly identifiable information (PII) and other privileged information. Your organization may have strict security measures to mitigate cyber threats, but your protection is only as strong as the weakest link in the supply chain.

Organizations must implement effective third-party risk management programs to consistently monitor and manage the unique cyber risks their SaaS vendors contribute to the attack surface.

Open Source Security Testing Tools You Can Start Using Today

Photo by Andrew on Unsplash

In today’s interconnected world, ensuring your digital assets’ security is paramount. As cyber threats continue to evolve, it’s crucial to have effective security testing tools at your disposal. Fortunately, the open-source community offers a wealth of powerful security testing tools to help identify vulnerabilities and strengthen defenses. In this blog post, we’ll explore some of the top open-source security testing tools you can use today.

  1. OWASP ZAP (Zed Attack Proxy): OWASP ZAP is a popular open-source web application security scanner. It provides a comprehensive set of features for finding vulnerabilities in web applications, including automated scanning, manual testing, and security analysis. ZAP is highly extensible, allowing you to customize and enhance its capabilities according to your specific requirements. It’s an invaluable tool for identifying common web application vulnerabilities like cross-site scripting (XSS), SQL injection, etc.
  2. Nmap (Network Mapper): Nmap is a versatile and powerful open-source network scanning tool for security auditing and network exploration. With its extensive scanning techniques, Nmap can map out hosts, identify open ports, and detect potential vulnerabilities. It supports a scripting engine that enables you to automate tasks and create custom scripts for targeted scanning. Nmap is an essential tool for assessing network security and identifying potential entry points for attackers.
  3. Wireshark: Wireshark is a widely used open-source packet analyzer for network troubleshooting and security analysis. It allows you to capture and examine network traffic at a granular level. Wireshark provides detailed insights into network protocols, allowing you to detect anomalies, analyze network behavior, and identify security threats. Its robust filtering capabilities and extensive protocol support make it an indispensable tool for network security professionals.
  4. Metasploit Framework: The Metasploit Framework is a powerful open-source penetration testing platform that enables you to assess and exploit vulnerabilities in systems and applications. With a vast collection of exploits, payloads, and auxiliary modules, Metasploit simplifies the process of penetration testing and helps security professionals validate the effectiveness of their defenses. It also offers a collaborative community and a wide range of resources for sharing knowledge and expertise.
  5. Nikto is an open-source vulnerability scanner to identify security flaws in web servers and applications. It performs comprehensive tests, including server misconfigurations, outdated software versions, and potentially dangerous files or scripts. Nikto provides detailed scan reports, making prioritizing and remediating identified vulnerabilities easier. Its simple command-line interface and extensive plugin support make it a valuable tool for security testing.

Securing your digital assets requires a proactive and comprehensive approach. By leveraging open-source security testing tools, you can enhance your security posture and protect against potential threats. The tools mentioned in this blog post, including OWASP ZAP, Nmap, Wireshark, Metasploit Framework, and Nikto, offer powerful capabilities to identify vulnerabilities, assess network security, and perform penetration testing. Start exploring these open-source tools today and take a proactive stance in securing your systems and applications. Remember to stay updated with the latest releases and actively participate in the open-source community to maximize the benefits of these valuable resources.

Is AES secure?

Photo by FLY:D on Unsplash

In 2000, after a very thorough and open selection process, NIST announced that AES (formally known as Rijndael, after one of its creators) would replace DES as its recommended “unclassified, publicly disclosed encryption algorithm capable of protecting sensitive government information well into the next century.”

Based on NIST’s recommendation, the US government uses AES to secure its classified information:

“The design and strength of all key lengths of the AES algorithm (i.e., 128, 192 and 256) are sufficient to protect classified information up to the SECRET level. TOP SECRET information will require the use of either the 192 or 256 key lengths.”Brute force attacks

The most basic form of attack possible on any encryption cipher is a brute force attack, which involves trying every possible key combination until the correct one is found.

As we discuss in Privacy Decrypted #3: Can encryption be broken? Fugaku is currently the most powerful (known) supercomputer in the world. If it dedicated its entire output to the task, it would take Fugaku 12 trillion years to exhaust all possible combinations for AES-128.

AES-256 is 340 billion-billion-billion-billion times harder to brute force than AES-128. To put this into perspective, the universe is 14 billion years old. It is, therefore, safe to say that even at its lower bit sizes, AES is highly resistant to brute force attacks from conventional computers.

It is often theorized that when quantum computing becomes available, modern encryption algorithms will be rendered all but useless. There is truth in this when it comes to asymmetric-key ciphers, but symmetric-key ciphers are relatively quantum-resistant, although quantum computers still reduce the security of AES by half. This means AES-256 remains secure, but AES-128 is less so.

Brute force attacks, however, are not the only way to compromise an encryption algorithm.

Key attacks

Over the years, a number of theoretical attacks on AES keys have been published by cryptographers, but all of these are either unworkable in practice, or are only effective on AES implementations that use a reduced number of rounds (see below).

The most successful attempt was a biclique attack published in 2011 that can reduce the time needed to brute force AES by a factor of four. However, it would still require billions of years to brute force AES on any current or foreseeable computer hardware.

No known key attack is practical against properly implemented AES-128 or higher.

Side channel attacks

A side-channel attack attempts to reduce the number of combinations required to make a successful brute force attack by looking for clues from the computer performing the encryption calculations. Clues can be gleaned by examining:

Timing – how long a computer takes to perform an operation

Electromagnetic leaks

Audio cues

Visual cues (picked up using a high-resolution camera).

Cache-timing attacks, in particular, have proven to be quite effective at successfully cracking AES. In the most notable example, researchers in 2016 were able to recover an AES-128 key using “only about 6 – 7 blocks of plaintext or ciphertext (theoretically even a single block would suffice)”.

However, there are a number of things that can be done to mitigate against the threat of side-channel attacks:

Properly implemented AES can prevent ways that data can be leaked. Hardware that integrates the AES instruction set further reduces the side-channel attack surface of AES. Randomization techniques can be used to disrupt the relationship between data protected by AES and any leaked data that could be collected using a side-channel attack.

It is also worth noting that, in many cases, side-channel attacks require the attacker to have close proximity or physical access to the device as it decrypts data (although remote attacks are possible if malicious software is installed on a device, particularly in the case of timing attacks).

The human factor

Security is only as strong as its weakest point. There is little point in encrypting your data with AES-256 if you then secure it using the password “12345”. Social engineering attacks and keylogger viruses are also a threat to AES-encrypted data.

Use of a good password manager, anti-virus software, and improved education about cybersecurity are the best forms of defence against these kinds of attacks. Note that this kind of attack is only a risk if you encrypt your own data with a password.

How to Improve MySQL Security: Top 5 Ways

Photo by Stephen Phillips – Hostreviews.co.uk on Unsplash

MySQL RDBMS is esteemed among open-source technologies, a prevalent choice for integrating popular software packages such as WordPress and server stacks like LAMP. As the foundational data platform for numerous websites and cloud services, it is imperative to fortify MySQL security to safeguard your valuable data effectively. To that end, here are 5 essential techniques to bolster your MySQL security posture:

5 Ways to Improve MySQL Security

1. Eliminate the Test Database

The default installation of the MySQL Server package includes a test database accessible to all users. This database represents a prime target for potential attackers. As part of the post-installation hardening process, it is crucial to remove the test database completely.

2. Eradicate Anonymous Accounts

Upon installation, MySQL creates anonymous user accounts that serve no practical purpose. However, these accounts pose a potential vulnerability, offering attackers an entry point into the database. Thus, it is vital to eliminate these anonymous accounts from the system.

3. Alter Default Port Mappings

By default, MySQL operates on port 3306. To enhance security, it is advisable to modify this default port setting. Doing so helps obscure critical services on specific ports, as attackers commonly exploit default configurations. Altering the default port mappings strengthens your defense against such attempts.

4. Disable Remote Logins

If the MySQL database is solely utilized by local applications, it is prudent to disable remote access to the server. This can be achieved by editing the /etc/my.cnf file and adding a “skip-networking” entry under the [mysqld] section. By configuring MySQL to cease listening on all TCP/IP ports, including 127.0.0.1, you confine database access solely to local MySQL socket-based communications.

5. Avoid Running MySQL with Root Level Privileges

MySQL should not be operated directly under the root user account to reinforce security measures. Instead, running MySQL under a dedicated user account specifically created for this purpose is recommended. You benefit from improved auditing and logging capabilities by employing a distinct user account with the appropriate permissions to run the service. Moreover, this practice prevents attackers from gaining unauthorized access by exploiting the root user account.

Implementing these five measures will significantly enhance the security of your MySQL database, reducing the risk of potential breaches and protecting your data with heightened efficiency.

Securing Linux On-Premises: Essential Measures for Intermediate Linux Administrators

Photo by Collin Armstrong on Unsplash

When it comes to safeguarding Linux in an on-premises environment, there are several important measures that intermediate Linux administrators should implement. By focusing on these key strategies, you can enhance the security of your Linux infrastructure and protect your systems effectively.

  1. Physical Security: Start by securing physical access to your on-premises Linux servers. Establish restricted access to server rooms or data centers, ensuring only authorized personnel can enter. Implement security controls like biometric authentication, access cards, or surveillance cameras to monitor and control physical access.
  2. Network Security: Implement robust security measures to protect your on-premises Linux systems. Utilize firewalls to filter network traffic and allow only necessary connections. Segment your network into different zones, isolating critical servers from less secure areas. Regularly update and patch network devices to address vulnerabilities and minimize potential risks.
  3. System Hardening: Harden your Linux systems by applying security best practices. Disable unnecessary services and ports to minimize the attack surface. Regularly update and patch your operating system and software applications to fix security vulnerabilities. Utilize strong and unique passwords for user accounts and consider implementing multi-factor authentication for an added layer of protection.
  4. User Access Controls: Implement strict user access controls to limit privileges and minimize the risk of unauthorized access. Enforce the principle of least privilege, granting users only the necessary permissions required to perform their tasks. Regularly review user accounts and revoke access for users who no longer require it.
  5. Security Monitoring: Implement a comprehensive security monitoring system to promptly detect and respond to potential security incidents. Configure and review system logs to identify any suspicious activities or signs of compromise. Utilize intrusion detection systems (IDS) or intrusion prevention systems (IPS) to monitor network traffic for unauthorized access attempts or malicious activities.
  6. Regular Backups: Implement a robust backup strategy to ensure data integrity and availability. Regularly back up your critical data and test the restoration process to verify its effectiveness. Store backups securely and offsite to mitigate the impact of physical incidents or disasters.
  7. Security Awareness and Training: Educate your staff on security best practices and raise awareness about potential threats. Train users to recognize social engineering techniques, phishing attempts, and other common attack vectors. Regularly update staff on emerging security trends and provide guidance on handling security incidents.

By implementing these measures, intermediate Linux administrators can significantly enhance the security of their on-premises Linux systems. Regularly review and update your security practices to stay ahead of emerging threats and ensure the ongoing protection of your Linux infrastructure.

What is Data Leak Detection Software?

Photo by Daan Mooij on Unsplash

Data leak detection software identifies an organization’s data leaks – the accidental public exposure of sensitive data due to software misconfigurations and poor network security. Data leaks quickly become data breaches when cybercriminals identify and exploit this exposed data.

The following scenario demonstrates the progression of a cyberattack facilitated by a data leak attack vector:

Stage 1: An e-commerce company operates its website using the unsecured HTTP protocol, exposing customer transaction details.

Stage 2: A hacker identifies this vulnerability and undertakes a man-in-the-middle attack, intercepting customer contact details, credit card numbers, and other personal data.

Stage 3: The hacker posts this data for sale on a dark web forum.

If the e-commerce company was aware of this exposure, they could have patched it immediately, potentially avoiding a serious data breach. Data leak detection software fills this knowledge gap by proactively identifying vulnerabilities that lead to data breaches. Organizations can then prioritize their remediation workflows based on the severity of these threats.

Difference between Hacker, Developer, and Security Researcher

There is always a misconception about understanding the role of a Hacker, a Programmer, a Developer, and a Security Researcher. We have always been stuck with the quote, “Security is Just an illusion.” So why did we use to write this line everywhere? Such questions might be asked in Interviews or in any IT Department. So Read this article till the end! And Do share when you complete it.

All the applications and software we use, from booting your computer to switching it off, are designed from code. A specific person designs this code. Some know this person as a ‘Programmer‘ while some know this person as a ‘Developer.’ So basically, In this article, we will differentiate between two similar terms #1 would be Programmer vs. Developer, and #2 would be Hacker vs. Security Researcher.

However, the function of all four of them is entirely different. Thus, here we are to clear this doubt once and for all! Below, we have explained the difference between a Programmer, a Developer, a Hacker, and a Security Researcher. So stay tuned to solve any doubt you must have on your part.

As an introduction, you can explain all four categories mathematically as a Venn diagram. For example, consider Programmers to be a Universal Set, and Developers and Hackers are intersecting Subsets of the Universal set of Programmers. This is the mathematical illustration of the introduction of Programmers, Developers, and Hackers.

Programmers & Developers

A programmer is the most skilled coder and has only expertise in a few programming languages. The primary function of a programmer is to write the codes for a smooth and efficient application. Both the Hackers and Developers are Programmers. However, Programmers are not meant to be Hackers or Developers.

Developers create things which is the reason why they are called Developers. A Developer can find ways to identify and solve a problem. Developers manage their applications’ maintainability, performance, robustness, and security.

Hacker

A Hacker is a creative person with expertise in various areas such as computer knowledge, programming, etc. Hackers are required in emergencies and are widely known for their speed. A hacker uses bugs or any other errors to enter a computer system. A Hacker does not makes applications but makes alterations to them to enter its system.

Security Researcher

The rise of cyber-attacks and the origins of new Malware increases the demand for Security Researchers. In short and simple, a Security researcher is the one who used to find Bug, Malware, and Exploits in various web applications and reports them to company owners, and takes a security bounty. Unlike Hackers, as we told you above. Hackers may sell this same data or could be used for wrong associations. Therefore, the scope of Jobs for Security researchers is relatively high in demand.

This is the difference between a Programmer, a Hacker, a Developer, and a security researcher. No need to create any confusion related to these terms. These all terms are integrated. However, if you still have any doubts, let us know in the comments below.

What is Cache Poisoning?

Photo by DeepMind on Unsplash

What is a Cache?

A cache is a temporary storage location that allows faster retrieval of frequently used data and files. Several types of caches are found across several devices and applications, such as laptops, desktops, smartphones, tablets, web applications, and web browsers. The purpose is to make everything run faster and more efficiently. 

When a user opens an app or visits a website for the first time, pertinent data and files are stored in the web cache. When the user revisits the website or app, the associated data and files can be accessed locally from the cache, allowing the site or app to load more quickly. This is why after users initially input their credentials into a website or app, such as Amazon or Gmail, they typically do not have to do so again with each subsequent visit.

Benefits of Caches

The most recognized benefit of caches by users and IT professionals is that they allow apps and websites to run much faster, improving the system’s performance. The DNS (Domain Name Server) resolver can respond to queries without communicating with multiple servers. There are also additional benefits to caches, including:

  • Offline access: As mentioned above, caches save data. In some situations, this allows apps to work without an internet connection. The reason some apps can do so is that the cached data can be used to enable the app to function correctly.

  • Optimize resources: Since caches only need to download files once, the app or website doesn’t have to waste battery power and time downloading data on each subsequent visit. Caches significantly increase efficiency.
It is pertinent to note two things. First, the data from a site or an
app will be redownloaded if changes have been made to the data or files. Second, the DNS information is stored in the designated cache for a specific time frame known as TTL (Time-to-Live). This is why users must re-login into applications such as their email every so often (e.g., 30 days).

How Cache Poisoning Works

In DNS poisoning, the perpetrator enters fake information into the DNS cache. The purpose is to redirect users from the intended server to a different server. The new destination is dangerous and has malicious intentions. There are three different forms of attack:

  1. Once the user is on the malicious website, some program, such as a hijacking program, spyware, malware, a worm, a trojan, etc., is downloaded onto the user’s device without their knowledge.
  2. Sensitive information such as login credentials or bank information may be stolen because the user believes they are on a legitimate website or app, so they willingly input their information. Instead, they are on a phishing website. A common tactic to use is the man-in-the-middle attack approach. A man-in-the-middle attack may occur where the perpetrator alters the communication between two parties. For example, users may think they are talking with a bank representative about their accounts. When the truth is that the attacker has intercepted and hijacked the conversation so that the user is now actually talking with a cyber attacker. The users believing they are communicating with a trustworthy party, may give out sensitive information.
  3. The attacker compromises security updates on the device, which leaves the device vulnerable to hacking.

It is essential to understand that the attacker disguises the dangerous destination, so the user has no idea they’ve been a victim of a cyber attack and were diverted to a different server other than the intended one. One way attackers accomplish DNS spoofing attacks is to enter a website address into the DNS that has been altered. The destination is a fake website disguised as a real one. Cache poisoning can occur on Apple (Mac), Android, and Microsoft operating systems.

Preventing Cache Poisoning

Effectively preventing cache poisoning is the combined responsibility of website owners, DNS service providers, and users. Here are the best ways to protect your business from DNS poisoning.

Utilize DNS Security Extensions

DNS Security Extensions (Domain Name System Security Extensions) or DNSSEC is a protocol in which authentication is required at every communication step between servers. It creates a digital hierarchy designed to prevent cache poisoning. While this is better than nothing, DNS Security Extensions still have vulnerabilities because IP addresses and URLs can still be falsified. Name servers cannot tell the difference during translation.

Utilize End-to-End Encryption 

End-to-End Encryption (E2EE) sends encrypted DNS requests that only the intended server can decrypt. This is a useful method because cyber attackers should be unable to decrypt and exploit the request. However, as with all things internet-based, some attackers can decrypt or foil these encrypted requests. 

Educate users

Educate end-users on how to safely use apps and websites and implement internet protocols that significantly reduce their chances of introducing an attack into the system. Here’s what users should do whenever possible:

  • Never click on unknown URLs
  • Never disable firewalls
  • Routinely scan devices for suspicious activity
  • Routinely clear the cache (if a cache has been poisoned unknowingly, this will help get rid of it faster than waiting for the TTL to expire)
  • Use a VPN (a virtual private network) when possible.