Denial of service via interface modes

HCIsec is an emerging field that combines HCI with security. Basically, it is the science of figuring out how an interface influences the security of a system.

To give you a taste of what this is about, I will explain the concept of denial of service via interface modes.

I will focus on organizing a denial of service attack against a biometric lock that I happened to find nearby.

The system has a fingerprint scanner with a keypad, here's a very simplified view of how it works, many states and transitions were omitted:

  1. The system is idle
  2. Press * and do nothing - the system reverts to a default state after a timeout of about 15 seconds
  3. Press * and scan an unknown finger - the system indicates that the fingerprint is not recognized and reverts to a default state
  4. Press * and scan the finger - if the fingerprint is accepted, access is granted.
State machine for Timelink fingerprint scanner

If you read the manual, you'll learn there's an admin mode which lets you do things such as enroll new users, change the admin PIN or delete the database of all fingerprint records. To enter admin mode, press 99# and enter the correct PIN.

A state machine representing a safe, conservative approach, that reverts to a default state in any case

The state machine above is what the designers had in mind, but that is not exactly the case. If I try to enter admin mode and then type a digit, the system enters another state - let's call it "waiting for PIN". The timeout setting does not apply to this state (the dashed red line below is not present in the actual implementation).

An unsafe state machine that corresponds to the actual implementation

The implication is that an attacker can:

  1. Press 99#
  2. Type a random digit
  3. Walk away

As a result, the system is going to continue waiting for the remaining digits of the admin PIN to be entered. If a person wants to use the system, they press * and swipe their finger... and nothing happens; the system is in another state (not idle) and it is waiting for a special type of input.

I must emphasize that the attacker doesn't need to know the real admin PIN. All they need to know is the magic sequence for entering admin mode - 99#, which is not secret and is given in the manual.

To get out of this state:


Effectively, a person is unable to use the system - that's why such attacks are known as "denial of service".

Recommendations that keep your system protected from such types of attacks.

The principle can be applied against terminals of any kind, as long as their designers were not careful about the transitions from one state to another. Such flaws become visible if you represent the system graphically, as a state machine. If all is in order - there must be a "timeout" arrow going back to the "idle" state from every other state. If there is one state that doesn't revert to the idle state after a timeout - it is a potential problem.

Comments

Constantin — 2012-04-30 22:26

I think command modes are not universally bad. Recently I got a used phone from someone. I had to de-register it from their account with the service provider, and register it again with my account. This is done by entering a semi-secret command mode that the service provider installed on the phone. If I didn’t have that option, I would have to mail my phone to them so that they could fix it…

gr8dude — 2012-05-01 03:01

I agree that in your case it made things easy, but I think that the problem shouldn’t have happened in the first place. In an ideal world, swapping the SIM card should be the only thing you need to do.

Apparently, the mobile operator added some barriers to lock people into their service, but these barriers can backfire.

For example, now that you know the magic sequence, you can take another subscriber’s phone and de-register it. That person will have to go to the mobile company or mail the phone to them to fix the problem.

Of course, I don’t know the exact sequence of actions; maybe you also had to enter some unique key, etc. In any case, there are drawbacks too.