line
transparentspacer transparentspacer

Business Logic Flaws :: Day Trading Contest for
$1,000,000 ::


Class: Insufficient Process Validation

CNBC’s Million Dollar Portfolio Challenge provided amateur traders a chance to match their skills against the portfolios of the Internet’s best. 375,000 contestants competed in ten one-week challenges for a $10,000 prize and a spot in the final round to go for the cool million. To win, all they had to do was make the most “funny” money.

Placing stock trades is essentially a two-step process:

Step 1. Select the stocks you wish to purchase, enter the number of shares, and press the submit button. The back-end system calculates the total order using the current share price and waits for user confirmation before executing the trade.

Step 2. The user can either drop out of the transaction or confirm the order, which then executes the mock stock transaction to update their portfolio.

Can you spot the security problem?

To make impossibly accurate picks, a malicious trader would select several stocks to buy (but NOT execute the order in step 2) with companies scheduled to post earnings after trading closes that day. After setting up the order, they’d leave their browser window open until after the closing bell. If the stock price rose by a significant percentage during after-hours trading, the trader would only then execute the transaction. Since their session contained the original stock price and did not recalculate using the current share price, the trader would be guaranteed huge portfolio gains and be well on their way to winning the million*.

Solution

  1. When executing the trade, the system should always calculate based upon the true current share price.
  2. The session for a pending trade should have an expiration time set; 20 minutes would be sufficient.
  3. Reject any incoming trades when the market is closed.

* References:
$1,000,000 CNBC stock trading contest hacked
CNBC’s Easy Money
Finalists allege hacking in $1 million stock contest

 

Business Logic Flaws – Examples ::
Winning an Online Auction ›››
“Interactive” T.V. ›››
See Steve Jobs up Close ›››
Day Trading Contest for $1,000,000
Password Recovery ›››
Making Millions by Trading on Semi-Public
  Information
›››

 

 

line
line
line