410 likes | 522 Views
The project focuses on designing a USB Portable Firewall with 1GB flash storage that blocks viral transmissions and protects users while connecting to foreign computers. It includes antivirus software to detect malicious malware and informs users of any actions taken against threats. Designed for indoor commercial use, the device operates within temperature and humidity limits, ensuring a reliable operation. Aimed at personal computer owners, it promotes virus-free usage on foreign machines, with a budget constraint of $150.
E N D
Group May07-10 November 27, 2006 USB Portable Firewall
Project Team Information • Team Members • Jason Erbskorn, EE • Tim Polehna, EE/CprE • Aaron Sartor, CprE • Aaron Thoeming, EE • Jared Wachter, EE/CprE • Advisor • Dr. Thomas Daniels • Clients • Dr. John W. Lamont • Ralph Patterson III
Selected Definitions • Foreign computer – A computing machine that the user does not own and of which the security status is unknown • Home computer – A computing machine that the user owns, operates, and of which the security status is generally known
Selected Definitions (contd.) • Malicious software – Any type of software whose intent is to harm computer systems, networks, and computer user data • USB storage – Memory, typically internal to a portable device, accessible by a computer using a USB Interface • Virus definitions – Database used by anti-virus software to detect malicious software
Problem Statement • Create a portable USB storage device that meets the following requirements: • Has 1GB of portable flash storage • Blocks viral transmissions to and from the host computer • Blocks writes to the boot sector of the USB storage • Informs the user of actions taken against malicious attacks
Operating Environment • Designed for Commercial Conditions • Environment: Indoors • Temperature: 0ºC to 70ºC • Relative humidity: 10% to 90%
Intended User(s) • Owns one or more personal computers • Wants to use a portable USB storage device on foreign machines • Desires to keep home computers/network virus free
Intended Use(s) • Contains 1GB of portable flash storage • Blocks viral transmissions to and from the host computer • Blocks writes to the boot sector of the USB storage device • Informs the user of actions taken against malicious attacks
Assumptions • Home computer • Available USB 1.1/2.0 port • Microsoft Windows 2000/XP • USB Portable Firewall utility software installed • Foreign computer • Available USB 1.1/2.0 port • Microsoft Windows 2000/XP operating system
Limitations • Virus detection • Cannot detect all possible malicious attacks. • Data rate • USB 1.1 (12 Mb/s) • Power • 2.5W maximum • USB interface • Need hardware with USB device controller • Budget • $150 maximum
Expected End Product • 1GB of internal portable flash storage • Blocks viral transmissions to and from the host computer • Blocks writes to the boot sector of the portable USB storage
Other Deliverables • Included CD-ROM • Update the anti-virus algorithms and definitions • Inform the user of actions taken against malicious attacks • Documentation • Project plan • End-product design report • Project poster • Final report
Design Objectives • Select pre-built motherboard based on the following necessities: • USB device controller • Flash memory controller • Linux operating system • One USB port capable of data transfer and power distribution • $150 or less price • Relatively small size
Design Objectives (contd.) • Design a case to hold the pre-built motherboard. • Develop utility software to do the following: • Allow the firmware image to be updated • Show details on prevented attacks
Design Objectives (contd.) • Develop system software • Files are scanned for viruses during transfer: • Host computer USB Portable Firewall • USB Portable Firewall host computer • Infected files will not be transferred, notifying the user with a transfer error. • The end product shall not prevent files found to be uninfected from being transferred: • Host computer USB Portable Firewall • USB Portable Firewall host computer
Design Constraints • Device operating system • Linux 2.6 • Host operating system • Windows 2000/XP • Power • One USB port only • Size • Commercial flash memory MP3 player • Storage • 1GB flash memory
Design Approach • Operating system considerations • Linux 2.6 • Windows CE 5.0 • FreeDOS 1.0 • Linux 2.6 selected • Small size • Open source • Contains USB gadget interface
Design Approach (contd.) • Antivirus software considerations • Open Antivirus • Clam AV • Norton Antivirus • Clam AV selected • Open source (free) • Regularly updated • Easy to use programming library
Design Approach (contd.) • GUI programming language considerations • C++ • C# • Java • C# selected • Visual Studio IDE • Easy implementation difficulty • Team member experience
Design Approach (contd.) Table 1: Possible Motherboards Comparison
Design Approach (contd.) • Gumstix Basix 400xm Selected • 400MHz Intel XScale PXA225 microprocessor • 16MB of onboard flash memory • 64MB 100MHz onboard SDRAM • 60 pin Hirose I/O connector • MMC adapter for MMC flash media cards
Design Approach (contd.) • Test design • Board Power-On • USB Device-Host Connection • Virus Detection • Override Function • Firmware Update
Expansion Boards • 60 pin Hirose I/O connector • Type A Male USB Port • Capable of power distribution • USB 1.1 Standard • Two 60 pin Hirose I/O connectors • Input Power Port • RS-232 Serial Port
Typical Power Hardware Power Ratings Table 2: Typical Power Specifications of motherboards operating at 4.5V, Courtesy of Gumstix Corporation
Device SoftwareCommunication • Basic driver interaction • Device communication through software package SDK’s and API’s • Linux driver created using the Linux USB Gadget API • Windows driver not implemented due to generic mass storage drivers built-in to Win98SE/2K/XP/2003
Device SoftwareSoftware Start-Up • Standard kernel boot process • Device won’t be available until the boot process is finished • User will be able to visually see that the device has finished booting • Scanning for software updates will occur at boot
Device SoftwareSoftware Updating • During boot we verify the existence of a compressed file with a specific name • The compressed file has to have a signature using a method that we have not determined at this time • The compressed file contains a disk image of the entire software environment
Device SoftwareData Transmission - Transfer to Device • The host computer’s interface to the device will be the same as a standard storage device • To stop transmission of a file, the device will simply report a transfer error to the host • On-the-fly scanning through a FIFO buffer
Device SoftwareData Transmission - Transfer to Host • Same on-the-fly scanning as previously mentioned • Stopping transmission of files and error message sent to host when a threat is identified
Device SoftwareUser Alerts • Three LED’s – Red and bi-color Yellow/Green • Red is for errors and warnings • Yellow is for booting • Green is for ready-to-transfer and activity
Device SoftwareUser Alerts (Continued) • Single Button Press logic • Single press clears threat found indicator • Press and hold enables and disables the bypass for the scanning system (for a single file) • During normal operation, the red LED should not come on
User Software and GUI • Purpose • Displays viruses detected by USB Firewall to user • Updates ClamAV virus definitions • Resides on home computer
GUI Screenshot • Simple, easy to use • Three main sections: • Infected Files • Virus Information • Update Software
List of Viruses • Read from log file on device • virlog.txt • Data read: • Size, modification date of file • Name of virus caught • Type of virus • Action taken
Product Updating • User downloads new image from website • User specifies path of file • File transferred over USB protocol to USB Firewall device • USB Firewall loads new software on reboot
Closing • Malicious software pervades computer networks • Portable USB storage devices • Are not immune to malicious software • May contribute to the spread of malicious software • The USB Portable Firewall will: • Reduce transfer of malicious software • Contain 1GB portable flash storage • Alert the user of virus infection and transfer • Have upgradeable software • Be powered by USB power on the host computer