Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

2011 12th International Conference on Parallel and Distributed Computing, Applications and Technologies

Prevent DNS Cache Poisoning Using Security Proxy

Lejun Fan Yuanzhuo Wang, Xueqi Cheng, Jinming Li


Institute of Computing Technology Institute of Computing Technology
Chinese Academy of Sciences Chinese Academy of Sciences
Beijing,China Beijing,China
fanlejun@software.ict.ac.cn {wangyuanzhuo,cxq,lijinming}@ict.ac.cn

AbstractDNS has been suffering from cache poisoning attack DNS used an incremental transaction ID which is prone to be
for a long time. The attacker sends camouflaged DNS response guessed by the attacker, people then turn to use randomizing
to trick the domain name server, and inserts malicious transaction ID and make it harder to be guessed. But there is
resource record into the cached database. Because the original still only 216 = 65536 possible ID, thus source port
DNS protocol only depends on 16-bit transaction ID to verify randomizing is introduced[11], instead of original fixed port
the response packet, it is prone to be guessed by the attacker. 53, DNS servers communicate through a random port. This
Although many strategies such as transaction randomizing, method significantly increases the difficulty of the attacker
source port randomizing and the 0x20 technique have been by the possible combination of ID and port. But a patient
applied to improve the resistance of DNS, the attacker still has
attacker still has chance to poison the DNS server in
chance to poison DNS server in an acceptable time. Other
more complicated strategy such as DNSSEC which provides
acceptable time. Then another strategy called 0x20 is
stricter prevention mechanism is not easy to deploy and is not presented, it uses case sensitive domain name for further
widely adopted yet. To address the problem, we present a novel verification[6]. The method once again decreases the
strategy called Security Proxy. The architecture can be easily probability of success attack, but it has some limitation such
implemented and deployed on existing DNS server without as that not all the DNS server is case sensitive and cant
modification of DNS server itself. The embedded two schemes either stop the attacker completely. Some other strategies
Selective Re-Query and Security Label Communication can such as DNSSEC[5,9] and TSIG[12] can almost terminate
cooperate and effectively prevent the cache poisoning attack. the cache poisoning attack by using complicated cryptology
We analyze our strategy from both the capability and and authorization mechanism, but modification of existing
efficiency. Then we find that our Security Proxy has obvious DNS are needed and hard to deploy.
advantage over the original transaction ID, the source port In order to enhance the security of existing DNS and
randomizing and 0x20 techniques. avoid unnecessary modification, we present a novel
prevention scheme called Security Proxy. As a security
DNS Cache Poisoning attack; Security Proxy; Selective Re- component for DNS, our strategy can be implemented and
Query; Security Label Communication deployed on the DNS server easily with little modification to
existing DNS. The main function of Security Proxy is
I. INTRODUCTION improving the verification of DNS response and removing
Domain Name System(DNS) is important part of Internet the camouflaged packet. Security Proxy works like a normal
infrastructure. Most network applications rely on DNS for proxy and can intercept, filter, modify and forward the data
translating domain name to IP address. If DNS is out of packet for DNS server. Furthermore, it has two different
service for even a few minutes, large part of Internet will be schemes of identifying the camouflaged packet which is
influenced, thus it is necessary to prevent DNS from being called Selective Re-Query(SRQ) and Security Label
attack. DNS is not designed for security from origin and is Communication(SLC). The two schemes have unique
vulnerable to deliberate attack especially the one which is so- advantages respectively and can be switched dynamically, in
called cache poisoning. DNS depends on UDP protocol for order to keep the DNS safe and efficient at different threat
communication and verifies the response packet by a 16-bit level. Our main contributions are as follows:
transaction ID. If the attacker can guess the transaction ID We present a novel strategy called Security Proxy. The
and forge a camouflaged DNS response as if it is from the architecture can be easily implemented and deployed on
real authoritative server, when the recursive server receives existing DNS server without modification of DNS server
the packet, it would be deceived to accept the camouflaged itself. The two embedded schemes Selective Re-query and
response and insert the wrong resource record which Security Label Communication can cooperate and effectively
contains modified domain name-IP mapping into it cache prevent the cache poisoning attack.
space. When the malicious IP address is returned to the user We analyze our strategy from both the capability and
application, the user will encounter phishing web sites or effiency. We consider the attack success probability and the
other traps hosted by the adversary. cost of the attacker to perform cache poisoning, then we find
DNS has been suffering from cache poisoning attack for that our scheme can significantly decrease the chance to the
a long time. People tried to find ways to enhance the security attacker and in the meanwhile, increase his cost. We also
of DNS and get some improvement[1-12]. First widely used compute the impact to DNS query effiency, we find that our
strategy is transaction ID randomizing[10]. The original scheme only lead to little impact to the average query time.

978-0-7695-4564-6/11 $26.00 2011 IEEE 387


DOI 10.1109/PDCAT.2011.69
We evaluate and compare the existing strategies and contains a malicious IP address in step (5b). Because of DNS
ours. We find that our Security Proxy has obvious advantage protocol isnt designed for security reasons, RNS verifies the
over the original transaction ID, the source port randomizing received DNS response only with a 16-bit transaction ID. If
and 0x20 techniques. the attacker can guesses the ID and sends to RNS before the
The rest of this paper is organized as follows: Section 2 real response returning from the ANS, the camouflaged data
reviews the background of DNS query and DNS cache package will be accepted and the real one will be discarded.
poisoning, Section 3 describes the detail of our Security At last, the RNSs cached RRs are poisoned by the
Proxy, Section 4 presents our threat model and analyze both malicious RR injected by the attacker.
the capability and efficiency of our strategy, Section 5
compares our strategy with the other existing strategies. III. SECURITY PROXY
Section 6 concludes this paper and discusses future work.
A. Architecture
II. DNS CACHE POISONING DNS was not originally designed with security in mind,
DNS is a hierarchical and distributed system for domain and thus has not strict verification mechanism for DNS
name resolve service. As the critical part of Internet response data package. This is main reason which gives the
infrastructure, the main function of DNS is keeping the attacker chance to poison the DNS cache. Therefore, we
mapping between IP address and domain name. For each present a new countermeasure to prevent cache poisoning
DNS zone, there are name servers which maintain the attack called Security Proxy. Security Proxy can be deployed
Resource Records (RR) for the zone. A name server can be on RNS and ANS as a component of existing DNS. It
an authoritative name server (ANS) or a recursive and intercepts and forwards the network traffic between RNS and
caching name server (RNS). ANS is a name server that ANS like a normal proxy. But it implements several security
stores original RRs. RNS is a cache server which stores mechanisms for verifying the communication between RNS
recent DNS query results for a period of time. The caching and ANS in order to differentiate camouflaged DNS
mechanism of RNS significantly reduces the network traffic response from the real ones.
and mitigates the pressure on the ANS, but leads to some
security issues. The most common and serious one is DNS
cache poisoning attack, which tricks a RNS server into
believing a camouflaged DNS response and adds it into
cached RRs. With a RNS being poisoned, user applications
will be directed to malicious IP addresses with phishing web
sites or other traps hosted by the adversary.Fig.1 shows more
details about DNS cache poisoning.
Figure 2. The architecture of Security Proxy

Here is an overview of the architecture and work flow of


Security Proxy. As shown in Fig.2, Security Proxy is divided
into two parts, local proxy and remote proxy. The local part
is deployed on RNS, and remote part is on ANS. All the
communication between RNS and ANS will pass through the
Security Proxy. Except DNS request to RNS and RNS
response to the user(since there is no cache-poisoning related
data packet in the two classes of communication), all the
Figure 1. The process of how the attacker poison the RNS cache with a
camouflaged DNS response which contains the malicious IP a1.b1.c1.d1.
other request and response of potential attacker will also be
forwarded by local part of Security Proxy.
There are four classes of entities involved in DNS cache In consideration of the importance of DNS to Internet,
poisoning, the ANS, the RNS, the user and the attacker. First, Security Proxy must keep the DNS query quick, and
in step (1) user application starts DNS query for a domain meanwhile, prevent the attacker from poisoning the DNS
name, the query is send by local stub resolver function which cache. As a tradeoff between capability and efficiency we
is normally implemented in network function library of local introduce two prevention schemes in Security Proxy:
OS. When the query reaches a RNS, it is first checked in Selective Re-Query(SRQ) scheme and Security Label
RNSs local RR database and the cached RRs, if RNS still Communication scheme(SLC). The two schemes have
cant find a RR which matches the queried domain name, it different scope of application and complement each other.
then starts a recursive query from root ANS to TLD ANS The SRQ scheme is a lightweight scheme. It keeps the DNS
and then LLD ANS from step (2) to (4). After a LLD ANS query efficiency as much as possible while reduce the
finally responses the query, the IP address of the queried success probability of cache poisoning attack. The SLC
domain name is embedded in the answer section of DNS scheme is a stricter scheme for prevent cache poisoning
data package in step (5a). At the very moment, the attacker attack as effectively as possible but lowers the DNS query
gets involved and sends a camouflaged data package which efficiency. We also adopt a special work mode to use the two

388
schemes corresponding to the dynamic threat level. In later initialized with a new tid and when the result returns from
sections we will discuss more details about the two ANS, its response will be also inserted into SS. Because the
prevention schemes and then the dynamic work mode. attacker would send lots of camouflaged responses with
B. Selective Re-query Scheme different random domain name and tid to cover the real one
In brief, SRQ scheme selects some suspicious DNS he wants to poison. If all the responses are insert into SS and
responses that it has received and then sends an extra query re-query, ANS will be flooded by our proxy. Thus SS has a
for the domain name in the responses. With comparison of IP max capacity and will drop the excess response objects.
addresses in the two responses of the same domain name, 5) Then local proxy compares the multiple responses for
Security Proxy can decide whether an attack is being the same domain name, if the ip properties of them are
performed. In this scheme, only local part of Security Proxy equal, there is no problem, if not, there must be some
needs to be activated. camouflaged ones sends by the attacker. In order to
The SRQ scheme employs the following notations: differentiate our re-query response from the attackers, we
Q: denotes the DNS request object which has two introduce a time interval before sending the re-query, so the
properties tid and dname. tid denotes transaction ID and
latest response should be the real one.
dname denotes domain name string.
P: denotes the DNS response object which has three 6) When local proxy receives legitimate DNS response
properties tid, dname and ip. The ip denotes IP address from ANS, it simply remove the response objects in both
returned in DNS response. QS and PS.
QS: denotes the request set which contains DNS requests 7) After the above verification steps, local proxy then
received with unique tid. returns RNS the legitimate response without change or the
PS: denotes the response set which contains DNS re-query response instead of suspicious response.
responses received with unique tid, and if two responses The SRQ scheme is very sensitive to the guess attempt of
dname are equal, the ip should also be equal. the attacker. Once the abnormal response appears, it can rise
SS: denotes the suspicious response set which contains alarm immediately and enter security routine. With the re-
DNS responses that may be camouflaged responses from the query of the suspicious DNS response, this scheme can
attacker. reduce the chance of cache poisoning for the attacker. Since
The work flow of DNS equipped with SRQ scheme now only the suspicious responses will be re-query, most of
consists of the following steps and is shown in Fig.3: regular DNS query wont be influenced, the impact to the
DNS query efficiency is also limited. But the attacker can
still use more brute-force method to defeat this scheme and
we will discuss more about this in later sections. Therefore,
the SRQ scheme is suitable for preventing cache poisoning
attack at a lower threat level and keeps the DNS query
efficiency.
C. Security Label Communication
The SLC scheme is designed for preventing the cache
poisoning attack from root. The essential reason of this
attack is that the existing DNS protocol has weak verification
Figure 3. The work flow of SRQ
mechanism only by the 16-bit transaction ID. If we can
enhance the verification the attack wont exist. To this end,
1) When RNS gets DNS resolve request from user we introduce security label communication scheme. This
application, it initializes a new query with the queried scheme will activate both the local part and remote part of
domain name and a random tid. Then the new query is send the Security Proxy. Some extra verification field which is so-
to local part of Security Proxy instead of ANS. called security label will be added to the DNS query and
2) local proxy inserts a new DNS request object Q with response package. We use a random readable string as the
the querys tid and dname into QS. Then local proxy sends label. A label can have multiple characters for stricter
recursive query to remote ANS for RNS. verification. A label is appended to the end of the standard
3) After the query result returns from ANS, local proxy DNS packet as an extra additional field. The local proxy and
verifies it before forwards it to RNS. local proxy first checks remote proxy can assemble or dissemble the package
embedded security label. With the intermediate of security
whether the tid of response is in QS. The legitimate DNS
proxy, ANS and RNS can build more reliable
response should have a request with the corresponding tid in communication than existing mechanism.
QS, if it does not, the attacker may appear in the moment, so The SLC scheme also employs some notations which is
this response will be insert into SS for further verification in similar to SRQ scheme:
step 4, else it will be treated as regular response in step 6. Q: denotes the DNS request object which has three
4) For each suspicious response in SS, local proxy properties: label, tid and dname. tid denotes transaction ID
checks them by send an extra DNS query. This query is and NAME denotes domain name string, the label is

389
introduced for the SLC scheme and denotes the security label D. Dynamic Switching Schemes
content. As mentioned above, the SRQ and SLC scheme suit for
P: denotes the DNS response object which has four different threat levels respectively. As a tradeoff for
properties: label, tid, dname and ip. The ip also denotes IP capability and efficiency, we adopt a kind of work mode
address returned in DNS response. which switches between the two schemes dynamically. The
QS: denotes the request set which contains DNS requests work mode divides into two phases corresponding to the
received with unique label and tid. threat level as follows:
PS: denotes the response set which contains DNS Phase A: When threat level is quite low, the basic SRQ is
responses received with unique label and tid. enough, each suspicious DNS response will be re-query only
Again we will discuss the new work flow of DNS with once. When threat level get higher, advanced SRQ scheme
SLC scheme. which means each suspicious DNS response will be re-query
more than once will be adopted.
Phase B: When threat level gets higher continuously, the
SRQ scheme cant cope with the situation and SLC scheme
should be switch to, security label will be appended to each
DNS packet. The characters of security label will increase
with the threat level.
The detail of switching scheme by threat level will be
discussed in next section. Under the dynamic work mode
that we adopt, the more effort attacker does, the stricter
prevention scheme will be used, and the lower the success
attack probability will be. Such negative feedback will
Figure 4. The work flow of SLC frustrate the attacker and protect the DNS elegantly.
As shown in Fig.4, it contains the following steps: IV. EFFECTIVITY ANALYSIS
1) When RNS receives DNS resolve request, it starts a
As discussed above, we have understood the Security
new recursive query and sends to local part proxy. Proxys architecture, core security scheme and dynamic
2) Local proxy generates new security label with a work mode. In this section, we will discuss the both the
certain length and appends to the end of the DNS query security and performance of DNS when confronting cache
request, then sends the new DNS query request and inserts poisoning attack with the help of our Security Proxy. First
corresponding object into QS for later use. we will analyze the capability of preventing attack, and then
3) Remote proxy receives the DNS query request with the impact to the efficiency of DNS query.
security label. It log the request object and insert into PS. A. Security analysis
Then it cuts off the appended security label and sends
We analyze the security from two aspects: the probability
standard request to ANS.
that the attacker performing successful cache poisoning
4) Remote proxy receives the real response from ANS. attack and the cost that the attacker will pay for the attack.
It look for original security label in PS and assigns the 1) Preliminary
answer field with the IP address in the real response, then it First, we give the definitions of threat level and attack
return the response with security label to RNS. cost which will be used in later analysis.
5) The attacker must guess both the tid and the security a) Threat Level.
label to form the camouflaged DNS response packet. Let BW be total attack bandwidth, let Len be the
6) Local Proxy receives the response of this query and camouflaged packet length, the threat level which is defined
verifies both the tid and the security label. If any one of by the attack frequency can be denoted by TL, then TL = BW
them fails the verification, the response will be dropped. / Len.
7) If the verification is passed, the response will be b) Attack Cost.
returned to RNS and then the user application. Let BW and Ttotal be the attack bandwidth and total attack
The SLC scheme is stricter and more effective scheme time of the attacker, the attack cost denotes by C, then C =
then the SRQ scheme for preventing the cache poisoning BW + Ttotal .
attack. It significantly reduces the success probability of the 2) Success Attack Probability
attack because the attacker must guess both the tid and the We denote the probability of success attack by psucc, psucc
security label at the same time. With a long security label, changes with the threat level in different phases of the work
the chance of the attacker will be very little. But in this mode.
scheme the regular DNS packet and faked packet are equally Phase A: when Security Proxy works under the SRQ
treated, this will increase the average query time and mode, the suspicious responses are selected and re-queried,
influence the query efficiency of the entire system. So this this means that the attacker must guess the Transaction ID of
scheme should be used at a higher threat level. the real response for multiple times which is denoted by R.

390
The number of possible TID for standard DNS response is SRQ descends slower and crosses over the curve of the SLC.
216 so that the number that the attacker should guess under Therefore, switching the two schemes at the intersect point
the SRQ mode is (216)R. But considering the SS has max of the curves is the best plan which can keep the psucc low in
capacity, not all the suspicious response will be re-query. If different threat level.
the attacker sends Nrandom random DNS response for covering 3) Total Attack Cost
the real one and the capacity of the SS is Ncapa. The responses Next we will discuss the cost that the attacker pays for
in SS has probability that equals (216)-R for guess the real TID, the attack. Assume that the attacker guesses Nguess times
the other ones out of SS has probability that equals 2-16. Let before he find the right answer, as we computed in (1) and
the probability of standard DNS be poisoned be constant K = (2), the expectation of the number Nguess that the attacker
2-16, the total psucc can be computed as: needs to send the packets equals to the reciprocal of the
success attack probability, which is 1/ psucc. So the total time
psucc = K(1+(KR-1)Ncapa / Nrandom) (1) expectation should be computed by the packet length, his
bandwidth and the Nguess, then:
Phase B: When Security Proxy switches to the SLC
mode, the psucc will be influenced by the random characters Ttotal = LenNguess /BW (3)
in the security label. The attacker must not only guess the
TID but also guess the random characters. Let the length of The total time means how long will it take that the
security label be L, the possible character contains all letters attacker send all the 1/ psucc packets which length is Len to
and digits thus equals 36, the probability of guess the match the real response with a bandwidth BW, then C can be
security label equals 36-L. We also let constant K be 2-16, thus computed as:
the psucc can be computed as:
C = BW + Len/(BWpsucc) (4)
psucc =K36-L (2)
Then according to the definition of threat level, then we
get another formula as follows:

C = TLLen + 1/(TLpsucc) (5)

With the increasing of TL, if the value of Len and psucc


does not change, the cost of the attacker in formula (6) will
first decrease to a minimum then increase monotonously.
The reason of the phenomenon is that if the attacker sends
less camouflaged packet and keep in a lower threat level he
needs longer time to accomplish the attack, but if he uses
more bandwidth to decrease the attack time, the cost of
network resource will increase. The total cost in our dynamic
switching work mode will increase even faster because Len
and 1/ psucc both increase together with the TL as mentioned
Figure 5. The success attack probability of the SRQ and the SLC in
above. Therefore, under the Security Proxy if the attacker
different threat level
wants to perform more threatening attack, he must pay much
According to formula (1) and (2), both the SRQ and more price than he gets.
SLC mode will significantly reduce the success attack B. Performance Analysis
probability when the parameter R in (1) and L in (2)
Towards DNS performance, the main factors that we will
increases, and under the SRQ mode the psucc even reduce
talk about are average query time of single DNS query. We
faster because of the K in (1) is much greater than 36 in (2).
divide the DNS query time into three parts of our Security
As shown in Fig.5, the curve of SRQ descends faster than the
Proxy, the basic query time Tbasic, the forward time Tforward
SLC before the two curves intersect. But considering the
and the extra process time Tprocess. In both the SRQ mode and
Definition 1 about the threat level we can find that the SLC
SLC mode, the basic query time Tbasic consists of the time
scheme is more suitable for the higher threat level than the
that user send query to RNS, the time that the RNS send
SRQ scheme. In Definition 1, threat level is computed by
recursive query to ANS, the time that the ANS returns the
BW/Len, this implies that under the SRQ mode the
query results. The forward time Tforward consists of the time
increasing of threat level means the increasing of BW when
that the proxy receives the responses and the time that the
Len does not change. In formula (1), the increasing of BW
proxy sends the requests. The Tprocess has different meanings
means the increasing of Nrandom. If Nrandom is large enough,
in SRQ mode and SLC mode, the former mainly contains the
then the psucc will become greater than SLC and increase to
check, search, insert and remove operation time on the object
approximate K rapidly. But under the SLC mode, psucc is only
containers such as PS,QS and SS, the later mainly contains
concerned with L in (2), when L increases, the security label
the generate, compare, assemble and dissemble operation
prolongs, then psucc reduces steadily. Thus the curve of the

391
time for the security labels. There is also another reason dynamic probability psucc in consecutive attack after sending
which influences the average query time, that the SRQ N camouflaged packet can be computed by:
contains the selective mechanism but the SLC treats all the
queries equally. psucc = 1-(1- psucc) N (8)
Next we will respectively compute the average query
time under SRQ the SLC mode, here we introduce Ntotal for We assume that the attacker has 1Mbps bandwidth in this
the total DNS query in a time interval includes both the scenario, and then the psucc of all the four schemes is as
regular packet and the camouflaged packet. Ncapa is same as follows:
mentioned in (1). Under SRQ mode, the regular DNS query
has normal query time Tbasic, but suspicious response has
extra re-query time, as mentioned in (1), the time of this part
of query will be Tprocess + R(Tbasic + Tforward), the proportion of
the two part is Ncapa / Ntotal denoted by N Then the average
query time Tavg can be computed by:

Tavg = N(Tprocess+R(Tbasic+Tforward))+(1-N)(Tbasic + Tforward)(6)

Under SLC mode, both the regular packet and the


suspicious packet will be has Tprocess, and the Tforward
increases for forwarding through both the local proxy and the
remote proxy for multiple times, we denote the count of
forwarding time by F, then the average query time can be
computed by: Figure 6. The variation of the success attack probability

Tavg = Tbasic + FTforward + Tprocess (7) As shown in Fig.6, assume that the attack accomplishes
the attack when the total attack probability reaches 0.9, the
In formula (7), when Ntotal is greater than Ncapa, the Tavg standard DNS TID mechanism can only prevent the attacker
will decrease to Tbasic + Tforward even the R increases. This for few seconds. With the help of 0x20 technique, the time
means that in SRQ mode, the Tavg can keep mostly the same will be in the order of hours. If source port randomizing
with standard DNS query. In formula (8) Tavg keeps constant, scheme is used, the attacker needs few months to accomplish
but since the Tforward and Tprocess are both generated by local the task. When our security proxy is equipped, the total time
computing in Security Proxy, the values of them are less than will prolong by many days or couple of weeks only in SRQ
Tbasic, so there would not be too much gap between the mode, if the stricter SLC mode is adopted, the time only for
standard time and the modified one. Therefore, in both the reaching 0.5 will be few years. Thus our scheme has
SRQ and SLC mode, our Security Proxy only impacts the advantage in lowering the success attack probability over the
average query time very little. existing prevention schemes.
Second, we evaluate the attack cost by formula (5).
V. COMPARATIVE ANALYSIS
In this section we will compare our Security Proxy with
other existing security strategies. We choose standard DNS
scheme which uses TID, the source port randomize
scheme(SPR), and the 0x20 scheme. First we compute the
basic success attack probability psucc of the three schemes.
The standard scheme with TID has a 16-bit integer, so the
psucc equals 2-16. The SPR scheme adds 216-1024 random
source port (excludes 1024 reserved port), so the psucc will be
1/(216-1024). The 0x20 scheme introduces case sensitive
domain name. Assume that the average domain name length
is 12, and then the psucc will be 2-162-12. Under our security
scheme, we let re-query only once in SRQ mode, then we let
the security label length also be 12 bytes in SLC mode. We Figure 7. The variation of total attack cost
also assume that the camouflaged packet length is average
100 byte, and the attacker has the network bandwidth that As shown in Fig.7, all the other strategies increase the
ranges from 1Mbps to 100Mbps. total attack cost significantly than standard DNS with only
transaction ID. Our SLC scheme is two orders of magnitude
A. Security Comparation
better than the SPR and three orders of magnitude than the
First, we consider the variation of the psucc in consecutive 0x20. The SRQ scheme is better than the 0x20 but worse
attack of the other three schemes and ours. Since the average than the SPR, since SRQ is designed for preventing the
success attack probability in single attack is psucc, the

392
attack while keeping the efficiency high, the result is present Security Proxy which can be easily implemented and
acceptable. The cost curve of standard DNS first decreases to deployed on existing DNS server and prevent the cache
a minimum and then increases as we discussed in Section 4.1, poisoning attack by the two embedded schemes Selective
the other four curves are similar to the STD when the threat Re-query and Security Label Communication. We analyze
level is great enough, but we cant see that in Fig.7 since we our strategy from both the capability and effciency and find
assume the attack has a bandwidth ranged from 1Mbps to that our Security Proxy has obvious advantage over the
100Mbps. In fact, if the attacker uses more bandwidth to original transaction ID, the source port randomizing and
sending packet to DNS server, it would become DOS attack 0x20 techniques. In the future work, we will study the
rather DNS attack. countermeasure of other DNS attack categories such as
amplification attack and rebinding attack using our Security
B. Performance Comparation Proxy.
As we mentioned in Section 4.2, the average query time
can be split to three parts, the basic query time Tbasic, the ACKNOWLEDGMENT
forward time Tforward and the extra process time Tprocess. The This work is supported by National Natural Science
main overhead of our Security Proxy is the Tforward and Tprocess Foundation of China (No.60803123, 60873245, 60933005)
and towards the SPR and 0x20, the main overhead is Tprocess. and the Projects of Development Plan of the State High
We develop the proof-of-concept implement of the core Technology Research (No.2010AA012502).
algorithm of the SPR, 0x20 and our SRQ and SLC scheme
with C language then test the value of the three time REFERENCES
variables and then compute the average query time by [1] Alexiou, N., et al.: Formal Analysis of the Kaminsky DNS Cache-
formula(7) and formula(8). We assume that 10% of the total Poisoning Attack Using Probabilistic Model Checking. In: High-
packets needs re-query under SRQ mode and a single DNS Assurance Systems Engineering (HASE), 2010 IEEE 12th
query needs forwarding three times under both SRQ mode International Symposium on, IEEE Press, 2010, pp. 94-103.
and SLC mode. [2] Trostle, J., B. Van Besien and A. Pujari: Protecting against DNS
cache poisoning attacks. In: Secure Network Protocols (NPSec), 2010
6th IEEE Workshop on, IEEE Press, 2010 , pp. 25-30.
[3] Perdisci, R., et al.: WSEC DNS: Protecting recursive DNS resolvers
from poisoning attacks. In: Dependable Systems & Networks, DSN
'09. IEEE/IFIP International Conference on. IEEE Press, 2009, pp. 3-
12
[4] Jackson, C., et al., Protecting browsers from DNS rebinding attacks.
ACM Trans, 2009, Web. 3(1): pp. 1-26
[5] Krishnaswamy, S., W. Hardaker and R. Mundy: DNSSEC in Practice:
Using DNSSEC-Tools to Deploy DNSSEC. In: Conference For
Homeland Security, 2009. CATCH '09. Cybersecurity Applications &
Technology, 2009, pp. 3-15.
[6] Dagon, D., et al. Increased DNS forgery resistance through 0x20-bit
encoding: security via leet queries. In: Proceedings of the 15th ACM
conference on Computer and Communications Security. Alexandria,
Virginia, USA: ACM, 2008
Figure 8. The query time of SPR,0x20 and our SRQ, SLC [7] Changhua, S., L. Bin and S. Lei: Efficient and Low-Cost Hardware
Defense Against DNS Amplification Attacks. In: Global
As shown in Fig.8, the impact to average query time of Telecommunications Conference, 2008. IEEE GLOBECOM 2008,
SPR is about 20ms, the 0x20 is about 30ms, and our scheme IEEE Press, 2008, pp. 1-5.
introduces approximate 40ms overhead under SRQ mode [8] Fanglu, G., C. Jiawu and C. Tzi-cker: Spoof Detection for Preventing
DoS Attacks against DNS Servers. In: Distributed Computing
and 70ms under SLC mode. Although our security Systems, 2006. ICDCS 2006. 26th IEEE International Conference on,
mechanism introduce multiple forwarding and extra IEEE Press, 2006, pp. 37- 37.
processing, but the forwarding time and processing time are [9] R. Arends, R. Austein, M. Larson, D. Massey, and S. Rose. DNS
much shorter than the basic query time and lead to little security introduction and requirements,
overhead. And in most instance, the threat level is low and http://www.ietf.org/rfc/rfc4033.txt.
our Security Proxy will be under SRQ mode, which leads to [10] J. G. Hy. Anti DNS spoofing - extended query ID (XQID),
only 10% overhead of the selected suspicious domain names. http://www.jhsoft.com/dns-xqid.htm
Even under the SLC mode, the overhead would be less than [11] D. J. Bernstein. djb-dns, http://cr.yp.to/djbdns.html
20%. But considering the attack cost in higher threat level, it [12] P. Vixie, O. Gudmondsson, D. Eastlake 3rd, and B. Wellington.Secret
is worthy to trade the security with the little performance Key Transaction Authentication for DNS (TSIG)
.http://tools.ietf.org/html/rfc2845
cost.
VI. CONCLUSION
The existing DNS has been suffering from cache
poisoning attack for a long time. Many strategies have been
applied to improve the security of DNS. In this paper we

393

You might also like