|
|
ru.internet.security- RU.INTERNET.SECURITY --------------------------------------------------------- From : Marхnais 2:5020/2173.2 18 Nov 2005 17:10:32 To : All Subject : Desktop Firewalls and Intrusion Detection --------------------------------------------------------------------------------
textsection 8 of 12 of file WUESTE.TXT
textbegin.section
5.1.13 Port scan 1
Description of attack:
Perform a port scan on the target machine with "Nmap" program to find out
which ports are open. This is often the first thing an attacker does to find
out more about the target. "Nmap" was used with the options -sT -p 440-450 -v
-P0 -T Aggressive. This is a TCP connect scan which is the basic variant of a
port scan using full TCP handshakes. It is not very stealth but still widely
used. Tested all TCP ports from 440 to 450 with no delay between each scan.
This port range was chosen with no special intenion.
Tool used:
"Nmap"
"Zonealarm":
Reports each packet as a different event. "Nmap" reports all ports as
filtered.
"Symantec Desktop Firewall":
Reports each packet as a different event. "Nmap" reports all ports as
filtered.
"Sygate Personal Firewall":
Each packet gets logged. The system log reports 3 port scan events with a
count of 6, 4 and 10. "Nmap" reports all ports as filtered.
General conclusion
All the three firewalls do not react in a fully stealth way, but they all
react in the same way. No port was reported as open or blocked.
Counter measure
There is no need for a counter measure, as no information leaked out.
5.1.14 Port scan 2
Description of attack:
Perform a port scan on the target machine with "Nmap" program to find out
which ports are open. "Nmap" was used with the options -sT -p 440-444 -v -P0
-T sneaky. This is the same TCP connection scan as used in the port scan 1,
but this time with a large delay of 15 s between each the single scans. Slow-
ing down the scan can bypass some detection engines, as they watch for a spe-
cific number of connections in a fixed time interval.
Tool used:
"Nmap"
"Zonealarm":
Reports each packet as a different event. "Nmap" reports all ports as
filtered.
"Symantec Desktop Firewall":
Reports each packet as a different event. "Nmap" reports all ports as
filtered.
"Sygate Personal Firewall":
Reports each packet as a different event. "Nmap" reports all ports as
filtered. The system log reports 2 port scan events, each with a count of 1.
General conclusion
All ports are reported filtered. The attacker did not gain an information
out of this attack.
Counter measure
There is no need for a counter measure, as no information leaked out.
5.1.15 Port scan 3
Description of attack:
Perform a port scan on the target machine with "Nmap" program to find out
which ports are open. "Nmap" was used with the options -sS -p 440-444 -v -P0
-T sneaky. This time only SYN packets are sent out. This technique is often
referred to as "half-open" scan, because we do not complete the full three way
TCP handshake. After getting a response from the target system, we immediately
close the connection request by sending an RST packet.
Tool used:
"Nmap"
"Zonealarm":
Reports each packet as a different event. "Nmap" reports all ports as
filtered.
"Symantec Desktop Firewall":
Reports each packet as a different event. "Nmap" reports all ports as
filtered.
"Sygate Personal Firewall":
Reports each packet as a different event. "Nmap" reports all ports as
filtered. The system log reports 4 port scan events.
General conclusion
All ports are reported filtered. The attacker did not gain an information
out of this attack.
Counter measure
There is no need for a counter measure, as no information leaked out.
5.1.16 Port scan 4
Description of attack:
Perform a port scan on the target machine with "Nmap" program to find out
which ports are open. "Nmap" was used with the options -sX -p 440- 444 -v -P0
-T normal. In this scan an XMAS-scan is used. This means a special packet with
the FIN, URG and PUSH flags set is sent. As the SYN flag is not set, this pac-
ket will bypass stateless filters. Depending on the answer, we can guess if
the port was open or not. This method does not work every time as it is OS de-
pendent.
Tool used:
"Nmap"
"Zonealarm":
No event messages are generated. "Nmap" reports all ports open, which is
wrong.
"Symantec Desktop Firewall":
No event messages are generated. "Nmap" reports all ports closed.
"Sygate Personal Firewall":
No events are generated in the traffic or system log. The raw packet log
does report the packets. "Nmap" reports all ports open, which is wrong.
General conclusion
This behavior makes it possible to guess which desktop firewall is used
at the target machine. This information could later be used to launch an exp-
loit that targets a specific version of desktop firewalls.
Counter measure
This problem could only be solved by implementing a stateful packet ins-
pection firewall.
5.1.17 Mutex blocking
Description of attack:
Some of desktop firewalls use a mutex to check if there is already an in-
stance of itself loaded. Mutex is a program object that allows multiple prog-
ram threads to share the same resource, such as file access, but not simulta-
neously. When a program is started, a mutex is created with a unique name
identifier. After this point any thread that needs the resource must lock the
mutex from other threads while it is using the resource. The mutex is set to
unlock when the data are no longer needed or the routine is finished.
By stopping the desktop firewall process and blocking its mutex with a
malicious program, it is possible to prevent the firewall from loading and so
from protecting the network.
Tool used:
"ZoneMutex" from "Diamond Computer Systems Labs"
"Zonealarm":
The tool kills the running firewall process. Then it will set a mutex
with the name "Zone Alarm Mutex" preventing the real "Zonealarm" from reload-
ing. As long as this tool blocks the mutex, the machine will be unprotected. A
malicious application could even implement the system tray icon to pretend
that the original firewall is working normally.
"Symantec Desktop Firewall" and "Sygate Personal Firewall":
Unfortunately, there was no ready made attack for these firewalls avail-
able. As the time line for this thesis was short, it did not allow to code a
custom mutex blocking for these firewalls. Therefore, this test could not be
done for "Symantec Desktop Firewall" and "Sygate Personal Firewall".
General conclusion
This problem is related to the process killing issue. Because, if the fi-
rewall is already running, we have to kill the process before we can block the
mutex. Still it is very serious that a single call to the mutex API can block
the firewall from loading.
Counter measure
Prevent another process from imitating the firewall mutex. This can pro-
bably be achieved by using cryptographic algorithms to protect the mutex.
Still it is not trivial. We can think of the idea that a malicious attacker
takes the original firewall application and extracts the creation the part of
the mutex from this application. With this it would be possible to create a
blocking mutex, regardless of what is used to protect it.
5.1.18 DLL injection
Description of attack:
Make a DLL that will be automatically loaded with a trusted application.
Then it can use the rights of the trusted applications to start connections to
the network. For this test a tool was used which creates a DLL that is loaded
with "Internet Explorer".
Tool used:
"FireHole"
"Zonealarm":
Reports nothing unusual. The packets were granted the same rights as the
trusted parent application.
"Symantec Desktop Firewall":
Reports nothing unusual. The packets were granted the same rights as the
trusted parent application.
"Sygate Personal Firewall":
Reports a changed DLL and asks if it should be blocked or permitted. This
is done by comparing the DLL to an internal list with names and fingerprints.
As discussed in Section 5.1.12, it would be possible to replace this internal
list, so that the new DLL can be loaded without an alarm.
General conclusion
This idea is similar to the idea of injecting a thread into the process
memory of a trusted application.
Counter measure
A desktop firewall should also check all the loaded DLLs of an applica-
tion and keep track of them. "Sygate Personal Firewall" does this already. Of
course, this goes back to the problem of where and how to store the signatures
that are checked against the DLLs, as mentioned in Section 5.1.12.
5.1.19 URL encoding
Description of attack:
Use the given web-browser to send a hidden string encoded in a URL. For
example, opening the URL:
http://www.attackerssite.com\input.php?passwd=secret&IP=192.168.0.7
The browser window used to send this information might be set to be invisible
or to be out of the user's desktop screen, so that it is not suspicious.
Tools like "TooLeaky" use this method.
General conclusion
This method will always work as long as a webtraffic is allowed. If we
allow a normal webtraffic to pass the firewall, then this method cannot be
blocked. It is impossible to distinguish between a malicious and a harmless
webtraffic. As all simple mail forms use the same methods of HTTP posts for
communication as well. This really leads to a problem as no users will give up
the possibility to browse the Internet just for security reasons.
Counter measure
Blocking the web-browser is not practicable and, therefore, not an op-
tion. Even if the firewall does stateful packet inspection, this method would
still be undetected as the traffic is a legal HTTP traffic.
One thing that would help is if we block requests from other applications
to open a URL in the default browser. But this is a one of the features the
user probably is not willing to give up. Using a webproxy would not eliminate
the problem.
The final conclusion is that there is no practicable solution to prevent
this attack.
5.1.20 LSP
Description of attack:
Install a layered service provider (LSP) [16] that will listen for all
the incoming traffic. If the LSP gets installed under the desktop firewall in
the protocol chain, it might be possible to read packets before they are re-
jected in the chain by the firewall. When implemented to filter out the pac-
kets of the attacker these special packet would never reach the firewall. This
would make a two way communication possible without the firewall even knowing
what was going on.
Tool used:
"AWP LSP"
"Zonealarm":
LSP can be installed with no problem. Packets that are blocked with it do
not show up in the LSP.
"Symantec Desktop Firewall":
LSP can be installed with no problem. Packets that are blocked with it do
not show up in the LSP.
"Sygate Personal Firewall":
LSP can be installed with no problem. Packets that are blocked with it do
not show up in the LSP.
General conclusion
The LSP was not installed deep enough in the chain, especially not under
the firewall driver, or they used other methods to get the network card
events. The firewall was still acting normally and discarding all the packets
before the LSP was able to view them. Therefore, this attack was not success-
ful.
Counter measure
None needed, but make sure that it is not possible to install an LSP be-
low the desktop firewall driver.
5.1.21 Outgoing flood
Description of attack:
Try emulating a malicious application, which attacks another target from
the protected machine. Therefore, a flooding tool is used to attack another
machine. The protocol is varied with TCP packets with the SYN flag set, an
IGMP traffic and UDP packets.
Tool used:
"HGOD_flood.exe"
"Zonealarm":
Detects the tool and asks to block or allow its traffic.
"Symantec Desktop Firewall":
No event is created, no packet is seen.
"Sygate Personal Firewall":
Detects the tool and asks to block or allow its traffic. All the packets
can be found in the raw packets log.
General conclusion
This would be the usual scenario that gets created if a DoS attack would
be started from this machine. For example, when a worm tries to spread [8].
Counter measure
Outgoing floods should be noticed and blocked if unwanted or not authori-
zed. Therefore, a stateful inspection filter is needed, as flood tools may
send special packets.
5.1.22 Using 100% CPU and memory
Description of attack:
With the help of a JavaScript code it is easy to generate 100% CPU load
and memory usage. The idea behind this is that it might be possible that some
of the events will not get logged by the firewall because of resource prob-
lems. If the firewall was not well programmed, it could also be possible that
the process will crash.
"Zonealarm":
The firewall did not crash and reported normally. No events are skipped
during the tests.
"Symantec Desktop Firewall":
The firewall did not crash and reported normally. No events are skipped
during the tests.
"Sygate Personal Firewall":
The firewall did not crash and reported normally. No events are skipped
during the tests.
General conclusion
Intensely using resources of the target system seems not to affect the
desktop firewall. Of course, it renders the system itself unusable.
Counter measure
None needed.
textend.section
* Origin: 2:5020/1317.8, /2024.2, /2173.2, /2613.5, /5413.3 (2:5020/2173.2)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.internet.security/388330439362.html, оценка из 5, голосов 10
|