|
|
ru.internet.security- RU.INTERNET.SECURITY --------------------------------------------------------- From : Marхnais 2:5020/2173.2 18 Nov 2005 17:10:16 To : All Subject : Desktop Firewalls and Intrusion Detection --------------------------------------------------------------------------------
textsection 6 of 12 of file WUESTE.TXT
textbegin.section
4.1.14 Avoiding visibility
Description: Make the process invisible for the desktop firewall.
Required access: Local.
Idea: Use a kernel patch to hide the applications from API calls.
Impact: No filtering will be applied to the traffic.
Leads to: Bypass the outgoing filter.
Variations: Use different root-kits for Windows systems.
4.1.15 Resource exhaustion
Description: Consume all the available resources on the protected machine.
Required access: Local.
Idea: Consume all the available resources to probably crash the
desktop firewall or at least temporary disable it.
Impact: Disabling the desktop firewall.
Leads to: Bypass the incoming and outgoing filter.
Variations: Try different resources like CPU time or memory.
4.1.16 Modifying log file
Description: Modify the log file of the desktop firewall.
Required access: Local.
Idea: Remove the traces after a successful attack.
Impact: Fake log files events.
Leads to: Misinformation.
Variations: Add alarms of attack that have not taken place. Delete the
complete log file.
4.1.17 Modifying rule set
Description: Modify the rule set of the desktop firewall.
Required access: Local.
Idea: Edit the rule set so that any traffic is allowed.
Impact: Add a custom rule.
Leads to: Bypass the incoming and outgoing filter.
Variations: Add new specific rules or edit the existing rules.
4.1.18 Push the "yes" button
Description: Write an application that automatically pushes the "yes" but-
ton of the rule creation wizard when a new rule should be
created.
Required access: Local.
Idea: Automatically create a rule for the malicious application.
Impact: Add a custom rule.
Leads to: Bypass the incoming and outgoing filter.
Variations: Use the wizard to create an allow-all rule.
4.1.19 Alarm flood
Description: Try to overflood the desktop firewall with alarm events.
Required access: Remote.
Idea: Too many alarms might overwrite the older alarms in the log
file.
Impact: Information loss.
Leads to: An unnoticed attack.
Variations: Use different log file sizes.
4.1.20 Misuse a trusted application
Description: Remotely control a trusted application having it communicat-
ing to the network. Use COM objects to open a browser window
that is hidden. Let it access a special webpage to exchange
information.
Required access: Local.
Idea: Pretend to be the trusted application.
Impact: Filter of the trusted application will be applied to the
traffic.
Leads to: Bypass the outgoing filter.
Chapter 5
Results
This chapter presents the results found while testing the desktop fire-
walls and explains the occurred design problems of them.
5.1 Results of attacks
5.1.1 Process killing
Description of attack:
As a restricted user try to terminate the running desktop firewall pro-
cess. When successful, this will disable the firewall and stop its services
and, thus, offer full access to the Internet. If not successful, try the same
with the administrator rights.
Tool used:
"Process Xplorer" from "Sysinternals" [11].
"Zonealarm":
Selecting the process Zonealarm.exe and sending a termination message
will end the firewall processes including the "TrueVector" service VSmon.exe
which does the filtering. Although during the experiment sometimes the "True-
Vector" did not terminate correctly. Therefore, it seems better to first stop
the VSmon.exe and then stop Zonealarm.exe separately. Zonealarm will notice
that TrueVector service is no longer running and will ask the user if it
should be restarted, but, if we kill Zonealarm too, this does not matter.
When the firewall was in "block all" mode, also known as "panic mode",
then after killing the process no further network connection is possible. It
seems that in this case a low level driver is injected into the network stack
to prevent any communications. By terminating the process the protection in
the network driver will not be removed as it is not the process itself which
blocks the traffic. It should be investigated what exactly gets installed by
the process, to be able to see if it can be removed by an attacker.
"Symantec Desktop Firewall":
Logged in as a restricted user it is possible to kill the process IAMAPP.
EXE. Unfortunately, this will only terminate the system tray icon. Examining
the startup shows that the first process starts another tool called NISSERV.
EXE. This process is responsible for the traffic filtering. Therefore, killing
it is what we want. During the experiment it was not possible to kill it as a
restricted user, but it went to a state where it did not respond and did not
perform filtering anymore. With an administrator rights terminating the fire-
wall process was not a problem.
If this is not an option, then the idea would be to remove the registry
key at:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run : IAMAPP
disabling the autostart of the firewall. Next time the system restarts, the
firewall will not be loaded.
"Sygate Personal Firewall":
Even when being logged on as an administrator, it is not possible to ter-
minate the SCM.EXE process of the firewall directly. It includes several
threads that constantly check for termination messages and try to block them
or restart the service. This is a clever idea.
Thus, it is not possible to terminate the process directly, but indirect-
ly it is possible. If we list all open handles of the firewall process, we can
see a one that is named "\Default" and is of type "Desktop". If we close this
handle, then soon a "Dr. Watson" message will appear and tell that the process
SMC.EXE has generated errors and will stop now. Even when we do not click on
the "OK" button of this message, after 15 s (on an idle system) the process
will terminate and leave the system unprotected. There is an option to set a
password for starting and stopping the firewall service, but this feature will
not prevent from the above explained attack as the password prompt will not
appear.
General conclusion
For all the three tested products it is possible to terminate the fire-
wall process. This can be implemented by a computer virus or a trojan horse,
giving it full access to the Internet after the shutdown of the firewall. Of
course, it is not easy to design a process that cannot be stopped by a malici-
ous application executed by a user since one of the requirements of a desktop
firewall is that the user is able to disable it when needed. This leads to a
problem that an attacker could theoretically use the desktop firewall configu-
ration utility and remove all unwanted functions, ending up with an applica-
tion that shuts down the firewall process. Therefore, I am not aware of a re-
liable method of ensuring that the desktop firewall process is not stoppable,
unless we remove the right of the normal user to start and stop the firewall.
Counter measure
"Sygate Personal Firewall" is on the right way but should improve its
service some more, so that it will be impossible, at least for a normal rest-
ricted user, to shut down the firewall.
5.1.2 Memory injection
Description of attack:
Load a malicious program into the memory space of a trusted application
by allocating memory space for a function in its working memory space and
starting a thread there.
Tool used:
"BackStealth"
Unfortunately, this version of "BackStealth" was not compatible with the
firewall versions of our test candidates, since it was designed for older ver-
sions of them. As the time line for this thesis was short, it did not allow to
code a custom memory injection for the three firewalls. This means the test
with this tool could not be performed.
According to the information available, I assume that it would be possib-
le to successfully inject a code into a trusted application. Generic code ex-
amples for this exist in different programming languages on the Internet. For
example, on "MADshi's" website source code for injecting own functions into
applications can be found [15]. Researches showed that some trojan horses like
"Assasin" already use similar techniques to bypass desktop firewalls.
5.1.3 SYN flood 1, total random
Description of attack:
Flood the target machine with TCP packets, which have the SYN flag set.
The packets are crafted with random source IP addresses, random source ports
and random destination ports.
Tool used:
"HGOD_flood.exe"
"Zonealarm":
Reports each packet as a different event. No special event message is ge-
nerated. No DoS behavior occurs.
"Symantec Desktop Firewall":
Reports each packet as a different event. No special event message is ge-
nerated. No DoS behavior occurs.
"Sygate Personal Firewall":
Reports each packet as a different event. No special event message is ge-
nerated. The CPU utilization goes up to 100% during the attack.
General conclusion
This kind of attack cannot be reduced to a one single event message, as
the events are different. Each packet has a different source IP address and
cannot be distinguished from the nonrelated traffic. Anyhow, no DoS behavior
should occur.
Counter measure
Make sure that no DoS behavior occurs by observing memory and CPU usage.
Maybe, also block packets on a lower layer. SYN floods should be detected and
reported with an alarm event.
5.1.4 SYN flood 2, random ports
Description of attack:
Flood the target machine with TCP packets, which have the SYN flag set.
The packets are crafted with static source IP address, random source ports and
random destination ports.
Tool used:
"HGOD_flood.exe"
"Zonealarm":
Reports each packet as a different event. No special event message is ge-
nerated. No DoS behavior occurs.
"Symantec Desktop Firewall":
Reports each packet as a different event. No special event message is ge-
nerated. No DoS behavior occurs.
"Sygate Personal Firewall":
Reports each packet as a different event. In the system log a port scan
is reported several times from the same IP address. No DoS behavior occurs.
General conclusion
This attack should get reported as a port scan or as a DoS attack. There
is no good argument for a one or the other alarm, as it could be both of them.
Therefore, reporting it as a port scan is not wrong, as for the desktop fire-
wall it looks like a port scan.
Counter measure
There is no real need to do anything against this kind of attack, as the
traffic gets blocked at the desktop firewall. No response will be sent back to
the attacker.
5.1.5 SYN flood 3, static
Description of attack:
Flood the target machine with TCP packets, which have the SYN flag set.
The packets are crafted with static source IP address, static source port and
static destination port.
Tool used:
"HGOD_flood.exe"
"Zonealarm":
Reports all packets in a one event message with an increasing counter.
The summarized count was very small, so it must have dropped some packets. No
special event message is generated. No DoS behavior occurs.
"Symantec Desktop Firewall":
Reports each packet as a different event. The summarized count was very
small, so it must have dropped some packets. No special event message is gene-
rated. No DoS behavior occurs.
"Sygate Personal Firewall":
Reports all packets in a one event message with an increasing counter.
After an irregular amount of time a new event message will be written, as long
as the attack is going on. No special event message is generated. No DoS beha-
vior occurs. Some packets seem to be dropped during the attack.
General conclusion
This attack should be reported as a DoS attack. Of course, it could be a
port scan, as mentioned in Section 5.1.4, but after monitoring few identical
packets always coming from the same source port and targeting the same desti-
nation port, a port scan can be excluded. This behavior would not make sense
for a port scan, however, it is regular for a DoS attack.
Counter measure
There is no real need to do anything against this kind of attack, as the
traffic gets blocked at the desktop firewall. No response will be sent back to
the attacker. However, the attack should get reported with a special event
message of DoS attack.
5.1.6 SYN flood 4, heavy
Description of attack:
Flood the target machine with TCP packets which have the SYN flag set.
The packets are crafted with random source IP addresses, random source ports
and random destination ports. About 300 Kb/s of network load was generated,
which is a lot for the test network.
Tool used:
"HGOD_flood.exe"
"Zonealarm":
After a short time CPU utilization goes up to 100% and stays there until
the end of the attack. Switching the "Block All" button on will not protect
the system from this DoS attack.
"Symantec Desktop Firewall":
After a short time CPU utilization goes up to 100% and stays there until
the end of the attack.
"Sygate Personal Firewall":
After a short time CPU utilization goes up to 100% and stays there until
the end of the attack. Switching the "Block All" button on will not protect
the system from the DoS attack. The firewall needs more then 60 s to recover
from the attack. During the experiment the firewall still used up to 100% of
CPU time for 80 s after an attack of 15 s. After an attack of 30 seconds the
firewall needed 100 s to recover.
General conclusion
For all the three firewalls it was possible to make a remote DoS attack.
This makes it possible to temporary block a protected target machine.
Counter measure
A DoS attack should not be possible. Dropping the packets should be done
as early as possible in the stack. It is a difficult issue to deal with, sin-
ce, at some point of network load, there will be no possibility for the recei-
ving network card to work properly anymore on all the packets. This behavior
would also occur if it there is no firewall running on the machine. Still the
firewall should prevent from such attacks.
textend.section
* Origin: 2:5020/1317.8, /2024.2, /2173.2, /2613.5, /5413.3 (2:5020/2173.2)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.internet.security/38839f720800.html, оценка из 5, голосов 10
|