The most common type of security risk is presented by a phone subscriber voluntarily requesting a "malicious" service that is masquerading as a legitimate service. Such a malicious service might attempt to use the phone subscriber's access to your HDML service illicitly. There are several ways it might attempt to do this:
Figure 6-1 shows a simple example of a security risk. A banking service allows the user to transfer funds. The user presses ACCEPT in a card that describes the proposed transaction; the card's ACCEPT action invokes the URL of a script that conducts the fund transfer.
The malicious service, depicted on the left, poses as a weather service. When the user presses OK to get the weather, the service requests the fund transfer URL from the banking service, using slightly different arguments. The user thinks that he or she is requesting today's weather report, but is actually transferring funds to the owner of the malicious service.
FIGURE 6-1. Potential security risk
To avoid this risk, the banking service should make several changes:
SENDREFERER task option to TRUE.
transfer.cgi) should check the URL specified by the REFERER header of the HTTP request to ensure that the request is coming from one of the banking service's decks.