WiFiProfiler: Cooperative Diagnosis in Wireless LANs Ranveer Chandra, Venkat Padmanabhan, Ming Zhang

advertisement
WiFiProfiler: Cooperative
Diagnosis in Wireless LANs
Ranveer Chandra, Venkat Padmanabhan, Ming Zhang
Microsoft Research
Wireless Woes
• Users often wonder why:
– “My machine says: wireless connection unavailable”
– “I get poor performance on wireless”
– “My wireless card keeps trying to authenticate”
– “Is it just me?”
2
Wireless Woes
• Users often wonder why:
– “My machine says: wireless connection unavailable”
– “I get poor performance on wireless”
– “My wireless card keeps trying to authenticate”
– “Is it just me?”
• Many places have no/minimal network admin
– Hotspots: cafes, airports
– Transient networks: conferences, IETF meetings
3
Prior Work: Operator View
• Infrastructure-based monitoring (Aruba, DAIR)
– Focuses on operator perspective (e.g., rogue APs)
• Monitoring at clients (e.g., [Adya 2004])
– Fault diagnosis using infrastructure support
– Also focuses on operator perspective
• Correlate client observations at AP (MOJO)
– Detect PHY level anomalies
4
WiFiProfiler Goal: User View
Enable clients to diagnose network failures
without requiring admin/infrastructure support:
– Reduce user frustration
– Reduce load on admin, when there is one
Help users help themselves
5
State of the Art: Local Diagnosis
Wireless Connection Manager, WZC
• Reasonable detection, Poor diagnosis
Bad NIC
MAC
Filtering
Bad AP
Bad WEP
Key
Cannot Associate
6
WiFiProfiler
• Based on two key observations:
– Clients form Information Plane with peers
• Even when client cannot connect to AP
– Extent of problem indicates cause
Diagnose faults by correlating peers’ health
7
WiFiProfiler Overview
Healthy Client
Dissatisfied Machine
Access Point
Create Information
Plane
Healthy Client
(Cannot connect to
WEP-enabled AP)
Diagnose Problem:
Same WEP key?
Diagnose range of problems across layers!
8
Faults and Some Causes
No AP Detected
Location
H/w or s/w
No Association
Security
DHCP Server
No IP Address
Firewall/proxy
End-to-End Failure
WAN Disconnect
WAN congestion
Poor Performance
Wireless problem
9
Outline
• Introduction
• WiFiProfiler Overview
• WiFiProfiler Design
• Evaluation
• Summary
10
WiFiProfiler Design Goals
• Transparency:
– Minimal user impact/involvement
• Deployability:
– Work with off-the-shelf cards and unmodified drivers
• Scalability:
– Work with a large number of clients
• Security:
– Prevent compromise of clients and AP
11
WiFiProfiler Architecture
• Sensing: What is monitored?
• Communication: How is it shared?
• Diagnosis: How are faults diagnosed?
12
Sensing
• Monitor health of client’s connectivity
– Static info (e.g., NIC type)
– Dynamic info (e.g., assoc. success/failure)
Fault
No Association
Some Causes
H/w or s/w
Security
Sensed Info
NIC Model, Make,
Driver version
Auth/Encryption
setting, key info
13
Sensed Information
• User-level service (daemon) polls various layers
– Wireless: NIC, BSSID, RSSI, Beacon Loss, 1-way
hash of key, Interface Queue
– IP: IP Address, DHCP, DNS
– Transport: Failed connections, Server Ports
– Application: Web proxy settings
• Snapshot obtained once every second
– Summarized information < 1200 bytes
14
Communication
H
Req. Health
D
Sensed Info
Establishing the Information Plane
802.11 NICs can connect to only one network at a time
Challenges:
– Discovery: How does H know that D needs help?
– Parallelism: How does H send packets to D?
15
Discovery
• D initiates ad hoc network with distinct SSID
– Special SSID format denotes request for help
– H receives beacon even when associated to AP
SSID:
Help:169.254.10.125:5000
D
169.254.10.125
Port: 5000
H
16
Parallelism using VirtualWiFi
Details: Infocom ’04
Approach: Virtualize card, buffer packets, switch b/w networks
Application Layer
User-level
Kernel-level
TCP/IP, Network Stack
Virtual Interface 1
Virtual Interface 2
Virtual Interface 3
VirtualWiFi Layer
Wireless Card
17
Communication Protocol
• WiFiProfiler uses 2 (virtual) adapters:
– Primary adapter activated in normal use
– Helper adapter dedicated for WiFiProfiler
• Activated only when needed
SSID:
Help:169.254.10.125:5000
D
Primary VNIC
169.254.10.125
Port: 5000
H
Helper VNIC
18
Scalability and Security discussions in paper
Diagnosis
• Initiated by user
• Correlate peers’ info and infer likely cause
– Rule-based techniques instead of black-box
• Suggest steps for problem resolution
– Change configuration settings
• e.g. local DNS server, web proxy, WEP key
– Change location, contact admin
• Diagnose faults across layers of network stack
19
Diagnosing Association Failure
If another peer has successfully associated with the AP:
Is Sec.
config
Same?
NO
Bad Sec. setting
(Fix it)
YES
Is BLR
much
higher?
YES
Bad signal
(change location)
NO
Similar card
Associated?
NO
YES
MAC Filtering
(contact admin)
S/w or H/w config
(change NIC or
update driver)
20
Diagnosis Features
• Inherent uncertainty in some cases
– Need info from AP to confirm MAC filtering
• Conflicting info from peers
– Used to eliminate branches in diagnosis procedure,
e.g. NIC type
• Vulnerability to bogus info from attackers
– Use information from large number of peers
– Susceptible to Sybil attack
21
Outline
• Introduction
• WiFiProfiler Architecture
– Sensing
– Communication
– Diagnosis
• Evaluation
• Summary
22
Evaluation
• Sensing: Low overhead
– (used < 1% CPU on 1.33 GHz laptop)
• Communication using VirtualWiFi:
– Healthy clients spend < 2 sec sending info
– Sick clients get information within 30 seconds
• Much of the delay in discovery (scanning delays)
23
Little Impact on Healthy Clients
25
Time (in seconds)
Download while Helping
20
Download when not Helping
15
Extra 0.5 to 3 seconds!
10
5
0
10K
100K
1M
Download Size (in bytes)
24
Effectiveness of WiFiProfiler
Too far from AP
MAC Filtering
Port blocked
Access Point
Port blocked
Port blocked
Relevant diagnosis at all clients within 30 seconds!
25
WiFiProfiler Summary
• Enables cooperative diagnosis in WLANs
– Without infrastructure support, low overhead
• Working system on Windows XP
• Future work:
– Security: Privacy, Sybil Attacks, Passive Mode
– Long-term Profiling
26
Download