Security Basics mailing list archives
Re: Port-Knocking vulnerabilities?
From: Michael Rash <mbr () cipherdyne org>
Date: Sat, 05 Jan 2008 23:12:36 -0500
On Jan 01, 2008, Craig Wright wrote:
First, you have mentioned SPA, and true this offers more then port knocking, you have also mixed port knocking and SPA up in a couple of your comments. Now you make the comment that SPA can "encrypt" and store in the IP ID. IP ID is a 16 bit flag. That is there are a max of 65535 values. Even with 4 IP packets it is functionally equivilant to a 3 character password. Given a standard ADSL line and 68 byte packets I can send all combinations in just under 7.5 seconds (and this is not doing any analysis on the IPID). That is SPA and not port knocking. That is the MORE secure of the two options.
Agreed.
Yes this way will make a log entry, but are you sitting at the server 24x7 and monitoring ALL scans. Will you stop me in less then 8 seconds? When did people consider a 3 character password safe?
That is why any implementation of SPA that just uses network or transport layer headers to communicate information instead of application layer data is inherently deficient and not worthy of the SPA designation IMHO (even though technically, yes, it is just a single packet). In addition to the small key space that just using the 16 bit IP ID field limits any such implementation to, there are additional limitations including*: - Such "SPA" packets are replayable against the target (unless some horrid S/KEY style iteration of a hash function is used or someone manually changes around the key for each SPA packet). If the application layer were used (such as in fwknop: http://www.cipherdyne.org/fwknop) the replay problem is trivially solved by prepending every SPA packet with 16 bytes of random data before it is encrypted. This is possible because of the relatively large amount of data that can be transfered within the application layer payload of a single UDP packet. - It is difficult to protect against MITM attacks because the source IP itself in the actual network layer header is allowed through the firewall policy on the server side. Fwknop allows the source IP to be placed within the encrypted SPA payload, and is therefore not subject to alteration by an attacker that possesses an inline device that can stop an SPA packet and retransmit it with a different source IP. - It is impossible to communicate client-side information that the server might find useful because the usage of packet headers is too restrictive. A true SPA implementation can use 2048-bit GnuPG keys and do things like communicate crypt() passwords so the server can interface with additional authentication mechanisms. Fwknop supports both Rijndael and GnuPG keys, crypt() passwords, and even the transmission of full shell commands. Here is a list of features supported by fwknop - all of these are possible because of the usage of payload data instead of just packet headers for SPA communications: http://www.cipherdyne.org/fwknop/docs/features.html *Disclaimer: I developed fwknop so obviously I'm biased. However, I welcome any critique that can point out a non-obvious limitation in the fwknop architecture or implementation. -- Michael Rash http://www.cipherdyne.org/ Key fingerprint = 53EA 13EA 472E 3771 894F AC69 95D8 5D6B A742 839F
Rgards, Dr Craig Wright (GSE-Compliance) Craig Wright Manager of Information Systems Direct : +61 2 9286 5497 Craig.Wright () bdo com au +61 417 683 914 BDO Kendalls (NSW) Level 19, 2 Market Street Sydney NSW 2000 GPO BOX 2551 Sydney NSW 2001 Fax +61 2 9993 9497 www.bdo.com.au Liability limited by a scheme approved under Professional Standards Legislation in respect of matters arising within those States and Territories of Australia where such legislation exists. The information in this email and any attachments is confidential. If you are not the named addressee you must not read, print, copy, distribute, or use in any way this transmission or any information it contains. If you have received this message in error, please notify the sender by return email, destroy all copies and delete it from your system. Any views expressed in this message are those of the individual sender and not necessarily endorsed by BDO Kendalls. You may not rely on this message as advice unless subsequently confirmed by fax or letter signed by a Partner or Director of BDO Kendalls. It is your responsibility to scan this communication and any files attached for computer viruses and other defects. BDO Kendalls does not accept liability for any loss or damage however caused which may result from this communication or any files attached. A full version of the BDO Kendalls disclaimer, and our Privacy statement, can be found on the BDO Kendalls website at http://www.bdo.com.au or by emailing administrator () bdo com au. BDO Kendalls is a national association of separate partnerships and entities. ________________________________________ From: listbounce () securityfocus com [listbounce () securityfocus com] On Behalf Of Goldstein101 [goldstein101 () gmail com] Sent: Tuesday, 1 January 2008 6:40 AM To: Robert Inder Cc: Ansgar -59cobalt- Wiechers; security-basics () securityfocus com Subject: Re: Port-Knocking vulnerabilities? I guess most of you haven't bothered to check what port knocking really is capable of 'cause I'm reading a lot of things that are not true. First of all, Port Knocking is just another layer of security. Think of it as the door of a room that contains a safe. You first have to break the port knocking daemon and then the safe. Not that easy, believe me. Second, Who said port knocking is like transmitting a password in cleartext? Most modern PK systems are encryption based. An attacker can sniff port numbers but packets usually contain other information that is used for authentication. For example I use Aldaba Knocking Suite (aldabaknocking.com) which provides Port Knocking and Single Packet Authorization. In Port knocking mode, basically the client sends this: [IP Address][Port Number][Open/Close Flag][Checksum]. That information is encrypted and sent encoded in the IP-Id field of 4 TCP-SYN packets. This way you have 2 forms of authentication: The first is simple: you need to know the exact port numbers to use when sending those TCP-Syn Packets. Second: you need to know a secret (the encryption key) used to encrypt the information. If you don't have it, you can send random data but when decrypted, it won't verify the checksum. However, Port Knocking has some disadvantages and vulnerabilities. A better and more elegant approach is SPA. Check it out. There are some papers out there. .. On Dec 31, 2007 7:27 PM, Robert Inder <robertinder () googlemail com> wrote:On 29/12/2007, Ansgar -59cobalt- Wiechers <bugtraq () planetcobalt net> wrote:On 2007-12-28 Jay wrote:Portknocking is a security mechanism as it is a type of authentication. "Something you know" in this case the sequence of ports to knock before a unstarted service or daemon begins listening for connections.Since everything is transmitted in the clear port-knocking is as much of a security mechanism as cleartext passwords. Technically: maybe (depending on your definition). Realistically: no.I think your dismissal of port knocking (and, indeed, plain text passwords) is unrealistic. If you can intercept my interaction with some remote server, you can steal the relevant secrets (the password or the sequence of ports). But isn't that quite a substantial "if"? How are you going to do it? Aren't you going to have to compromise some other machine, either where I am, or where the server is (or, I guess, where the relevant DNS records are), and then plant software to deliberately wait and watch until a relevant interaction takes place? I'm not saying that's impossible. But it would take considerable knowledge, planning and effort. Why doesn't that make it a substantial defence against most kinds of casual attack? Robert. -- Robert Inder Interactive Information Ltd, Registered in Scotland 07808 492 213 3, Lauriston Gardens, Company no. SC 150689 0131 229 1052 Edinburgh EH3 9HH SCOTLAND UK Interactions speak louder than words-- Goldstein. Room 101, Ministry of Truth. W2, London. Oceania.
Current thread:
- RE: Port-Knocking vulnerabilities? Bill Lavalette (Jan 02)
- <Possible follow-ups>
- Re: Port-Knocking vulnerabilities? Michael Rash (Jan 07)
- RE: Port-Knocking vulnerabilities? Craig Wright (Jan 07)
- Re: Port-Knocking vulnerabilities? Michael Rash (Jan 07)
- RE: Port-Knocking vulnerabilities? whip (Jan 21)
- Re: Port-Knocking vulnerabilities? Michael Rash (Jan 22)
- RE: Port-Knocking vulnerabilities? Craig Wright (Jan 07)