Security Archives - JIG Technologies https://jigtechnologies.com/category/security/ Better. Happier. Peace of mind. Tue, 11 Jun 2024 10:39:16 +0000 en-CA hourly 1 https://wordpress.org/?v=6.7.1 https://jigtechnologies.com/wp-content/uploads/2021/04/JIG-Emblem32x32.png Security Archives - JIG Technologies https://jigtechnologies.com/category/security/ 32 32 Is Your Business at Risk for Cyber Fraud? https://jigtechnologies.com/is-your-business-at-risk-for-cyber-fraud/ Mon, 13 May 2024 14:00:00 +0000 https://jigtechnologies.com/?p=60010 In an era where online transactions reign supreme, the threat of cyber fraud looms large over businesses and consumers alike. While factors like the COVID-19 pandemic have accelerated the shift toward digital commerce and communication, the underlying risks associated with…

The post Is Your Business at Risk for Cyber Fraud? appeared first on JIG Technologies.

]]>
In an era where online transactions reign supreme, the threat of cyber fraud looms large over businesses and consumers alike. While factors like the COVID-19 pandemic have accelerated the shift toward digital commerce and communication, the underlying risks associated with cyber fraud have been steadily growing for years. From fake booking scams in the hospitality industry to sophisticated ransomware attacks targeting healthcare providers, the landscape of cybercrime is vast and ever-evolving.

Fraud Plagues Every Industry…

Hospitality: The hospitality industry faces a myriad of cyber threats, including fake booking and payment fraud. Scammers exploit vulnerabilities in online reservation systems to swindle unsuspecting travelers. Moreover, the theft of guest data through unsecured hotel networks poses a significant risk to privacy and security.

Healthcare: Cybercriminals target healthcare organizations with ransomware attacks, encrypting vital patient data and demanding hefty sums for its release. These attacks not only disrupt critical services but also jeopardize patient safety. Additionally, medical bill fraud is on the rise, with fraudsters manipulating billing systems to siphon funds undetected.

Education: Educational institutions are prime targets for cyber attacks, with phishing scams targeting students and staff members. Hackers gain access to sensitive information through deceptive emails or compromised networks. The theft of student data on unsecured school networks further compounds the risk, compromising the privacy and confidentiality of individuals.

Retail: Credit card fraud poses a significant threat to retailers, especially in the realm of online transactions. Fraudsters use stolen card information to make unauthorized purchases, resulting in financial losses for businesses and consumers alike. Moreover, the leakage of customer data can tarnish a company’s reputation and erode consumer trust.

Detecting and Preventing Fraud

Detecting and preventing cyber fraud requires a multifaceted approach that combines technological solutions with proactive measures.

  • Advanced Analytics: Utilize advanced analytics tools to monitor transactions and detect patterns indicative of fraudulent activity. Machine learning algorithms can analyze vast amounts of data in real time, flagging suspicious transactions for further investigation.
  • Behavioral Analysis: Implement behavioral analysis techniques to identify anomalies in user behavior. By establishing baseline patterns for typical user activity, deviations from these norms can be swiftly identified and addressed.
  • Fraud Detection Software: Invest in robust fraud detection software that employs artificial intelligence and machine learning algorithms to identify potential threats. These tools can analyze transaction data, identify patterns of fraudulent behavior, and issue alerts in real-time.
  • Transaction Monitoring: Implement comprehensive transaction monitoring protocols to scrutinize all incoming and outgoing transactions for signs of fraudulent activity. Automated systems can flag suspicious transactions based on predefined criteria, allowing for timely intervention.
  • Collaboration and Information Sharing: Foster collaboration among industry peers and law enforcement agencies to share information and best practices for combating cyber fraud. By pooling resources and expertise, organizations can enhance their collective ability to detect and prevent fraud.
  • Continuous Training and Education: Provide ongoing training and education to employees on cybersecurity best practices. Encourage staff members to remain vigilant and report any suspicious activity promptly.
  • Regular Audits and Assessments: Conduct regular audits and assessments of systems and networks to identify potential vulnerabilities and weaknesses. Addressing these vulnerabilities proactively can help mitigate the risk of cyber fraud.

Tips for Ongoing Prevention and Stronger Security

  • Educate Employees: Ensure that all employees, from frontline staff to senior management, receive comprehensive training on cybersecurity best practices. Emphasize the importance of vigilance in detecting and reporting suspicious activity, such as phishing attempts or unusual network behavior.
  • Implement Strong Password Policies: Enforce the use of strong, complex passwords and regularly update them to reduce the risk of unauthorized access to sensitive systems and data. Consider implementing multi-factor authentication for an added layer of security.
  • Secure Networks: Invest in robust network security measures, including firewalls, intrusion detection systems, and encryption protocols. Regularly update software and firmware to patch vulnerabilities and protect against emerging threats.
  • Use Secure Payment Methods: Encourage customers to use reputable payment gateways and secure channels when conducting online transactions. Implement encryption protocols to protect sensitive financial information from interception by cybercriminals.
  • Monitor Accounts and Transactions: Regularly monitor accounts and transactions for any unauthorized or suspicious activity. Implement automated alerts for unusual account behavior or large transactions to enable prompt intervention in case of potential fraud.
  • Stay Informed: Keep abreast of the latest cybersecurity threats and trends by subscribing to industry newsletters, attending conferences, and participating in relevant training programs. Awareness of emerging threats can help organizations adapt their security measures accordingly.
  • Backup Data Regularly: Implement a robust data backup strategy to ensure that critical information is protected in the event of a cyber-attack or system failure. Regularly test backups to verify their integrity and reliability.
  • Limit Access to Sensitive Data: Implement a least privilege access model to restrict access to sensitive data and systems only to authorized personnel. Regularly review and update access permissions to minimize the risk of insider threats and unauthorized access.
  • Establish Incident Response Plans: Develop comprehensive incident response plans outlining the steps to be taken in the event of a cyber-attack or data breach. Conduct regular tabletop exercises to test the effectiveness of these plans and ensure readiness to respond to security incidents.

Don’t Put Your Business (Or Your Clients) At Risk

By following these tips and adopting a proactive approach to cybersecurity, businesses can mitigate the risk of cyber fraud, protect user data, and ensure the integrity and security of their digital operations. In an increasingly interconnected world, prioritizing cybersecurity is essential for maintaining trust and confidence among customers and stakeholders.

The post Is Your Business at Risk for Cyber Fraud? appeared first on JIG Technologies.

]]>
Preparing for a Cyber-Safe Vacation https://jigtechnologies.com/preparing-for-a-cyber-safe-vacation/ Mon, 06 May 2024 14:00:00 +0000 https://jigtechnologies.com/?p=60008 As May rolls around, the warmth of summer beckons, and for many of us, thoughts turn to vacation planning. Whether you’re dreaming of sandy beaches, bustling city streets, or serene mountain retreats, the anticipation of an upcoming getaway is undeniably…

The post Preparing for a Cyber-Safe Vacation appeared first on JIG Technologies.

]]>
As May rolls around, the warmth of summer beckons, and for many of us, thoughts turn to vacation planning. Whether you’re dreaming of sandy beaches, bustling city streets, or serene mountain retreats, the anticipation of an upcoming getaway is undeniably exciting. But as you start envisioning your perfect escape, it’s essential to consider a factor that might not be top of mind: cybersecurity.

While you may not be lounging on a beach chair just yet, taking proactive steps to ensure your cyber safety while planning your vacation can save you from potential headaches down the road. From securing your devices to staying vigilant against online threats, a little preparation can go a long way in safeguarding your digital well-being during your travels. So, as you begin mapping out your summer adventures, keep in mind the importance of staying cyber-safe every step of the way.

Why Do You Have to Worry About Cybersecurity on Vacation?

Vacations are all about kicking back, relaxing, and soaking up some much-needed fun, without having to stress about unexpected cybersecurity threats. Hackers and cybercriminals don’t take vacations, and they’re always on the lookout for unsuspecting travelers to target. From stealing personal information to hijacking accounts, cyber threats can turn your dream vacation into a nightmare.

Key Cyber Threats to Watch Out For While Vacationing

Before you pack your bags, it’s essential to understand the potential cyber threats you might encounter while traveling. These can include everything from unsecured Wi-Fi networks and phishing scams to theft or loss of your devices. Being aware of these threats is the first step to staying safe and secure during your vacation.

10 Tips to Stay Cyber Safe While on Vacation:

1. Check Your Device Cybersecurity

Before you embark on your journey, make sure all your devices are up to date with the latest security patches and antivirus software. This simple step can help protect your devices from malware and other cyber threats.

2. Encrypt Your Devices

Encrypting your devices adds an extra layer of security by scrambling your data, making it unreadable to anyone who doesn’t have the decryption key. Most smartphones and laptops have built-in encryption features that you can easily enable in the settings.

3. Use a VPN

A Virtual Private Network (VPN) creates a secure connection between your device and the internet, protecting your data from prying eyes, especially when using public Wi-Fi networks. Invest in a reputable VPN service before your trip and use it whenever you connect to the internet.

4. Prepare Your Mobile Device

Set up your smartphone or tablet for secure access before you leave. This includes enabling remote tracking and wiping in case your device is lost or stolen. You can also consider installing security apps that offer additional protection, such as mobile antivirus and anti-theft features.

5. Use Strong Passwords

Ensure that all your accounts, including email, social media, and banking, have strong, unique passwords. Avoid using easily guessable passwords like “123456” or “password” and consider using a password manager to generate and store complex passwords securely.

6. Protect Web Accounts with 2FA

Two-factor authentication (2FA) adds an extra layer of security by requiring a second form of verification, such as a code sent to your phone, in addition to your password. Enable 2FA on all your accounts to prevent unauthorized access, especially when logging in from unfamiliar locations.

7. Disable Wi-Fi Automatically Connecting

Turn off the auto-connect feature on your devices to prevent them from connecting to unsecured Wi-Fi networks without your permission. This can help reduce the risk of falling victim to man-in-the-middle attacks and other Wi-Fi-related threats.

8. Watch Out for Phishing and Other Social Engineering Attacks

Be cautious of unexpected emails, messages, or calls while on vacation, especially if they ask for personal or financial information. Cybercriminals often use phishing and social engineering tactics to trick unsuspecting victims into revealing sensitive data, so stay vigilant and verify the legitimacy of any requests before responding.

9. Turn Off Unnecessarily Exposing Your Location

Avoid oversharing your location on social media platforms or other apps, as this information could be used by cybercriminals to track your movements or target your home while you’re away. Be mindful of what you post online and consider adjusting your privacy settings to limit who can see your location data.

10. Backup Data

Before you leave for your vacation, back up all your important data, including photos, documents, and contacts, to a secure location, such as an external hard drive or cloud storage service. In the event of loss, theft, or damage to your devices, having backups ensures that you won’t lose valuable information.

By following these simple yet effective tips, you can enjoy a worry-free vacation knowing that you’ve taken proactive steps to stay cyber-safe. So go ahead, relax, and make unforgettable memories – just don’t forget about cybersecurity along the way.

The post Preparing for a Cyber-Safe Vacation appeared first on JIG Technologies.

]]>
Ransomware: A Billion-Dollar Threat to The Business World https://jigtechnologies.com/ransomware-a-billion-dollar-threat-to-the-business-world/ Mon, 04 Mar 2024 15:50:00 +0000 https://jigtechnologies.com/?p=59881 Ransomware continues to become more and more profitable for cybercriminals—in fact, they raked in over $1 billion in illicit profits in 2023 alone by using this form of malware. Despite temporary downturns in ransomware profits due to law enforcement interventions,…

The post Ransomware: A Billion-Dollar Threat to The Business World appeared first on JIG Technologies.

]]>
Ransomware continues to become more and more profitable for cybercriminals—in fact, they raked in over $1 billion in illicit profits in 2023 alone by using this form of malware. Despite temporary downturns in ransomware profits due to law enforcement interventions, cybercriminals continue to innovate and adapt, unleashing sophisticated attacks that target a wide range of organizations, including hospitals, schools, and government agencies. 

These attacks are not just financially motivated; they also have profound implications for the affected businesses. Beyond the immediate financial losses incurred through ransom payments, organizations must also contend with reputational damage and operational disruptions that can have far-reaching consequences.

Additionally, it is crucial to highlight the profound impact ransomware attacks can have on individuals, especially those working in vital sectors such as healthcare and critical infrastructure. These attacks pose potentially life-threatening consequences for organizations, underscoring the urgent need for robust cybersecurity measures.

The Evolution of Ransomware 

Ransomware, once considered a relatively straightforward cyber threat, has evolved into a complex and adaptive menace that poses significant risks to businesses worldwide. Over the years, ransomware operators have demonstrated remarkable ingenuity in refining their tactics, making them increasingly difficult for businesses to defend against. 

Initially, ransomware attacks relied heavily on indiscriminate phishing emails and exploit kits to infect victims’ systems. However, as cybersecurity measures improved and awareness of these tactics grew, ransomware operators pivoted towards more sophisticated methods. For instance, they began targeting high-value entities such as hospitals, schools, and government agencies through carefully planned and executed attacks. 

These targeted campaigns often involve extensive reconnaissance and social engineering, allowing attackers to maximize their impact and demand larger ransom payments. Another notable evolution in ransomware tactics is the rise of supply chain attacks and zero-day exploits. 

By targeting trusted third-party vendors or exploiting previously unknown vulnerabilities in popular software, ransomware operators can infect large numbers of victims with relative ease. The Clop group’s supply chain attack, which exploited a zero-day vulnerability in a widely used file-sharing platform, exemplifies this trend. Such attacks not only increase the likelihood of success but also make it more challenging for businesses to defend against ransomware effectively. 

Furthermore, the emergence of ransomware-as-a-service (RaaS) models has democratized ransomware operations, enabling even non-technical individuals to launch sophisticated attacks. RaaS platforms provide aspiring cybercriminals with ready-made ransomware tools and infrastructure, lowering the barrier to entry and fueling a surge in ransomware attacks worldwide. 

The Escalating Threat Landscape 

One notable example of the evolving tactics employed by ransomware groups is the aforementioned supply chain attack by the Clop group, which exploited a zero-day vulnerability in a popular file-sharing platform. By encrypting servers and exfiltrating sensitive data, the group was able to extort over $100 million in ransom payments, demonstrating the financial impact and sophistication of modern ransomware campaigns. 

This incident underscores the need for businesses to remain vigilant and proactive in their cybersecurity efforts, as cybercriminals continue to find new ways to exploit vulnerabilities and evade detection. The statistics are alarming: over 70% of ransom payments in 2023 exceeded $1 million, highlighting the substantial sums at stake for businesses that fall victim to these attacks. 

Moreover, with the number of successful ransomware attacks against U.S. targets reaching record levels in 2023, and the proliferation of new ransomware variants posing unique challenges to cybersecurity professionals, the threat landscape shows no signs of abating. In this environment, businesses must prioritize cybersecurity as a core aspect of their operations, investing in robust defenses, conducting regular employee training, and staying informed about emerging threats and best practices for mitigation. 

The Human Element of Cybercrime 

Behind these attacks are a relatively small but highly skilled cadre of cybercriminals, numbering no more than a few hundred individuals. These individuals form the backbone of ransomware APTs (Advanced Persistent Threats), leveraging their expertise to orchestrate attacks with devastating consequences for businesses and individuals alike. 

Despite the efforts of law enforcement agencies to thwart specific ransomware campaigns, cybercriminals continue to adapt and exploit new opportunities within the broader cybercrime ecosystem.

Challenges persist in disrupting these operations, as cybercriminals rapidly respond to changing circumstances. Additionally, the impact of ransomware attacks on institutions like hospitals and critical infrastructure providers can have grave consequences, highlighting the importance of proactive cybersecurity measures.

To effectively combat this threat, businesses must prioritize a comprehensive approach to cybersecurity that combines technological defenses with employee training and awareness. By staying vigilant and taking proactive steps, organizations can better protect themselves against the ever-evolving landscape of cybercrime.

Protecting Your Business in an Evolving Threat Landscape 

The data presented paints a stark picture of the escalating threat posed by ransomware to businesses of all sizes. With cybercriminals becoming increasingly sophisticated and relentless in their attacks, no organization is immune from the risk of falling victim to ransomware. 

As business owners, it’s crucial to recognize the urgency of this threat and take proactive steps to safeguard our operations, our data, and our livelihoods. 

By investing in robust cybersecurity defenses, staying informed about emerging threats, and fostering a culture of cybersecurity awareness among our employees, we can mitigate the risk of ransomware attacks and ensure the resilience of our businesses in an ever-changing digital landscape.

The post Ransomware: A Billion-Dollar Threat to The Business World appeared first on JIG Technologies.

]]>
Using Laravel with Gitlab Pipelines https://jigtechnologies.com/using-laravel-with-gitlab-pipelines/ Fri, 21 Apr 2023 16:54:13 +0000 https://jigtechnologies.com/?p=4307 As mentioned in a previous article, Laravel is a popular PHP development platform that is well known for its clean design and the active user community. Gitlab is one of the most popular source code repository and collaborative software development…

The post Using Laravel with Gitlab Pipelines appeared first on JIG Technologies.

]]>
gitlab_laravel

As mentioned in a previous article, Laravel is a popular PHP development platform that is well known for its clean design and the active user community. Gitlab is one of the most popular source code repository and collaborative software development platforms.   This article outlines how to use Gitlab’s pipelines with Laravel projects.

First you will need to declare the main stages in the pipelines process such as: Build, Test and Deploy.

Build (Preparation and Setup)

The instructions below assume that you have docker installed an understand how it works with Gitlab.  If you are unsure, take a look at our blog on setting up docker.

The steps for preparation and setup are:

Setup a Docker Container Image

GitLab CI/CD (https://docs.gitlab.com/ee/ci/) allows to use Docker (https://www.docker.com/) engine to handle the process of testing and deploying an application so you'll have to pickup a base Docker image to use or create one. There are many Docker images available for PHP/Laravel applications. For example, the official PHP Docker image (https://hub.docker.com/_/php).

Once a container is created and a Dockerfile if placed in the root directory of your app you'll need to set up the GitLab Container Registry, build an image and place it there for later use.

To set up the Container Registry on your GitLab project repository navigate to the Registry tab or if you can't find it you may need to enable it for your project under your project’s Settings > General > Visibility, project features, permissions.

gitlab_docker_image_1

Fist you will need to sign in to the GitLab registry using your GitLab username and password. Given the Docker is installed on our machine, you will need to run the following commands:

docker login registry.gitlab.com

Then you can build and push your image to GitLab:

docker build -t registry.gitlab.com/<USERNAME>/<IMAGE_NAME> .

docker push registry.gitlab.com/<USERNAME>/<IMAGE_NAME>

Now you can use this image in order to build and test your application with GitLab CI/CD which requires a file called .gitlab-ci.yml created in the  repository’s root starting with the following commands to use the image previously registered:

image: registry.gitlab.com/<USERNAME>/<IMAGE_NAME>:latest

Add additional services to your GitLab pipeline.

The approach of adding multiple services to your GitLab pipeline depends on the specific needs of your project, and both the services keyword and Docker Compose (https://docs.docker.com/compose/) have their own advantages.

The services keyword is a simpler approach that allows you to easily add a limited number of services to your GitLab pipeline. It's suitable when you only need a few simple services, such as a database or cache server, and you don't need to manage them in a more complex way. The services keyword is also a built-in feature of GitLab and doesn't require you to install any additional tools or write any additional configuration files.

On the other hand, docker-compose provides more flexibility and functionality in managing multiple services. It allows you to define complex service configurations, such as multiple versions of a service, networks, volumes, and dependencies. Additionally, you can easily manage your services using docker-compose commands, which can simplify your pipeline's configuration.

Overall, if you have a more complex application architecture and need to manage multiple services, using docker-compose would be a better approach. However, if you only need to use a few simple services and want a quick and easy solution, the services keyword is a suitable option. It's important to choose the approach that best fits the needs of your project.

Here's an example of how to add a MySQL service to a GitLab CI/CD pipeline for a Laravel application using the services keyword:

services:

  - mysql:latest

variables:

  MYSQL_DATABASE: my_app_db

  MYSQL_ROOT_PASSWORD: example

  DB_HOST: mysql

  DB_USERNAME: root

  DB_PASSWORD: example

In this example, we use the services keyword to specify the MySQL Docker image that will be started alongside the primary image.

Next, we define some environment variables that are used to configure our Laravel application to connect to the MySQL service. We set the MYSQL_DATABASE variable to the name of the database that we want to create, and MYSQL_ROOT_PASSWORD to the password that we want to set for the root user. We also set the DB_HOST, DB_USERNAME, and DB_PASSWORD variables to configure Laravel's database connection.

Install application dependencies (packages required by Laravel framework) :

To install dependencies required by Laravel framework in GitLab pipeline, you can use the composer package manager. Here's an example:

script:

- apt-get update && apt-get install -y git unzip

- curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

- composer install --prefer-dist --no-ansi --no-interaction --no-progress

In this example, we first install some dependencies that are required to run composer. We then download and install composer itself. Finally, we run composer install to install the dependencies required by Laravel, using some additional flags to improve the performance of the installation.

Set up the Laravel application environment and generate an environment key:

To pass database credentials to the .env file of a Laravel application in a GitLab pipeline, you can use GitLab's CI/CD variables mentioned above to store the sensitive information and then use them in the pipeline script to update the .env file with the correct credentials.

Here's an example of how you might do this:

In your GitLab project's settings, navigate to "CI/CD" and "Variables". Here, you can add variables for your database credentials, such as DB_HOST, DB_DATABASE, DB_USERNAME, and DB_PASSWORD.

In your .gitlab-ci.yml file, add a job to update the .env file with the database credentials. Here's an example:

build:

stage: build

script:

    - cp .env.example .env

    - php artisan key:generate

    - sed -i "s/DB_HOST=.*/DB_HOST=${DB_HOST}/" .env

    - sed -i "s/DB_DATABASE=.*/DB_DATABASE=${DB_DATABASE}/" .env

    - sed -i "s/DB_USERNAME=.*/DB_USERNAME=${DB_USERNAME}/" .env

- sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=${DB_PASSWORD}/" .env

In this example, we define our database credentials as CI/CD variables. In the build job, we copy the .env.example file to create a new .env file, generate a new application key, and then use sed to update the database credentials in the .env file.

Note that the sed commands in the example replace the entire line that starts with DB_HOST=, DB_DATABASE=, DB_USERNAME=, or DB_PASSWORD= with the corresponding value from the CI/CD variables. If your .env file has a different format, you may need to adjust the sed commands accordingly.

Set up the Database and run Migrations:

In a GitLab pipeline, it's recommended to create the database and run migrations before running the tests and deploying the application. This ensures that the database schema is up-to-date with the codebase and that the tests are running against the latest database schema.

The steps involved in creating the database and running migrations may vary depending on the specific requirements of your application and the tools you're using. However, typically, this would involve running the following commands in your pipeline:

  1. Create the database (if it doesn't already exist):

mysql -u<DB_USERNAME> -p<DB_PASSWORD> -e "CREATE DATABASE <DB_NAME>"

Note: Replace <DB_USERNAME>, <DB_PASSWORD>, and <DB_NAME> with the appropriate values for your database.

2) Run the migrations:

php artisan migrate --force

You can add these commands to your pipeline's before_script section, so they are run before any other commands in the pipeline.

Setup GitLab Cache and Artifacts (https://docs.gitlab.com/ee/ci/caching/#cache-vs-artifacts).

GitLab provides a caching mechanism that can be used to speed up your pipeline by caching files and dependencies between pipeline runs. You can also use artifacts to pass data between jobs in the pipeline. For example:

cache:

paths:

    - vendor

In this example, we add the vendor directory to the paths section of the cache configuration. This will cache the vendor directory between pipeline runs.

In the build job, we run the same build steps as before, but we don't install dependencies using composer because we can use the cached vendor directory.

By caching the vendor directory, you can significantly speed up your pipeline and avoid the need to reinstall dependencies on each pipeline run.

A GitLab pipeline executes several jobs, stage by stage, with the help of automated code. A continuous integration pipeline involves building something from the scratch and testing the same in a development environment.

Test (Syntax and Security Checks)

One of the advantages of using a pipeline is the ability to run a series of tests before code is deployed to the main codeline.  Examples include tests for things like unit code functionality, syntax and security.

There are a lot of syntax checkers out there, some of the ones we like are:

You can install it using Composer and it has a .php_cs config file that you can commit to your repository. Run php-cs-fixer fix to check and fix all issues in your repository.

Laravel Framework uses StyleCI to automatically check for code style issues on new commits and pull requests. It can notify you when it finds issues, automatically send fixes through pull requests, and automatically commit fixes. However, it is free only for open-source projects.

PHP Code sniffer (phpcs) is a style checker which ships with various popular PHP styles such as PEAR, PSR2 etc. It can check for indentation, missing comments, naming conventions, etc. and also includes phpcbf, a program that can automatically fix some problems.

PHP Mess Detector (phpmd) checks for code smells: awkward, overcomplicated or unused code and ships with several built-in rules than can be enabled or disabled.

To illustrate an example of how to setup a syntax checker in the pipeline will we use PHP-CS-Fixer:

php-cs-:

stage: test

dependencies:

- composer

script:

    - ./vendor/bin/php-cs-fixer fix --config=.php_cs.php --verbose --diff --dry-run

There are also many examples of security checkers available.  Some of the ones we like are:

It is a Go based command line tool that checks if your PHP application depends on PHP packages with known security vulnerabilities. Published by Fabien Potencier (fabpot) a founder of the Symfony project. It uses the Security Advisories Database behind the scenes (https://github.com/FriendsOfPHP/security-advisories). This directory is updated daily with the latest CVEs and is a great place to start checking.

This analyzer is a wrapper around phpcs-security-audit, a set of PHP CodeSniffer rules that finds vulnerabilities and weaknesses related to security in PHP code.

To illustrate an example of how to setup a security checker in the pipeline we will use Fabpot’s local-php-security-checker.  This can be integrated into your container and run within your CI environment using the following steps:

# Releases https://github.com/fabpot/local-php-security-checker/releases

ARG URL="https://github.com/fabpot/local-php-security-checker/releases/download/v2.0.6/local-php-security-checker_2.0.6_linux_amd64"

RUN apk add --no-cache wget

RUN wget -O local-php-security-checker $URL

RUN chmod +x ./local-php-security-checker

RUN mv ./local-php-security-checker /usr/local/bin/

script:

    - local-php-security-checker

Test (Unit Tests)

Unit Testing is the process of checking small pieces of code to speed your testing strategies.  These unit tests are automated to reduce time for overall testing and improve the reliability of the system.  As code is added to new systems it’s possible to break previously created tasks.  Adding these unit tests to the build process allows programmers to catch errors before they make it into the main codeline.

Examples of unit test frameworks are:

PHPStan is PHP Static Analysis Tool which focuses on finding errors in your code without actually running it. It catches whole classes of bugs even before you write tests for the code.

PHPUnit is a unit testing framework for the PHP programming language. Laravel uses PHPUnit for tests by default.

We will use both Larastan (a PHPStan wrapper for Laravel - https://github.com/nunomaduro/larastan) to perform static analysis on the projects and PHPUnit to run the Unit Tests:

phpunit:

stage: test

script:

- phpunit --coverage-text –colors=never

- vendor/bin/phpstan

Deploy (Deployment)

Deployment is when the code is push into the main codeine and out to a staging or production server. For convenience we'll only work with the staging job for now since it will be very similar to the production job.

First, we will need to initialize an SSH connection by doing the following:

  • Create a new SSH key pair locally on our machine.
  • Give the public key to our server.
  • Give the private key to GitLab using secret variables.
  • Use that private key in our pipelines.

Once it’s done, we can deploy the application to the staging host.

There are a few deployment tools available to manage the process:

Laravel Envoy is a tool for executing common tasks you run on your remote servers. Using Blade style syntax, you can easily setup tasks for deployment, Artisan commands, and more.

Deployer is a PHP package that provides automatic server provisioning, zero downtime deployments, rolling back to a previous release, and ready-to-use recipes for the major frameworks and some PHP applications.

We will use Deployer:

First, we need to install Deployer:

composer require deployer/deployer:^7.0

Next, we will initialize Deployer and choose the Laravel project recipe which will auto-generate a deploy.yaml or deploy.php configuration file:

dep init

Now you can look through the deploy file and change all the needed params to the configuration of your application.

We have already installed Deployer, installed SSL certificates to the staging server, and made the deployment script, so finally it is time to pull it all together and make the first deployment to staging:

dep deploy

You should see a new folder structure in your host, where it has releases folder. Deployer syncs your code to your server, runs your tasks and then creates a symlink which links the current to the enabled release.

If anything goes wrong, you can always roll back to the previously deployed version:

dep rollback

The post Using Laravel with Gitlab Pipelines appeared first on JIG Technologies.

]]>
Setting Up Docker https://jigtechnologies.com/setting-up-docker/ Mon, 10 Apr 2023 17:47:39 +0000 https://jigtechnologies.com/?p=4285 How To Set Up Docker This article has been written as a quick set of instructions on how to set up Docker.  We’ve included setup steps for both Windows and Linux below. Windows setup Install Docker Desktop: Download and install…

The post Setting Up Docker appeared first on JIG Technologies.

]]>

How To Set Up Docker

vertical-logo-monochromatic

This article has been written as a quick set of instructions on how to set up Docker.  We’ve included setup steps for both Windows and Linux below.

Windows setup

Install Docker Desktop:

Download and install Docker Desktop from the Docker website. You can download it from the following link: https://www.docker.com/products/docker-desktop

Configure Docker:

Once Docker Desktop is installed, open it and configure it as per your system requirements

1. Open Docker Desktop:

Once Docker Desktop is installed, open it.

2. Go to Settings:

Click on the Docker icon in the system tray and then click on "Settings".

3. Configure Resources:

In the "Settings" window, click on "Resources" from the left-hand side menu. Here, you can configure the CPU, memory, and disk space that Docker can use.

4. Configure Shared Drives:

If you want to access files on your local machine from Docker containers, you need to configure shared drives. Click on "Shared Drives" from the left-hand side menu, and then select the drive(s) you want to share.

5. Configure Proxies:

If you are behind a corporate firewall or proxy, you may need to configure Docker to work with it. Click on "Proxies" from the left-hand side menu, and then configure the proxy settings as per your requirements.

6. Save Changes:

After configuring Docker as per your system requirements, click on "Apply & Restart" to save the changes.

After the above is completed, skip down the General Gitlab Setup Section below

Ubuntu Linux Setup

1. Update the package index:

sudo apt-get update

2. Install the necessary packages to allow apt to use a repository over HTTPS:

sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common

3. Add Docker's official GPG key:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –

4. Add the Docker repository to your system:

sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

5. Update the package index again:

sudo apt-get update

6. Install Docker:

sudo apt-get install docker-ce docker-ce-cli containerd.io

7. Verify that Docker is installed and running:

sudo docker run hello-world

This command will download a test image and run a container using it. If everything is working correctly, you should see a message indicating that Docker is installed and running properly.

Genal GitLab Setup

1. Create a GitLab Repository:

Create a new repository on GitLab that you want to use with Docker.

2. Clone the Repository:

Clone the repository to your local machine using a Git client or using the command line.

3. Create a Dockerfile:

Create a new file in the repository and name it Dockerfile. The Dockerfile contains instructions for building a Docker image.

4. Build the Docker Image:

Run the following command in the command prompt to build the Docker image:

docker build -t <image_name> .

Replace <image_name> with the name of the image you want to create. The "." at the end of the command specifies that the build context is the current directory.

5. Tag the Docker image with the GitLab registry URL:
For example, if your GitLab registry is hosted at gitlab.example.com, you would tag the image like this:

docker tag <image-name> <registry-url>/<project-name>/<image-name>:<tag>
Replace <image-name> with the name of your Docker image, <registry-url> with the URL of your GitLab registry, <project-name> with the name of your GitLab project, and <tag> with the tag you want to use for the image.

6. Run the Docker Image:
Once the image is built, you can run it using the following command:

docker run <image_name>

Replace <image_name> with the name of the image you created in step 6.

7. Push the Docker Image to GitLab:

After you have tested the Docker image locally, you can push it to GitLab using the following commands:

docker push <registry-url>/<project-name>/<image-name>

Replace <registry-url> with the URL of your GitLab registry, <project-name> with the name of your GitLab project, <image-name> with the name of your Docker image.

The post Setting Up Docker appeared first on JIG Technologies.

]]>
Laravel Security Best Practices https://jigtechnologies.com/laravel-security-best-practices/ Mon, 07 Nov 2022 14:34:14 +0000 https://jigtechnologies.com/?p=4112 LARAVEL SECURITY BEST PRACTICES Laravel is a popular PHP development platform that is well known for its clean design and the active user community. Laravel is fairly secure by default because whenever a loophole is discovered, the maintenance team addresses…

The post Laravel Security Best Practices appeared first on JIG Technologies.

]]>
985px-Laravel.svg

LARAVEL SECURITY BEST PRACTICES

Laravel is a popular PHP development platform that is well known for its clean design and the active user community. Laravel is fairly secure by default because whenever a loophole is discovered, the maintenance team addresses it quickly.  But, like any other software platform it’s only as secure as the implementation.

Laravel being a development framework, will not secure your servers or operating system.  It will only help secure the application being built.  The focus of this article is to provide the security best practices for the implementation of a Laravel framework. In this article, we will cover some of the best practices when it comes to securing your Laravel application.

Laravel Authentication System

Many web applications provide a way for their users to authenticate with the application and "login". Laravel provides tools to implement authentication quickly, securely, and easily. Through the use of ‘guards’ and ‘providers’ as its tools, login security is built right in.  Guards define how users are authenticated for each request. For example, Laravel ships with a session guard which maintains state using session storage and cookies. Providers assists in bringing the users session back from the data storage. Using these tools will help ensure secure logins.

To further easy the implementation of a login framework, there are also Laravel Starter Kits with much of the login framework built and ready to go.

Protection against XSS, SQL Injection, and CSRF

Cross Site Scripting (XSS)

During XSS attacks, the attacker enters JavaScript into your website typically through a text form for a blog or some other input. This script on the page, whenever new visitors will access the affected page, the script will be executed with malicious impact.

Laravel's Blade templating engine offers native support of echo statements {{ }} that automatically escape variables using the htmlspecialchars PHP function to protect against XSS attacks so any commands are outputted as HTML instead of executing on the page.

SQL Injection

Laravel’s Eloquent ORM (object relational mapping) uses PDO (PHP Data Objects) binding that protects from SQL injections. Similar to the XSS example above, this feature will alter the strings that get inserted into the database ensuring the intent of your SQL queries can not be modified externally.

As an example, a search form pull records based upon users’ email address from a database. While normally the form would get an email address, but if the user typed in something like “sample@example.com' or 1=1”, the SQL query is modified to:

SELECT * FROM users WHERE email ='sample@example.com' or 1=1

This would allow for all the users to be retrieved by SQL injection.

When the PDO parameter binding is in place, the input is in quotes and the query will look like:

SELECT * FROM users WHERE email = 'sample@example.com or 1=1'

Since no records will match with either the email or the “1=1”, the query will not return anything.

Laravel provides other ways of talking to databases, such as raw SQL queries. But both Eloquent ORM and the Query Builder provide automatic protection against SQL injections by adding param binding by default.

Cross-Site-Request-Forgery (CSRF)

For the purpose of protecting the system from third parties trying to generate faulty requests externally, Laravel Security utilizes CSRF tokens.

Whenever a request comes from a submitted form or through an AJAX call, this platform creates and then combines an appropriate token into it. In Blade, you can use the directive @csrf to generate this token.

When this occurs, the Laravel Security Scanner tries to figure out if the saved request during a user’s session is the same second time around.

In case the token is not a match, the security features invalidate the request automatically and cancel the command.

Protecting Cookies, Password Vulnerabilities, Laravel Encryption and Hashing

Like many secured sources of data one would want to keep passwords and potentially data in cookies private.   Thus there is data in these systems that can be stored in a way to make it unreadable if obtained by an unwanted hacker.   The two systems which are part of the Laravel framework for this are hashing and encryption.

Both hashing and encryption take the plain text data and convert it into a form that is not easily transformed back into its original form.   The default hash mechanism in Laravel,  uses Argon2 and Bcrypt. This hashing function protects the sensitive data and all passwords properly.  The Laravel encryption services provide an additional level of security over hashing by the use of a message authentication code (MAC). The MAC provides an additional check so that that their underlying value can not be modified or tampered with once encrypted.

With these mechanisms passwords and cookies can store private information that is not easily obtained even if captured by another.

Prevent DOS (Denial of Service) Attack

DOS attacks are continue to become more prevalent.  These are attached where hackers will send a high volume of requests to disrupt service or use brute force attacks to get into the server with many combinations.   These types of attacks can be divided into two popular categories:

DOS Attacks That Send a Lot of Requests

These attacks would send a lot of web requests that try to keep the connection open for as long as possible. The server memory eventually gets full, resulting in our server going down. One example of this is a slow loris attack.

Laravel has a built in Rate Limiter to help us handle these attacks by IP.  This helps lessen the impact of these types of attacks.  However, it’s often used in conjunction with tools like Fail2Ban to stop requests earlier at the server's firewall level to lessen the load at the application level.

Another example is when a lot of requests are sent to a form trying many combinations to hack into or disrupt the server.   To help avoid malicious requests from bots, you can set a hidden input. The bots would fill the input (a normal user should not fill a hidden input), and then you can use the prohibited validation rule from Laravel validator:

// this input should never comes in the request 'honey_pot_field' => ['prohibited'],

DOS Attacks That Send Large Files to Consume the Server Memory

Another variety of a DOS attack could be in a public form to submit a file.  Having many large files submitted can exhaust the server memory.

To handle this attack, you can use the Laravel API security validator to validate the file from the request. Here is an example:

// file max size is 512 kilobytes.. 'photo' => ['mimes:jpg,bmp,png', 'file', 'max:512']

Conclusion

While Laravel has some security features built in, they need to be used and implemented to make the system secure.   This introduction to the security aspects of Laravel allows you to get a better understanding of what’s available.   We hope this provides a useful guide to making your Laravel systems a little bit more secure.

The post Laravel Security Best Practices appeared first on JIG Technologies.

]]>
IT Planning and Assessments for Your Nonprofit https://jigtechnologies.com/it-planning-assessment-nonprofit/ Mon, 14 Feb 2022 18:31:16 +0000 https://jigtechnologies.com/?p=3494 How IT Planning and Assessments can help your organization meet its mission goals and bring you peace of mind

The post IT Planning and Assessments for Your Nonprofit appeared first on JIG Technologies.

]]>

IT Planning and Assessment For Your Nonprofit

How IT Planning and Assessments can help your organization meet its mission goals and bring you peace of mind

Nonprofits build strong communities. They are core to our economic stability and facilitate healthy forward momentum for those who use their services.

Technology is a nonprofit’s greatest ally. The tools provided by healthy and secure technology environment are essential in achieving important mission goals. Not only does technology ensure fast, secure and transparent operations in your organization, but it also helps to reach wider audiences of donors, volunteers and constituents.

Having an IT Plan and Assessment is important for several reasons:

  • It allows you to approach IT in a strategic and proactive way
  • It allows you to become a smart and savvy IT decision maker
  • Give you the understanding to save cases and invest in beneficial IT
  • Ensure your organization is using its existing technology in smarter ways
  • Implements a roadmap for building on your technology foundation in a direction that benefits your organization in the most cost-effective way
  • Provides security in case of emergencies or unexpected failures

These are a lot of things to consider for the person who gets assigned the task of managing IT in your organization.

A typical business might have roles such as Chief Information Officers, Chief Technical Officers and so on. There might be rolls for people who specifically deal with data governance and data security.

Most nonprofits do not have budgets to include this fantastic array of specialists to manage all the things.

A typical nonprofit might have people assigned to certain rolls, “IT Manager” or “System Administrator” but may not have the adequate skills or support to perform these roles simply due to time and resources.

Without the necessary support, technology can be accumulated with extra cost and little benefit. Quick fixes sometimes come in the way of 3rd party services and technology, cloud applications and subscriptions-based apps which may solve the problem temporarily but are rarely kept track of and can lead to needless spending. Further to that, with only one or two people at the helm of this great big technology machine, it is very difficult to ensure policies, procedures and maintain communication that is integral for security.

JIG's IT Planning and Assessment Strategy

1

Getting to Know You

We learn everything there is to know about how your organization works. We want to know how you work, when you work and who you work for.

image_1

2

Getting to Know Your Community

The more we know about who you are working for, who you are helping and what their needs are, the more we can start to envision and structure solutions and plans for you.

image_2

3

What are Your Constraints?

A successful plan hinges on realistic and consistent estimates for allowable resources.

image_3

4

What Do You Already Have?

A thorough audit of your software, hardware, servers, and the state of the devices that are attached to your network or system will ensure you get the most bang for your buck. It establishes how information (sensitive and otherwise) is being shared and protected. Security in nonprofit industries is an area of major concern.

image_4

5

What Are Your Options?

Researching affordable technology that has the greatest reach within your organization. Finding the tools and equipment that are scalable and secure. Whether that’s CRMs, donation portals or data storage, there is something out there that fits everyone.

image_5

6

Who Will Use This Technology?

Training is important and removes technology barriers that would otherwise create inequality in your organization. Whether it’s volunteers, staff, stakeholders, constituents, everyone requires accessible interaction with your services and technology.

image_6

7

How Will This All Fall Into Place?

Depending on your unique needs and the urgency required, a timeline and schedule will be developed to implement all these phases in comfortable roll-out that makes sure nobody is left behind. The lifecycle is designed to move your organization in an upward direction at your own pace and within budget.

image_7

8

Are We Ready?

Things are finalized, prepared. Policy and procedure documents have the i’s dotted and the t’s crossed.

image_8

9

Off We Go!

We put the plan into action.

image_9

A firm IT plan will remove the confusion and uncertainty about the technology goals of your organization. It will reduce stress, uncontrolled costs, provide transparency and most importantly in many cases, security.

Technology is your greatest ally in this mission to build a better world and we want to make sure we can help provide you with that peace of mind.

The post IT Planning and Assessments for Your Nonprofit appeared first on JIG Technologies.

]]>
Cloud Services and Security https://jigtechnologies.com/cloud-services-and-security/ Wed, 12 Jan 2022 19:42:07 +0000 https://jigtechnologies.com/?p=3402 Cloud Computing and Security What is your responsibility as a customerand what is the responsibility of your provider Cloud computing is the delivery of computer services via the internet. This is an oversimplification, but hopefully it will be made clearer…

The post Cloud Services and Security appeared first on JIG Technologies.

]]>
Cloud Computing and Security

What is your responsibility as a customer
and what is the responsibility of your provider

Cloud computing is the delivery of computer services via the internet. This is an oversimplification, but hopefully it will be made clearer throughout the article.

It used to be that databases, software, storage and networking were all done locally, at the office/building where a business was run. There was often an in-house IT person/s or outsourced Managed IT company that would handle all the complications involved in operating all that hardware on-site. But since the COVID crisis, it has become more cost-efficient to use a third-party service to house and manage all that hardware and for customers to access it remotely.

Investment in cloud computing increased rapidly since the 2020, changing the landscape of digital technology as vendors and employees moved away from offices to work. Cloud computing revenues, said IBM, reached $219 billion in 2020, and analysts expect the industry to further grow to $791 billion by 2028.

 

There are several types of cloud services, but these are the 4 most basic.

Software as a Service (SaaS) – In all likelihood you already use Saas services. These are application that run directly from a browser. examples Dropbox, Google Drive, ZenDesk

Platform as a Service (PaaS) – In this case, the cloud service provides the customer with the infrastructure but gives developers access so they can build, test and customize apps. example Elastic Beanstalk, Netlify, Heroku

Infrastructure as a service (IaaS) – In this case, the company would provide all the physical infrastructure required by the company so that they don’t have to purchase/secure all the physical hardware themselves. This is obviously much more cost effective and since the cloud service is set up to offer this service, it is usually much faster and flexible. This sort of service is typically used by companies that build their own software ex. DigitalOcean, Linode, Rackspace, Amazon Web Services

Private Cloud Service – Your own storage where you control everything.

Depending on what kind of service you are procuring, your responsibility as a customer varies. Hopefully the below table can shed some light on how responsibility is distributed. It is very important to understand where the cloud provider’s duty of care ends and where the customer (yours) begins. The onus is on the customer to understand what data is at risk and how to protect it.

cloud computing

The provider must ensure that their infrastructure is secure and that their clients’ data and applications are protected, while the user must take measures to fortify their application and use strong passwords and authentication measures.

Information and Data

All of your data, images, documents, spreadsheet, databases etc. are the owner’s responsibility. Proper backup of all integral business assets is a must. In this case, before a move to the cloud, it is within the company’s best interest to conduct a security audit. Learn more about data security and if your data is vulnerable.

Devices

Customers must ensure that any devices being used by employees are secure. How they are accessing the network and how quickly they can access it is all integral to running a business smoothly. It is important that these roads are secure. Security protocols on devices, boundaries to access information, ability to remotely wipe and recover devices are all essential in securing your cloud access. In today’s environment, businesses are more device friendly. Find out more about securing your workplace devices.

Accounts and Identities

Having proper internal file architecture and limited access to sensitive areas is also something that must be clearly defined. Each user should have specified roles, access and abilities within. In addition, complex passwords and two factor authentication. If you are usure of how secure your business is, learn more about how to identify security risks.

The post Cloud Services and Security appeared first on JIG Technologies.

]]>
What is Malware and How Does it Work? https://jigtechnologies.com/what-is-malware-and-how-does-it-work/ Wed, 17 Nov 2021 15:23:30 +0000 https://jigtechnologies.com/?p=3414 In this article we look at 9 different types of malware and how they work.

The post What is Malware and How Does it Work? appeared first on JIG Technologies.

]]>
What are the 9 types of Malware and how do they work?

Viruses

Vector Cyber security flat icon set. Elegant style design

What is a computer virus?

A computer virus is a type of computer program that replicates itself by inserting its own code into other computer programs. Computer viruses generally require a host program (unlike a worm, for instance). When the host program is executed, the virus is also executed thus causing infection and damage.

How does a computer virus work?

A computer virus must contain a ‘search routine’ that locates new files that are worthwhile targets. Once located, the virus must contain a routine to copy itself into the program.

A ‘Trigger’, also known as a ‘logic bomb’ is the ‘compiled version’ that can be activated any time within a host file/program that determines when the malicious ‘payload’ should be activated.

The ‘Payload’ refers to the actual data which carries out the malicious purpose of the virus. Virus hoax is non-destructive but distributive.

What are the phases of a computer virus?

Dormant phase – This is when the virus has infected a target computer but is idle until the ‘trigger’ event which instructs the virus to execute. (Not all viruses have this phase)

Propagation phase – The virus starts multiplying and replicating – it can still be ‘dormant’ as this point. It has only begun placing copies of itself into other programs on a target’s computer. At this point a virus can change to evade detection from anti-virus software.

Triggering phase – The virus, having propagated, is now activated and will perform the function it was designed for. The trigger can be caused by a count of the number of times a copy of the virus has been made, or time based among other things.

Execution phase – the payload will be released. It can start its destructive tasks.

Worm

Vector Cyber security flat icon set. Elegant style design

What is a computer worm?

Unlike a virus, a worm does not need a host program to replicate itself and spread. The advantage to this is that a worm is not restricted by a host program and can run independently.

Worms are more infectious than traditional viruses. They can infect local computer, but also servers and clients on a network. They spread easily through emails, web pages and servers.

What are the types of computer worm?

Email worms create outbound messages to all addresses in a target’s contact list. These messages can contain malicious attachments that can cause all sorts of problems (ransomware and further infection) when opened. Phishing is a common deployment technique.

File-sharing worms are disguised as media files. They copy themselves into a shared folder most likely located on a local machine. It will place a copy of itself there with a harmless name and wait to be downloaded by a user on the same network.

Internet worms infect web pages or popular websites with poor security. They are completely autonomous and can infect a machine to scan the internet for other vulnerable machines.

Trojan Horse Virus

Vector Cyber security flat icon set. Elegant style design

What is a Trojan Horse Virus?

You know and love this horse! Just like its namesake, the Trojan Horse virus downloads onto a target’s computer disguised as a legitimate program thereby gaining access to deliver its malicious payload.

How does a Trojan Horse virus work? 

Unlike viruses and worms, a trojan does not self-replicate and requires users to install it. However, that does not mean that an infected computer isn’t dangerous to other computers. The malicious software on the infected computer can be designed to turn that computer into a ‘zombie’, controlled by the hacker and used to have remote control of it. They can then use that computer to share malware across a network of devices (known as a botnet).

Trojans are often concealed in emails or ‘free-to-download’ files. Once installed it will execute the task it was designed to do which is often to gain backdoor access to a network, spy on users’ activity or steal sensitive data. Ransomware attacks are often carried out using a trojan.

Rootkits

Vector Cyber security flat icon set. Elegant style design

What is a Rootkit Virus?

Usually this consists of a collection of software designed to give access to a computer by an unauthorized user. Rootkits are very good at masking their existence within a computer.

How do Rootkits work?

Rootkits can be installed through an automated process or can be installed by an attacker who has access to ‘root’ or administrator level access. Usually an attacker has gained this access exploiting a known vulnerability or password, both of which can be attained through other attacks. With this sort of access, the attacker can modify existing software (like antivirus) to remain undetected.

Removal of rootkits can be complicated to almost impossible and often reinstallation of the operating system is the only solution.

Kernel Mode – these run on the highest operating systems privileges by adding code or replacing portions of the core operating systems, including both kernel and associated device drivers.

security_layers_2

Bootkits – A variant of kernel mode these can infect startup code like the master boot record, volume boot record or boot sector and can be used to attack full disk encryption systems.

Firmware and hardware –  These use a device or platform to create a constant malware presence in hardware (routers, network cards, hard drives, or system BIOS). Firmware is not usually inspected for code integrity so it’s a good place for a rootkit to hide. From here rootkits can seize data.

Backdoor Viruses

Vector Cyber security flat icon set. Elegant style design

What is a Backdoor Virus?

Knock-knock.
Who’s there?
A malware that negates normal authentication procedures to access a system!

Backdoors are most often used to secure remote access to a computer or network by a cybercriminal. Backdoors can be delivered via rootkit, trojans, and worms. They can also be used to turn the target’s computer into a zombie or added to a botnet.

Backdoors are especially sinister because once the cybercriminal has gained access to the computer/network, and they’ve installed the backdoor, they will be able to keep accessing that device. So, even if the vulnerabilities are patched, the offending software removed, the backdoor remains untouched on the system.

Recently, given the COVID epidemic, criminals used fake Zoom installers (everyone working from home was installing all the various video conferencing apps) containing malware, one of which installed a backdoor that allowed bad actors to run routines remotely.

There are several type of backdoor intrusion techniques:

How do Backdoor Viruses Work?

Port binding – in a system without a firewall attackers can communicate with a computer port. Once the backdoor is bound to the port, attackers can freely communicate with the computer

Connect-back – With a firewall present, attackers can use a modified backdoor to check for available unprotected ports. They can then connect with a port that gives them remote access to the computer

Connection availability – Attackers can use backdoors to check for available connection and bypass intrusion detection systems.

Standard service protocol – They can use alternate protocols that aren’t typically detected like UDP instead of the more common TCP.

Keylogger Viruses

Vector Cyber security flat icon set. Elegant style design

What is a Keylogger?

Is a type of spyware that tracks keystrokes on your keyboard. They record everything the target types, usually specifically trying to sniff out banking information. Otherwise, PIN codes, passwords, and other sensitive data are also up for grabs.

Many keyloggers have rootkit functionality meaning they hide very well in areas of the targets system where it can avoid detection.

There are many valid uses for keylogging technology. For instance organizations might use keyloggers to troubleshoot technical problems, families and business people might use them to monitor network usages without the users knowledge. Windows 10 has a built-in keylogger to improve typing and writing services.

How do Keyloggers work?

Software Keyloggers: This is a computer program designed to record input from a keyboard.

Hardware Keyloggers: Do not depend on software being installed as they exist on the hardware level. Examples of this are keyboard overlays, acoustic keyloggers, electromagnetic emissions, optical surveillance, physical evidence and more.

Mobile devices are also vulnerable to software keyloggers. These keyloggers are designed to take screengrab of emails, texts, logins.

Adware + Malvertising

Vector Cyber security flat icon set. Elegant style design

What is Adware?

Adware generates online advertisements in the user interface of a particular software or on a screen presented to the user during that software’s installation process. This is a revenue generating process whereby the developer makes money by a) displaying the advertisement and b) a “pay-per-click” basis, if the user clicks on the advertisement.

What is Spyware?

Some of these advertisements also act as Spyware. The ad will collect and report data about the user, to be sold or used for targeted advertising or user profiling.

Some sources rate adware and spyware as nothing more than an irritant, while others indicate that it is as harmful as viruses and trojans.

What is Malvertising?

Malvertising and adware are two terms that are sometimes used interchangeably, though they are substantially different.

Unlike malvertising, which launches an attack via an infected ad, adware is a program that can be used to track a user’s web activity in order to display relevant or personalized ads.

All malvertising is considered malicious in nature, whereas some forms of adware are included in legitimate software packages. While adware often stokes concerns regarding data privacy and security, it does not allow cybercriminals to assume control of the system or alter, exfiltrate or delete data. Malvertising attacks may also execute an exploit kit, which is a form of malware that is designed to scan the system and exploit vulnerabilities or weaknesses within the system.

Though somewhat less common, it is possible to conduct a malvertising attack without having the user interact with the ad. These attacks include:

  • A “drive-by download,” which exploits browser vulnerabilities to install infected files on the system while the user is passively viewing the ad.
  • A forced redirect of the browser to a malicious site.
  • Executing Javascript or Flash to display unwanted advertising or malicious content.

Bots/Botnets

Vector Cyber security flat icon set. Elegant style design

What is a Bot/Botnet?

Malware bots are used to gain control over computers. Typically, malware bots are self-propagating and infect hosts with the intention of connecting to the threat actor’s server and letting them know another computer has been compromised.

When you have many bots serving one malicious purpose they are known as a botnet. A network of bots. Once the attacker has a large botnet at their service they can command the botnet to perform a malicious action such as launch a DoS attack, open back doors, data theft, malware distribution.

How do bot and botnets work?

There are some stages that help illuminate the functioning of a botnet.

Prep and expose – This is when the attacker exploits a vulnerability and exposes the target to malware.

Infect – The target is infected with malware and their device taken over

Activate – The attacker mobilizes infected devices to carry out attacks.

Mobile devices, wearable devices (smartwatches, fitness trackers .etc) and IoT devices (Internet of Things) can also become bots and be included in botnet attacks.

Botnet attacks are generally used to take down a targeted business’ website and then request payment for the attack to stop or simply to damage the business. Cyber activists use this method of attack to make a statement. Microsoft recently experienced a DDos attack against their Azure cloud network with bad actors trying to choke their network capacity.

Ransomware

Vector Cyber security flat icon set. Elegant style design

What is Ransomware?

Ransomware is a form of malware (malicious software) that threatens to publish, block or delete a victim/s computer files, databases or applications. The threat actor will usually encrypt the victim’s data and demand a ransom fee in order to release the data back to the victim/s.

How does ransomware work?

The malware will encrypt or block the victim’s files using a randomly generated ‘asymmetric keys’. These are often called public-private keys. These encryption keys are uniquely generated for the victim and almost impossible to decrypt without the decryption key – which only the bad guy has. The bad guy only makes the decryption key available when the victim/s have paid up.
Types of Ransomware

Locker Ransomware blocks computer function all together. The target is denied access to anything on their computer but the good thing about locker malware is that it doesn’t target critical files.

Crypto Ransomware encrypts important data (documents, images, videos, databases etc.) Without payment, the attacker refuses to decrypt the files and the target (without adequate backups) faces losing all their data.

Cybersecurity firm Emsisoft estimates that ransomware attacks increased more than 80% in 2020, costing Canadians hundreds of millions of dollars.

Major Canadian companies like CAMH, Western were affected by a ransomware attack on Blackbaud, Molson Coors and TTC most recently have all been targets for ransomware attacks.

Learn more about the 6 phases of a ransomware attack here.

The post What is Malware and How Does it Work? appeared first on JIG Technologies.

]]>
What is Ransomware and How does it Work? https://jigtechnologies.com/what-is-ransomware-and-how-does-it-work/ Mon, 01 Nov 2021 12:16:50 +0000 https://jigtechnologies.com/?p=3381 Ransomware is a form of malware (malicious software) that threatens to publish, block or delete a victim/s computer files, databases or applications.

The post What is Ransomware and How does it Work? appeared first on JIG Technologies.

]]>

What is Ransomware?

Question Mark

Ransomware is a form of malware (malicious software) that threatens to publish, block or delete a victim/s computer files, databases or applications. The threat actor will usually encrypt the victim’s data and demand a ransom fee in order to release the data back to the victim/s.

How Does Ransomware Work, Exactly?

Question Mark

The malware will encrypt the victim’s files using a randomly generated ‘asymmetric keys’. These are often called public-private keys. These encryption keys are uniquely generated for the victim and almost impossible to decrypt without the decryption key – which only the bad guy has. The bad guy only makes the decryption key available when the victim/s have paid up.

How Does Ransomware Spread?

Question Mark

Ransomware can spread through email campaigns or targeted attacks. Malicious emails are the most common way of spreading ransomware. Usually this will involve an infected attachment. Some of these attachments are so sophisticated, they can mimic legitimate sources known to the victim.

Should the victim be apart of a network – typical office/corporation arrangement of computers – the attacker can now move laterally. They can access a path to main servers and other computers, collecting credentials with administrator privileges along the way. Then the ransomware is dropped, and trouble begins. To make matters worse, these sorts of infections can encrypt even system backups making quick recovery challenging.

Usually installed using a trojan or worm deployed via phishing.

Will Ransomware Delete My Files?

Question Mark

These are criminals, they have no specific need to decrypt your files after they get your money. FinCen said the total value of suspicious activity reported in ransomware-related COVID during the first six months of 2021 was $590 million, which exceeds the $416 million reported for all of 2020. In fact, 2021 has been a record high for ransomware attacks. Law enforcement organizations advise against paying ransomware of any kind, however, in the cases of hospitals or other major public infrastructures, it may be the only option

Can Ransomware Infect Mobile Devices?

Question Mark

You bet! Cybercriminals can use malware to encrypt files the same way it does on your PC, but with some different approaches. Without getting into the technical side of it, it should be known that this is a growing area of ransomware activity, indicating that threat actors are motivated to continue with this avenue of extortion as a way of making money.

Can Ransomware Infect Cloud Storage like, Google Drive, SharePoint, One Drive etc?

Question Mark

Indeed, cloud storage is vulnerable to ransomware infection by virtue of the fact that it is syncing with local data automatically. When your system gets infected and your files locally are encrypted, services like OneDrive and DropBox will sync up with the cloud.  However, the good news is, some cloud storage solutions offers versioning and this can come in handy when go to recover the last normal version of your data.

In Conclusion

Question Mark

Today’s cybercriminals don’t even have to be very technical or knowledgeable about computers. The dark web provides ransomware exploit kits, and they are among the cheapest of products available there. Some of them even include tutorial and guides on how to execute them.

Ransomware is surely not going away anytime soon. It is too profitable, and too easy to stay under the radar of law enforcement. The only real way to steer clear of any trouble is to make sure you are always using the best security you can, as in complex passwords, two factor authentication. Practicing good habits like never downloading or opening suspicious attachments in emails, not following links in emails from unknown sources. And back up regularly to an external drive! Check out here for more tips!

 

The post What is Ransomware and How does it Work? appeared first on JIG Technologies.

]]>