Tag: perforce

  • Perforce Acquires 21 Labs to Advance Mobile App Testing

    Perforce Acquires 21 Labs to Advance Mobile App Testing

    Perforce Software announced today is has acquired 21 Labs, a provider of a suite of tools that leverages artificial intelligence (AI) to provide a no-code approach to testing mobile applications. Terms of the deal were not disclosed.

    Tim Russell, chief product officer for Perforce Software, said the 21 Labs tools complement a set of similar AI-based tools for testing web applications that the company makes available via its Perfecto portfolio. The company also makes available Virtual Devices, a service that makes it feasible to test mobile computing devices at scale using Apple iOS and Google Android emulation software. Perforce acquired Perfecto in 2018.

    21 Labs developed a test automation platform that uses algorithms to observe interactions within a mobile application that are then used to generate tests. That approach sharply reduces the need for a developer or professional application developer to employ scripts to generate those tests, said Russell.

    The next step will be to integrate 21 Labs with the test recommendation engine that Perforce already makes available via its Perfecto testing platform, added Russell.

    Perforce

    As the rate at which applications are developed accelerates, Russell noted, application testing has become a major bottleneck. The shift toward scriptless approaches to application testing will make it possible for organizations to quickly vet applications to ensure quality without having to slow down the rate at which they are being deployed. That’s especially critical at a time when mobile applications are often at the core of any digital business transformation initiative.

    It’s not clear to what degree application testing will be automated, but it’s apparent that as AI becomes more advanced, the need for many of the routine tests conducted by professional developers today will be eliminated. In theory, that should afford professional developers more time to conduct complex tests, while more routine tests are automatically run as an extension of a DevOps workflow.

    Application testing, of course, has always been the first thing to suffer whenever developers are pressed for time to make a delivery deadline. However, the sooner any issue is discovered, the less expensive it generally is to fix. At the same time, end users are not generally patient when it comes to mobile applications that don’t work as advertised. External-facing mobile applications, especially, need to provide a compelling experience the first time they are fired up. At the same time, internal digital business processes that are accessed by end users and business partners now need to be accessible from anywhere.

    Arguably, it’s harder to provide a great application experience on mobile computing devices than it is on a desktop platform, which means there should be even more testing of mobile applications before they are deployed in a production environment. The days when developers experimented on end users by rolling out minimally viable applications are coming to an end, as end user expectations continue to rise. DevOps teams that don’t adjust to that new reality may soon discover just how critical testing has become to their own job security.

  • New Study Reveals Importance of Optimized Strategy for the Selection, Support, and Maintenance of Open Source Software

    Organizations with optimized OSS strategies are 82% more likely to say their firm’s OSS initiatives exceeded expectations

    MINNEAPOLIS, May 11, 2021 /PRNewswire/ — Perforce Software, a provider of solutions to enterprise teams requiring productivity, visibility, and scale along the development lifecycle, today announced the results of a commissioned study conducted by Forrester Consulting and an upcoming webinar that analyzes the results.

    The study, based on a survey of decision makers at enterprise organizations, showed 91% of companies who adopt open source either meeting or exceeding business expectations. Among teams implementing OSS, those with optimized OSS strategies were 82% more likely to have exceeded expectations.

    However, even for companies with an open source software support strategy, 60% admitted to having a sub-optimal strategy in place.

    “This study backs a long-held opinion at OpenLogic,” said Rod Cope, CTO at Perforce Software and Founder of OpenLogic. “Finding success with open source software as an enterprise organization requires a fully-formed strategy – especially as it applies to critical areas like support.”

    The stakes are high for enterprise companies, as noted by the increasing shift to open source in all areas of business-critical IT infrastructure. The Forrester study found that 97% of respondents intend to move at least one aspect of their IT infrastructure to OSS.

    That shift is backed by its connection to positive business outcomes. The Forrester study showed that companies who adopted OSS experienced greater flexibility, faster innovation, better employee satisfaction, and lower operational overhead.

    “Open source software is a critical component of modern IT systems and infrastructures,” said Tim Russell, Chief Product Officer at Perforce Software. “And that’s not limited to traditional ROI metrics – this study shows a strong, positive connection between open source adoption, employee retention, and customer outcomes.”

    The full Forrester study, Seize The Open Source Opportunity Through Comprehensive, Optimized Strategies, is available as a complimentary download at: www.openlogic.com/resources/forrester-consulting-study-open-source-strategy

    A live webinar discussing the results of the Forrester study, featuring Justin Reock and guest speaker, Forrester Principal Analyst Chris Condo, will premiere on May 20, 2021. Interested parties can RSVP here: https://www.openlogic.com/resources/events/why-oss-strategy-is-key

    About OpenLogic

    OpenLogic by Perforce provides end to end enterprise support and services for organizations using open source software in their infrastructure.

    With support for over 400 open source packages, guaranteed SLAs, and direct access to highly-experienced Enterprise Architects, OpenLogic customers receive a consolidated and holistic open source support solution through our 24×7 ticket-based support, professional services and training.

    Learn more about how OpenLogic can help support and improve your integrated open source by visiting www.openlogic.com.

    About Perforce

    Perforce powers innovation at unrivaled scale. Perforce solutions future-proof competitive advantage by driving quality, security, compliance, collaboration, and speed – across the technology lifecycle. We bring deep domain and vertical expertise to every customer, so nothing stands in the way of success. Our global footprint spans more than 80 countries and includes over 75% of the Fortune 100. Perforce is trusted by the world’s leading brands to deliver solutions to even the toughest challenges. Accelerate technology delivery, with no shortcuts. Get the Power of Perforce.

  • Perfecto by Perforce Advances Shift-Left Mobile Testing at Scale, Powers Early Detection of Issues and Faster Feedback With Virtual Devices

    With virtual device testing available in the Perfecto’s cloud-based Intelligent Test Automation platform, businesses can accelerate release velocity by empowering developers with fast feedback

    MINNEAPOLIS, May 4, 2021 /PRNewswire/ — Perforce Software, a provider of solutions to enterprise teams requiring productivity, visibility, and scale along the development lifecycle, announced today the availability of virtual devices (Android emulators and iOS simulators) as part of the comprehensive device lab within Perfecto’s Intelligent Test Automation platform.

    “By strategically testing on virtual devices, organizations give developers faster feedback, so they can catch and fix issues quickly without interrupting their workflows,” said Eran Kinsbruner, DevOps evangelist at Perforce. “Virtual devices complement real device testing later in the cycle to deliver a powerful, comprehensive combination for getting feedback quickly without compromising application quality.”

    With Perfecto’s new iOS simulators and Android emulators, mobile app developers and testers can perform manual and Appium-based test automation in parallel, in the cloud, and across different geographies.

    The feature is announced following highly successful implementations with several Perfecto customers.

    “Combining real device testing along with emulators and simulators at the appropriate phases in the development cycle allowed us to maintain app quality and speed up our testing efforts,” said one Perfecto Fortune 500 customer. “The scale and reliability we have achieved with Perfecto is remarkable.”

    With Perfecto, the fast feedback enabled by virtual devices is accelerated by intelligent dashboards. Teams testing on virtual devices within Perfecto have the same access to the platform’s AI-driven reporting and analytics, which reduce the noise created by false positives, detect root causes, and provide a single place for managers, QA, and developers to align on all quality metrics.

    This latest release comes only weeks after Perfecto announced support for the developer-friendly Cypress framework and scriptless testing as part of its expanded E2E web testing capabilities.

    To learn more, visit perfecto.io.

    About Perforce  
    Perforce powers innovation at unrivaled scale. Perforce solutions future-proof competitive advantage by driving quality, security, compliance, collaboration, and speed – across the technology lifecycle. We bring deep domain and vertical expertise to every customer, so nothing stands in the way of success. Our global footprint spans more than 80 countries and includes over 75% of the Fortune 100. Perforce is trusted by the world’s leading brands to deliver solutions to even the toughest challenges. Accelerate technology delivery, with no shortcuts. Get the Power of Perforce.

     

  • Perfecto by Perforce Addresses Critical Trends in Application Testing With Expanded Intelligent Test Automation

    New capabilities help businesses compete in post-pandemic experience economy by allowing more team members to automate end-to-end web testing

     

    MINNEAPOLIS, April 20, 2021 – Perforce Software, a provider of solutions to enterprise teams requiring productivity, visibility, and scale along the development lifecycle, announced today the launch of Perfecto Scriptless and support for Cypress framework. Perfecto Scriptless is a no-code test automation solution that uses AI to improve productivity. Cypress is one of the fastest growing JavaScript open-source test automation frameworks in the development community. Perfecto’s enterprise grade, intelligent test automation platform continues to be the go-to for businesses that need to elevate their digital experiences in the competitive post-pandemic experience economy.

    “The pandemic significantly raised consumer expectations for flawless online experiences,” said Eran Kinsbruner, DevOps evangelist for Perfecto. “We’re helping businesses address that demand for quality by making it easy for anyone and everyone on their team to automate tests and get feedback quickly — all in one place.”

    Perfecto’s latest release empowers a diverse range of team members — from front-end developers to business testers — to create automation using the skills they have and the methods they prefer. Development teams can shift left using their favorite framework while business testers scale their efforts by automating their own tests in minutes. Additionally, with Perfecto’s AI-driven reporting and analytics, every team member has immediate access to the test results, regardless of what they are testing or whether they are working together, remotely, or across time zones and regions.

    The capabilities are embedded in Perfecto’s enterprise-grade web and mobile testing platform known for solving the hardest challenges in testing.

    Perfecto Scriptless lets organizations:

    • Empower manual testers — non-technical testers and business testers — to create automation visually.
    • Streamline maintenance and test updates with AI-powered self-healing tests.

    By using Cypress within Perfecto, development organizations can:

    • Quickly automate their own end-to-end tests.
    • Shift-left testing at scale across multiple browser/OS combinations.
    • Integrate Cypress into their CI/CD pipeline.
    • Get feedback on test results in one secure, stable platform.

    “As new ways of testing emerge, organizations commonly struggle to adopt or adapt to them efficiently and without fracturing their process and workflows,” said Tim Russell, Perforce Chief Product Officer. ”Perfecto is taking all these moving pieces — market-led innovations like AI, shifting business needs and organizational dynamics, and rising open-source technologies like Cypress — and folding them into a single testing platform, so businesses have a comprehensive solution for intelligent test automation that can handle the scale, security, and sophistication that enterprises require.”

    To learn more, visit perfecto.io.

    About Perforce
    Perforce powers innovation at unrivaled scale. Perforce solutions future-proof competitive advantage by driving quality, security, compliance, collaboration, and speed – across the technology lifecycle. We bring deep domain and vertical expertise to every customer, so nothing stands in the way of success. Our global footprint spans more than 80 countries and includes over 75% of the Fortune 100. Perforce is trusted by the world’s leading brands to deliver solutions to even the toughest challenges. Accelerate technology delivery, with no shortcuts. Get the Power of Perforce.

     

  • Perforce Adds Synchronization Tool for Cross-Functional Teams

    Perforce Adds Synchronization Tool for Cross-Functional Teams

    Perforce Software has added a graphical tool, dubbed Helix Sync, that enables individuals, such as artists, to take advantage of the version control capabilities provided by its software development life cycle (SDLC) platform.

    Gerhard Krüger, cloud architect and product manager at Perforce, said that as DevOps workflows continue to evolve in the gaming and automotive industries, the need to manage artifacts such as drawings, for example, alongside software artifacts is becoming more pronounced among cross-functional teams.

    Helix Sync gives those end users access to a desktop client that enables any individual to upload artifacts into a system by dragging and dropping them into the Perforce Helix Core SDLC platform.

    Previously, end users that lacked coding skills would need to share files with developers via cloud services such as Dropbox. The Perforce approach removes the inherent friction development teams would otherwise encounter, while at the same time making sure the artifacts being shared are more secure, said Krüger. In addition, end users don’t have to be concerned about file size limitations imposed by file sharing services accessed via the cloud, noted Krüger.

    It’s not clear how many organizations are looking to centralize digital asset management within the context of an application development process, but the fewer places that artifacts reside, the more productive IT teams tend to be. At a time when the number of application development projects within many organizations has accelerated, there’s a lot more interest in reducing the number of steps any developer has to monitor and track.

    Diagrams and other types of artwork are not the only kinds of artifacts that are finding their way into software development processes. Data scientists are building massive artificial intelligence (AI) models that need to be incorporated into application development and deployment processes. The challenge organizations face is the individuals that create many of these types of artifacts lack the programming skills required to share them via version control platforms typically employed by developers.

    With the launch of Helix Sync, IT teams should assume that, going forward, Perforce will be expanding its overall content management capabilities, Krüger added.

    It’s not clear to what degree workflows will converge as application development continues to evolve. Organizations are starting to appreciate just how dependent they are on software. As that awareness increases, it’s only a matter of time before workflows start to converge around the software development process that are employed to drive multiple digital business transformation initiatives.

    With more of the creators of those artifacts working remotely, the security of those software supply chains has also become more critical. Cybercriminals are becoming more adept at compromising the credentials end users create to access a cloud file service. Software development teams are more likely to employ more rigorous forms of authentication.

    Arguably, there’s never been more artifacts to track during the history of application development than there are today. The thing that makes managing all those artifacts even more challenging is, just like every other piece of software, they are also being continuously updated in ways that aren’t easy to discern.

  • Perforce Releases New Drag-and-Drop Interface to Centralize Version Control for Creatives and Developers

    Helix Sync Connects Cross-Functional Teams to Centralize and Version Digital Assets Quickly, Streamlining Workflows Between Creative and Developer Teams

     

    MINNEAPOLIS, April 13, 2021 – Perforce Software, a provider of solutions to enterprise teams requiring security, visibility, and scale along the development lifecycle, announces its new version control desktop client — Helix Sync — enabling non-coders such as artists and designers to version digital assets, with a simple drag-and-drop UI.

     

    Creative assets are critical to development. Industries looking to drive new innovations need to manage the ever-increasing file size, while enhancing collaboration between developers and non-technical contributors. Traditionally, creative digital assets are managed separately, slowing down teams and delaying critical feedback. Helix Sync is an alternative interface for Perforce Helix Core — the game and media development standard for version control — that centralizes digital asset management for builds. There is nothing to buy or integrate, teams simply choose the interface that works best for them.

     

    “Even if your team is small, it doesn’t mean your challenges or files are. Helix Sync was built to help teams go faster,” said Gerhard Krüger, Cloud Architect and Product Manager at Perforce.  “Securely versioning design assets alongside code removes complexity and accelerates development.”

     

    With Helix Sync, artists and designers can version any asset using their preferred tools. They get all the benefits of Helix Core — superior performance, automated workflows, and more. Breaking down silos in development, Helix Sync creates a single source of truth, promoting reuse across teams. Join a discussion with industry experts to learn more and see Helix Sync in action.

     

    Perforce Software continues to expand on existing industry-leading products to optimize workflows across and unite global teams.

     

    About Perforce
    Perforce powers innovation at unrivaled scale. Perforce solutions future-proof competitive advantage by driving quality, security, compliance, collaboration, and speed – across the technology lifecycle. We bring deep domain and vertical expertise to every customer, so nothing stands in the way of success.  Our global footprint spans more than 80 countries and includes over 75% of the Fortune 100. Perforce is trusted by the world’s leading brands to deliver solutions to even the toughest challenges. Accelerate technology delivery, with no shortcuts. Get the Power of Perforce.

     

  • Approaching Security as a Fundamental Element of Software Development

    Approaching Security as a Fundamental Element of Software Development

    How we really integrate security into the SDLC? What are some of the best practices around secure software?

    In this episode of TechStrong TV, Jill Britton, director of compliance, and Stuart Foster, product manager at Perforce, joined us to discuss how to improve application security by making security a fundamental component of the software creation process.

    The video is immediately below, followed by the transcript of the conversation. Enjoy!

    Transcript

    Mitch Ashley: I have the pleasure of being joined buy a couple of folks that I’ve talked with before on a webinar and a few other videos. Jill Britton and Stuart Foster from Perforce. Welcome to you both.

    Stuart Foster: Thanks for having us, Mitch. 

    Jill Britton: Thanks.

    Ashley: Let’s start off with some introductions. Since you’re ahead in the time zone here, Jill, how about you go first?

    Britton: Okay, thanks. I’m Jill Britton. I’m the director of compliance for static analysis tools here at Perforce. I look after areas regarding coding standards, functional safety standards, security standards, anything in that area.

    Ashley: Excellent. Stuart, you want to introduce yourself? Tell us about Perforce, too. 

    Foster: Sure, yeah. I’m Stuart Foster. I’m a product manager for our static analysis products, both Klocwork and Helix QAC. And a little bit about Perforce, we help with enterprise development and DevOps at scale. We have a lot of various tools that help accelerate development projects in terms of your planning. So we have project and portfolio management tools, requirements management tools. We have things that help in the create area of the DevOps infinity circle for issue management version, asset management, code review. We have static analysis. We have various functional test case management and things like that that also fit in the verify. And we have a lot of tools that are here to drive your product at a high quality to market. 

    Ashley: Excellent. Excellent. Well, very timely conversation at least here in the U.S. with security of software, in this case distribution with the SolarWinds situation. We’re not going to be talking about that, but strongly the topic of secure applications is right in there, right at the top of the list. Let’s first start, I know we’re going to get into some coding standards and some things like that to equip people with some things that they can use. Maybe we first start with DevOps is more than just – and shift-left is more than just, okay, let’s start having meetings or talk on Slack with the security people and then suddenly we’ve shifted left. You know, there’s a lot more to how we really integrate security into the process of creating software. Maybe, Stuart, if you want to start sharing some of your thoughts about that and of course, Jill, get your perspective as well. 

    Foster: Sure, yeah. I mean you think about DevOps, you think about agile development and it’s the ownership of code; but outside of simply delivering functional requirements for your products, your applications, you know, a lot of teams are just thinking about security. So there’s a necessary to build that in directly. And what that leads you in to is selecting tools, selecting processes to ensure that you’re kind of baking in the security into your pipelines and making it automatic. That starts with thinking about coding standards and things like that. So there’s plenty of secure coding standards that you can focus down on. I think Jill has a couple of words for that.

    Ashley: I’m sure you do. Go ahead, Jill.

    Britton: Oh, I have many, many words on that. The important thing is that you pick the standard that you are going to be comfortable with, that you are going to be able to apply. If you’re supplying a product to a supplier, you will probably be told which ones to use. But you’ve got I think that cert – oh, where, it’s from Carnegie Mellon University. They’ve been looking at security for many years now and it builds up and it also takes experience from both academia, tools, developers, actually anybody who wishes to contribute and then of course it is looked at all the contributions. So this good security standard because it is there.

    But connected to that you’ve got the Common Weakness Enumeration so administered MITRE, and that is actually just a collection of vulnerabilities that have been seen and proved in the field. So you’ve got this whole wealth of experience and you want to avoid doing what the problems other people have seen. That’s where these kind of standards come in. CWE I would argue isn’t a coding standard. It’s more a measure. You know, have I seen this problem? Have I got this problem? And there’s another related set of numbers, let’s put it that, which is common vulnerabilities and that’s even further down the line. Before you even get to see weaknesses, there are vulnerabilities and you just have to use this information in your own developments. Don’t do what somebody else has already done is kind of the way to look at it in security in particularly. 

    Ashley: It isn’t like we don’t know how to create secure software. We do but we kind of do the same thing over and over, the same mistakes, right? 

    Britton: That’s right. 

    Ashley: Sometimes just out of not knowing and sometimes just human error. Sorry, Stuart, you were going to jump in there too. 

    Foster: I was going to say, so effectively one of those, CWE is effectively describing issues that are not necessarily related directly to a language; and the other ones are specific rules that you follow to ensure that you don’t run in to these types of vulnerabilities or weaknesses, right?

    Britton: That’s right. That’s it.

    Ashley: Yeah, there are specific things that are in Java, PHP, you know specific languages that are very well used, very popular of course. Go ahead, Jill.

    Britton: No, the thing is when you look at the CWEs, they are categorized to languages or to systems or just to general sort of areas; but there are then what they call the lists. So you’ve got a list for C and a list for C++ and there’s a list for Java. Then you also have a top 25. Now a top 25 may or may not apply to your own product, but it’s always worth having a look. If those ones don’t apply, there’s another sort of secondary list. It’s emerging, and you could look there. There’s always something to check against for any sort of software.

    Ashley: Are most of the things on that list you find have been there for a while? SQL injection, buffer overflows, things like that? Or do they tend to be newer things? Are we seeing the same things over or would we find a lot of new things?

    Britton: It’s a variety. You do see the same ones over and over again. There are some weaknesses that were on the 2011 list and are still in the 2020, but there are new vulnerabilities as new types of development come in and you get more skilled hackers really. You’ve always got to consider that the hacker is always one step ahead.

    Foster: And you kind of see that these standards or these top 25 lists, they change after every couple of years and they spend their time kind of reviewing the vulnerabilities that have been found in opensource projects and other places and kind of give them a weighting. So while you may see the top 25 have a pretty similar overlap between multiple years, their rankings change. So it kind of shows to you that in general software is becoming more secure but not as secure in these new areas. So you see some vulnerabilities lower and the new ones come up at a higher rate. I think it also depends on where software development is currently is in terms of market. What’s the new hotness? Is it Internet of Things connected to software? Is there a new language coming out that has never been attacked? So you see the priorities change on these top 25 lists.

    Ashley: Let’s step back for a moment. How would a development team or developer – I assume most folks are probably familiar with at least CBEs or some things like that, but maybe they haven’t dived into the top 25 for CWEs. What’s the best way to do that? Is it just go out and read about them, educate yourself? Do people, do development teams like, okay, I’m gonna dive into this and research a little bit more and I’ll share with you or how do people apply this to their teams?

    Britton: Well, there’s several ways they apply it. Sometimes they just hear about it, something like we’re doing talking today; and they go, oh, is this going to be relevant to me. And look, it’s a few things. As I said, sometimes a supplier specifies the angles to have proof that you’ve checked against this. And of course the static analysis tool, we can map checkers and messages against these vulnerabilities and these weaknesses so that we can show your code is exhibiting these features. But it’s really important to know what you’re going to be looking for and then do something about it as the static analysis tools can show you, yes, you’ve got this vulnerability but really it’s not off point just leaving there. You must do something about it.

    Ashley: You know, it’s interesting. So many, not everyone of course, so many of the vulnerabilities are about input, right, to a user interface of some type, web, OS command, mobile device. It’s a lot about neutralizing, dealing with the input that you’ve received, making sure that they’re not injecting something that they shouldn’t, getting access to a directory, all kinds of things like that. So it’s things that apply across multiple technology stacks and multiple applications. So generally speaking it’s not like this is a skill you’re going to use on one app and then you have to relearn it for the next app. You carry that stuff with you. It’s part of your skillset you build as a software engineer. 

    Britton: Yeah, it’s education, isn’t it? You know, it’s just everybody gets more and more experience of this type of issue. It’s not that long ago that security wasn’t at the heart, but now it is.

    Foster: And if you think about it, you know there’s kind of different levels of maturity in terms of security, right? You start developing because you know you have some types of vulnerabilities and you start working towards that. But if you think more longer term about your projects and how they might be very important IP or pieces of software that are embedded over time, it becomes more important to think about security because, you know, being able to fix some issues that you know about versus following a secure coding standard to ensure that the reliability, the strength and hardening of your software to begin with means that years down the line when somebody has integrated your piece of software into some type of embedded system that can never be touched, then you’re lowering the risk of there being vulnerabilities permanently out in the market for a very, very long time. So that becomes kind of the second level maturity when you’re developing and thinking about developing more secure software.

    Ashley: Now you mentioned, I forgot which one of you mentioned something about you might encounter something under a contract with the customer that requires specific security standards. One example I know that you all deal with quite a bit is ISO 26262 for automotive industry. Here you’re dealing with safety of course as well as security. Talk a little bit about how something – do the industry-specific standards really kind of go off the reservation to do something really different or are they building on what we do generally in software and then applying it to their specific domain?

    Britton: We could take ISO 26262 which is for vehicles. It’s very much good practice. It’s nothing totally off the scale. They recommend for software the use of a coding standard. You are allowed to use any coding standard you like, but then there are specific categories of software violations that you need to be able to detect so whatever you do. MISRA is sort of the classic for 26262 because it was developed for vehicles. But you have other industries with very, very similar requirements from software and now we’re moving into the scale of security. Back to vehicles again, it’s ISO 21434 which isn’t out yet; but that also requires the use of a coding standard and the violations they’re looking for are still very, very similar. It’s the same type of things. Quality software is what we’re always looking for.

    Foster: Because as I kind of mentioned a minute ago, you think about a car, that’s a big rolling embedded system that’s more or less permanent once it’s complete and it’s really hard to fix later. So you can understand how security as an oops, we’ll go back and fix it versus security as a process becomes more important. That’s exactly why ISO 21434 is becoming a thing or will becomes a thing once it’s releases. But we already have customers in industries looking at it and following along and understanding what that impact is going to be because to connect the cars was a big rolling computer.

    Ashley: You know, this is a little bit kind of parallel to just creating software but not too long ago I went through a web trust audit and very much like a standard like you’re describing it is do you have a process, do you have something that you follow, should follow, and do you follow it and do you have evidence of that. So many of the standards are just the technical details of what you should do to write pure code. It’s do you have the processes around that and are you following those and in some cases you do an audit. Necessary if you want a WebTrust, for example, certification or others. So it’s not just writing secure code, it’s if you say you’re going to do it, then you have to do it and demonstrate that you’re doing it and have some form. So what I’m saying is it’s really an investment that you’re making by writing secure code following some of these standards, but then that’s going to help you down the road meet other requirements. 

    Foster: Yeah, it makes it easier when you’re trying to implement say ISO 27001 which is information management security management requirement compliance thing. And there’s controls in there and what you’re talking about per the audit is putting in controls for your business and there are various areas in those controls that in many ways relate to the software that’s developed within the company. So yeah, by following some of these security standards you’re in essence helping with those controls later when/if you go and certify your company as that type of ISO requirement.

    Ashley: You know, Jill, I know you deal a lot with governance and some compliance and things like that. What are some of the best practices around secure software? We’ve touched on quite a few already but are there some other thoughts on other best practices to help people move up that maturity scale?

    Britton: Well, it’s a very basic part of any process really. Choose your metrics. How are you going to actually measure and see how you are progressing through your process? And similarly to software weaknesses, when you get your metrics, what are you going to do with them? There’s no point in collecting a whole collection of them and saying, yep, we’ve got our metrics. What does it mean? Does it mean that we have got 27 security violations last week? Oh, great, we’ve got a number. But what are we going to do about those 27 or so security violations? Again, it’s back to process. What is your process? What is an acceptable level of these metrics? And you can have metrics working all the way through the cycle right from requirements to development and test. You can actually have measures of how you are progressing through your cycle.

    Foster: And also what you find when you look at a lot of these security standards and their vulnerabilities, they have kind of the impact likelihood, cost to remediate, potential issue or risks that you see in the market when one goes out. So alongside that, a lot of the standards as well have kind of a risk scale or a prioritization that helps you – gives you an idea of where to start. And then in terms of the process, it’s not always a matter of running a tool or trying to follow these standards and trying to fix all the bugs. It’s important to start somewhere. What we typically call it is baselining where you kind of know your current quality of your software as it is right now, and the point is to start following a security standard and stopping new vulnerabilities from being introduced, and then you can go back and start working on the prioritization of what to fix to start cleaning up. Right?

    And also when you look at it and it seems insurmountable, you might want to spend some time looking at your past kind of customer weaknesses that were found or bugs that were found and kind of understanding in addition to what the standard is important, looking at what types of vulnerabilities you’ve produced or have reported back and focus there. That’s a good start, you know? You know kind of what your developers’ training weaknesses are and then you can implement kind of teaching, learning, training processes as well to help getting your development team more comfortable, more experienced in dealing with these types of issues. 

    Ashley: Sometimes also building on what you said, it can help bring to light other issues along the process like, for example, we keep getting libraries introduced into code that we don’t realize are there and they show up as a security vulnerability. Okay, well, let’s go fix that part of the process too so we know that those things are there and when updates happen they go through some defined process. Another one might be it’s not just new things we find but also repeats, things we consistently find, occasionally over and over whatever frequency. Okay, if we’re fixing them but how do we stop introducing them? What are good ways to help that? It might be education tools, et cetera. Lots of ways to do that. So to both of your point, to your point too, Jill, don’t ask questions you’re not going to do something about the answer, right? 

    Britton: That’s right. That’s exactly right.

    Ashley: So you have to take action on it and of course that’s ultimately why you’re doing it. You’re not just going through the motions to meet some paper standard because that will catch up with you very quick if you do something like that. 

    Britton: _____. It will. You’re absolutely right.

    Foster: Just buying yourself technical debt and risk.

    Ashley: Yeah, exactly. And it will catch up with you. How do you introduce this to some people words like process, standards, compliance, audits, anything with an ISO in front of it? Those kinds of things just sort of kick up the you’re cramping my style here, right? You’re putting a damper on my ability to be creative and write code. I’m bring a little bit hyperbolic, but not everybody reacts to those things favorably. How do you position this with organization so that it’s not just a dreaded thing we have to do, there’s actually really business value to it and it’s good for you and your career?

    Britton: Well, the whole thing with following a process is the developers can be involved in this process and then go through their careers excel help develop this process. But the process shouldn’t be stifling. It should never stifle the creativity. The whole idea of the process is tell me what you do and how do you prove that’s what you do? Okay, that’s fine. Now maybe how can we tweak it and do a little better? It’s the pro thing of continuous improvement that comes up in all the audits.

    We’re actually ISO 9001 certified. So we’re all going through this on a regular basis. You know, but we’re not trying to stifle our developers. They will say, “Well, okay, we have this process. It’s not quite working for us. Can we make some modifications?” We go, yeah, looks fine. We talk to the necessary people and usually it’s absolutely fine. So we involve the developers all the way through and they will then follow it because it’s their own process. 

    Foster: Yeah, I think the goal is the least amount of friction and introducing it over time. And as Jill said, there’s continuous improvement, right? It’s a long-term goal. It’s not something that’s done once and you get over the big hump of pain and it’s a ton of crunch work. It’s just something that you do over time. You look at agile development, right? People do standups. There’s processes, you know. There’s a level of documentation and planning that isn’t overly annoying. You know, the goal of DevOps is to automate a lot of those finicky processes so that they’re fast, they’re repeatable, they give time back, right? They report information back as quickly as possible so that they can be resolved quickly, right? That’s just lowering the friction, the pain of going back and fixing a feature or some sort of development commit, right? And then you’re just layering on another check layer of security, right? And it should be painless. It should be easy.

    As you mature over time, then the quality is going to get better and that goes back to the metrics that Jill was mentioning, not just having a number but seeing that number go down. And then having your teams be able to see that kind of dashboard or information as a feedback mechanism to say, you know, you can visually see the qualities improving. You know, customer reports of issues from the field are going down because our quality is going up. Why? Not just because of security but because of all the automation and the unit tests and checks that you have written and you’ve made the effort to produce better quality code and it’s going to pay dividends. 

    Ashley: I like the idea of tying it a continuous improvement process whether you label that as quality or other things because you can apply that to your DevOps process, to your tool chain, to the quality of your code, safety, security, making compliance easier for you, just improving your overall how you write software, maybe workflows and things like that. So you can make some of these compliance activities or standards activities really part of just maturing your organization and getting better at what you do, working on the organization as well as in it.

    Question for you, how do things like the privacy laws, you know, GDPR, CCPA for California, do those fall into this realm as well? Do they impact the developers as we’re talking about the use of customers’ information and of course we’re handling that in the applications? Is that something developers need to be that familiar with or is that more of the marketing department that are sending e-mails to people?

    Britton: It’s not greatly down with the developers, but it really depends on the type of data that they’re handling. Looking at the tools that Stuart and I work with, we’re not getting/bringing in external tools because it’s a static analyst tool. So we’re not looking at that. But when you get to things in the field, the developers have to be aware if they are going to be handling personal information and they then do have to have GDPR and that has to be included into any process – how are we going to handle this.

    Foster: Yeah, and there are coding rules that, you know, try to help with these types of things. You know not having hard coded secure passwords, not using magic numbers, various levels of encryption that should be written, or warnings that you’re using an outdated type of like encryption in your software, the ability to handle unvalidated inputs and outputs. Things like that are going to help cover some of the requirements for GDPR. So you need to kind of understand how your system is interacting with other systems and securing your APIs and all things like that. So it’s not just your piece of software at that point. Your developers need to be aware as to how your software is going to be used and implemented and how it’s going to communicate with other pieces of software or systems. 

    Britton: That brings us back to the weaknesses we were discussing earlier because there are weaknesses that actually cover that type of data.

    Ashley: Exactly.

    Britton: What are you doing with it.

    Ashley: Vulnerabilities in our software could lead to the loss of data. That could be a violation of those privacy laws of course, as well as other impacts, whatever it was. Well good. This has been a lot of fun. I’ve really enjoyed talking with you about this aspect of creating secure software. We’ve mentioned static code analysis and tools a little bit. I know this isn’t a commercial about Perforce, but would one of you just kind of position for us where in the process of what we talked about today where Perforce really plays in kind of your specialty in this area?

    Foster: Yeah, sure. So in terms of our product which our static analysis products, both Klocwork and Helix QAC, we fit in many different areas of kind of a development pipeline and process. We exist to make sure vulnerabilities are found while the developer is currently typing their code on their desktop. We also fit in for gated checks and quality checks in your SI/CD pipelines so we can quickly report back issues and also your typical if you’re running a nightly on a server or if you’re deploying checks and building your software in the cloud and provision instances and any sort of thing like that. We’re basically available anywhere. So we help you shift left as far as you want. We provide those security checks anywhere just for the ability to drive what I would call continuous compliance. 

    Ashley: Excellent. Great. Well, Stuart, Jill, it’s been a lot of fun talking with you and hope everyone – wish you the best in your journey on creating even more secure software. We’ll speak with you again soon. Take care. 

    Foster: Awesome. Thanks, Mitch. 

    Britton: Thanks.

  • What is SAST? Overview + SAST Tools

    What is SAST? Overview + SAST Tools

    Static Application Security Testing Overview

    With the growing number of cybersecurity threats, you must ensure that your software is protected against potential vulnerabilities and threats. One of the most beneficial practices is to use static application security testing (SAST).

    What You Need to Know
    Static application security testing is a type of software test used for inspecting and analyzing code to identify security vulnerabilities. Software security tools — such as static code analyzers — scan your code as it’s being written to identify potential weaknesses, errors and bugs. These kinds of tools are invaluable to software developers, as they are able to detect the most prevalent and common software security vulnerabilities.
    How It Works
    In the simplest terms, static application security testing works by having a static code analyzer check your code for design and coding flaws that could make your software vulnerable to security vulnerabilities. During this inspection, the static code analyzer will identify security issues, including programming errors, unsensitized input processing and vulnerable constructs.
    Problems That It Solves
    In general, static application security testing has been designed to solve three main software development problems:

      1. Detecting source-code vulnerabilities. The most significant benefit of using a static application security testing tool is identifying software security issues early on in development when they are easier (and less costly) to fix.
      2. Eliminating late diagnostics. A common cause of massive technical debt is late diagnoses of problems in the source code. However, by using a static application security testing tool, you are able to easily diagnose the vulnerabilities and errors in your code.
      3. Enhancing root-cause analysis. With a static application security testing tool, you receive notifications that pinpoint the exact location of vulnerabilities and errors in your code.

    To learn more about static application security testing and how it can help ensure the security of your software, please visit: https://www.perforce.com/blog/kw/what-is-sast?utm_source=content-syndication-devops&utm_medium=content-syndication&utm_campaign=kwk-global-2021-wtl-demo&utm_content=what-is-sast

  • Top 10 Common Software Vulnerabilities

    Top 10 Common Software Vulnerabilities

    An essential part of an effective software security process is being familiar with software vulnerabilities, which are flaws or weaknesses in your code. Often, testing and manual code reviews are unable to identify every single vulnerability, which can impact the performance and security of your software. For that reason, it is important to have a working understanding of software vulnerabilities as it will enable you to more effectively manage potential security threats.

    The top 10 most common security vulnerabilities are as follows:

    1. Insufficient Logging and Monitoring: Insufficient logging and monitoring process are dangerous as they leave your data vulnerable to tampering, extraction, or even destruction.
    2. Injection Flaws: Injection flaws can trick the targeted system into executing unintended commands as well as provide untrustworthy agents access to protected data.
    3. Sensitive Data Exposure: Sensitive data—which includes addresses, passwords and account numbers—must be adequately protected against human-error and security breaches to avoid potential exposures.
    4. Using Components with Known Vulnerabilities: Components—which are made up of libraries, frameworks and other software modules—are often run on the same privileges as your application. Which means if a component is vulnerable, those weaknesses can be exploited in an effort to access your application.
    5. Cross-Site Scripting (XSS) Flaws: Cross-site scripting flaws can be exploited by untrustworthy agents in an effort to execute their own scripts in your system.
    6. Broken Authentication: If authentication and session management application functions are implemented incorrectly, a software vulnerability can be created.
    7. Broken Access Control: If user restrictions are broken, it can create a software vulnerability that can be exploited.
    8. XML External Entities (XXE): In order to properly understand an XML data, an XML parser is necessary. However, if the parser is poorly configured and the XML input that contains a reference to an external entity, it can provide a flaw that an untrustworthy agent can exploit.
    9. Security Misconfiguration: Security misconfigurations are often brought upon for numerous reasons, including: insecure default configurations, incomplete or impromptu configurations, open cloud storage, misconfigured HTTP headers and wordy error messages that contain sensitive information.
    10. Insecure Deserialization: Deserialization flaws often result in remote code executions, which enables untrustworthy agents to perform replay, injection and privilege escalation attacks.

    Prevent Software Vulnerabilities

    In order to efficiently and effectively prevent software vulnerabilities, we recommend the following best practices:

    • Establish software design requirements.
    • Use a coding standard.
    • Test your software.

    To read more, please visit: https://www.perforce.com/blog/kw/common-software-vulnerabilities

  • 5 Ways to Accelerate Standards Compliance With Static Code Analysis

    5 Ways to Accelerate Standards Compliance With Static Code Analysis

    In mission- and safety-critical industries, static code analysis is essential to facilitating the development of robust and reliable software. However, according to VDC Research, a B2B technology market intelligence and consulting firm, only 27% of embedded developers report using static code analysis tools. This raises an important question: Why is the adoption rate for static code analysis tools so low, when they are more effective than manual code reviews at finding coding errors, weaknesses, and vulnerabilities?

    In this webinar, we’ll answer that question, as well as explain how to effectively implement a static code analysis tool in your software development process. In addition, our presenters will review the results of the VDC Research paper on software development trends, techniques and best practices for standards compliance within embedded software development teams.

    Three key takeaways from the webinar include:
    1. Understanding trends for standards compliance.
    2. Identifying common challenges for automotive, medical, industrial automation and other types of embedded software applications.
    3. Learning best practices for achieving compliance using different tools, techniques, and processes.

     

    To read more, please visit: https://www.perforce.com/webinars/kw/5-ways-accelerate-standards-compliance-static-code-analysis