The Rapid growth of internet resulted in feature rich and dynamic web applications. This increase in features also introduced completely under estimated attack vectors. Cross site scripting attacks, SQL Injection and malicious file execution are the most dominant classes of web vulnerabilities reported by OWASP 2011. These attacks make use of vulnerabilities in the code of web applications, resulting in serious consequences, such as theft of cookies, passwords and other personal credentials. It is caused by scripts, which do not sanitize user input. Several server-side counter measures for XSS attacks do exist, but such techniques have not been universally applied, because of their deployment overhead. The existing client-side solutions degrade the performance of client’s system resulting in a poor web surfing experience. This paper presents automata-based symbolic string analyses called XHunter for automatic verification of string manipulating programs we compute the pre and post conditions of common string functions using deterministic finite automata (DFAs).Experiment result shows that this approach finds large number of malicious attacks in web application.
                
  
    | Keywords | 
  
    | Social Networks, Scripting Attacks, XSS attacks, Malicious Attacks, Hacker, Crackers. | 
  
    | I. INTRODUCTION | 
  
    | As the Growth of Internet increases rapidly the attack vectors also increases rapidly they can degrade the performance,
      by the process of Hacking. Hacking means finding out weaknesses in a computer or computer network and exploiting
      them, though the term can also refer to someone with an advanced understanding of computers and computer networks.
      Hackers may be motivated by a multitude of reasons, such as profit, protest, or challenge. The subculture that has
      evolved around hackers is often referred to as the computer underground but it is now an open community. While other
      uses of the word hacker exist that are not related to computer security, they are rarely used in mainstream context. They
      are subject to the long standing hacker definition controversy about the true meaning of the term hacker. In this
      controversy, the term hacker is reclaimed by computer programmers who argue that someone breaking into computers
      is better called a cracker, not making a difference between computer criminals (black hats) and computer security
      experts (white hats). Some white hat hackers claim that they also deserve the title hacker and that only black hats
      should be called crackers. | 
  
    | Cyber Security | 
  
    | Web Applications have become one of the most important means of information communication between
      various kinds of users and service providers. CERT (Computer Emergency Response Team) published an advisory on
      newly identified security vulnerability affecting all web applications. There are three known variants of cross site
      scripting: Reflected a page reflects user supplied data directly back to the user. Stored takes malicious data, stores it in
      a file, a database, or other back end system, and then at a later stage, displays the data to the user, unfiltered. DOM
      injection - the site’s JavaScript code and variables are manipulated rather than HTML elements. Attacks are usually
      implemented in JavaScript, which is a powerful scripting language. | 
  
    | Using JavaScript allows attackers to manipulate any feature of the rendered page, including adding new
      elements, manipulating any aspect of the internal DOM tree, and deleting or changing the page format. Initially it was
      possible that a browser window could steal data from another browser window when more than one browser windows
      were open simultaneously. To allow user-side customization of Web information, Cookies were implemented. They are
      pieces of information generated by a Web server and stored in the user’s computer, ready for future access. Cookies are
      embedded in the HTML information flowing back and forth between the user’s computer and the servers. Since the information in the cookies is easily accessible, the attackers popped them through cross site scripting, and used them to
      hijack sessions, and compromise accounts. | 
  
    | To allow user-side customization of Web information, Cookies were implemented. They are pieces of information
      generated by a Web server and stored in the user’s computer, ready for future access. Cookies are embedded in the
      HTML information flowing back and forth between the user’s computer and the servers. Since the information in the
      cookies is easily accessible, the attackers popped them through cross site scripting, used them to hijack sessions, and
      compromise accounts. | 
  
    |  | 
  
    | Web site attack | 
  
    | The malware has evolved to make increased use of the web. The scope extends further than just malicious scripts
      embedded in web pages, for example: numerous downloader Trojans use the web as a simple file repository,
      downloading other malicious files via HTTP. Malicious scripts hosted on attack sites await the visit of vulnerable client
      browsers before they unleash exploit code in order to infect the victim. Compromised sites provide a convenient
      mechanism to expose huge number of victims to malicious code. Spammed email messages and enticing web sites are
      used to lure victims to malicious code. Malware may deliver a traffic redirection payload. Online advertising is a
      multibillion dollar business nowadays. | 
  
    | Increasing web traffic to a site by directing or referring users provides a mechanism for organizations and individuals to
      make money through affiliate marketing. The class of applications that integrate with the browser in order to display
      targeted advertisements is generally referred to as adware. Such software is commonplace today, and is frequently
      bundled with other applications (“ad-supported software”).The web provides the perfect framework for malware
      authors to blend together the techniques listed above. Today's threats cunningly incorporate spam and web “lures” with
      exploit scripts to efficiently infect unsuspecting victims. Figure 1.1 provides an overview of some of the key roles the
      web plays in current malware attacks. | 
  
    | II. PROBLEM STATEMENT | 
  
    | They are many web vulnerabilities do exist in web application, but according to the Report of OWASP in the Year
      2012.They have reported the top most web Vulnerabilities which can effectively causes application to degrade its
      Performance, they are Cross Site Scripting Attack, SQL Injection Attack and Malicious File Execution Attack. This
      Research is focused for eliminating those vulnerabilities. The Short Description of those attacks has been illustrated in
      upcoming sections. | 
  
    | Cross Site Scripting | 
  
    | Cross-site scripting (XSS) is a type of computer security vulnerability typically found in Web applications that enables
      attackers to inject client-side script into Web pages viewed by other users. A cross-site scripting vulnerability may be
      used by attackers to bypass access controls such as the same origin policy. Cross-site scripting carried out on websites
      accounted for roughly 80% of all security vulnerabilities documented by Symantec as of 2009.Their effect may range
      from a petty nuisance to a significant security risk, depending on the sensitivity of the data handled by the vulnerable
      site and the nature of any security mitigation implemented by the site's owner. | 
  
    | There is no single, standardized classification of cross-site scripting flaws, but most experts distinguish between at least
      two primary flavours non-persistent and persistent XSS. Some sources further divide these two groups into traditional
      (caused by server-side code flaws) and DOM-based (in client-side code).Cross-site Scripting (XSS) is an attack
      technique that involves echoing attacker-supplied code into a user's browser instance. A browser instance can be a
      standard web browser client, or a browser object embedded in a software product such as the browser within Win Amp,
      an RSS reader, or an email client. The code itself is usually written in HTML/JavaScript, but may also extend to
      VBScript, ActiveX, Java, Flash, or any other browser-supported technology. | 
  
    | A Cross-site scripted user could have his/her account hijacked (cookie theft), their browser redirected to another
      location, or possibly shown fraudulent content delivered by the web site they are visiting. Cross-site Scripting attacks
      essentially compromise the trust relationship between a user and the web site. Applications utilizing browser object
      instances which load content from the file system may execute code under the local machine zone allowing for system
      compromise. | 
  
    | Sql Injection | 
  
    | SQL injection is an attack in which malicious code is inserted into strings that are later passed to an instance of SQL
      Server for parsing and execution. Any procedure that constructs SQL statements should be reviewed for injection
      vulnerabilities because SQL Server will execute all syntactically valid queries that it receives. Even parameterized data
      can be manipulated by a skilled and determined attacker. The primary form of SQL injection consists of direct insertion
      of code into user-input variables that are concatenated with SQL commands and executed. A less direct attack injects
      malicious code into strings that are destined for storage in a table or as metadata. When the stored strings are
      subsequently concatenated into a dynamic SQL command, the malicious code is executed. The injection process works
      by prematurely terminating a text string and appending a new command. Because the inserted command may have
      additional strings appended to it before it is executed, the malefactor terminates the injected string with a comment
      mark "--". Subsequent text is ignored at execution time. | 
  
    | Using SQL injections, attackers can: Add new data to the database-Could be embarrassing to find yourself selling
      politically incorrect items on an ecommerce site. Perform an INSERT in the injected SQL, Modify data currently in the
      database. Could be very costly to have an expensive item suddenly be deeply ‘discounted’. Perform an UPDATE in the
      injected SQL. Often can gain access to other user’s system capabilities by obtaining their password. | 
  
    |  | 
  
    | SQL Injections | 
  
    | III. LITERATURE SURVEY | 
  
    | A.Makridakis and E.Athanasopoulos “Understanding the Behavior of Malicious Applications in Social
      Networks” | 
  
    | The World Wide Web has evolved from a collection of static HTML pages to an assortment of Web 2.0 applications.
      Online social networking in particular is becoming more popular by the day since the establishment of SixDegrees in
      1997. Millions of people use social networking web sites daily, such as Facebook, My-Space, Orkut, and LinkedIn. A
      side-effect of this growth is that possible exploits can turn OSNs into platforms for malicious and illegal activities, like
      DDoS attacks, privacy violations, disk compromise, and malware propagation. This article shows that social
      networking web sites have the ideal properties to become attack platforms. They introduced a new term, antisocial
      networks that refers to distributed systems based on social networking web sites which can be exploited to carry out
      network attacks. An adversary can take control of a visitor's session by remotely manipulating their browsers through
      legitimate web control functionality such as image-loading HTML tags, JavaScript instructions, and Java applets. This
      Paper shows that social networking websites have the ideal properties to become attack platforms.
      They introduced the new term; antisocial networks that refer to distributed systems based social networking web sites
      which can be exploited to carry out network attacks. This paper is study about many attack vectors but this paper
      doesn’t deal about detection/prevention mechanism. This paper studies about the behaviour of malicious applications
      that causes the remote user to hack legitimate users data. | 
  
    | Gregory Blanc , Ruo Ando and Youki Kadobayashi “Term Rewriting Deobfuscation for static Client side
      scripting malware detection” | 
  
    | Ensuring users with a safe web experience has become a critical problem recently as fraud and privacy infringement on
      the Internet are becoming current. Web-scripting-based malware is also intensively used to carry out longer-term
      exploitation such as XSS worms or botnets, and server-side countermeasures are often ineffective against such threats
      while client-side ones seldom deal with the problem of obfuscation. In order to provide a sounder and more complete
      analysis, this paper proposes a carry out deobfuscation of web-scripting-language-based malware. This paper, studies
      the possibility of automating the deobfuscation process using a term rewriting system based on automated deduction.
      Such static approach intends to evade anti-analysis techniques and unknown obfuscation schemes. With some
      preliminary experiments in JavaScript, This paper shows evidence that this is actually possible and highlights several
      challenges needed to tackle in order to implement an effective script-based malware deobfuscator. This approach can
      be generalized to web scripting languages other than JavaScript such as Action Script or VBScript. Applications
      encompass script-based malware static analysis or malware distribution website crawling. This paper is included in a
      wider project that aims to provide a client-based defence against Web 2.0 malware.
      Term Rewriting System-The Input from the user is first checked for sinks if sinks exist then the sink data is rewritten.
      For example<script> alert(“hacked”);</script> is changed to < script > alert(“hacked”); < script >. Two
      standard Tools are used, Encryption Technique is a Symmetric Encryption standard which convert every plaintext
      message into ciper text message using mono alphabetic cipher Term Rewriting System takes huge amount of time to
      rewrite the sinks (malicious data).Mono alphabetic cipher uses fixed substitution over the entire message .To prevent
      the vulnerability in the network a new tool called Automaton can be used to parse the Malicious sinks, Which is more
      efficient compared to the above Techniques. | 
  
    | Automata-based String Analysis | 
  
    | We use automata-based string analysis techniques that we mentioned above for vulnerability analysis and vulnerability
      signature generation. Our analysis takes an attack pattern specified as a regular expression and a JSP program as input
      and 1) identifies if there is any vulnerability based on the given attack pattern, 2) generates a DFA characterizing the set
      of all user inputs that may exploit the vulnerability. As we have stated earlier, our string analysis framework uses a
      DFA to represent values that string expressions can take. At each program point, each string variable is associated with
      a DFA. To determine if a program has any vulnerability, we use a forward reach ability analysis that computes an overapproximation
      of all possible values that string variables can take at each program point.
      Intersecting the results of the forward analysis with the attack pattern gives us the potential attack strings if the program
      is vulnerable. The backward analysis computes an over-approximation of all possible inputs that can generate those
      attack strings. The result is a DFA for each user input that corresponds to the vulnerability signature. We will discuss how to use vulnerability signatures to generate effective sanitization routines in the next section. Here we focus on how
      to conduct forward and backward symbolic reach ability analyses with summarization techniques. | 
  
    | Forward Analysis – Detect vulnerabilities | 
  
    | Vulnerability analysis is conducted using the dependency graph. The approach identifies the possible values of
      each node. Each node in the dependency graph is associated with a DFA. DFA accepts an over-approximation of the
      strings values that the string expression represented by that node can take at run time. Intersecting the DFA for the sink
      nodes with the DFA for the attack pattern identifies the vulnerabilities. | 
  
    | IV. CONCLUSION | 
  
    | Large amount of websites are vulnerable to XSS attacks. The proposed solution is found to be very effective by the
      experimental results. The solution is platform independent and has been implemented on a platform independent
      browser, so it can be used with other operating systems with a few changes. Cross site scripting vulnerability exists on
      all the platforms, so it is a big advantage over other solutions. We use automata based string analysis techniques
      (XHunter) that we mentioned above for vulnerability analysis and vulnerability signature generation. Our analysis takes
      an attack pattern specified as a regular expression and a JSP program as input and 1) identifies if there is any
      vulnerability based on the given attack pattern, 2) generates a DFA characterizing the set of all user inputs that may
      exploit the vulnerability. The solution can be further extended to cover other pernicious vulnerabilities and attacks. It
      can be implemented as a Common solution to be used in all the web browsers. | 
  
    | Many of the techniques have problems handling attacks that take advantage of poorly-coded stored procedures
      and cannot handle attacks that disguise themselves using alternate encodings. We present a new Tool called XHunter
      that can be used to check the correctness of string manipulation operations in web applications XHunter implements
      automata based approach for automatic verification of string manipulating programs based on symbolic string analysis.
      This Research can be extended by placing XHunter as a Midware that is in between client and server. | 
  
    | References | 
  
    | 
      D.Arulsuju and R.Purushothaman “Hunting Malicious Attacks in  Social Networks” at IEEE-ICoAC 2011 ISBN Number 978-1-4673-0671-  3/11/$26.00©2011 IEEE.
 S.Christey. Vulnerability type distributions in CVE, Oct.  2006. http: //cwe.mitre.org/documents/vuln-trends.html.
  R. Cytron, J. Ferrante, B. K. Rosen, M. N. Wegman, and F. K.  Zadeck.Efficiently computing static  single assignment form and the controldependence graph. Transactions on Programming  Languages and Systems, 13(4):451–490, Oct 1991.
  J. Foster, M. Fähndrich, and A. Aiken.A theory of type qualifiers. In Proceedings of the ACM SIGPLAN Conference on Programming  Language Design and Implementation (PLDI), pages 192–203, Atlanta,  Georgia, May 1–4, 1999. 
  J. S. Foster, T. Terauchi, and A. Aiken.Flow-sensitive type  qualifiers. In PLDI ’02:  Proceedings of the ACM SIGPLAN 2002 Conference on Programming  language design and implementation, pages 1–12, 2002. ACM Press. 
  C. Gould, Z. Su, and P. Devanbu.Static checking of dynamically  generated queries in database applications. In Proceedings of the 25thInternational  Conference on Software Engineering (ICSE), pages 645–654, May 2004.
  O. Hallaraker and G. Vigna.Detecting malicious JavaScript code  in Mozilla. In ICECCS ’05: Proceedings of the 10th IEEE  InternationalConference on Engineering of Complex Computer Systems, pages  85–94, 2005.
  K. J. Higgins. Cross-site scripting: Attackers’ new favoriteflaw, September 2006. http://www.darkreading.com/document.asp?doc_id=103774&WT.svl=news1_1  . 
  J. E. Hopcroft, R. Motwani, and J. D. Ullman.Introduction to  Automata Theory, Languages and Computability. Addison-Wesley, Boston, MA,2000.
  H. Hosoya and B. C. Pierce.Xduce: A typed xml processing language (preliminary  report). In Selected papers from the Third International Workshop WebDB 2000 on  The World Wide Web and Databases, pages 226–244, London, UK, 2001.  Springer-Verlag.
  Y.-W. Huang, F. Yu, C. Hang, C.-H.Tsai, D.-T.Lee, and S.-Y. Kuo.Securing web  application code by static analysis and runtime protection.In WWW ’04:  Proceedings of the 13th international conference on World Wide Web, pages  40–52, New York, NY, USA, 2004.ACM Press.
  T. Jim, N. Swamy, and M. Hicks. Defeating scripting attacks with  browser-enforced embedded policies. In WWW ’07: Proceedings of the 16th  international conference on World Wide Web, pages 601–610, 2007. ACM.
  N. Jovanovic, C. Kruegel, and E. Kirda. Pixy: A static analysis tool for  detecting web application vulnerabilities (short paper). In 2006 IEEE Symposium  on Security and Privacy, Oakland, CA, May 2006.
  N. Jovanovic, C. Kruegel, and E. Kirda.Precise alias analysis for syntactic  detection of web application vulnerabilities.In ACM SIGPLAN Workshop on  Programming Languages and Analysis for Security, Ottowa, Canada, June 2006.
  E. Kirda, C. Kruegel, G. Vigna, and N. Jovanovic.Noxes: A client-side solution  for mitigating cross site scripting attacks. In SAC ’06:Proceedings of the 2006  ACM symposium on Applied computing, pages 330–337, 2006. ACM
 |