Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Endpoint

10/19/2015
11:00 AM
Lev Lesokhin
Lev Lesokhin
Commentary
Connect Directly
Twitter
LinkedIn
RSS
E-Mail vvv
50%
50%

Secure Software Development in the IoT: 5 Golden Rules

The evolving threat landscape doesn't merely expose developers to new problems. It exposes them to old problems that they need to address sooner, faster, and more frequently.

Smart hardware is only as good as its software. Manufacturers have known for a long time that putting "glitchy" software on-board devices is asking for trouble. We’ve seen countless examples of violations of good coding and architectural practices that cause an application to be less reliable and less secure.

In the Internet of Things, this can be downright dangerous. If the smart device is a light switch that turns on when you enter the room, badly written code might result in a stubbed toe. But if it’s a "smart" smoke alarm, fire sprinkler system, or a pacemaker (which can typically contain up to 100,000 lines of code), human lives may be on the line.

The evolution of the landscape is not really creating new problems. Rather, it is exposing developers to problems and capabilities of which they are already well-aware -- at least in some circles. For example, enterprise and web developers are very familiar with the need for robust security against local and remote attacks. The notion of input validation as a first line of defense is well accepted in connected systems today. But IoT development is expanding the scope of those concerns in that embedded, device, and mobile developers now need to start considering security challenges such as input validation during development because it will be too costly to redesign onboard systems to include these defenses after they have been shipped.

In the IoT ecosystem, first-to-market is a competitive driver, and developers will be under further pressure to get products released. However, this could mean sacrificing quality and dependability for speed -- already an issue in many software-intensive environments today. Despite developers’ best intentions, management is always looking for short cuts. Third-party components help offload some of the burden, but in the IoT, with more complexities and upkeep, components will need to be maintained and updated to address problems, like security vulnerabilities, much faster. To meet those demands, developers need to institute several “golden rules for IoT”:

Rule #1: Make proper code review and repeat testing a priority. Manufacturers will need to communicate this message to development teams and call for stricter software quality measures. One bad miscommunication between an application, a sensor and a hardware device can cause systemic failure. 

Rule #2: Software assurance is more critical than ever. Continuous deployment in the connected world will be business-as-usual. Updates will occur non-stop and will often be pushed, perhaps multiple times a day. If the software isn’t continuously monitored and the code evaluated, this almost certainly guarantees failure.

Rule #3: Management must take responsibility for software risk. One way to evaluate issues like reliability, security, or performance at a high level is through analytics that loop business leaders into where the vulnerabilities lie, in order to protect customers and meet the company’s fiduciary responsibility to shareholders. Another way is through benchmarking. Knowing the baseline starting point and comparing it to industry performance provides fact-based insight.

Rule #4: Up the game for structural quality analysis. For some enterprise IT developers, this might be a familiar environment, especially if they are running mission-critical systems, like a utilities provider or a bank. But, ordinary app and device software developers could suddenly find themselves needing to take much more rigid precautions, such as the same degree of structural quality analysis and code review required by software engineers for airline autopilot systems.

Rule #5: Make software quality and security education a priority. We all need to evangelize the fact that security vulnerabilities caused by poor coding or system architectural decisions can be some of the most expensive problems to correct.

A significant standards initiative surrounding quality will provide manufacturers and IT departments with a consistent way to measure the quality of their software. The Object Management Group recently approved a set of global standards proposed by the Consortium for IT Software Quality (CISQ) that would help companies quantify and meet specific goals for software quality. CISQ’s measurement standards include security, reliability, performance, and maintainability. This will allow businesses to certify the quality of their codebases and IoT networks.

By its nature, size, and complexity, software is almost impossible to completely protect from disruptions and breaches. In the IoT, those complexities will expand. Understanding the importance of a secure architecture foundation and insisting that developers comply with industry standards will be the first line of defense. After that, you’re on your own. 

Lev Lesokhin is executive vice president of strategy for CAST. He is responsible for market development, strategy, thought leadership and product marketing worldwide. He has a passion for making customers successful, building the ecosystem, and advancing the state of the art ... View Full Bio
 

Recommended Reading:

Comment  | 
Print  | 
More Insights
Comments
Threaded  |  Newest First  |  Oldest First
COVID-19: Latest Security News & Commentary
Dark Reading Staff 8/14/2020
Lock-Pickers Face an Uncertain Future Online
Seth Rosenblatt, Contributing Writer,  8/10/2020
Hacking It as a CISO: Advice for Security Leadership
Kelly Sheridan, Staff Editor, Dark Reading,  8/10/2020
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
7 New Cybersecurity Vulnerabilities That Could Put Your Enterprise at Risk
In this Dark Reading Tech Digest, we look at the ways security researchers and ethical hackers find critical vulnerabilities and offer insights into how you can fix them before attackers can exploit them.
Flash Poll
The Changing Face of Threat Intelligence
The Changing Face of Threat Intelligence
This special report takes a look at how enterprises are using threat intelligence, as well as emerging best practices for integrating threat intel into security operations and incident response. Download it today!
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2020-17475
PUBLISHED: 2020-08-14
Lack of authentication in the network relays used in MEGVII Koala 2.9.1-c3s allows attackers to grant physical access to anyone by sending packet data to UDP port 5000.
CVE-2020-0255
PUBLISHED: 2020-08-14
** REJECT ** DO NOT USE THIS CANDIDATE NUMBER. ConsultIDs: CVE-2020-10751. Reason: This candidate is a duplicate of CVE-2020-10751. Notes: All CVE users should reference CVE-2020-10751 instead of this candidate. All references and descriptions in this candidate have been removed to prevent accidenta...
CVE-2020-14353
PUBLISHED: 2020-08-14
** REJECT ** DO NOT USE THIS CANDIDATE NUMBER. ConsultIDs: CVE-2017-18270. Reason: This candidate is a duplicate of CVE-2017-18270. Notes: All CVE users should reference CVE-2017-18270 instead of this candidate. All references and descriptions in this candidate have been removed to prevent accidenta...
CVE-2020-17464
PUBLISHED: 2020-08-14
** REJECT ** DO NOT USE THIS CANDIDATE NUMBER. ConsultIDs: none. Reason: This candidate was withdrawn by its CNA. Further investigation showed that it was not a security issue. Notes: none.
CVE-2020-17473
PUBLISHED: 2020-08-14
Lack of mutual authentication in ZKTeco FaceDepot 7B 1.0.213 and ZKBiosecurity Server 1.0.0_20190723 allows an attacker to obtain a long-lasting token by impersonating the server.