<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: skosten</title>
    <description>The latest articles on DEV Community by skosten (@skosten).</description>
    <link>https://dev.to/skosten</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F355636%2F702c55fc-14fa-4208-9d80-08f3e31160e1.jpg</url>
      <title>DEV Community: skosten</title>
      <link>https://dev.to/skosten</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/skosten"/>
    <language>en</language>
    <item>
      <title>Effects a Data Breach Can Have on Your Business in the Long Term</title>
      <dc:creator>skosten</dc:creator>
      <pubDate>Fri, 10 Apr 2020 05:35:40 +0000</pubDate>
      <link>https://dev.to/skosten/effects-a-data-breach-can-have-on-your-business-in-the-long-term-7li</link>
      <guid>https://dev.to/skosten/effects-a-data-breach-can-have-on-your-business-in-the-long-term-7li</guid>
      <description>&lt;p&gt;In today’s cybersecurity landscape, businesses are increasingly becoming victims of data breaches. Worldwide spending on cybersecurity is estimated to reach a whopping $133.7 billion by 2022 and it’s not a surprise that businesses are more focused on building a better security culture.&lt;/p&gt;

&lt;p&gt;Data breaches don’t just expose sensitive information, the attackers can burrow into the entire organization’s network or hack into their database and perform malicious activities.&lt;/p&gt;

&lt;p&gt;A data breach could lead to a loss of data including sensitive information such as financial records, credit card info, personal details, or confidential data like contracts and agreements between vendors and companies. That data, if compromised, could cause havoc for the victim organization.&lt;/p&gt;

&lt;p&gt;In fact, in the first half of 2019, a data breach exposed about 4.1 billion records which caused long-term damaging effects for the victim organizations.&lt;/p&gt;

&lt;p&gt;When a data breach occurs, it costs the organization more than just money - it can cause severe damage to your organization’s reputation leading to a decline in your brand reputation, value, and relationships with your customers.&lt;/p&gt;

&lt;p&gt;With cybercriminals using more sophisticated methods to attack enterprises and leveraging the latest technologies such as automation and artificial intelligence, data protection has become more challenging.&lt;/p&gt;

&lt;p&gt;It is imperative for businesses to understand the consequences of a data breach and how it could impact their entire organization. It will help them take the necessary steps to mitigate their potential vulnerabilities and risks that could otherwise put their company and its customers at risk of a data breach.&lt;/p&gt;

&lt;p&gt;We have compiled a list of the most severe long-term effects of a data breach.&lt;/p&gt;

&lt;p&gt;Hopefully, this will help you get a better idea of how potentially severe a data breach could be for your company as well as show you the need for cybersecurity.&lt;/p&gt;

&lt;p&gt;Read the full post at cypressdatadefense.com.&lt;/p&gt;

</description>
      <category>security</category>
      <category>database</category>
      <category>beginners</category>
      <category>startup</category>
    </item>
    <item>
      <title>What are the Differences Between DevOps and Agile?</title>
      <dc:creator>skosten</dc:creator>
      <pubDate>Fri, 10 Apr 2020 05:05:17 +0000</pubDate>
      <link>https://dev.to/skosten/what-are-the-differences-between-devops-and-agile-4phn</link>
      <guid>https://dev.to/skosten/what-are-the-differences-between-devops-and-agile-4phn</guid>
      <description>&lt;p&gt;People are often confused by DevOps and Agile in the software development industry.&lt;/p&gt;

&lt;p&gt;You may have a lot of questions such as:&lt;/p&gt;

&lt;p&gt;How are DevOps and Agile methodologies different?&lt;br&gt;
Is one more secure?&lt;/p&gt;

&lt;p&gt;Which one should I use?  (Just one or both)?&lt;br&gt;
This infographic will break it down and simplify it for you.&lt;br&gt;
Let’s start by understanding each one separately.&lt;/p&gt;

&lt;p&gt;What is Agile?&lt;/p&gt;

&lt;p&gt;This methodology takes an iterative and incremental approach to development.&lt;/p&gt;

&lt;p&gt;Involves producing release cycles on a continuous basis.&lt;/p&gt;

&lt;p&gt;Breaks the software down into small functional deliverables for customer approval&lt;br&gt;
Addresses the gaps in communication between customer and developer.&lt;/p&gt;

&lt;p&gt;Small and rapid releases, customer feedback, and collaboration are the focus of this model.&lt;/p&gt;

&lt;p&gt;Aims to bring agility to development.&lt;/p&gt;

&lt;p&gt;What is DevOps?&lt;/p&gt;

&lt;p&gt;This approach to operations focuses on communication, collaboration,  integration, and deployment.&lt;/p&gt;

&lt;p&gt;Promotes collaboration between operations and development to deploy releases to various environments.&lt;/p&gt;

&lt;p&gt;Automation, continuous feedback, discipline, and process development are the highlights of this model.&lt;/p&gt;

&lt;p&gt;Development teams make small but frequent updates to the production software which are often automatically deployed to environments&lt;/p&gt;

&lt;p&gt;Aims to bring agility to operations and deployments.&lt;/p&gt;

&lt;p&gt;Read the full article at cypressdatadefense.com.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>agile</category>
      <category>security</category>
      <category>privacy</category>
    </item>
    <item>
      <title>6 Web Application Vulnerabilities and How to Prevent Them</title>
      <dc:creator>skosten</dc:creator>
      <pubDate>Fri, 10 Apr 2020 04:57:07 +0000</pubDate>
      <link>https://dev.to/skosten/6-web-application-vulnerabilities-and-how-to-prevent-them-i</link>
      <guid>https://dev.to/skosten/6-web-application-vulnerabilities-and-how-to-prevent-them-i</guid>
      <description>&lt;p&gt;One of the biggest fears for development managers is not identifying a vulnerability in their web application before an attacker finds it. Web application vulnerabilities leave you susceptible to security attacks during which valuable customer and company data could be at risk. As a result, you will incur huge financial losses while your reputation suffers serious damage.&lt;/p&gt;

&lt;p&gt;The good news is that these web application security threats are preventable. roper knowledge of the most common web application vulnerabilities is the key to prevention. While you may conduct automated scans and regularly test for any web application vulnerabilities, those efforts will be in vain unless you know what to look for.&lt;/p&gt;

&lt;p&gt;This makes it crucial to understand web security vulnerabilities inside out – right from how a web application gets targeted to what kind of vulnerabilities to look for and how to prevent them. This post is going to help you do exactly that.&lt;/p&gt;

&lt;p&gt;How Web Application Vulnerabilities Affect Companies&lt;/p&gt;

&lt;p&gt;First, let’s try to gain a better understanding of how exactly these website application vulnerabilities can affect a company. This will help you understand just how harmful these security attacks can be and why you should prioritize preventing them.&lt;/p&gt;

&lt;p&gt;One of the biggest, most harmful web application security threats is sensitive data exposure. It even ranks among the OWASP top 10 vulnerabilities. It involves compromising important data that should have been protected. This includes data like passwords, credentials, personally identifiable information, social security numbers, credit card numbers, health information, etc.&lt;/p&gt;

&lt;p&gt;This is one of the most targeted web application vulnerabilities by hackers since there’s a prospect for financial gain for them. They could sell this data or use it themselves to conduct fraud, identity theft, etc.&lt;/p&gt;

&lt;p&gt;There are tons of ways for hackers to steal sensitive data through web security vulnerabilities:&lt;/p&gt;

&lt;p&gt;They may look for  SQL injection flaws to retrieve decrypted credit card numbers.&lt;br&gt;
They could exploit insecure wireless networks to seal a user’s session cookie.&lt;br&gt;
Attackers could even retrieve sensitive files from the server using a file download vulnerability, or upload malicious files to target your users!&lt;br&gt;
In some cases, you may even encounter Cross-Site Scripting (XSS). This is one of the most widespread website application vulnerabilities and involves utilizing the website as a propagation method. Hackers would inject malicious client-side scripts and modify how the website functions or how it is displayed.&lt;/p&gt;

&lt;p&gt;An XSS attack could infect your visitors’ devices with malware or have them recruited into large botnets. It could mislead your visitors and damage your credibility and reputation, which can be extremely difficult to rebuild.&lt;/p&gt;

&lt;p&gt;These are just a few ways in which hackers can exploit web application vulnerabilities and cause serious harm to your company and its customers. But even from this, you can clearly see just how damaging these attacks can be and how crucial it is to prevent them. We need to take web application security threats seriously and turn our development teams into security champions.&lt;/p&gt;

&lt;p&gt;Understanding the Common Web Application Vulnerabilities&lt;/p&gt;

&lt;p&gt;Now let’s take a look at some of the most common attacks that hackers might attempt on your website. Knowing these common web application vulnerabilities will help you identify them faster and fix them more easily.&lt;/p&gt;

&lt;h1&gt;
  
  
  1: SQL Injection
&lt;/h1&gt;

&lt;p&gt;Many hackers start with an attempt to gain access to the database through SQL injection attacks. This is when the attacker inserts malicious SQL statements into form fields and other injection points, with the intention of gathering information from and controlling the database. They can use this information to access and modify or even destroy the information, and to attack the underlying system.&lt;/p&gt;

&lt;p&gt;Attackers typically use these attacks to collect vital customer information such as their contact information, passwords, or even credit card info. They may even exploit these web security vulnerabilities to change the price of a product, for instance. Advanced attacks can even allow them to control the database server and the operating system.&lt;/p&gt;

&lt;p&gt;How to Prevent It&lt;/p&gt;

&lt;p&gt;Prepared statements with parameterized queries can mitigate SQL-related web application vulnerabilities. A prepared statement helps to sanitize the input and ensures that it is considered as a string literal in SQL rather than as part of the SQL query. In other words, the database can tell the difference between SQL data and SQL code. So the code is no longer vulnerable to SQL injection attacks as the query is less vulnerable to tampering.&lt;/p&gt;

&lt;p&gt;Migrating to Object Relational Mapping Tools (ORMs) is another excellent option. However, most ORMs allow non-parameterized queries in addition to performing parameterized queries. As such, it’s crucial to carefully use the frameworks keeping this in mind.&lt;/p&gt;

&lt;p&gt;Make the most of LIMIT and other SQL controls within your queries so that even if an SQL injection attack does occur, it can prevent the mass disclosure of records.&lt;/p&gt;

&lt;h1&gt;
  
  
  2: Cross-Site Scripting (XSS)
&lt;/h1&gt;

&lt;p&gt;As mentioned earlier, cross-site scripting or XSS is one of the most popular web application vulnerabilities that could put your users’ security at risk. These attacks inject malicious code into the running application and executes it on the client-side.&lt;/p&gt;

&lt;p&gt;The goal of XSS attacks is to send this malicious code to other users, sometimes infecting their devices with malware or stealing sensitive information. This type of website application vulnerability can give the attacker full control of the user’s browser and can be extremely dangerous to any website.&lt;/p&gt;

&lt;p&gt;How to Prevent It&lt;/p&gt;

&lt;p&gt;Modern frameworks have made it a lot easier to escape untrusted user input and mitigate XSS attacks. AngularJS, React JS, and Ruby on Rails are some of the latest, most effective frameworks to prevent these web application vulnerabilities. These frameworks can automatically escape user input and help mitigate XSS attacks by design, although they do have limitations.&lt;/p&gt;

&lt;p&gt;Avoid implementing a blacklist,  instead favor of a whitelist, because blacklists are less effective at preventing web security vulnerabilities. An attacker who knows what they’re doing can easily bypass a blacklist filter.&lt;/p&gt;

&lt;p&gt;The ultimate solution to prevent these web application vulnerabilities is output encoding. This involves converting untrusted user input into a safe form so the input is displayed to the user as data without being executed as code in the browser. This means that special characters will be translated into an equivalent form that the browser will no longer find significant.&lt;/p&gt;

&lt;p&gt;It’s also important to understand that output encoding depends on the context of where data is being output. For instance, you may have HTML contexts, HTML entity contexts, HTML attribute contexts, CSS contexts, JavaScript contexts, and more. As such, you will need to apply context-sensitive encoding when render the page for the browser.&lt;/p&gt;

&lt;p&gt;Enable a Content Security Policy (CSP), which can be very effective to help mitigate Cross-Site Scripting vulnerabilities.&lt;/p&gt;

&lt;h1&gt;
  
  
  3: Authentication Failure
&lt;/h1&gt;

&lt;p&gt;Authentication-related web application vulnerabilities occur when there’s an improper implementation of adequate user authentication controls. This puts user accounts at risk of being breached. Attackers may exploit these web security vulnerabilities to gain control over any user account or even over the entire system.&lt;/p&gt;

&lt;p&gt;One of these vulnerabilities is Credential Stuffing, where an attacker will test a list of valid passwords and usernames gleaned from another breach or attack until they manage to find a valid combination and gain access.&lt;/p&gt;

&lt;p&gt;Read the full article at cypressdatadefense.com.&lt;/p&gt;

</description>
      <category>security</category>
      <category>webdev</category>
      <category>privacy</category>
      <category>startup</category>
    </item>
    <item>
      <title>Predictive vs. Adaptive SDLC: What is the Difference?</title>
      <dc:creator>skosten</dc:creator>
      <pubDate>Wed, 01 Apr 2020 07:01:56 +0000</pubDate>
      <link>https://dev.to/skosten/predictive-vs-adaptive-sdlc-what-is-the-difference-4coc</link>
      <guid>https://dev.to/skosten/predictive-vs-adaptive-sdlc-what-is-the-difference-4coc</guid>
      <description>&lt;p&gt;Organizations are different from one another. Projects and business strategies differ from one another. Make sure your development approach matches your organization and project. Many project managers are moving away from conventional predictive Software Development Life Cycle (SDLC) methodologies toward adaptive SDLC methodologies.&lt;/p&gt;

&lt;p&gt;Should you?&lt;/p&gt;

&lt;p&gt;To determine this, you should have a clear understanding of predictive vs. adaptive SDLC approaches and identify the best methodology for your organization and your project.&lt;/p&gt;

&lt;p&gt;Predictive Software Development Life Cycle: An Overview&lt;/p&gt;

&lt;p&gt;As the name suggests, predictive SDLC assumes you can predict the complete workflow. It involves fully understanding the final product and determining the process for delivering it. In this form of project life cycle, you determine the cost, scope, and timeline in the early phases of the project.&lt;/p&gt;

&lt;p&gt;One of the most common predictive models is the waterfall model. It assumes various phases in the SDLC that can occur sequentially, which implies that one phase leads into the next phase. In simple words, in waterfall model, all the phases take place one at a time and do not overlap one another.&lt;/p&gt;

&lt;p&gt;While the waterfall model is quite simple and easy to use and understand, it also entails a few drawbacks that could drastically impact your project.&lt;/p&gt;

&lt;p&gt;Since the waterfall model follows a sequential approach, once an application is in the testing phase, it becomes difficult to go back and debug it in the development stage.&lt;/p&gt;

&lt;p&gt;Pros of Predictive SDLC&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It is easy to understand and follow as each phase is initiated after another phase is completed.&lt;/li&gt;
&lt;li&gt;The laid down instructions and concise workflow makes it easier for the developers to work within a specified budget and timeframe.&lt;/li&gt;
&lt;li&gt;It enables organizations to assume the expected project budget and timelines (IF all goes as planned).&lt;/li&gt;
&lt;li&gt;Each stage in the predictive SDLC has specific timelines and deliverables, which makes it easier for teams to operate and monitor the entire project.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Cons of Predictive SDLC&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Working software is produced at a later stage in predictive SDLC, which leads to delayed identification of bugs and vulnerabilities in the application.&lt;/li&gt;
&lt;li&gt;Organizations often have to bear additional costs of delayed applications if bugs are discovered in the testing phase of the project.&lt;/li&gt;
&lt;li&gt;It is not the ideal SDLC model for complex projects.&lt;/li&gt;
&lt;li&gt;Predictive SDLC is not suitable for dynamic projects that entail flexible requirements or uncertainty in the end product.&lt;/li&gt;
&lt;li&gt;The main concern of a predictive SDLC approach is to develop and maintain the specifications of the final product. This makes it ideal for projects where all the requirements are defined and well understood with a clear vision of the final product.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In predictive SDLC, there are minimal expected changes as the work is already predictive and well-known. The team has a clear idea of exactly where the project is heading and how to follow the sequence.&lt;/p&gt;

&lt;p&gt;On the other hand, a predictive approach can be extremely rigid, requiring developers to maintain strict and rigorous standards throughout the life cycle. Since the sequence of the work is already predetermined, any subsequent changes can be very costly and time-consuming.&lt;/p&gt;

&lt;p&gt;Adaptive Software Development Life Cycle: An Overview&lt;/p&gt;

&lt;p&gt;Adaptive SDLC approaches have a mix of incremental and iterative development. It involves adding features incrementally and making changes and refinements according to feedback. In other words, the work can easily adapt to the changing requirements based on new feedback received from the client.&lt;/p&gt;

&lt;p&gt;Agile and other iterative methodologies fall under the umbrella of adaptive SDLC. A key element of adaptive SDLC methodologies is that while it defines certain milestones throughout the SDLC, it also allows flexibility to achieve them.&lt;/p&gt;

&lt;p&gt;Adaptive SDLC, such as Agile, focuses on achieving the desired end goal by quickly adapting the dynamic business requirements. It puts more focus on the present requirement and leaves room for future scope of the project.&lt;/p&gt;

&lt;p&gt;Pros of Adaptive SDLC&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Adaptive SDLC entails iterative, evolutionary and incremental methodologies which offer flexible guidelines and easy flow of work.&lt;/li&gt;
&lt;li&gt;Methodologies such as Agile are efficient in nature and enhance team collaboration.&lt;/li&gt;
&lt;li&gt;Short feedback loops lead to quick adaptation to changing requirements.&lt;/li&gt;
&lt;li&gt;Reduces potential vulnerabilities and bugs at the deployment stage as the application is frequently tested while in the development phase.&lt;/li&gt;
&lt;li&gt;It focuses on delivering high quality applications while maintaining technical excellence.&lt;/li&gt;
&lt;li&gt;Encourages different teams to work together on a project, increasing face-to-face interactions and building better work environments.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Cons of Adaptive SDLC&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It demands for extensive client/user involvement throughout the SDLC.&lt;/li&gt;
&lt;li&gt;Various teams have to work together continuously while working with adaptive SDLCs, and this involves numerous interactions. Continuous communication between teams can be time consuming and require more commitment.&lt;/li&gt;
&lt;li&gt;Since adaptive SDLC requires close collaboration between organizations and their clients, lack of commitment from either of the sides could impact software quality.&lt;/li&gt;
&lt;li&gt;Frequent changes are adopted just in time for development which might result in less detailed documentation.&lt;/li&gt;
&lt;li&gt;Adaptive SDLC approaches are best for projects that have the potential for significant changes in scope or that there is uncertainty in what is desired. You may need to adapt to the changing demands of the client for these projects.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The adaptive SDLC methodology is typically faster than predictive SDLC approaches. This is primarily due to the fact that few projects are sufficiently understood to really use a predictive SDLC methodology.  When requirements are not sufficiently understood, issues are identified late in the lifecycle and this leads to expensive re-work.&lt;/p&gt;

&lt;p&gt;Which is Better?&lt;/p&gt;

&lt;p&gt;Since each approach has its uses for specific types of projects, there is no clear-cut decision as to which of them is better. The choice depends largely on the project type, your strategies, and organizational needs.&lt;/p&gt;

&lt;p&gt;It’s best if you carefully analyze predictive SDLC and adaptive SDLC and weigh the pros and cons for each project rather than relying on a uniform approach for all projects.&lt;/p&gt;

&lt;p&gt;Predictive SDLC approach may be a better choice if:&lt;/p&gt;

&lt;p&gt;You’re working on a project that the team is already familiar with. The team will be more productive since they already know exactly what is expected out of the project and what they are supposed to do.&lt;/p&gt;

&lt;p&gt;There is little chance of changes in the project parameters. This is crucial because any subsequent changes toward the end of the project will be very complicated and expensive to implement in a predictive approach.&lt;br&gt;
There are very well defined and understood requirements of what the final deliverable product should be.&lt;/p&gt;

&lt;p&gt;You have a thoroughly documented project development process to work with.&lt;br&gt;
You prefer predictability and like to have a clear idea of possible/expected changes beforehand.&lt;/p&gt;

&lt;p&gt;The project manager isn’t too experienced with other methodologies. In this case, things would go more smoothly if they worked within a familiar methodology that they have tons of experience with.&lt;/p&gt;

&lt;p&gt;Adaptive SDLC approach may be a better choice if:&lt;/p&gt;

&lt;p&gt;You’re working on a project with evolving or undetermined parameters. An adaptive approach gives you room to make adjustments based on new or updated parameters.&lt;/p&gt;

&lt;p&gt;There is no rigid expectation as to how the final product might turn out. In other words, you should use the adaptive approach only if the project is innovative and/or exploratory in nature.&lt;/p&gt;

&lt;p&gt;You’re working with a flexible timeline.&lt;/p&gt;

&lt;p&gt;You work in a rapidly evolving industry.&lt;/p&gt;

&lt;p&gt;The project manager is experienced with adaptive SDLC methodologies.&lt;/p&gt;

&lt;p&gt;Bottom Line&lt;/p&gt;

&lt;p&gt;As you can see, both predictive and adaptive SDLC approaches have unique benefits so it would be a huge mistake to use only one of them for all your projects. Carefully assess each project demands and specifications to see which approach you should take.&lt;/p&gt;

</description>
      <category>security</category>
      <category>webdev</category>
      <category>design</category>
      <category>devops</category>
    </item>
    <item>
      <title>7 Web Application Security Best Practices You Need to Know</title>
      <dc:creator>skosten</dc:creator>
      <pubDate>Thu, 26 Mar 2020 05:19:54 +0000</pubDate>
      <link>https://dev.to/skosten/7-web-application-security-best-practices-you-need-to-know-c7o</link>
      <guid>https://dev.to/skosten/7-web-application-security-best-practices-you-need-to-know-c7o</guid>
      <description>&lt;p&gt;Web app security is not something that you can bolt on after developing your app, it should be a core part of the app development process. Web applications are by design, available to others and are very much exposed to many potential threats. As such, you need to ingrain security features within each component of your app and make security a part of each phase of the software development lifecycle to ensure that it is safe from threats.&lt;/p&gt;

&lt;p&gt;There are several web application security best practices that you can follow to achieve this. These web application security best practices ensure that there are multiple layers of security incorporated in your app and development and testing processes.&lt;/p&gt;

&lt;p&gt;In this post, we will list seven of the most important web application security best practices that you should follow to protect your apps from threats. So, let’s take a look at these app security best practices and why they are important.&lt;/p&gt;

</description>
      <category>security</category>
      <category>webdev</category>
      <category>devops</category>
      <category>design</category>
    </item>
  </channel>
</rss>
