home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chaos Computer Club 1997 February
/
cccd_beta_feb_97.iso
/
chaos
/
ds48
/
ds48_09.txt
< prev
next >
Wrap
Text File
|
1997-02-28
|
7KB
|
202 lines
Seite ~Ausgabe 48 Ausgabe 48 Seite 9
die noch nicht begriffen, die sich ffir eine Krimi-
nalisierung des einzelnen per Gesetz aussprechen.
Also muß mensch die Sache selbst in die Hände
nehmen - und woraus bestehen auch multinatio-
nale Konzerne, wenn nicht aus Menschen, die ler-
nen können?
Ls 141
The SAP Trouble
A Message To Novell
What is Novell's SAP? SAP stands for Server
Advertise Protocol. If you have a server program
(perhaps a database like BTRIEVE) you may
want client to automatically find this service on
your network. A protocol that helps you is the
SAP protocol from Novell. It acts as follows:
Every service on the network broadcasts once the
minute an IPX packet on the network that has a
specific IPX socket number. The socket number is
0xW52. The packet data provides information as
follows:
node ID (Ethemet address)
network number (IPX network)
network hops
name-of-service (48 char unique)
type-of-service (2 1lytes unique, numbers
from 0x0-0xX000 are owned by Novell the
others are for other companys, you can apply
a number from Novell for your own service at
no cost)
Every Novell server catches these information.
These information is wrinen out to the Bindery
and stored into server memony because it's roubng
information and that must be fast to get. The
information is deleted after a perlad of 3 minutes
if there is no new broadcast of the same packet. If
a client wants to have a service he sends a request
packet to the next server and the server replys the
information under which address the service
exists
Now you would say: "What is this guy telling us?
We already know this! It is well-proven and run-
ning. There is no disgrace!"
You are not right, there is a disgrace! A big one
that can crash down your server.
What do you think would happen if you have a
program that broadcasts its service announcement
packet not once the minute, büt continuously as
fast as it is possible? Not much. But what would
happen if this program always produces new ser-
vice names or service IDs with every new packet?
The server stores all these new services into its
Bindery. It will need »re and more memory for
storing tbe services because this is routing info
and routing info must be fast. The server will allo-
cate more and more memory from the cache buf-
fers since there is no more m~un me»ry.
After some time the server has spend ALL of his
available memory to store the SAP-info. From
this point on you can't login because the login
comrnand needs memory and there is no more
memory available. You have no longer access to
files because this needs memory. You can't look
on the packet traffic using the monitor.nlm
because this window needs memo~y. You can't
open the router tracking window (say "TRACK
ON" on the console) to see what's happening
because there is no mernory.
The SAP-Broadcasts consumes ALL of the ser-
ver's mernory.
Nothing else as storing AND FORWARO~G of
SAP-Packets wil1 happen on the server You can
no longer login or query files!
Your server perhaps will crash down if you have
loaded NLMs tbat must have sorne memory in ~
order to work fine. l'
If you stop the broadcasts your server will wipe-
out the SAP infos after a another 3 rnisutes
because they won't be refreshed. Now you will get
memory to work as before. On a 3.X server the
memory taken from the disc cache won't be given
back. It is unused server memory. You will have
to shut down and reboot if you don't want a slow
Server. On a 4.X Server the memor,Y will be given
1
!|
back to the disk cache (they have a better memory
policy).
You might say that you never wil1 start a NLM
contaning a database or so tbat does this. But who
said that only servers could p~duce SAP-Pak-
kets?
Every workstation could advertise a service that is
stored by the Serverbecause that is its business.
Services could reside on workstations too. You
can advertise a service and the NetWare server
stores it.
So every Workstation on the Net can p~duce the
SAP overflows. You only need the IPX p~tocol
stack being loaded (as playing DOOM on the Net)
and a small program as shown below and you can
produce a lot of trouble to your supervisor. Ima-
gine what happens on great networks in companys
or universities!
~ 1
20 kVlm
Every SAP Packet that is stored by the server wil1
be broadcasted by this server to all other servers
to estabish the new service. The whole network
will be infected.
This would not happen if you have a SAP filter
NLM. But Novel1 only sells this NLM with his
Multi-Protocol-Router. As I know it works ouly as
filter to the WAN-Side. Every SAP packet will be
stored on the server as before bot probably is not
forwarded to the WAN links.
The only chance I see is to have universal packet
filters in source that links between the network
adapter and perhaps the LSL to filter those pak-
kets. You must have this as soulce to make NLMs
that specifically meets your needs, because you
must write a new one for every form of SAP or
RIP abuse.
I have reported this problem to Novell. But they
ouly say: "Well this rnight be a problem. The only
way is to prevent the users to start a program that
produces SAP broadcasts". Well, nice try! But this
is not a solution!!! Every user who doesn't like rne
or want to see me work can start such a program
and ruin my servers.
THE SOLUTION MUST BE PROVIDEI) BY
NOVELL AND IT MUST CO~
FAAAAAASSSST! ! !!
If you don't believe me try out the little program
printed below. I've found a pro,gram like below in
a little BBS were everyone could dowoload it.
After I've found out what it does I had to publish
it. I've chosen this way to publish the problem
because I haventt received ANY reaction from
Novell that REALLY helped me.
If you are a USER PLEASE tell your SUPERVI-
SOIl about this. Tell him that he has to have a fil-
ter NLM loaded. Tell him to talk to Novell for
applying one. Novell has to upload one in source
in this area so everyone could modify it to meet
his needs as filtering out packets so that only 1000
Packets per minutes are given to the server or spe-
cific workstations that are not secure are filtered
out and so on....
If you have the Client SDK a program that produ-
ces this overflow may look like this
#include <stdio.h>
#include csap, h>
#delTine NWW1N
ma i n ( )
char scrin9 1201;
int i;
long 1;
2Ic 2stend«1cuDcr- Das wissenschaftliche Fachblatt für Datenreisende ~2ic ~etcn~l - Ier- Das wissenschaftliche Fachblatt für Datenreisende q