Reader small image

You're reading from  Practical Internet of Things Security - Second Edition

Product typeBook
Published inNov 2018
Publisher
ISBN-139781788625821
Edition2nd Edition
Right arrow
Authors (2):
Brian Russell
Brian Russell
author image
Brian Russell

Brian Russell is the founder of TrustThink, LLC, where he leads multiple efforts towards the development of trusted IoT solutions. He has over 20 years of information security experience and has led complex system security engineering programs in the areas of cryptographic modernization, cryptographic key management, unmanned aerial systems, and connected vehicle security. He is the co-chair of the Cloud Security Alliance (CSA) IoT Working Group and was the recipient of the 2015 and 2016 CSA Ron Knode Service Award. Brian is an adjunct professor at the University of San Diego (USD) in the Cyber Security Operations and Leadership program.
Read more about Brian Russell

Drew Van Duren
Drew Van Duren
author image
Drew Van Duren

Drew Van Duren has provided 20 years of support to commercial and government customers in their efforts to secure safety-of-life and national security systems. He has provided extensive applied cryptographic design, key management expertise, and system security architecture design through rigorous integration of system security design with the core engineering disciplines. Drew has managed as Technical Director the two largest FIPS 140-2 test laboratories, security-consulted for the New York City Connected Vehicle Pilot Deployment, and participated in multiple standards groups such as the RTCA, SAE, and IEEE 1609 working group. Today, he supports the IEEE P1920 committee heading security architecture for unmanned aircraft aerial networks.
Read more about Drew Van Duren

View More author details
Right arrow

Chapter 3. Approaches to Secure Development

IoT systems are evolving, as new capabilities that take advantage of IoT connectivity continue to be introduced. Autonomous shuttles will soon ferry riders around connected cities, relying on streams of environmental and traffic data to operate safely and make scheduling decisions.

Manufacturing plants are already incorporating collaborative robots (cobots) that increase efficiency and improve performance. Industrial control systems are gaining access to new data sources, for better decision making through cloud connectivity.

These new complex and connected engineering projects must be designed to be safe and resilient, while at the same time assuring the confidentiality and integrity of sensitive information.

This chapter discusses processes and approaches that can be used to develop safe, secure, and resilient IoT systems. We will cover the following topics:

  • The Secure Development Life Cycle (SDLC)
  • Handling non-functional requirements
  • Verification...

The Secure Development Life Cycle (SDLC)


How security is handled in the development life cycle is frequently a reflection of the industry and its conventional or dictated development methodologies. Some product types, such as aircraft or cars, are simply not amenable to pure Agiledevelopment methodologies, because of the complexity and dependencies built into their supply chains, and the absolute nature of the intermediate and final delivery dates of their products.

Regardless, in many cases, development organizations do have some latitude when selecting a development methodology. This section spells out common development approaches and provides guidance on implementing security rigor within those approaches.

When selecting a development methodology, building security in from the beginning means that well-thought-out security, safety, and privacy requirements are elicited, and made traceable throughout the development and update of an IoT device or system. By system, we mean a collection...

Handling non-functional requirements 


Non-functional requirements handle the aspects of the system that are not directly related to the functionalities of the system. SEBOK—the systems engineering body of knowledge maintained jointly by INCOSE and the IEEE computer society (https://www.sebokwiki.org/wiki/Non-Functional_Requirements_(glossary))—defines them as follows: 

Quality at

tributes or characteristics that are desired in a system, that define how a system is supposed to be.

Non-functional requirements include security, performance, availability, resilience, safety, reliability, dependability, scalability, sustainability, portability, and interoperability.

IoT systems will require different variations of these requirements, depending on the context in which the system is designed to operate (C. Warren Axelrod, Engineering Safe and Secure Software Systems, Artech House).

 

For example, an IoT system that provides management features for a critical infrastructure system will have more safety...

The need for software transparency


Software transparency provides development teams with a solid understanding of the components within their products. 

As of the time of writing, there are efforts to enhance the transparency of software through efforts such as the Software Bill of Materials (SBOM), led by the National Telecommunications and Information Administration (NTIA). An argument can be made that having an IoT product SBOM is a side-effect of having good development processes in place. 

Transparency also provides a valuable tool within the software supply chain. Providing users with an understanding of the third-party libraries used within a product can provide those users with important security knowledge.

For example, the OpenSSL Heartbleed vulnerability discovered in 2014 resulted in a worldwide, catastrophic security hole exposing the majority of the internet's web servers (read more at https://en.wikipedia.org/wiki/Heartbleed). Many companies did not even know about their exposure...

Summary


This chapter explored development methodologies that can be used to develop IoT products. We discussed the waterfall, Spiral, Agile, and DevOps methodologies, and reviewed ways in which security engineering can be used to define and track security requirements, and build security into the design phase of a product.

We discussed non-functional requirements, including security, safety, and resilience, and touched on the need for software transparency and automation in the verification and validation process. 

In Chapter 4Secure Design of IoT Devices, we will discuss the challenges that IoT system developers face when trying to secure their systems, and a set of secure design goals for IoT systems.

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Practical Internet of Things Security - Second Edition
Published in: Nov 2018Publisher: ISBN-13: 9781788625821
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Authors (2)

author image
Brian Russell

Brian Russell is the founder of TrustThink, LLC, where he leads multiple efforts towards the development of trusted IoT solutions. He has over 20 years of information security experience and has led complex system security engineering programs in the areas of cryptographic modernization, cryptographic key management, unmanned aerial systems, and connected vehicle security. He is the co-chair of the Cloud Security Alliance (CSA) IoT Working Group and was the recipient of the 2015 and 2016 CSA Ron Knode Service Award. Brian is an adjunct professor at the University of San Diego (USD) in the Cyber Security Operations and Leadership program.
Read more about Brian Russell

author image
Drew Van Duren

Drew Van Duren has provided 20 years of support to commercial and government customers in their efforts to secure safety-of-life and national security systems. He has provided extensive applied cryptographic design, key management expertise, and system security architecture design through rigorous integration of system security design with the core engineering disciplines. Drew has managed as Technical Director the two largest FIPS 140-2 test laboratories, security-consulted for the New York City Connected Vehicle Pilot Deployment, and participated in multiple standards groups such as the RTCA, SAE, and IEEE 1609 working group. Today, he supports the IEEE P1920 committee heading security architecture for unmanned aircraft aerial networks.
Read more about Drew Van Duren