USA India
Home Articles UserTV Press Releases Dictionary Books Education Careers B-Channels Resources Forums Blogs Classifieds
Friday 18 Jul, 2008 eNewsletter Register Login
Archives
Articles By Date
Articles By Category
 
 
 Archives >> Details
How weak are your Web apps?
Don't overlook insecure Web applications-they can be easy prey for attackers.
Posted by : Maggie Biggs

A quick glance through the CERT Coordination Center Web site and other security-related information clearinghouses shows that attackers choose a variety of approaches to achieve their goals. Often targeted are packaged applications, such as Microsoft Outlook and networking protocols such as Session Initiation Protocol.

You'll also find many security alerts and advisories about vulnerabilities in Web application technologies. But businesses (and even consumers) who host publicly accessible and internal Web applications often give short shrift to the threat posed by deploying vulnerable Web applications.

There is a variety of reasons why people don't pay as much attention to Web application vulnerabilities as they should. For starters, creating and deploying Web applications usually involves multiple individuals, such as system administrators and software developers. Quite frequently, insufficient communication between these people and lack of clear security responsibilities lead to a rich source of entry points for attackers.

In addition, businesses and consumers can choose from a wide array of available Web technologies to build applications. You may be using multiple tools, including PHP, Perl, Java Server Pages, Active Server Pages, Servlets, or other technologies. Keeping track of all the advisories that may impact the technologies you use can be mind-boggling. Some higher-end automated patch-management tools are capable of helping out in this area, but in many cases, small and medium-size businesses and consumers are on their own in this regard, given the cost of these tools.

Web application security is also tricky due to external Web hosting and outsourcing arrangements. You might have contracted with an ISP to host your site or hired one or more Web pros to build the application functionality you need. Yet, how can you be sure that your ISP or outside application guru is factoring security into the equation?

To gain the upper hand on Web application security, businesses and consumers should educate themselves on the most common methods an attacker might use to compromise a Web application and the resulting impact. Then, by asking a lot of questions of those that create and maintain your Web applications, you can be fairly certain that your Web applications are as impenetrable to attackers as possible. In particular, if you hire external talent, be sure to include language in the contract that will ensure the security of your Web applications.

Let's look now at some of the more common ways Web application security can be compromised.

Server configuration errors

Once created and deployed, Web applications will likely be executed using a Web server (such as Apache) and frequently an application server (such as WebSphere), too. These server technologies are mature and proven to be reliable. However, if they're misconfigured, unauthorized people can easily compromise them. Once in the hands of a capable attacker, a server break-in can lead to data theft or loss, network attacks, and more. Secure servers need to be your first line of defense against attackers.

Whether you manage your own Web servers and application servers or you have someone do it for you, there are a variety of configuration issues that can leave the door open for attackers. Chief among these are: unpatched server software; improperly set directory and file permissions; server services that are active, but not used; default accounts and passwords; leaving default or sample configuration files and scripts on the server; enabling directory listings.

No matter which Web or application server you use, be sure to obtain security documentation for it and carefully configure all settings as described by the vendor. If you have contracted with an outside provider, ask them to document your configuration and compare that information to what the vendor suggests.

Unprotected administrative tools

Web servers and application servers usually include one or more administrative interfaces. For example, application servers will likely have a console where applications can be monitored and user access-controlled. Likewise, one or more tools are usually included to make it easier to deploy applications or define how data is to be accessed. In the wrong hands, these tools can spell trouble for your Web applications.

The best thing to do in this area is to find out how your Web applications are administered. Can administrators remotely access the tools across the public network? What authentication and encryption methods are in place to protect these tools? Can these tools be used to run external commands? Ideally, the administration tools should only be remotely accessible via a back-end interface reachable only via a protected connection, such as a VPN. Administrators should use both encryption and authentication to access the tools. In addition, access to administrative tools and external command interfaces should be tightly restricted. For those using external hosting services, ask your provider for a detailed description of how your Web applications are administered.

Poorly implemented encryption

Many Web applications now routinely use encryption to secure sensitive data as it traverses the public networks, or for server storage. However, mistakes in encryption can easily make your data vulnerable.

Some of the more common mistakes made when implementing encryption include improper SSL certificate setup, use of default certificates, using self-signed certificates, failure to encrypt data within a portion of a Web application, and improper storage of encryption keys, certificates, and passwords.

The easiest way to insure that encryption issues won't leave you vulnerable is to use it only on the data that must be protected. In addition, you might consider hiring an outsider who is skilled in encryption and charge that individual with performing a code review to ensure that you are using encryption properly.

Issues with access control

Access control, which usually occurs when someone accesses your Web application (often after authenticating), is the technology that ensures content is made available only to authorized users. Access control can be implemented at a file or component level, controlled by the Web server or the application server, or inserted by developers of the application.

If your access control is not well thought-out and tested thoroughly, unauthorized users can access data and content for theft purposes or as part of an act of virtual vandalism.

The best way to approach access-control technology is to first decide at which layer you will implement it. Secondly, capture access-control details in your security policy. Define carefully which groups and users can access what data and content. Test all access points in the site. If you host your Web applications externally, you might want to hire a security pro to validate access controls.

Request validation problems

Your Web application likely uses HTTP requests to determine which steps to take next for a particular user. Attackers may frequently manipulate parts of an HTTP request, such as a query string, cookie, or a hidden field that you might be using.

If your Web application is not validating incoming HTTP requests in a centralized way before acting on them, you could be leaving yourself wide open for attack. Many Web applications do validation of incoming requests, but only on the client-side of the application. Attackers can easily bypass client-side validation techniques. Thus, your Web application should perform validation of incoming requests on the server before allowing any further interaction. In particular, your validation procedures should check data types, lengths of requests, null values, required parameters, legal values, and so on.

Even more security issues

The list of potential attack avenues on Web applications grows day by day. Other frequently used attack methods include cross-site scripting, parameter passing, and accessing non-protected accounts or session data. Attackers also like to take advantage of those times when your Web application doesn't handle events properly. And then there is the ever-popular buffer overflow attack.

What can you do?

Consumers and small and medium-size enterprises will likely not have the same tools and resources available to larger organizations simply given the costs involved. However, this does not mean that you can't protect yourself or reduce your risk of Web application attack.

The first step in preventing Web application attacks is to become more knowledgeable about the methods used by attackers. If you can afford it, hiring a consultant to conduct a security audit of your applications is also a good idea. More likely though, you'll want to investigate one or more of the no-cost and low-cost tools available to test the vulnerability of your Web applications. We'll examine some of these tools in next month's Security Advisor.

 
 
Archives by Date
 
 
 
 
 
Copyright © 2001-2008 ComputerUser, Inc., All Rights Reserved
About us | Terms of use | Privacy Policy | Legal | Trademark/Copyright | Awards | Advertise | Writer guidelines | Sitemap | Contact | FAQ's | Feedback  | Link to us

Here are the topics we cover computer certification computer careers computer training computer games consulting data recovery data security digital entertainment emerging technology gadget reviews handheld computers hardware reviews home automation home networks home office how-to advice internet linux local companies local news local profiles macintosh mp3 players network security online music online security open-source small-business technology soho software reviews technology books technology dictionary vpn web site reviews wi-fi windows wireless technology tech articles tech news press releases tech dictionary education resources career solutions create your personal blog upload your videos become a writer usergroups special interest group SIG 3com cipts adobe adobe certified expert apc ncpi apple achds acpt acsa actc avaya bea 8.1 certified administrator 8.1 certified architect 8.1 certified developer 9 certified administrator bicsi rcdd checkpoint ccmse ccsa ccsa ngx ccse ccse ng plus with ai ccse ngx cisco access routing and lan switching ccda ccdp ccie ccip ccna ccnp ccnp old ccsp ccvp crmam ip communications optical proctored exams for validating knowledge sales specialist storage networking vpn and security wireless lan citrix cca 3.0 cca 4.0 cca 4.5 cca xp ccea 3.0 ccea 4.0 ccea xp ccia ciw ciw associate ciw certified instructor master ciw admin master ciw designer master ciw enterprise developer security analyst comptia a+ network+ security+ server+ computer associates ca cusa cuse cwna cwna cwsp dell eccouncil cea cep certified ethical hacker chfi e-commerce architect emc emc specialist implemenation technology foundations enterasys ese eta exam express exin exin itil extreme networks ena ens filemaker f7cd f8cd fortinet fortigate foundry cne fujitsu fujitsu guidance software ence hdi css hda hdm hdsa hitachi hitachi certified professional hp ais apc app aps ase certified systems developer csa cse master ase huawei hcne hyperion hcp ibm advanced deployment professional advanced technical expert application developer business process analyst certified administrator certified advanced system administrator certified advanced technical expert certified associate developer certified enterprise developer certified solution designer certified specialist certified systems expert database administrator db2 deployment professional enterprise developer eserver certified specialist ibm on demand business solution advisor solution designer solutions developer solutions expert storage administrator system administator iisfa cifi intel isaca cisa isc cissp sscp iseb itil ism cpm juniper jncia jncis legato lcaa lcea lotus clp lpi lpic level 1 lpic level 2 lpic level 3 macromedia mcafee mcdata csnd microsoft crm mbs mcad .net mcdba mcdst mcitp mcp mcpd mcsa longhorn mcsa 2003 mcsa 2008 mcsd .net mcse mcse 2000 security mcse 2000 to mcse 2003 upgrade mcse 2003 mcse 2003 messaging mcse 2003 security mcse 2008 mcts microsoft business solutions microsoft partner competency mile2 cnsa network appliance nac-na nac-nie naca nace nacp network general sniffer certified professional nokia nokia security administrator nortel ncde ncds ncse ncss ncts novell5 cna 5 cne 6 cna 6 cne 6.5 cne cne upgrade omg ocup oracle 10g dba 10g oca 11i 8i dba 9i dba 9i internet application developer oca ocp8 to ocp8i dba upgrade exam pmi project management professional polycom pcve redhat rhce rhct sair sas institute sas scp saas scp snia snia certified architect snia certified professional snia certified systems engineer snia storage networking certification program administrator professional associate symantec scse scsp scta scts teradata tca v2r5 tcad v2r5 tcda v2r5 tcis v2r5 tcm v2r5 tcp v2r5 tia ccnt ctp tibco tcp trusecure ticsa veritas infraguard chamber of commerce vcp vmware certified professional webex linkedin facebook myspace Professional page layout, image editing, vector illustration, and print production Website design, development, prototyping, and blogging Creation of rich interactive content Industry-standard visual effects and motion graphics Video capture, editing, and production; DVD titling; and digital audio, Adobe Photoshop CS3 extended, Adobe illustrator CS3,Adobe indesign CS3,Adobe Acrobat 8 Professional, Adobe Flash CS3 Professional, Adobe Dreamweaver CS3,Adobe Contribute CS3,Adobe Fireworks CS3,Adobe After Effects CS3 Professional, Adobe Premiere Pro CS3,Adobe Soundbooth CS3,Adobe Encore CS3,Adobe OnLocation,Adobe Bridge CS3,Adobe Version Cue CS3,Adobe Device Central CS3,Adobe Stock Photos, Intel Pentium 4 (1.4GHz processor for DV; 3.4GHz processor for HDV), Intel Centrino, Intel Xeon, (dual 2.8GHz processors for HD), or Intel Core, Duo (or compatible) processor; SSE2-enabled processor required for AMD systems Microsoft Windows XP with Service Pack 2 or Microsoft Windows Vista Home Premium, Business, Ultimate, or Enterprise (certified for 32-bit editions) 1GB of RAM for DV; 2GB of RAM for HDV and HD; more RAM recommended when running multiple components 10GB of available hard-disk space (additional free space required during installation) Dedicated 7,200 RPM hard drive for DV and HDV editing; striped disk array storage (RAID 0) for HD; SCSI disk subsystem preferred Microsoft DirectX compatible sound card (multichannel ASIO-compatible sound card recommended),1,280x1,024 monitor resolution with 32-bit color adapter Blu-ray burner required for Blu-ray Disc creation OHCI compatible IEEE 1394 port for DV and HDV capture, export to tape, and transmit to DV device QuickTime 7.1.2 software required to use QuickTime features Broadband Internet connection required for Adobe Stock Photos* and other services