Consider that you are the security team for the following software development project: Your customer is a
local auction firm called MooTube Auctions. Mootube specializes in onsite farm, household, and video
store (hence the "tube") auctions and they need a software system designed to handle their auction events.
The company has three employees - an auctioneer (also the MooTube owner), a
clerk and a flunky. Computing hardware of the company includes a
mySQL database server, a web server to handle all auction
transactions, and two iPads - one for the clerk and one for the
flunky. All of these devices communicate by WIFI and
broadband, except the two servers, which are connected
on a proprietary in-house LAN and protected behind a
perimeter firewall. All communication with the
iPads uses unencrypted http protocols, except for
credit card information, which is always transferred
using https. Your company is not responsible
for writing the code to handle auctions that runs as
a web server applet that communicates with the iPads
and dbms server.
Each auction is a new event and only buyers registered on that day
may bid. To register a potential buyer must show see the clerk who
photographs the individual's driver's license. Your software must check this individual
against your database of folks who have not paid their debts from a prior auction and against the DMV's
database of criminals and/or invalid driver's licenses. Authenticated buyers are each given a uniquely
numbered placard that they must wave in order to place a bid. One other piece of information that is
supplied at the the time of registration is an email address for the buyer.
As the auction proceeds the flunky with the second iPad enters each purchase into a purchase database.
The purchase must indicate three things: an ID code for the item purchased, a dollar amount to be paid and
the placard number of the buyer. Buyers can check out with the clerk at any time within two hours...