Re: [Secdispatch] [Smart] New Version Notification for draft-lazanski-smart-users-internet-00.txt

Phillip Hallam-Baker <> Mon, 15 July 2019 18:08 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id CCDA9120196 for <>; Mon, 15 Jul 2019 11:08:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.557
X-Spam-Status: No, score=-1.557 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.091, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001, LOTS_OF_MONEY=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id QUcFj3d2Enad for <>; Mon, 15 Jul 2019 11:07:59 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id AB94A120124 for <>; Mon, 15 Jul 2019 11:07:59 -0700 (PDT)
Received: by with SMTP id z23so17963361ote.13 for <>; Mon, 15 Jul 2019 11:07:59 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=9Hun1S8TTyCGuQDnqUa1V67rfDOvBK5N5U0XN5R1D+k=; b=nirCYDoslI0hSOScy4rvUbzTvLTL+z5n5Z7rQlqpl62aBaE4VpwnGtVaE3HJMuk1Y8 qp6yLazNfbcotg0FuEi0Yr7lXs4wbuhqsKHUS4JsXUV4YnCgmVtxmg3imY8+ET8MMMph XWMnP7noAjmecgSyGLWR3vsiZC+8N3mBuV+n1ZMd0gU8b73xAs6SslMqT/cJK5DPi9Ay QPg4use1NNLcsjHGgkdDtkbzAdUqpoAH3nMfpJIGiaD4JkSBy/nzL1hwobnutgptdUjh soppO6egJfsvRLYh7+T+xK2PN0jzVG5OZGilct3yvg63Tvs/0k8ZQk9ckqbos3mFZEqV JrkQ==
X-Gm-Message-State: APjAAAVLqDno8IuOXNWp1qCGT4hZgnPYRBZmpGPKMEn36ZhEE3uq/o3Q SsHUF8XvWPYMrxN5dqrmLVjMqXbUQyvXb4HJ/yE=
X-Google-Smtp-Source: APXvYqx+K306ZcekV/l5FVVetP1uvTQQXRBN1FObUSn0gCdqwjawwFXgyUF0Ba9coOcFaEv5iS7LuNiBEFSbClhcX8c=
X-Received: by 2002:a05:6830:1206:: with SMTP id r6mr21488960otp.37.1563214078954; Mon, 15 Jul 2019 11:07:58 -0700 (PDT)
MIME-Version: 1.0
References: <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <>
In-Reply-To: <>
From: Phillip Hallam-Baker <>
Date: Mon, 15 Jul 2019 14:07:48 -0400
Message-ID: <>
To: Eliot Lear <>
Cc: Bret Jordan <>, Melinda Shore <>, IETF SecDispatch <>
Content-Type: multipart/alternative; boundary="000000000000e2510b058dbc23ad"
Archived-At: <>
Subject: Re: [Secdispatch] [Smart] New Version Notification for draft-lazanski-smart-users-internet-00.txt
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Security Dispatch <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 15 Jul 2019 18:08:02 -0000

On Mon, Jul 15, 2019 at 12:16 PM Eliot Lear <> wrote:

> Phil,
> On 15 Jul 2019, at 18:03, Phillip Hallam-Baker <>
> wrote:
> I am pretty sure this is not security 101 stuff. In fact I am pretty sure
> that it will be quite a while before the academy really gets to grips with
> this stuff. They don't have the same biases we do but they have different
> ones.
> For example, the need to patch systems is brought up and this is almost
> always seen as a good thing. Not in the process control world it isn't. The
> problem of unauthorized updates is a very serious concern for them.
> I think I agree with your thesis statement but not your supporting
> statement above.  There are a great many “best practices” that are coming
> out, and they all to a one usually involve usernames and passwords for a
> good number of devices that might not require either.  And in fact, the
> idea of a password for machine controlled devices is Just Bad.
> Patches themselves from the vendors are absolutely *required* to be
> available, but the timing of their installation needs to be left to
> customers based on when – if at all – those devices can allow for a window
> where the device may miss a beat.  But even in these cases, process control
> systems need in service upgrade mechanisms, because the reality is that the
> bugs will be there.

No, there is no absolute security requirement here. There are two concerns
that are potentially in conflict

1) The vendor may have introduced a security vulnerability
2) The vendor may use an update to reduce or remove functionality.

Again, I have $2,000 worth of Nest equipment in the house. Google recently
announced that they are discontinuing support for their previous
interconnectivity support that my current home configuration uses. My hub
provider may or may not support the new scheme. What this means is that my
device vendor has abused its update privilege to restrict my device
functionality for its own profit.

That is a security concern that affects my wallet and it matters much more
to me than the possibility that the vendor might want to distribute a
legitimate update patch to address their potential incompetence.

Setting up the first requirement that affects a manufacturer interest as
absolute and unchallengable is wrong. There are two requirements here.
patches are not a security requirement, they are a security control.

> This is not an attack many device providers are worried about because it
> isn't an attack that is going to affect them (for a start) and they think
> they can trust themselves. Which may well not be true. I have seen a single
> employee cause $1 million worth of vandalism after being upset that his
> wages were being garnished for alimony. I really doubt that more than 5% of
> the companies that make IoT devices have effective controls.
> Ok, but that is no reason to not have automated updates available.  That
> is more of a reason to have strong audit processes in place.

If the vendors were capable of doing strong audit controls, they would be
capable of writing code that can't be compromised by a buffer overrun

I see this demand for patching as being an anti-pattern that is being
promoted by the folk who think that dumping linux plus some Python on an
IoT device and shipping it is an acceptable IoT approach. It isn't. You
cannot secure a platform with 15 million lines of code. IoT devices should
not be built round kernels designed to support a general purpose computing
model. The attack surface is ridiculous. There is no way that is going to
be patchable.

Using a dedicated IoT kernel like .NET Core running on the bare metal with
as little intermediation  as possible is the way forward.

> The fact that an IoT device makes the owner dependent on the provider is
> totally a security issue. The fact that the device providers don't want to
> acknowledge it doesn't make it any less so.
> I agree that this is indeed a security issue, but that doesn’t mean that
> it’s the wrong way to go.  There are other factors to take into
> consideration, not the least of which is cogs and e-Waste associated with
> unnecessarily shipping extra horse power to 20 million endpoints when a
> little elastic processing in the cloud will do.

Cloud computing is good. But it doesn't have to be the cloud provided by
the manufacturer.

Devices should connect to the cloud I provide which may be off site or may
be onsite. A Raspberry Pi W for $5 has more computing power than the
machine I used when I was designing the Web specs at CERN. We used the same
class of machine to control experiments with 550 tons of depleted uranium.

Moving the control points off site is a lazy model. The smart home should
be capable of working even if the Internet service is down. I have at least
two dozen machines in the house capable of delivering a gigaflop. So I
really should not need to move anything out of my house to process.

The podcast series I am currently editing is called 'Should this be
Internet' and it is about IoT devices. I will be giving something of a
preview a week on Thursday. Spoiler alert: the answer on all the segments
so far is 'no'. And I am the person who has been spending a small fortune
buying all this stuff.

My big fear here is that we are trading on the enthusiasm of the early
adopter market and there is a real risk that if we don't start building IoT
devices that aren't more trouble than they are worth before that enthusiasm
is spent, we will end up with an IoT winter.

Remember that (almost) everything we are currently seeing in 'AI' is stuff
that was basically developed in the 1980s. They set expectations that
couldn't be met by the technology of the day. By the later 1990s, the
machines were plenty powerful enough but the AI winter didn't see a thaw
for another decade.