Spyderisk / domain-network

Network domain model
Apache License 2.0
1 stars 0 forks source link

Rationalisation of remote attacks on services #64

Closed mike1813 closed 12 months ago

mike1813 commented 1 year ago

We have three types of attacks on services:

We now have several distinct trustworthiness attributes (and associated misbehaviours) for a client-service relationship that related to the ability to access the service as the client:

ClientTW is the attribute that really counts. Low ClientTW means an attacker can access the service as the client and access data that was supposed to go to or from the legitimate client.

AnonUserTW does not represent the ability to authenticate or access the service functionality. Low TW just means malicious messages can reach the service. This means they could access the service, a threat leading directly to LossOfClientTW, unless the service authenticates its clients. Even in that case, it would be possible to exploit vulnerabilities if they are accessible without authentication, including pre-installed back doors.

AnonUserTW exists for every Client Channel, but currently, threats leading to Loss Of AnonUserTW are restricted to cases where the service is accessed via a transparent proxy. Such a proxy forwards all requests to a back-end service without authenticating the client, which means a malicious message would reach the target. Why not make this apply to all services, not just proxies?

ClientAuthenticity represents possession of client credentials. Low TW means an attacker has stolen those credentials. This does not imply that the attacker can access the service, as it may be on a protected network. If we expand our threats so every service is subject to threats against AnonUserTW, then a combination of this with ClientAuthenticity would imply access to the service (and LossOfClientTW), unless user biometrics can be used to recognise an imposter.

ProxyUserTW covers the forwarding of messages via an authenticating proxy. The proxy would then access the service under its own ID so this is authenticated access (the service thinks it is a legitimate client), subject to the proviso that one can only send messages if the proxy allows it, i.e., to a mapped endpoint. It would be possible to exploit vulnerabilities in the service application (i.e., requiring authentication), and if the service is a remote access service, it would be possible to get shell access to the host.

So the way to generalise the meaning of AnonUserTW, involves checking threats leading to this condition, or potentially caused by it. This comprising the following groups of threats:

Since only the first of these involves a client attack path (which are very numerous), it should be possible to reduce the number of threats used to cover the remaining cases.

mike1813 commented 12 months ago

Now addressed in branch 65.