|
ru.internet.security- RU.INTERNET.SECURITY --------------------------------------------------------- From : Marхnais 2:5020/2173.2 18 Nov 2005 17:10:36 To : All Subject : Desktop Firewalls and Intrusion Detection -------------------------------------------------------------------------------- textsection 9 of 12 of file WUESTE.TXT textbegin.section 5.1.23 Special packet check Description of attack: Send specially crafted packets to the target system to see what kind of packet can be detected. Focus will be held on all variations of flags that can be set in a TCP packet. If it is possible to send packets that are not logged, it could be possible to set up a communication channel with a trojan horse using these packets. Tool used: "PacketCrafter" "Zonealarm": type of packet flags set detected IP Д no TCP Д yes TCP URG yes TCP ACK yes TCP PSH yes TCP RST yes TCP SYN yes TCP FIN yes TCP all except PSH yes UDP Д yes The table shows the results of the special packet test for "Zonealarm". When the source and destination IP addresses are set to the local address (127.0.0.1), then the packet will be handled as outgoing. "Symantec Desktop Firewall": type of packet flags set detected IP Д no TCP Д no TCP URG no TCP ACK no TCP PSH no TCP RST no TCP SYN yes TCP FIN no TCP all except PSH yes UDP Д yes The table shows the results of the special packet test for "Symantec Des- ktop Firewall". Only packets that have the SYN flag set will be detected. When the source and destination IP addresses are set to the local address (127.0.0. 1), then the packet will be handled as incoming. "Sygate Personal Firewall": type of packet flags set detected IP Д no TCP Д yes TCP URG yes TCP ACK yes TCP PSH yes TCP RST yes TCP SYN yes TCP FIN yes TCP SYN & ACK no UDP Д yes The table shows the results of the special packet test for "Sygate Perso- nal Firewall". All packets get logged in the raw packet log. When the source and destination IP addresses are set to the local address (127.0.0.1), then the packet will be handled as incoming. General conclusion A malicious tool like a trojan horse could use special packets to commu- nicate through the desktop firewall, as none of them detects all sorts of pac- kets. Counter measure Desktop firewalls should contain a stateful packet inspection filter which is able to detect all these packets and check if they belong to a valid connection. 5.1.24 Modifying log file Description of attack: Try to modify the log file of the desktop firewall. With this idea an at- tacker could delete all possible traces of its successful break in. Even pla- cing a wrong information to blame other people could be possible. This could lead to problems when the data in the log file are held as true data. "Zonealarm": Stores the log in a plain text file which can be easily altered or even deleted while the process is running. The application console itself has a buffer on its own, that will remain filled even if the program is restarted. This means altering the log file will not be reflected in the console. Still all inserted events will propagate to the centralized security console if one is used. "Symantec Desktop Firewall": While the firewall is running, the log file cannot be deleted. But there is a registry flag at: HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\IAM\Logs\Firewall When switching this off, the logging process will be disabled. Of course, when the firewall is not running, then the log files can be altered. At the next reload all new events will also appear in the console view. "Sygate Personal Firewall": While the firewall is running, the log file cannot be deleted. Of course, when the firewall is not running, then the log files can be altered. At the next reload all new events will also appear in the console view. General conclusion By terminating the desktop firewall process it is possible to modify the contents of its log file or delete the whole log file. Counter measure Protect the log file from altering during running the process. There is no practical way to protect the log file from modifications when the process is shut down. Encrypting the file is not an option as it should be possible to extract the data by third party tools, so that they could send the events to a centralized correlation engine. Even more important is the argu- ment that the key for a decryption will be stored locally too and can be ext- racted from the firewall. As the firewall is not running, there is also no way of protecting this key from malicious tools. 5.1.25 Push the "yes" button Description of attack: Make a small application that rests in the memory and monitors the names of the appearing windows. It waits until it detects a window from the desktop firewall wizard which asks the user if he wants to block or allow a certain traffic. At this moment the application emulates pressing the "yes" button, for example, by sending the keystrokes for the shortcut. If this is done fast enough, the user will not notice it. This method enables us to create rules for new applications that allow them to communicate with the Internet. General conclusion This is a simple local attack that does not attack the firewall itself. Rather, it makes use of a feature that all desktop firewalls have implemented and enabled by default. Therefore, this attack works on all versions of desk- top firewalls. Counter measure This new added rule could be seen in the rule set, but a common rule set has more then a hundred rules, making it not easy to find a newly added one. A normal user will seldom look at his rule set, at least not as long as all his applications still work. Disabling the wizard is not an option, because it is the most helpful feature for a new user. With it the user does not have to find out himself what communication a new installed application needs. Thus, there is no protection from this attack. 5.1.26 Avoiding visibility Description of attack: There exist several root-kits for Windows. With such tools it is possible to hide running applications from the system. This is done by patching kernel functions or catching API calls in the system. General conclusion The used root-kits were able to successfully hide the process from the task manager and from the "Explorer". But they are not able to prevent the desktop firewalls from seeing and blocking the traffic. I think that it will be not easy to manipulate the network driver to filter out a certain traffic before the firewall does see it. On the other hand, supplying a new network stack could solve this prob- lem. This would then be the same idea as discussed in Section 5.1.20. Counter measure None needed. 5.1.27 Tunneling Description of attack: "Tunneling" is an expression for repacking packets in other protocols. The idea is to use an allowed protocol such as HTTP and fill those packets with the original traffic. For this method often protocols like HTTP, SMTP or ICMP are used. General conclusion This method works fine with network firewalls, as they cannot see the difference between the tunneled packets and the original ones. This method will not work with desktop firewalls as they will see the different application names and then ask to block them. For a desktop firewall it makes a difference which application is sending the traffic. Counter measure None needed. 5.1.28 Trojan horse port Description of attack: Emulate a trojan horse server program that tries to make a listening ser- ver for incoming connections. General conclusion Incoming connections to trojan horse servers are filtered as a normal in- coming traffic and are mapped with the rule name to the name of the trojan horse which is normally using this port. Trojan horses can be configured to run at any port, therefore, it makes no sense to map these ports to trojan horses names. From the security point of view, this scenario is not a problem for desktop firewalls, as they will detect a trojan horse server when it tries to access to the Internet. Then the firewall will ask to block the applica- tion, preventing the trojan horse from accepting connections. Counter measure None needed. 5.2 Conclusions Desktop firewalls do a fairly job in protecting against incoming attacks. They cannot prevent a major DoS attack, but this is normal. Still the experi- ments have shown that they could improve the prevention of DoS attacks to a better level. One thing that should be kept in mind is that it is dangerous to imple- ment automatic response systems into desktop firewalls. React on alarms that have been raised by the firewall is OK as long as we do not trust the source of the attack. Most of the attacks used during the experiment can be run with fake source addresses, making it impossible and probably fatal to block them. Setting the system into a stealth mode and, thus, not responding to any unwanted packets, is a nice feature, but not required. Open ports on the local system will always be reported as open in a port scan, and these are the only ones that the attacker is interested in. Of course, services that should not be accessible from the network should be blocked, but this is a matter of con- figuration. On the other hand, desktop firewalls are vulnerable to different attacks coming from the system they are installed on. This problem cannot be solved. We cannot prevent actions which a normal user is able to perform too. For ex- ample, as long as a user is able to start and stop a service of the firewall on its own, a malicious application executed by the user will have the same possibilities. The same applies to the rule set. As long as a user is able to modify the rule set, it will be possible for a malicious application to modify it too. This can be solved by running the firewall with administrator rights, like most anti-virus scanners already do. However, this takes away the comfort for the user to add new rules "on the fly". This is really the main problem of desktop firewalls: they run on a system where they can be attacked from the inside. Therefore, it is not possible to make anything that a malicious user with administrator rights cannot change. Desktop firewalls should implement a stateful packet inspection filter, otherwise a possibility for a hidden communication channel using special pac- kets is given. This would also eliminate some outgoing DoS attacks which are not yet detected because of this problem. Of course, desktop firewalls should also monitor all the used protocols, especially IGMP. Chapter 6 Correlation & Cooperation In this chapter the generic event log format is defined and some examples for cooperation of desktop firewalls are given. Then the correlation of log events is discussed and illustrated with a real world experiment. 6.1 Generic event log format If we want to compare and correlate events from desktop firewalls with ones from other desktop firewalls or other security related tools, it is in- evitable to map the different log file formats into a one generic format. This format should contain all the necessary information. Having a consistent for- mat will make it easier to write matching rules for alarms. Unfortunately, there does not exist something like a generic log format that is already ac- cepted and used by every vendor. Therefore, we have to provide tools which convert the original event format into the new generic log format. As a part of this thesis I developed three Perl scripts that can be used to translate the log files of the three tested desktop firewalls into the generic log event format. textend.section * Origin: 2:5020/1317.8, /2024.2, /2173.2, /2613.5, /5413.3 (2:5020/2173.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.internet.security/38831b6ec0a1.html, оценка из 5, голосов 10
|