Justyn  Ortiz

Justyn Ortiz

1597705200

A Brief Introduction to Securing Applications with JWT

JSON Web Tokens has become the favorite choice among modern developers when implementing user authentication. JWT’s popularity is clearly justified by what it brings to application development. In this post, we are looking deep into JWTs and why they stand out among other authentication options, as well as what you should be concerned about when using them.

What is a JWT token?

A JWT is a self-contained method that can be used securely transmit data between two endpoints. JWTs are most commonly used for user authentication. They can also be used to securely exchange information. In this post, we are covering how JWTs are used for user authentication. However, information exchange using JWT follows roughly the same steps as user authentication.

The authentication process involving JWTs follows these steps. When a user first logs into the application, system backend issues a JWT to the user and sends it to the client-side. This token contains a special signature that validates the token as a one issued by the system. The client stores the token in the browser and sends it with every request to the server, where the token is used to verify the user’s authentication.

A JWT consists of 3 strings separated by periods. The 3 of them are the header, payload, and the signature. Follows is an example JWT token made of these 3 parts.

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJteXdlYnNpdGUuY29tIiwiaWF0IjpudWxsLCJleHAiOjUxNDM3ODA4MDAwLCJhdWQiOiIiLCJzdWIiOiIiLCJpZCI6IjEyMzQ1OTEiLCJuYW1lIjoiTWFyeSBQb3BwaW5zIiwicm9sZSI6ImVkaXRvciJ9.LYKHdyKj6SnxYaRZH_ZhiW6yk31zaBQehYm4BgawH_o

Let’s see what each of these parts contributes to the overall makeup of the token.

Header

JWT header contains metadata about the token in JSON format. Two fields present in the header are alg and typ. ’alg’ specifies the algorithm used to sign the token when generating the signature, which we will talk about in a moment. ’typ’ specifies the type of the token, which is ’JWT’. A typical token header is shown in the following example.

{
    "alg": "RS256",
    "typ": "JWT"
}

Here, the header states the algorithm used to sign the token is RS256.

The header is stored as the first part of the token after being encoded in base64url.

Payload

The payload of a JWT stores information about the token and any other entity in JSON format. Usually, a JWT used for authentication stores some crucial information about the user, such as the user ID and user role. Token storing user information usually looks like this.

{
    "id": "1234591",
    "name": "Mary Poppins",
    "role": "editor"
}

These JSON fields stored in the payload are known as claims.

In addition, there are some claims that are defined by the JWT standard. It’s not necessary to include all these claims in a JWT, but including at least some of them will be beneficial in most situations. Here are a few standard claims that we can use.

#code #jwt #livecodestream #lock

What is GEEK

Buddha Community

A Brief Introduction to Securing Applications with JWT
Wilford  Pagac

Wilford Pagac

1596789120

Best Custom Web & Mobile App Development Company

Everything around us has become smart, like smart infrastructures, smart cities, autonomous vehicles, to name a few. The innovation of smart devices makes it possible to achieve these heights in science and technology. But, data is vulnerable, there is a risk of attack by cybercriminals. To get started, let’s know about IoT devices.

What are IoT devices?

The Internet Of Things(IoT) is a system that interrelates computer devices like sensors, software, and actuators, digital machines, etc. They are linked together with particular objects that work through the internet and transfer data over devices without humans interference.

Famous examples are Amazon Alexa, Apple SIRI, Interconnected baby monitors, video doorbells, and smart thermostats.

How could your IoT devices be vulnerable?

When technologies grow and evolve, risks are also on the high stakes. Ransomware attacks are on the continuous increase; securing data has become the top priority.

When you think your smart home won’t fudge a thing against cybercriminals, you should also know that they are vulnerable. When cybercriminals access our smart voice speakers like Amazon Alexa or Apple Siri, it becomes easy for them to steal your data.

Cybersecurity report 2020 says popular hacking forums expose 770 million email addresses and 21 million unique passwords, 620 million accounts have been compromised from 16 hacked websites.

The attacks are likely to increase every year. To help you secure your data of IoT devices, here are some best tips you can implement.

Tips to secure your IoT devices

1. Change Default Router Name

Your router has the default name of make and model. When we stick with the manufacturer name, attackers can quickly identify our make and model. So give the router name different from your addresses, without giving away personal information.

2. Know your connected network and connected devices

If your devices are connected to the internet, these connections are vulnerable to cyber attacks when your devices don’t have the proper security. Almost every web interface is equipped with multiple devices, so it’s hard to track the device. But, it’s crucial to stay aware of them.

3. Change default usernames and passwords

When we use the default usernames and passwords, it is attackable. Because the cybercriminals possibly know the default passwords come with IoT devices. So use strong passwords to access our IoT devices.

4. Manage strong, Unique passwords for your IoT devices and accounts

Use strong or unique passwords that are easily assumed, such as ‘123456’ or ‘password1234’ to protect your accounts. Give strong and complex passwords formed by combinations of alphabets, numeric, and not easily bypassed symbols.

Also, change passwords for multiple accounts and change them regularly to avoid attacks. We can also set several attempts to wrong passwords to set locking the account to safeguard from the hackers.

5. Do not use Public WI-FI Networks

Are you try to keep an eye on your IoT devices through your mobile devices in different locations. I recommend you not to use the public WI-FI network to access them. Because they are easily accessible through for everyone, you are still in a hurry to access, use VPN that gives them protection against cyber-attacks, giving them privacy and security features, for example, using Express VPN.

6. Establish firewalls to discover the vulnerabilities

There are software and firewalls like intrusion detection system/intrusion prevention system in the market. This will be useful to screen and analyze the wire traffic of a network. You can identify the security weakness by the firewall scanners within the network structure. Use these firewalls to get rid of unwanted security issues and vulnerabilities.

7. Reconfigure your device settings

Every smart device comes with the insecure default settings, and sometimes we are not able to change these default settings configurations. These conditions need to be assessed and need to reconfigure the default settings.

8. Authenticate the IoT applications

Nowadays, every smart app offers authentication to secure the accounts. There are many types of authentication methods like single-factor authentication, two-step authentication, and multi-factor authentication. Use any one of these to send a one time password (OTP) to verify the user who logs in the smart device to keep our accounts from falling into the wrong hands.

9. Update the device software up to date

Every smart device manufacturer releases updates to fix bugs in their software. These security patches help us to improve our protection of the device. Also, update the software on the smartphone, which we are used to monitoring the IoT devices to avoid vulnerabilities.

10. Track the smartphones and keep them safe

When we connect the smart home to the smartphone and control them via smartphone, you need to keep them safe. If you miss the phone almost, every personal information is at risk to the cybercriminals. But sometimes it happens by accident, makes sure that you can clear all the data remotely.

However, securing smart devices is essential in the world of data. There are still cybercriminals bypassing the securities. So make sure to do the safety measures to avoid our accounts falling out into the wrong hands. I hope these steps will help you all to secure your IoT devices.

If you have any, feel free to share them in the comments! I’d love to know them.

Are you looking for more? Subscribe to weekly newsletters that can help your stay updated IoT application developments.

#iot #enterprise iot security #how iot can be used to enhance security #how to improve iot security #how to protect iot devices from hackers #how to secure iot devices #iot security #iot security devices #iot security offerings #iot security technologies iot security plus #iot vulnerable devices #risk based iot security program

Justyn  Ortiz

Justyn Ortiz

1597698000

A Brief Introduction to Securing Applications with JWT

JSON Web Tokens has become the favorite choice among modern developers when implementing user authentication. JWT’s popularity is clearly justified by what it brings to application development. In this post, we are looking deep into JWTs and why they stand out among other authentication options, as well as what you should be concerned about when using them.

What is a JWT token?

A JWT is a self-contained method that can be used securely transmit data between two endpoints. JWTs are most commonly used for user authentication. They can also be used to securely exchange information. In this post, we are covering how JWTs are used for user authentication. However, information exchange using JWT follows roughly the same steps as user authentication.

The authentication process involving JWTs follows these steps. When a user first logs into the application, system backend issues a JWT to the user and sends it to the client-side. This token contains a special signature that validates the token as a one issued by the system. The client stores the token in the browser and sends it with every request to the server, where the token is used to verify the user’s authentication.

A JWT consists of 3 strings separated by periods. The 3 of them are the header, payload, and the signature. Follows is an example JWT token made of these 3 parts.

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJteXdlYnNpdGUuY29tIiwiaWF0IjpudWxsLCJleHAiOjUxNDM3ODA4MDAwLCJhdWQiOiIiLCJzdWIiOiIiLCJpZCI6IjEyMzQ1OTEiLCJuYW1lIjoiTWFyeSBQb3BwaW5zIiwicm9sZSI6ImVkaXRvciJ9.LYKHdyKj6SnxYaRZH_ZhiW6yk31zaBQehYm4BgawH_o

Let’s see what each of these parts contributes to the overall makeup of the token.

Header

JWT header contains metadata about the token in JSON format. Two fields present in the header are alg and typ. ’alg’ specifies the algorithm used to sign the token when generating the signature, which we will talk about in a moment. ’typ’ specifies the type of the token, which is ’JWT’. A typical token header is shown in the following example.

{
    "alg": "RS256",
    "typ": "JWT"
}

Here, the header states the algorithm used to sign the token is RS256.

The header is stored as the first part of the token after being encoded in base64url.

Payload

The payload of a JWT stores information about the token and any other entity in JSON format. Usually, a JWT used for authentication stores some crucial information about the user, such as the user ID and user role. Token storing user information usually looks like this.

#jwt #code #lock #securing applications

Shawn  Durgan

Shawn Durgan

1595547778

10 Writing steps to create a good project brief - Mobile app development

Developing a mobile application can often be more challenging than it seems at first glance. Whether you’re a developer, UI designer, project lead or CEO of a mobile-based startup, writing good project briefs prior to development is pivotal. According to Tech Jury, 87% of smartphone users spend time exclusively on mobile apps, with 18-24-year-olds spending 66% of total digital time on mobile apps. Of that, 89% of the time is spent on just 18 apps depending on individual users’ preferences, making proper app planning crucial for success.

Today’s audiences know what they want and don’t want in their mobile apps, encouraging teams to carefully write their project plans before they approach development. But how do you properly write a mobile app development brief without sacrificing your vision and staying within the initial budget? Why should you do so in the first place? Let’s discuss that and more in greater detail.

Why a Good Mobile App Project Brief Matters?

Why-a-Good-Mobile-App-Project-Brief-Matters

It’s worth discussing the significance of mobile app project briefs before we tackle the writing process itself. In practice, a project brief is used as a reference tool for developers to remain focused on the client’s deliverables. Approaching the development process without written and approved documentation can lead to drastic, last-minute changes, misunderstanding, as well as a loss of resources and brand reputation.

For example, developing a mobile app that filters restaurants based on food type, such as Happy Cow, means that developers should stay focused on it. Knowing that such and such features, UI elements, and API are necessary will help team members collaborate better in order to meet certain expectations. Whether you develop an app under your brand’s banner or outsource coding and design services to would-be clients, briefs can provide you with several benefits:

  • Clarity on what your mobile app project “is” and “isn’t” early in development
  • Point of reference for developers, project leads, and clients throughout the cycle
  • Smart allocation of available time and resources based on objective development criteria
  • Streamlined project data storage for further app updates and iterations

Writing Steps to Create a Good Mobile App Project Brief

Writing-Steps-to-Create-a-Good-Mobile-App-Project-Brief

1. Establish the “You” Behind the App

Depending on how “open” your project is to the public, you will want to write a detailed section about who the developers are. Elements such as company name, address, project lead, project title, as well as contact information, should be included in this introductory segment. Regardless of whether you build an in-house app or outsource developers to a client, this section is used for easy document storage and access.

#android app #ios app #minimum viable product (mvp) #mobile app development #web development #how do you write a project design #how to write a brief #how to write a project summary #how to write project summary #program brief example #project brief #project brief example #project brief template #project proposal brief #simple project brief template

Christa  Stehr

Christa Stehr

1602964260

50+ Useful Kubernetes Tools for 2020 - Part 2

Introduction

Last year, we provided a list of Kubernetes tools that proved so popular we have decided to curate another list of some useful additions for working with the platform—among which are many tools that we personally use here at Caylent. Check out the original tools list here in case you missed it.

According to a recent survey done by Stackrox, the dominance Kubernetes enjoys in the market continues to be reinforced, with 86% of respondents using it for container orchestration.

(State of Kubernetes and Container Security, 2020)

And as you can see below, more and more companies are jumping into containerization for their apps. If you’re among them, here are some tools to aid you going forward as Kubernetes continues its rapid growth.

(State of Kubernetes and Container Security, 2020)

#blog #tools #amazon elastic kubernetes service #application security #aws kms #botkube #caylent #cli #container monitoring #container orchestration tools #container security #containers #continuous delivery #continuous deployment #continuous integration #contour #developers #development #developments #draft #eksctl #firewall #gcp #github #harbor #helm #helm charts #helm-2to3 #helm-aws-secret-plugin #helm-docs #helm-operator-get-started #helm-secrets #iam #json #k-rail #k3s #k3sup #k8s #keel.sh #keycloak #kiali #kiam #klum #knative #krew #ksniff #kube #kube-prod-runtime #kube-ps1 #kube-scan #kube-state-metrics #kube2iam #kubeapps #kubebuilder #kubeconfig #kubectl #kubectl-aws-secrets #kubefwd #kubernetes #kubernetes command line tool #kubernetes configuration #kubernetes deployment #kubernetes in development #kubernetes in production #kubernetes ingress #kubernetes interfaces #kubernetes monitoring #kubernetes networking #kubernetes observability #kubernetes plugins #kubernetes secrets #kubernetes security #kubernetes security best practices #kubernetes security vendors #kubernetes service discovery #kubernetic #kubesec #kubeterminal #kubeval #kudo #kuma #microsoft azure key vault #mozilla sops #octant #octarine #open source #palo alto kubernetes security #permission-manager #pgp #rafay #rakess #rancher #rook #secrets operations #serverless function #service mesh #shell-operator #snyk #snyk container #sonobuoy #strongdm #tcpdump #tenkai #testing #tigera #tilt #vert.x #wireshark #yaml

Wilford  Pagac

Wilford Pagac

1596800400

How to Develop a Secure Application

What Is the Cost of a Data Breach?

As per the 2019 Cost of a Data Breach Report by Ponemon Institute, sponsored by IBM Security the average total cost of a data breach is USD 3.9 million and it can go as high as USD 8.19 million. The average size of a data breach is 25,575 records and the cost per record to USD 150. It may take up to 279 days to identify and contain the breach.

Regulators like PCI-DSS, HIPPA have stringent security compliance requirements and Organisations face penalties for non-compliance. This adds a financial burden to the organizations. Apart from financial loss, security breach also results in brand and reputation damage.

Out of 26 factors studied by Ponemon Institute, Extensive use of encryption, data loss prevention, threat intelligence sharing, and integrating security into the software development process were the key mitigators, which helped organizations to minimize the impact.

This paper provides strategies and best practices to build secure applications to protect organizations from potential threats.

Strategy to Build a Secure Application

The best strategy to develop a secure application is to integrate and automate Application Security Testing (AST) into each stage of the software development life cycle (SDLC).

Gartner identifies four main AST technologies.

  1. Static Application Security Testing (SAST) technology that analyses an application’s source, bytecode, or binary code for security vulnerabilities.
  2. Dynamic Application Security Testing (DAST) technology that analyses applications in their running state. It simulates attacks against an application (typically web-enabled applications and services and APIs), analyzes the application’s reactions, and determines whether it is vulnerable.
  3. Interactive Application Security Testing (IAST) technology that combines elements of DAST simultaneously with instrumentation of the application under test. The instrumentation agent observes operation or attacks and identifies vulnerabilities.
  4. Software composition analysis (SCA) technology used to identify open-source and third-party components used in an application, their known security vulnerabilities, and license restrictions.

Integrate Application Security Testing (AST) into SDLC

Here are the guidelines to integrate application security into each phase of the Software Development Life Cycle (SDLC).

Requirement

In the requirement phase, the development team gathers customer needs, analyze, validate, and prioritize them. It is important to receive business stakeholder’s approval before moving to the next phase.

Security Considerations:

  • Train the entire team on secure architecture, secure design, secure coding, application threat modeling, and AST vendor tool chosen for the organization. Identifying security flaws at a later stage of the development may delay releases, results in unplanned work, or may result in an insecure application in production.
  • The organization can leverage multiple training platforms provided by the AST tool vendors such as Web-based training, Instructed led training, hands-on playgrounds.
  • Buy additional AST licenses for your application testing and enable access to the AST tools and reporting system for your team.

Design

In the design phase, the team defines a high-level solution to meet customer stated (functional) and unstated needs (non-functional). The team evaluates and identifies the right solution from design alternatives to meet the business needs. In complex projects, conduct detailed design and validate it by a prototype before starting the development to avoid any re-work.

Security Considerations:

  • Conduct Application Threat Modelling. This helps to build secure design and Identify security test scenarios/security test cases.
  • Key questions to ask during application threat modeling are:
  • What are we building?
  • What can go wrong?
  • How to handle it?
  • Discuss with the enterprise security team and define the security rules for your application in the AST tool.
  • Evaluate and check if the coding language of your choice supported by the AST tool. In case the language not supported, discuss and take the guidance from your enterprise security team.
  • Please check with the AST tool for the supported IDE and Build server before finalizing the tools for your application development.

Code

In the code phase, developers implement the features as per the requirements and design guidelines.

Security Considerations:

  • Install and use the IDE plugin provided by the AST vendor. The IDE plugin scans the code, conducts Static Application Security Testing (SAST) for the created/ modified file, and provides instant feedback to the developer.
  • IDE plugin also identifies severity, flaw type, the line of code where the flaw is located and may suggest remediation steps thus helping the developer to fix the security flaw even before the code is committed.

Build

In the build phase, application source files are bundled together to create a deployable binary file. Modern application development teams leverage CI & CD tools to continuously integrate, build, validate, and deploy applications in different environments.

Security Considerations:

  • IDE plugin scans only the file modified by the developer to provide instant feedback. The recommendation is to run full SAST and SCA for the entire application at the earlier stage.
  • Install and activate the AST plugin on your build server and enable full SAST and SCA as part of the CI pipeline. Build should fail if the application does not pass the SAST and SCA.
  • Developer to analyze, fix the security flaw, commit the code to initiate, and successfully build the application. This helps to eliminate the security flaw even before the application released for QA.
  • Conducting SAST for your deployable binary file may take from few minutes to hours depending on the size of the binary file. Choose to enable SAST in your CI pipeline only if the binary file is small and it can scan in a few minutes, else it may delay the build and affect the overall productivity.

Test

In the Test phase, the testing team executes test cases to validate if the software built meets both functional and non-functional requirements.

Security Considerations:

  • If you have a large binary file and could not run full SAST and SCA in the build phase, run it in the test phase. Automate the steps to avoid any manual errors and for consistent reporting.
  • Once the application deployed on the QA region, Conduct Dynamic Application Security Testing (DAST) by running security attack test cases against an application.
  • In DAST, only a limited number of test cases executed against the application to simulate the attack and it may not cover all scenarios. To improve the coverage and identify any potential threats conduct Interactive Application Security Testing (IAST).
  • IAST requires the installation of an instrument agent on the application running under test. The IAST agent continuously monitors all your code including your libraries and identifies vulnerabilities.
  • Developer to analyze, fix the security flaw. This helps to identify potential threats and address them before moving the application to production.
  • Since IAST requires instrumentation of your code, it may degrade application performance. As a best practice, do not conduct IAST on performance or production environments to avoid any performance degradation and potential impact on user experience.

#devsecops #application security #secure coding #owasp #application security testing #development strategy