-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[English translation] Detection and prevention of DNS spoofing attacks (Computer Engineering 2006) #437
Comments
This paper is cited in "Splinternet Behind the Great Firewall of China" (2012), in the context of explaining how the GFW's DNS injection works:
It is also mentioned in "Finding contributors to Great Firewall by their papers" ("通过分析论文挖掘防火长城(GFW)的技术人员") from 2013, an attempt to map out the network of researchers contributing to the Great Firewall, starting from 方滨兴 (Fang Binxing):
|
The earliest documentation of DNS response injection in China that I know of comes from 2002, which is 4 years before this paper, and 10 years before "Splinternet". There were two reports, one by Bill Dong and DynaWeb, and one by Jonathan Zittrain and Benjamin Edelman. The beginning of DNS response injection in China appears to have been September 2002. A report about national DNS spoofing in China on Sept. 28th
It is interesting that the injected IP address was one belonging to a web site that was already blocked. The DNS injection system returns a blocked IP address, and relies on the IP address blocking system (cf. #434, #435) to actually block access to the site. These days, the DNS injection system in China uses not just 1, but hundreds or thousands of fake IP addresses; see #47, https://censorbib.nymity.ch/#Hoang2021a. Internet Filtering in China
This report also says that HTTP request keyword blocking and HTTP response body keyword blocking both also began in September 2002.
|
This research paper, originally published in Chinese in 2006, has not been available in English before. It is a bit unusual in that it describes how to mitigate a class of DNS attacks that is done by the Great Firewall of China, even though one of the authors, 方滨兴 (Fang Binxing), is known to have helped create the Great Firewall.
Detection and prevention of DNS spoofing attacks
闫伯儒 (Yan Boru), 方滨兴 (Fang Binxing), 李斌 (Li Bin), 王垚 (Wang Yao)
Journal homepage
Original Chinese PDF
Online English HTML
English PDF
The paper is, facially, about detecting and preventing DNS response injection attacks—exactly the kind of attack that has long been one of the GFW's primary tools for censorship. It presents three way to detect that DNS response injection is occurring, and three ways to distinguish injected responses from legitimate one and thereby foil the attack.
Section 1.2 is a straightforward description of a DNS response injection attack. The DNS client sends a query, and the attacker sends a response containing a fake IP address (spoofing the source address so it appears to come from the real resolver). The real resolver sends its response too, but because the attacker's response arrives first, that is the one honored by the client.
Figure 2: DNS spoofing attack
The paper unambiguously calls DNS response injection "harmful" and an "attack". Table 1 compares response injection with other DNS attacks: cache poisoning, server compromise, and denial of service. They emphasize that the attack is only possible because of design flaws in the DNS protocol.
The three techniques for detecting that DNS injection is happening come in both passive and active varieties:
There are an additional three techniques for distinguishing injected DNS responses from legitimate ones. The first two are based in the observation that injected responses tend to be simpler in structure than real responses, having fewer sections and resource records.
The evaluation uses ADMid as a DNS spoofing attack tool. The authors enhanced ADMid to, with 10% probability, add a non-empty Authority section to responses, to make them more realistic. They try prevention technique (1) with two different weight vectors, and prevention technique (2) (the single-feature Bayes classifier). Sending 1000 queries in total for the top 100 websites in China (thereby provoking 1000 injected and 1000 legitimate responses), they get true positive rates of 97% or 98%, and true negative rates of 72% to 97%. The best prevention technique is (1), the weighted sum of section sizes, with weight 1 for each of the Answer, Authority, and Additional sections.
In two places the paper says that the attacker is constrained to send an injected response as quickly as possible, and therefore cannot spend much time on packet construction. This is what makes detection technique (2) work: the attacker could check that the destination IP address in a DNS query is actually a resolver, but it would take too much time.
The text was updated successfully, but these errors were encountered: