From: Julia Suvorova <jusual@mail.ru>
To: Markus Armbruster <armbru@redhat.com>,
Julia Suvorova via Qemu-devel <qemu-devel@nongnu.org>
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
"Jim Mussared" <jim@groklearning.com>,
"Steffen Görtz" <contrib@steffen-goertz.de>,
"Stefan Hajnoczi" <stefanha@redhat.com>,
"Joel Stanley" <joel@jms.id.au>
Subject: Re: [Qemu-devel] [PATCH] monitor: Add whitelist support for QMP commands
Date: Thu, 21 Feb 2019 20:27:56 +0300 [thread overview]
Message-ID: <3a755bba-a539-d1f5-933b-54d2def67596@mail.ru> (raw)
In-Reply-To: <8736otqy2o.fsf@dusky.pond.sub.org>
On 12.02.2019 10:13, Markus Armbruster wrote:
> Julia Suvorova via Qemu-devel <qemu-devel@nongnu.org> writes:
>
>> On 01.02.2019 12:14, Markus Armbruster wrote:
>>> Julia Suvorova via Qemu-devel <qemu-devel@nongnu.org> writes:
>>>
>>>> The whitelist option allows to run a reduced monitor with a subset of
>>>> QMP commands. This allows the monitor to run in secure mode, which is
>>>
>>> For a value of "secure". I'm not saying this can't be useful, just
>>> tempering expecations. I guess you intend to use this to restrict the
>>> monitor to sufficiently harmless commands, such as commands that merely
>>> return information without changing anything. However, even such
>>> commands can be abused for denial of service. Whether that's an issue
>>> depends on your use case.
>>>
>>>> convenient for sending commands via the WebSocket monitor using the
>>>> web UI. This is planned to be done on micro:bit board.
>>>>
>>>> The list of allowed commands should be written to a file, one per line.
>>>> The command line will look like this:
>>>> -mon chardev_name,mode=control,whitelist=path_to_file
>>>>
>>>> Signed-off-by: Julia Suvorova <jusual@mail.ru>
>>>
>>> Please describe your intended use case in more detail, and provide at
>>> least a rough security analysis that includes the denial of service
>>> aspect.
>>
>> It is planned to use the web interface for micro:bit board, e.g. send a
>> button press as a QMP command and send a LED display changing as a QMP
>> event, and send them via WebSocket protocol from QEMU to a web page.
>> The monitor will also send commands from some other sensors, for
>> example, an accelerometer/magnetometer. Therefore, it is convenient to
>> limit the monitor so that it can send only these commands of
>> buttons/sensors.
>
> Covers "describe your intended use case" nicely, thanks. Still missing:
> "a rough security analysis that includes the denial of service aspect".
> Here are two questions to help you get started. Is "the web interface"
> trusted? If not, what if it floods QEMU with button presses?
In the case of a trusted connection, we don't even need a whitelist.
The oob execution must be disabled in order to prohibit the direct
execution of speculative series of commands. The regular command
suspends the monitor and causes it to stop reading the commands until
the execution is completed, which prevents the client from capturing too
many resources. And since the suspension of the monitor doesn't stop the
sending of events, the display will work fine.
Best regards, Julia Suvorova.
next prev parent reply other threads:[~2019-02-21 17:28 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-31 20:26 [Qemu-devel] [PATCH] monitor: Add whitelist support for QMP commands Julia Suvorova
2019-01-31 20:31 ` no-reply
2019-01-31 20:32 ` no-reply
2019-01-31 21:03 ` Eric Blake
2019-01-31 21:51 ` Julia Suvorova
2019-02-11 15:51 ` Daniel P. Berrangé
2019-02-11 16:15 ` Julia Suvorova
2019-02-11 16:20 ` Daniel P. Berrangé
2019-02-01 3:11 ` Stefan Hajnoczi
2019-02-01 9:14 ` Markus Armbruster
2019-02-11 15:42 ` Julia Suvorova
2019-02-12 7:13 ` Markus Armbruster
2019-02-21 17:27 ` Julia Suvorova [this message]
2019-03-11 17:31 ` Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3a755bba-a539-d1f5-933b-54d2def67596@mail.ru \
--to=jusual@mail.ru \
--cc=armbru@redhat.com \
--cc=contrib@steffen-goertz.de \
--cc=jim@groklearning.com \
--cc=joel@jms.id.au \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).