[bittorrent] BT, Nats, and hackers at the door...
bill at viasic.com
Mon May 30 04:47:54 EDT 2005
I'm just fooling around with ideas for helping make p2p traffic more
secure. For example, if a large respected company like Cisco comes out
with a popular internet phone, and all I have to do is plug it in, it's
likely to be hard to hack. Is it possible to get the same level of
security with a Linux or Windows box that provides phone service, or do
all those moms out there have to go out and buy dedicated hardware for
each p2p service they want?
Here's one dumb idea... in the chip-design world, we have written
programs that double-check that our chips do what we think they will do.
There are LVS (layout vs. schematic) programs that make sure that the
chip was implemented according to a schematic spec. There are formal
verification tools that verify that the implemented schematic implements
the functions specified in the original high-level HDL language (VHDL or
Verilog). We typically buy these verification tools from different
vendors than the ones who's tools help us design the chip, since we
don't trust vendors to write both tools and the tool that check them.
Would it be possible to do the same thing for a p2p protocol? For
example, I could run a custom network monitor/filter that checks BT
communication and make sure that it conforms to the BT spec, no matter
what client I run. That would make me feel much more confident in
trying different clients. Similar monitors/filters might allow SIP
phone service to be more secure.
It would also make me feel better if I could more easily restrict access
permissions of programs I install. With most open-source installations,
I compile, then su to root, and do a make-install. Good thing most of
us open-source guys are fairly trustworthy. Could Linux/Windows be
enhanced so that I could specify the restrictions of a newly installed
package? For example, a basic SIP phone package does not have to have
write access to the disk, or the ability to open any port other that the
phone service port, or the ability to contact non-phone ports in the
internet, or the ability to run commands like top or who. The kernel
could restrict such access, and report attempted violations.
Is anything like this already in the works?
> > > What prevents you from replacing your NAT with a stateful firewall?
> > I think I will. However, installing and managing a stateful firewall
> > requires more networking skill than the average mom has. It'll work for
> Why would it require more skill than setting up NAT?
I think the reason that those LinkSys NAT boxes sell so well is that you
don't have to do much to configure them. In fact, if you simply plug
them into the DSL/cable socket, and your home machines into them,
everything is set up with reasonable defaults.
I doubt that most people even change their router password from "admin".
In fact, if you drive around my neighborhood with a wireless computer,
you'll find that most people don't even turn on encryption on their
wireless routers. If I wanted to hack other people's machines, I
wouldn't even have to leave my house. My nearest neighbor is totally
open, and withing wireless range. Average mom just isn't up to basic
router configuration, much less forwarding a BT port.
It's possible that when IPv6 is well established, average mom will be
buying a stateful router rather than a NAT, but I'm not so sure.
Dynamic IPs and NATs are two more levels to help protect the end-user
from hackers, and I'm concerned that ISPs will keep them in place even
> > me, but what about the masses? How can they be protected if they have
> > open p2p ports and fixed IPv6 addresses?
> What's the vulnerability of open p2p ports?
I think all open ports are potentially dangerous, not just p2p ports.
However, the current trend is to close off all ports of home users (with
NATs), and to make their IPs dynamic. I'd like to see average mom able
to receive direct p2p calls or e-mails from the internet without having
to configure a router, pay her ISP more money, or take any additional
risk. Is it possible?
More information about the BitTorrent