USB Portable Firewall

advertisement
Team May07-10
April 24, 2007
Introduction
Project Team Information

Team Members






Jason Erbskorn
Tim Polehna
Aaron Sartor
Aaron Thoeming
Jared Wachter
Advisor
 Dr. Thomas Daniels

Clients
 Dr. John W. Lamont
 Ralph Patterson III
Introduction
Presentation Outline

Introduction
 Jason Erbskorn

Design Overview
 Jared Watcher

Project Activities
 Aaron Thoeming
 Tim Polehna
 Aaron Sartor

Resources and Schedules
 Aaron Sartor

Closing Materials
 Jason Erbskorn
Introduction
What Are We Designing?
+
USB Flash Drive
 Transparent Anti-Virus

Introduction
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
Project Overview
Project Requirements
 USB
storage device
 Upgradeable firmware
 Block viral transmissions to the host
computer
 Protect system software integrity
 Inform the user of malicious attacks
Project Overview
Operating Environment
 Indoor
environment
 0ºC to 70ºC ambient temperature
 10% to 90% relative humidity
Project Overview
Intended Users
 Own
a personal computer
 Want to use a portable USB storage
device on foreign computers
 Desire to keep home computers
and/or network virus free
Project Overview
Assumptions
 Home
computer
 Available USB 1.1/2.0 port
 Microsoft Windows 2000/XP
 USB Portable Firewall utility installed
 Foreign
computer
 Available USB 1.1/2.0 port
Project Overview
Limitations
 Virus detection
 Cannot detect all malicious attacks
 USB 1.1 protocol
 12Mb/s data rate
 2.5W max power draw
 Device interface to host
 Budget
 $150 maximum plus donations
Project Overview
Design Constraints

Device software
 Linux 2.6.20
 Clam Antivirus 0.90.2
 GNUPG 1.4.7

GUI host software
 Windows 2000/XP
 .NET 2.0 Framework
Gumstix USB powered hardware
Size of flash memory MP3 player
 1GB flash memory storage


Project Overview
Primary Deliverable

USB Portable Firewall Overall System
Project Overview
Other Deliverables

Software Utility
 Updates device firmware image
 Information on malicious attack prevention

Documentation
 Project plan
 End-product design report
 Project poster
 Final report
 User Manual
 Website
Project Activities
Present Accomplishments

Completed
 Project documentation
 Hardware assembly
 Software utility
 Build image

Incomplete
 Scanning algorithm
 Kernel integration
 Testing
Project Activities
Approaches Considered

GUI Software Utility
 C, C++, Java programming language

Scanning Algorithm
 Read/Write, File Transfer Protocol

Hardware
 ConnectCore 9U, TS-7400

Anti-virus System
 Open Anti-Virus, Norton AV

Kernel Integration
 Direct placement into driver
Project Activities
Motherboard






400MHz Intel XScale PXA225 microprocessor
16MB onboard flash memory
64MB 100MHz onboard SDRAM
Expansion board support
RS-MMC flash media support
1W power requirement
Project Activities
Expansion Boards

Implementation



Type A male USB port
USB 1.1 standard
USB power delivery

Development



RS-232 serial port
Two expansion connectors
DC power delivery
Project Activities
Component Assembly
Project Activities
Final Hardware Implementation
Project Activities
Software Build Image

Buildroot environment
 Micro C library based system
○ Stripped down to bare minimum
 Designed for gumstix hardware

x86  ARM cross-compile toolchain
 Linux 2.6.20
 ClamAV 0.9.2
 GnuPG 1.4.7
Project Activities
USB Communication


Any Host PC
PXA255 base driver
USB Gadget layer
Windows OS
Standard
USB Storage
Driver
Storage
Controller
USB Host
Interface
USB Firewall
Driver &
Software
USB Device
Interface
 File Backed Storage

USB Mass Storage Class
Host PC
Storage Device
 Native OS support

Driver  Scanner
 /proc interface
USB Portable Firewall
FAT32
Storage
Project Activities
Start-Up Procedure
Kernel loads
 Boot script executed

 Device not available
until script finishes
 Software updates
occur at boot time
 Visual confirmation
that device has
finished booting
Start-Up
Does New File in
Update Directory Exist?
Yes
Check update file
signature
No
Is file signature
valid?
No
Send USB Generic
Storage Volume
Control Message
Yes
Replace existing
definitions with the
decrypted
Project Activities
Scanning System - Transfer to Device


Updates FAT indexing array for virus scanning
System software inherently protected by Gadget API
USB
Command
Decoding
LBA#
LbaToCluster()
Cluster#
ClusterNum <
RootDirNum
Yes
UpdateClusterArray()
No
MakeDirty()
USB
Command
Processing
Project Activities
Scanning System - Transfer to Host

Scan entire file before sending the pieces of it
 Intercept file system requests to read blocks of data
 Report transfer error to host if virus found
USB
Command
Decoding
LBA#
LbaToCluster()
Cluster#
No
IsDirty()
FirstCluster#
Yes
ScanFile()
GetFileInfo()
USB
Command
Processing
SendTxFailure()
MarkClean()
Project Activities
Functional Alerts
Yellow LED – Transfer Activity
 Green LED – Device Ready

Startup
LED’s OFF
Mount
Unmount
Ready
LED’s OFF
Green LED ON
Transfer Command Received
Transferring
Yellow LED Flash
Shutdown
File Transfered
Project Activities
Override System
Red LED – Override Indicator
 Single switch logic

 Enables/disables scanning system
Red LED Off
Switch Off
Switch On
Red LED On
Project Activities
GUI – Overview

Designed in C# language
 .NET Framework 2.0



Used on home computer
Displays detected infected
files information
Anti-virus definition updating
Project Activities
GUI – Infected Files / Virus Information
 Reads
from log file on device
 Infected file
 Name
 Size
 Modification date
 Virus
information
 Name of virus
 Type of virus
 Action taken
Project Activities
GUI – Device Updating
User downloads new update image
 User specifies path of downloaded file
 Utility transfers file to device
 Device loads new software on next boot

Project Activities
Verification and Validation
 Device
performance
 Board Power-On Self Test (POST)
 USB device-host connection test
 Virus detection test
 Override function test
 Firmware update test
 Faculty
advisor test validation
Resources and Schedules
Personnel Hour Requirements
Team Member
Task
Total
1
2
3
4
5
6
7
8
Jason Erbskorn
5
14
38
57
15
12
15
55
211
Tim Polehna
5
19
42
62
18
8
10
45
209
Aaron Sartor
5
9
31
55
17
15
14
57
203
Aaron Thoeming
6
13
29
42
23
23
12
48
196
Jared Wachter
6
13
39
61
17
14
12
42
204
27
81
179
277
90
72
63
247
1023
Total
Resources and Schedules
Financial Requirements
Item
W/O Labor
With Labor
a. Basix 400xm Motherboard
$130.00
$130.00
b. Serial Cable
$12.00
$12.00
c. AC Power Adapter
$10.00
$10.00
d. MMC RS 1GB Flash Card
$60.00
$60.00
Donated
Donated
f. Thumbstix Base Board
$28.00
$28.00
g. Tweener Board
$20.00
$20.00
h. Screws and Spacers kit
$4.00
$4.00
i. Miscellaneous Parts
$20.00
$20.00
$284.00
$284.00
Parts & Materials
e. Project Poster & Printing
Subtotal
Resources and Schedules
Financial Requirements (contd.)
Service Usage & Work
W/O Labor
With Labor
Donated
Donated
$65.00
$65.00
$65.00
$65.00
a. Jason Erbskorn
$0.00
$3,165.00
b. Tim Polehna
$0.00
$3,135.00
c. Aaron Sartor
$0.00
$3,045.00
d. Aaron Thoeming
$0.00
$2,940.00
e. Jared Wachter
$0.00
$3,060.00
$0.00
$15,345.00
$349.00
$15,694.00
a. Development PC usage
b. Poster and Reports
Subtotal
Labor at $15/Hour
Subtotal
Total
Resources and Schedules
Schedule of Work
Resources and Schedules
Deliverables Schedule

Final dates on tasks represent deliverable due dates
Closing Materials
Project Evaluation
Project Aspect
Project Definition
Rating
100%
Technology Research & Selection 100%
Hardware Design
100%
Build Image Design
100%
Scanning System Design
75%
GUI Utility Software Design
100%
Design Integration
33%
Verification & Validation
50%
Production Documentation
100%
Closing Materials
Commercialization

Demand for secure computing
 U3 technology by Kingston and SanDisk

Current advantages
 Independence from host machine

Current shortcomings
 Needs major refinement to be market viable
○ Better appearance and portability
○ More robust software and hardware
 Needs cost reduction to compete in market
Closing Materials
Additional Work

Software
 Write dedicated USB Gadget driver
 Research more effective scanning method
 Better integration with ClamAV

Hardware
 Larger storage space
 More attractive case design
 Custom hardware platform
 Cheaper hardware components
Closing Materials
Lessons Learned

Project is very large in size
 Requires stages for optimum completion
 Good research base provided by this project
Hardware solution was time consuming
 Cross compiling is very difficult
 Scanning during write is difficult
 Direct integration into Linux kernel difficult

Closing Materials
Risk Management

Anticipated Risks
 Limited hardware development time
 Lack of open-source documentation
 Malfunction of software dependencies

Encountered Risks
 Major problems during kernel integration
 Multiple cross-compilation failures
 USB doesn’t write data blocks concurrently
Closing Materials
Closing Summary


Malicious software pervades computer networks
Portable USB storage devices
 Not immune to malicious software
 May contribute to spread of malicious software

USB Portable Firewall
 Contains 1GB portable flash storage
 Reduces transfer of malicious software
 Alerts the user of virus infection and transfer
 Comes with updatable software
 Powered by USB power on the host computer
Closing Materials
Question and Answer
Download