On 23.10.13 22:17, Haya Shulman wrote:

Sorry for the brief description earlier, fyi, a slightly more elaborate design: The idea is to replace a single middle fragment, e.g., given n fragments, for n>2, we replace some fragment, s.t., 1< i < n. Assume n=3 (and also assume, for simplicity, that fragments arrive in order - adjusting for the general case is straightforward). I want to replace fragment i=2 with a spoofed 2nd fragment. The challenge is to place the spoofed 2nd fragment in IP defragmentation cache, such that it is (1) reassembled with the first fragment, but, (2) not overwritten by the 2nd legitimate fragment. If the attacker plants a spoofed second fragment in a defragmentation cache, it will be reassembled with the 1st authentic, but then will be overwritten by the legitimate 2nd fragment that will subsequently arrive. To ensure that the spoofed second fragment is not overwritten (by the 2nd legitimate fragment), we should set its offset to some lower value (i.e., this results in a gap - that has to be filled - in the resulting reassembled packet). Then when the 3rd (authentic) fragment arrives, it is further reassembled with them (1st and spoofed 2nd). What remains to do, is to fill the missing gap in 2nd fragment. So, to launch this, the attacker has to send two fragments: a spoofed 2nd fragment (which offset is lower than the offset of the authentic second fragment) before (or right after) triggering the DNS request, and after the thre fragments (authentic 1st, 3rd and spoofed 2nd) are reassembled a small fragment is sent to fill the missing bytes (in the spoofed 2nd fragment). Then the packet is ready to leave the IP defragmentation cache.

This is not an attack on DNS, but an attack on IP reassembly technology. Which might work or not work depending on how the particular TCP/IP stack functions. This attack affects any IP based protocol and therefore should in no case be labeled "DNS vulnerability".

This is essentially an IP packet modification vulnerability and in order to do these, you don't even need fragmentation. This might happen even due to malfunctioning network adapter or other network device, not necessarily an "attack". One of the reasons for DNSSEC existence is to prevent processing of "damaged" DNS data, with malicious origin or not.

If you are concerned with improperly assembled IP packets, the DNS community is the wrong place to ask for a fix. The DNS community can only make sure "their" protocol takes care of such issues, and issues like this are totally addressed by technologies such as DNSSEC, TSIG etc. But the fundamental "fix" for this issue has to happen in the TCP/IP stack.

a side by side reading of your earlier draft (http://arxiv.org/pdf/1205.4011.pdf) and your current draft:


    
https://0a94266f-a-62cb3a1a-s-sites.googlegroups.com/site/hayashulman/files/fragmentation-poisoning.pdf?attachauth=ANoY7cpB1yJsBXMWL0_spxDjUMV9m5G_TjI98UgJE6OtoP98H-WrlRJ2AyJVhajdZ5za2vjZ14twuMHuB7NUcRW_EYv36scybuofLgPOwoU2Rvs7zpSnm_Qj3jA3noSc3ibX9b9_7tncZJdGca0FLY8SOrzMTY_O5bd0NPcwBXtDx9vtCjbRisMFf48MiOYFNO-66BY3iyGa584pJ0Sy2vYfI5ZKKCmvJhJsmY96N4XChK5cGgky8eg%3D&attredirects=0


    ...shows a remarkably different attitude toward dnssec. what led
    to your reconsideration?


Your observation is correct. Initially it seemed that large responses were a consequence of DNSSEC. But, then we found other techniques to cause fragmentation, not related to DNSSEC, like spoofed ICMP fragmentation needed (reduces the MTU beyond 1.5KB - and removes the requirement of large responses), and malicious domains (created by the attacker), with large responses. This made it clear that the attacks were not an artifact of DNSSEC.

On the other hand, DNSSEC prevents these (and other known and future, unforeseen) attacks against DNS.

No technology, including DNSSEC claims to protect against future unforeseen attacks. DNSSEC in this case simply ignores packets that have invalid cryptographic signatures, for whatever reason. There might be other attacks on DNS that DNSSEC might not be able to defend against.

Daniel
_______________________________________________
dns-operations mailing list
dns-operations@lists.dns-oarc.net
https://lists.dns-oarc.net/mailman/listinfo/dns-operations
dns-jobs mailing list
https://lists.dns-oarc.net/mailman/listinfo/dns-jobs

Reply via email to