You are on page 1of 29

INFORMATION SECURITY  IT­801(N) Time : Three Hours Maximum Marks : 100 Q.1) (a) What are three basic operation in cryptography ?


Cryptography is the art and science of keeping data secure. Cryptographic services help ensure data  privacy, maintain data integrity, authenticate communicating parties, and prevent repudiation (when  a party refutes having sent a message). Basic   encryption   allows   you   to   store   information   or   to   communicate   with   other   parties   while  preventing  non­involved parties from understanding the stored information or understanding  the  communication. Encryption transforms understandable text (plaintext) into an unintelligible piece of  data (ciphertext). Decryption restores the understandable text from the unintelligible data. Both  functions involve a mathematical formula (the algorithm) and secret data (the key).

Cryptographic operations
Different cryptographic operations may use one or more algorithms. You choose the cryptographic  operation and algorithm(s) depending on your purpose. For example, for the purpose of ensuring  data integrity, you might want to use a MAC (message authentication code) operation with the AES  algorithm. APIs   provide   access   to   the   various   cryptographic   operations.   The   iSeries   system   supports   the  following cryptographic API sets. • Common Cryptographic Architecture (CCA) API set is provided for running cryptographic  operations on a Cryptographic Coprocessor for iSeries. For more information on the CCA  APIs, refer to the Features information for the Cryptographic Coprocessors for iSeries.  • Cryptographic Services API set is provided for running cryptographic operations on the  2058 Cryptographic Accelerator or within i5/OS LIC. For more information on the  Cryptographic Services APIs, refer to the Cryptographic Services APIs.  • The Java Cryptography Extension (JCE) is a standard extension to the Java Software  Development Kit. For more information, refer to Java Cryptography Extension.

Data privacy

Cryptographic operations for the purpose of data privacy (confidentiality) prevent an unauthorized  person from reading a message. The following operations are included in data privacy:

The   encrypt   operation   changes   plaintext   data   into   ciphertext   through   the   use   of   a   cipher  algorithm and key. To restore the plaintext data, the decrypt operation must employ the same  algorithm and key.  Encryption/decryption may be employed at any level of the operating system. Basically, there  are three levels: Field level encryption  With field level encryption, the user application explicitly requests cryptographic 

services. The user application completely controls key generation, selection,  distribution, and what data to encrypt.  Session level encryption  With encryption at the session layer, the system requests cryptographic services instead  of an application. The application may or may not be aware that encryption is  happening.  Link level encryption  Link level encryption is performed at the lowest level of the protocol stack, usually by  specialized hardware.  The Cryptographic Coprocessors for iSeries and 2058 Cryptographic Accelerator may be used for  both field level encryption and Secure Sockets Layer (SSL) session establishment encryption. The  system, however, does not use either for VPN. Translate  The translate operation is used to decrypt data from encryption under one key to encryption  under another key. This is done in one step to avoid exposing the plaintext data within the  application program.  (b) What is hash function and what can it be used for ? 10

A hash function H is a transformation that takes a variable­size input m an returns a fixed­size  string, which is called the hash value h (that is, h = H(m)). Hash functions with just this property  have   a   variety   of   general   computational   uses,   but   when   employed   in   cryptography   the   hash  functions are usually chosen to have some additional properties.  The basic requirements for a cryptographic hash function are:   the input can be of any length,   the output has a fixed length,   H(x) is relatively easy to compute for any given x ,   H(x) is one­way,   H(x) is collision­free.  A hash function H is said to be one­way if it is hard to invert, where "hard to invert" means that  given a hash value h, it is computationally infeasible to find some input x such that H(x) = h.  If, given a message x, it is computationally infeasible to find a message y not equal to x such that  H(x) = H(y) then H is said to be a weakly collision­free hash function.  A strongly collision­free hash function H is one for which it is computationally infeasible to find any  two messages x and y such that H(x) = H(y).  The hash value represents concisely the longer message or document from which it was computed;  one can think of a message digest as a "digital fingerprint" of the larger document. Examples of  well­known hash functions are MD2 and MD5  and SHA .  Perhaps the main role of a cryptographic hash function is in the provision of digital signatures.  Since hash functions are generally faster than digital signature algorithms, it is typical to compute  the digital signature to some document by computing the signature on the document's hash value, 

which is small compared to the document itself. Additionally, a digest can be made public without  revealing   the   contents   of   the   document   from   which   it   is   derived.   This   is   important   in   digital  timestamping where, using hash functions, one can get a document timestamped without revealing  its contents to the timestamping service.  There are three types of cryptography algorithms: secret key, public key, and hash functions. Unlike  secret   key   and   public   key   algorithms,   hash   functions,   also   called   message   digests   or   one­way  encryption, have no key. Instead, a fixed­length hash value is computed based on the plaintext that  makes   it   impossible   for   either   the   contents   or   length   of   the   plaintext   to   be   recovered. The primary application of hash functions in cryptography is message integrity. The hash value  provides a digital fingerprint of a message's contents, which ensures that the message has not been  altered   by   an   intruder,   virus,   or  by  other   means.   Hash  algorithms   are   effective   because   of   the  extremely  low probability that two different plaintext messages will yield the same hash value. There are several well­known hash functions in use today: • Hashed Message Authentication Code (HMAC): Combines authentication via a shared  secret with hashing.  • Message Digest 2 (MD2): Byte­oriented, produces a 128­bit hash value from an arbitrary­ length message, designed for smart cards.  • MD4: Similar to MD2, designed specifically for fast processing in software.  • MD5: Similar to MD4 but slower because the data is manipulated more. Developed after  potential weaknesses were reported in MD4.  • Secure Hash Algorithm (SHA): Modeled after MD4 and proposed by NIST for the Secure  Hash Standard (SHS), produces a 160­bit hash value.  OR (a) How can a security framnework assist in the design and implementation of security  infrastructure ? Effective network security demands an integrated defense­in­depth approach. The first layer of a  defense­in­depth approach is  the enforcement of the fundamental elements  of network security.  These   fundamental   security   elements  form   a  security  baseline,  creating   a  strong  foundation   on  which more advanced methods and techniques can subsequently be built.  Developing and deploying a security baseline can, however, be challenging due to the vast range of  features   available.   The   Network   Security   Baseline   is   designed   to   assist   in   this   endeavour   by  outlining those key security elements that should be addressed in the first phase of implementing  defense­in­depth.   The   main   focus   of   Network   Security   Baseline   is   to   secure   the   network  infrastructure itself: the control and management planes.  This document outlines the key security elements identified for Network Security Baseline, along  with implementation guidelines to assist in their design, integration, and deployment in production  networks. 

Security Baseline Overview 
The Network Security Baseline presents the fundamental network security elements that are key to  developing a strong network security baseline. The focus is primarily on securing the network  infrastructure itself, as well as critical network services, and addresses the following key areas of  baseline security: 

•  Infrastructure Device Access  •  Routing Infrastructure  •  Device Resiliency and Survivability  •  Network Telemetry  •  Network Policy Enforcement  •  Switching Infrastructure  Unless these baseline security elements are addressed, additional security technologies and features  are typically useless. For example, if a default access account and password are active on a network  infrastructure device, it is not necessary to mount a sophisticated attack since attackers can simply  log in to the device and perform whatever actions they choose. 

Preliminary Network Design Assessment 
The Network Security Baseline includes some security techniques that rely on the enforcement of IP  address­based traffic filtering. These include ACLs to enforce policy on device management access,  the  ability  to  control route distribution  and uRPF. More advanced security techniques, that  can  subsequently   be   added   as   an   additional   layer   of   security,   also   rely   on   IP   address­based   traffic  filtering, such as firewall rule definition.  A rational, summarized, or compartmentalized IP address scheme, as well as the application of  RFC1918   guidelines,   makes   the   implementation   of   these   IP   address­based   traffic   filtering  techniques simpler and more manageable on an ongoing basis.  In  preparation  for deploying a security baseline, it is recommended that a preliminary network  design assessment be performed in order to facilitate its implementation. The key focus of this  assessment   is   to   review   the   current   IP   addressing   scheme   in   terms   of   the   following   two   key  questions:  An assessment of the current IP addressing scheme may identify areas where IP re­addressing may  be desirable prior to implementation of a security baseline. Whilst this may demand some network  changes, this will generally result in a more manageable and enforceable security policy, offering a  significant benefit to overall network security.  SF is built upon two fundamental objectives, under the premise that one cannot control what one  cannot see or measure:  •  Gain Total Visibility  • •  Identify, monitor, and correlate system­wide events   Assure Complete Control 

Harden network infrastructure, isolate hosts and services, and enforce security policies  To achieve this total visibility and complete control, multiple technologies and capabilities are used  throughout the network to gain visibility into network activity, enforce network policy, and address  anomalous traffic. Network infrastructure elements such as routers and switches are leveraged as  pervasive, proactive policy monitoring and enforcement agents. 

(b) Explain the fllowing Confidentiality.  Assurance that information is shared only among authorised persons or organisations. Breaches of  Confidentiality can occur when data is not handled in a manner adequate to safeguard the  confidentiality of the information concerned. Such disclosure can take place by word of mouth, by  printing, copying, e­mailing or creating documents and other data etc. The classification of the  information should determine is confidentiality and hence the appropriate safeguards.  Integrity.  Assurance that the information is authentic and complete. Ensuring that information can be relied  upon to be sufficiently accurate for its purpose. The term Integrity is used frequently when  considering Information Security as it is represents one of the primary indicators of security (or lack  of it). The integrity of data is not only whether the data is 'correct', but whether it can be trusted and  relied upon. For example, making copies (say by e­mailing a file) of a sensitive document, threatens  both confidentiality and the integrity of the information. Why? Because, by making one or more  copies, the data is then at risk of change or modification.  Availability.  Assurance that the systems responsible for delivering, storing and processing information are  accessible when needed, by those who need them.  Q.2)  (a) What are six components of public key infrastructure ?

PKI Technologies
Organizations need enhanced security for data and strong credentials for identity management. You  can use certificates to secure data and manage identification credentials from users and computers  both within and outside your organization.  A   public   key   infrastructure   (PKI)   is   the   combination   of   software,   encryption   technologies,  processes,   and   services   that   enable   an   organization   to   secure   its   communications   and   business  transactions. The ability of a PKI to secure communications and business transactions is based on  the exchange of digital certificates between authenticated users and trusted resources.

PKI Technologies Architecture
The architecture of a PKI involves implementing various interdependent technologies and processes  to make it possible to issue, validate, renew, and revoke certificates. These technologies include:  • One of more servers running Certificate Services and that provide certificate enrollment,  revocation and other certificate management services. • Active Directory directory service or another directory service that provides account  management, policy distribution, and certificate publication services. • Domain controllers that can authenticate end users and computers when they request  certificates. • Domain client computers and users, who request, receive, and use certificates for specific  purposes. Although certificates can also be used by services and by non­domain clients, in 

most Windows PKI environments, domain users and computers are the primary recipients  and users of certificates. In some cases, the domain client can be a subordinate CA that  requests and receives a certificate authorizing it to issue certificates of its own. The following figure illustrates the architecture of PKI technologies. PKI Technologies Architecture

   PKI Technologies Components The key technology components of a PKI and their relation to the PKI architecture diagram are  described in the following table. Components of a PKI  Components  Certificates Description  Provide the foundation of a PKI. Digital certificates are electronic credentials  that are associated with a public key and a private key that an organization uses  to authenticate users. Certificates are created on servers running Certificate  Services and stored on clients and in a directory such as Active Directory. Can be used to define the content and purpose of a digital certificate, including  issuance requirements; implemented extensions, such as application policy or  extended key usage; and enrollment permissions for certificates that a CA  issues. Certificate templates are stored in the Active Directory and used by  enterprise CAs to provide the default attributes for a certificate.  The part of the core operating system that allows a business to act as its own  CA, and issue and manage digital certificates. Certificate Services includes tools  to manage issued certificates, publish CA certificates and CRLs, configure CAs,  import and export certificates and keys, and recover archived private keys. Servers on which Certificate Services has been configured to issue, validate, and  manage certificates. Windows Server 2003 supports multiple levels of a CA  hierarchy and a cross­certified trust network. This includes offline and online 

Certificate  templates

Certificate  Services


CAs.  List of certificates that a CA considers no longer usable. Certificates have a  specified lifetime, but CAs can reduce this lifetime by a process known as  Certificate  certificate revocation. Publishers can use any kind of directory service,  Revocation Lists including X.500, Lightweight Directory Access Protocol (LDAP), or directories  in a specific operating system, including Active Directory, to store CRLs.  Publishers can also publish CRLs on Web servers.  The two documents that outline how a CA and its certificates are to be used, the  Certificate policy  degree of trust that can be placed in these certificates, legal liabilities if the trust  and practice  is broken, and so on. These documents can also define or impact PKI designs,  statements operations, and usage, including how a CA is configured, how client requests are  processed, and guidelines and procedures for revoking certificates. Configurable limitations on the scope of a certificate. Certificate policies can be  implemented as required and allowed certification path length, the range of  namespaces that are permitted or excluded by a qualified subordinate CA, the  extent to which an organization trusts the identity presented in a certificate, and  the applications that can be used in conjunction with certain certificates.

Certificate  policies 

A directory service or other location where certificates are stored and published.  Certificate and  In a Windows Server 2003 domain environment, the Active Directory is the  CRL repositories most likely publication point for certificates issued by Windows Server 2003– based CAs. Examples of PKI­enabled applications include: Encrypting File System (EFS),  Microsoft Internet Explorer, Microsoft Money, Internet Information Services  (IIS), Routing and Remote Access, Microsoft Outlook, and Microsoft Outlook  Express. Also included are a variety of third­party applications that work with  Windows 2000 and Windows Server 2003 Certificate Services.

PKI­enabled  applications

(b) What drawback symmetric and asymmetric encryption are resolved by using hybrid  method like deffie­ hellman ? Symmetric Disadvantages Because symmetric encryption uses one key for both encryption and decryption, you should  consider the following issues before implementation: Since the secret key is used for both encryption and decryption, anyone who steals the key can then  steal all of the data that is currently, or had already been, encrypted. Because of this danger, the keys  must be delivered in a protected manner, such as a direct face­to­face negotiation, or a telephone  call. This method of transmitting and replacing keys may be acceptable for a small number of keys. But  as the number of keys increases, key management becomes impossible.

Asymmetric Encryption Asymmetric encryption, which uses one key to encrypt a message and another to decrypt the  message, is an encryption technology used for the following: Secure­key exchange mechanisms       Authentication       Data­integrity checking Asymmetric encryption is also called public/private­key encryption, because the encryption scheme  uses   two   keys,   one   private   and   one  public.   These   keys   are   created   using   the   Diffie­Hellman   encryption scheme, where one Gateway’s public key and another Gateway’s private key create a   shared­secret   key.   This   shared­secret   key   is   used   to   verify  and   decrypt   the   encrypted   packet.   Because different keys are used for encryption and decryption, they are called asymmetric keys. Diffie­Hellman A   Diffie­Hellman  public/private­key  pair  is  used  for  calculating  asecret  key,  which  is   used   for  encrypting   and   decrypting   messages.   No  secret   information   is   communicated   during   the   key   exchange, so it does not require a secure channel. Only one key pair needs to be managed for each  correspondent.

Asymmetric has many advantages over symmetric keying. First, through the use of large prime  numbers, the protection process is more secure than with symmetric keys. A prime number is a  positive integer not divisible without a remainder by any positive integer excluding itself and one.  Two large prime numbers, multiplied together, are used, with an additional input, to generate the  public and private keys. No known method as of today can factor the correct number to break the encryption in a reasonable  time, unlike with symmetric keying. For example, if I gave you two very large numbers, like 34,555  and  88,333, and asked you to multiply these numbers together, you could easily figure out the  answer: 3,052,346,815. However, if I gave you 3,052,346,815 and asked you to figure out the two  numbers that were originally used to come up with this value, you would probably spend the rest of  your  life  trying to find the answer, and would probably be unsuccessful. This  is  the beauty   of  asymmetric keying, which is why, first, most asymmetric keying algorithms use this computation  process. Second, an attacker needs to know both the private and public keys to compromise security,  and the private key is never shared with any other device. You would think that given these advantages, most algorithms would use asymmetric keying for  security functions. But asymmetric keying is much slower than symmetric keying when performing  its   security   functionin   the   neighborhood   of   1,500   times   slower!   Therefore,   symmetric   keys   are  preferred when encrypting data, since latency and processing is of concern, but asymmetric keys are  preferred when performing authentication, where establishing a device's identity is of importance,  or for sharing keys, like symmetric keys, across an unprotected network. OR

Q.4 (a) What is the difference between digital signatures and digital certificates ? Digital signatures A digital signature mimics in the virtual  environment the function of a hand­written  signature in printed documents. Information  related to a unique user is encrypted in a private  key that is appended to any message sent by this  user. It authenticates the identity of the user and  guarantees the integrity of the message.  A digital certificate explicitly associates the  identity of an individual/device with a pair of  electronic keys ­ public and private keys ­ and  this association is endorsed by the CA. The  certificate contains information about a user's  identity (for example, their name, email address,  the date the certificate was issued and the name  of the Certifying Authority that issued it.).  These keys complement each other in that one  does not function in the absence of the other.  They are used by browsers and servers to  encrypt and decrypt information regarding the  identity of the certificate user during  information exchange processes. The private key  is stored on the user's computer hard disk or on  an external device such as a smart card. The user  retains control of the private key; it can only be  used with the issued password. The public key is disseminated with the  encrypted information. The authentication  process fails if either one of these keys in not  available or do not match. This means that the  encrypted data cannot be decrypted and  therefore, is inaccessible to unauthorized parties. Digital certificates A digital certificate is an electronic equivalent of  an identification card such as a passport or  driving license. It unequivocally establishes the  identity of the user when exchanging  information over the internet.

Digital Certificates are issued only through a  valid Certification Authority (CA), such as e­ Mudhra. A digital certificate explicity associates  the identity of an individual/device with a pair of  electronic keys ­ public and private keys ­ and  this association is endorsed by the CA. These  keys complement each other in that one does not  function in the absence of the other. They are  used by browsers and servers to encrypt and  decrypt information regarding the identity of the  certificate user during information exchange  processes. The private key of the CA is integral to the  certificate and is kept secret, while the public  key is disseminated with the encrypted  information. The authentication process fails if  either one of these keys in not available or do not  match. This means that the encrypted data  cannot be decrypted and therefore, is  inaccessible to unauthorized parties. Digital certificates can be used for signing  email, encrypting messages, executing electronic  financial transactions, e­commerce, securing  web servers and much more. e­Mudhra, a Certification Authority (CA), offers  secure digital signatures through various options  tailored to suit individual as well as  organizational needs.

Digital Certificates for the following: • For secure email and web­based  transactions, or to identify other  participants of web­based transactions.  • To prove ownership of a domain name  and establish SSL / TLS encrypted 

A Digital Certificate authenticates your identity  electronically. It also provides you with a high  level of security for your online transactions by  ensuring absolute privacy of the information  exchanged using a digital certificate. You can  use certificates to encrypt information such that 

secured sessions between your website  and the user for web based transactions.  • As a developer, for proving authorship of  a code and retaining integrity of the  distributed software programs.  • For signing web forms, e­tendering  documents, filing income tax returns, to  access membership­based websites  automatically without entering a user  name and password etc. 

only the intended recipient can read it. You can  digitally sign information to assure the recipient  that it has not been changed in transit, and also  verify your identity as the sender of the message.

(b) What is fundamental difference between symmetic and asymmetric encryption ? Basically, there are two main types of encryption: symmetric and asymmetric. The most important difference between them is that symmetric encryption uses the same key for  encrypting and decrypting, while asymmetric encryption uses different keys. Let’s see what this  means. Symmetric Encryption Symmetric encryption is by far the oldest. It’s also generally more secure and less computationally  expensive than asymmetric encryption. One example of symmetric encryption is the Caesar substitution cipher. This works by taking your  message letter by letter, and replacing each one by the letter that comes X places after it in the  alphabet. For   instance,   if   your   message   is   “LOL DONGS”   and   X   is   3,   the   encrypted   message   is   “ORO GRQJV” (well, spaces are generally omitted as well, but that’s not that important). 3 is the key in  this case, and the message can be decrypted easily if the key is known.1 In the case of the Caesar cipher, the key is always a number, but it doesn’t have to be. For instance,  the   basic   XORing   cipher   uses   a   passphrase   as   its   key. Remember that XOR is the exclusive or operation in boolean algebra. The truth table looks like this: Input 1 Input 2 Output 0 0 0 0 1 1 1 0 1 1 1 0 A XOR cipher looks at the bits that represent your message (for instance, in ASCII) and the bits that  represent your key, and XOR the first bit of the message with the first bit of the key, the second bit  of the message with the second bit of the key, and so on, repeating the key as often as is necessary.2 For instance, if your message is “LOL DONGS” and your key is “GASP“, it will look something like  this: LOL DONGS GASPGASPG (to ASCII)

01001111 01001100 00100000 01000100 01001111 01001110 01010011 01000001 01010011 01010000 01000111 01000001 01010011 01000111 (XOR) 00001011 00001110 00011111 01110000 00000011 00001110 00011101 00010111 00010100 You can then try to display the message again, but it will as often as not produce a lot of unprintable  characters (in our case, the result is  ␋␎␟p␃␎␝␗␔, or (vertical tab)(shift out)(unit separator)p(end of  text)(shift out)(group separator)(end of trans. block)(device control 4), in words; that’s only one  printable character), so data encrypted this way is generally stored as a raw binary file. To decrypt  it,   you   just   XOR   it   with   the   key   again. This by way of example. Modern encryption algorithms are, of course, vastly more complex, though  most of them do involve XORing at some level. Most ciphers out there are symmetric. Some modern examples include DES, AES (AKA Rijndael;  developed   at   the   KUL,   dontchaknow),   Schneier’s  Blowfish  and  Twofish,   and   IDEA. Symmetric ciphers can be further divided into block and stream ciphers, depending on how they  work, but that’s not important right now. Asymmetric Encryption Asymmetric  or  public­key  encryption, on the other hand, uses a different key for decrypting the  message   than   was   used   for   encrypting   it. The encryption key is referred to as the public key, because anyone can have access to it without  compromising the encrypted message (even though that key was also used for encrypting it). The  decryption key is the  private key, because obviously only the person the message is intended for  can have access to it. “But Carin,” I hear you cry, “How can this be? How can you encrypt a message and be unable to  decrypt it later?” That’s   an   excellent   question,   and   most   (well,   all,   to   my   knowledge)   asymmetric   encryption  algorithms   depend   on   the   fact   that   it’s   very   hard   to   factor   large   numbers   effectively. In theory, if you could factor numbers as easily as you could multiply them, asymmetric encryption  as we know it today would be impossible; the strength of asymmetric encryption depends on the fact  that it’s faster (or nearly so) to bruteforce your way to the message than it is to factor the numbers  and get it the “easy” way Asymmetric encryption is a relatively new concept, in large part because it’s only the computational  power   we’ve   developed   in   recent   years   that   made   it   possible. It’s potentially much more convenient than symmetric ciphers, because you don’t have to figure out  a secure way of getting your key to the person you’re sending an encrypted message to. However, it  has its downsides. For instance, RSA (the most popular asymmetric cipher in use today, for various reasons) works by  raising a numerical representation of the message to the power of part of the public key; specifically,  the product of two large prime numbers. In a typical implementation, these prime numbers are 1024  or   2048   bits   in   size   (1024   is   now   considered   unsafe). As   you   can   imagine,   this   is   somewhat   computationally   expensive,   even   with   the   various  optimisations that are possible. In fact, it’s hugely slow compared to symmetric encryption.

01001100 01000111 01000111 01010000

Not only that, key generation is very important; even ignoring the hypothetical dangers of quantum  computing, if your keys are badly chosen, you might as well be sending plaintext over the network. Chosing proper keys is important for symmetric ciphers as well, of course, but it’s generally easier  to   spot   a   shitty   key   for   symmetric   ciphers   (everyone   knows   “password”   is   a   bad   key,   right?  RIGHT?) than it is for asymmetric ones. There are guidelines that help you pick decent keys, but  still. All   the   same,   it’s   still   hugely   popular   on   the   internet,   for   various   reasons. Because of the computational cost, it’s often just used to encrypt a key, which can then be used for  some type of symmetric encryption, which ideally is the best of both worlds. PGP (and GnuPG) uses asymmetric encryption for e­mail encryption, which is a nice application,  since both encryption and decryption can happen on the client­side, where there’s presumably more  computing power to spare than on the server. Q.5) (a) IP sec can used in two model. What are they ? IPsec provides security services at the network layer by enabling a system to select required security  protocols, determine the algorithm(s) to use for the service(s), and put in place any cryptographic  keys required to provide the requested services. IPsec can be used to protect one or more "paths"  between a pair of hosts, between a pair of security gateways, or between a security gateway and a  host.  The set of security services that IPsec can provide includes access control, connectionless integrity,  data   origin   authentication,   rejection   of   replayed   packets   (a   form   of   partial   sequence   integrity),  confidentiality   (encryption),   and   limited   traffic   flow   confidentiality.  Because   these   services   are  provided at the IP layer, they can be used by any higher layer protocol, e.g., TCP, UDP, ICMP, BGP,  etc.  These   objectives   are   met   through   the   use   of   two   traffic   security   protocols,   the   Authentication  Header (AH) and the Encapsulating Security Payload (ESP), and through the use of cryptographic  key management procedures and protocols. The set of IPsec protocols employed in any context, and  the ways in which they are employed, will be determined by the security and system requirements of  users, applications, and/or sites/organizations.  When these mechanisms are correctly implemented and deployed, they ought not to adversely affect  users,   hosts,   and   other   Internet   components   that   do   not   employ   these   security   mechanisms   for  protection of their traffic. These mechanisms also are designed to be algorithm­independent. This  modularity permits selection of different sets of algorithms without affecting the other parts of the  implementation. For example, different user communities may select different sets of algorithms  (creating cliques) if required.  A standard set of default algorithms is specified to facilitate interoperability in the global Internet.  The   use  of   these algorithms,  in  conjunction  with  IPsec  traffic  protection  and  key management  protocols, is intended to permit system and application developers to deploy high quality, Internet  layer, cryptographic security technology.

Q.6) (a) Explain what is authentication and its types. Motivation Authentication processes have grown in an environment of need, and none have been architected  with   forethought   to   a   classification   of   the   components   of   authentication.     Most   authentication  processes are monolithic The Authentication Model Authentication exists to establish trust between two parties, or authentication entities.  These entities  consist   of   an   identity   and   a   key.     Authentication   is   established   by   performing   a   cryptographic  operation   on   the   parties’   identities   and   keys.     The   cryptographic   operation,   or   authentication  algorithm,   establishes   the   nature   of   the   trust   between   the   parties.     A   network   transport,   or  authentication flow provides the connection between the parties for the authentication algorithm.  Some authentication flows support a standardized authentication control mechanism, or channel, to  simplify the support for multiple algorithms.  The model can be represented graphically as follows: Identity & Key Identity & Key Identity & Key Identity & Key Authentication Algorithm Authentication Algorithm Authentication Algorithm Authentication Channel [optional] Authentication Flow In most authentication systems the layers are tightly coupled and there is no channel provided.  Actually, it is the advent of an authentication channel that is making it possible to loosely couple the  layers and provide for a wide spectrum of authentication solutions.  In the layered model, not every 

combination is viable.  The layered model will provide the framework for follow­on work to classify  various combinations of flows, channels, algorithms and entities and the trust model they provide.  Authentication flows There   are   three   groupings   of   authentication   flows:   unidirectional,   bi­directional,   and   coupled  unidirectional.  In unidirectional there is one party that must always initiate the authentication.  In  bi­directional although one party always initiates the authentication, there is no pre­determined role  of  initiator  and responder, and the roles can reverse at any time.     There is a clear distinction  between unidirectional and bi­directional authentication. In unidirectional, there are unique state  machines for the Initiator and the Resonder.  In bi­directional, there is one state machine that can  either   be  the   authentication  initiator  or responder.   This  single state  machine  handles  direction  reversal and race conditions (when both parties initiate or both try to force being the responder).  Coupled unidirectional is a situation where there are two unidirectional flows that have to complete  before   either   flow   is   considered   done.   Tight   coupling   creates   an   environment   much   like   bi­ directional authentication and handles the race condition by ignoring it.  It does not handle direction  reversals, expecting each party to fully assume both Initiating and Responding roles. What is Mutual Authentication? The   term   ‘Mutual   Authentication’   has   been   used   in   the   literature   to   define   where   the   parties  authenticate to each other within a single authentication process.  Mutual authentication is normally  seen as two separate identity bindings within one authentication algorithm, but EAP methods like  AKA claim mutual authentication with a single identity binding based on joint state held by both  parties.  IKE with pre­shared key also produces a mutual authentication within its single exchange. Mutuality   in   a   single   authentication   process   can   be   achieved   in   many   ways   with   different  assumptions on trust.  As such it is valuable to define different terminology here.  In fact the use of  ‘Mutual’   in   this   context   is   problematic   as   a   single   flow,   consisting   of   2   nested   authentication  algorithms,   can   be   attacked   to   the   detriment   of   the   authenticating   parties   as   with  PEAP/MSCHAPv2. An authentication process may be called ‘mutual’ and still the following issues are undefined: Is one or both identities exchanged? If only one identity is exchanged, is the other identity implied by knowledge of a symmetric key? Is/are the identities exchange secure? If two identities are securely exchanged, are they protected with one or two keys? (b) What do you mean by transport layer security(TLS) Explain. Transport Layer Security(TLS) and its  predecessor, Secure Sockets Layer (SSL), are cryptographic  protocols that provide secure communications on the Internet for such things as web browsing, e­ mail,   Internet   faxing,   instant   messaging   and   other   data   transfers.   There   are   slight   differences  between SSL 3.0 and TLS 1.0, but the protocol remains substantially the same. The term "TLS" as  used here applies to both protocols unless clarified by contex Description  The TLS protocol(s) allow applications to communicate across a network in a way designed to 

prevent eavesdropping, tampering, and message forgery. TLS provides endpoint authentication and communications privacy over the Internet using cryptography. Typically, only the server is  authenticated (i.e., its identity is ensured) while the client remains unauthenticated; this means that  the end user (whether an individual or an application, such as a Web browser) can be sure with  whom they are communicating. The next level of security—in which both ends of the  "conversation" are sure with whom they are communicating—is known as mutual authentication.  Mutual authentication requires public key infrastructure (PKI) deployment to clients. TLS involves three basic phases 1. Peer negotiation for algorithm support 2. Public­key encryption key­based exchange and certificate­based authentication 3. Symmetric cipher traffic­based encryption During the first phase, the client and server negotiate cipher suites, which combine one cipher from  each of  the following:  Public­key cryptography: RSA, Diffie­Hellman, DSA; Symmetric ciphers: RC2, RC4, IDEA, DES, Triple DES, AES or Camellia; One­way hash functions: MD2, MD4, MD5 or SHA.

How it works 

A TLS client and server negotiate a stateful connection by using a handshaking procedure. During  this  handshake, the client and server agree on various parameters used to establish the connection's  security.  The handshake begins when a browser connects to a TLS­enabled server requesting a secure  connection, and presents a list of ciphers and hash functions.  From this list, the server picks the strongest cipher and hash function that it also supports and  notifies  the client of the decision.  The server sends back its identification in the form of a digital certificate. The certificate will  usually  contain the server name, the trusted certificate authority (CA), and the server public  encryption key.  The browser may contact the server of the trusted CA and confirm that the certificate is authentic  before  proceeding.  In order to generate the session keys used for the secure connection, the browser uses the server  public key from the certificate to encrypt a random number and send it to the server. Only the server  can decrypt it (with its private key): this is the one fact that makes the keys hidden from third  parties, since only the server and the client have access to this data.  Both parties generate key material for encryption and decryption.  This concludes the handshake and begins the secured connection, which is encrypted and decrypted  with  the keys until the connection closes.  If any one of the above steps fails, the TLS handshake fails, and the connection is not created. 

TLS Handshake in Detail  The TLS protocol exchangesrecords that encapsulate the data to be exchanged. Each record can be compressed,   padded,   appended   with   a   message   authentication   code   (MAC),   or   encrypted,   all  depending on the state of the connection. Each record has a content type field that specifies the  record, a length, and the TLS version. A simple connection example follows:  1. A Client sends aClie nt Hello message specifying the highest TLS protocol version it  supports, a  random number, a list of suggested cipher suites and compression methods.  2. The Server responds with aSe rverHello, containing the chosen protocol version, a random  number,  cipher, and compression method from the choices offered by the client.  3. The Server sends itsCertificate (depending on the selected cipher, this may be omitted by the  Server).  4. These certificates are currently X.509, but there is also a draft specifying the use of  OpenPGP  based certificates.  5. The server may request a certificate from the client, so that the connection can be mutually  authenticated, using aCertificateRequest


(a)   What   security   protocols   are   prediominantly   used   web_   based   electonic  commerce ?
A protocol designed to ensure the security and integrity of online communications and purchases,  Secure Electronic Transaction (SET) uses digital certificates, issued to merchants and other  businesses and customers, to perform a series of security checks verifying that the identity of a  customer or sender of information is valid. SET provides the basic framework within which many of  the various components of securing digital transactions function. Digital certificates, digital  signatures, and digital wallets all function according to the SET protocol. There are several components for the SET protocol.

• The Cardholder Application, also referred to as a digital wallet, is held by an online  consumer and packages a digital signature and credit card information that ensures his or her  identity and safeguards his or her financial information through a complex encryption  system.  • The Merchant Server component is the verification product held by the merchant to process  the online card payment.  • The Payment Gateway component is held by an acquiring bank or other trusted third party  that accepts and processes the merchant's verification and the customer's payment  information and filters them to their appropriate financial institutions.  • The Certificate Authority component, usually run by a financial institution, is the trusted  agent that issues the digital certificates and is responsible for ensuring that all users of  digital certificates are in fact secure and trustworthy customers.  Once a security product for any of these components has passed the SET Compliance Testing, it  bears the SET Mark, ensuring all users that it meets the SET standards.

SSL Protocol 

The Transmission Control Protocol/Internet Protocol (TCP/IP) governs the transport and routing of  data   over   the   Internet.   Other   protocols,   such   as   the   HyperText   Transport   Protocol   (HTTP),  Lightweight Directory Access Protocol (LDAP), or Internet Messaging Access Protocol (IMAP),  run "on top of" TCP/IP in the sense that they all use TCP/IP to support typical application tasks  such as displaying web pages or running email servers.

  SSL runs above TCP/IP and below high­level application protocols. The SSL protocol runs above TCP/IP and below higher­level protocols such as HTTP or IMAP. It  uses TCP/IP on behalf of the higher­level protocols, and in the process allows an SSL­enabled  server to authenticate itself to an SSL­enabled client, allows the client to authenticate itself to the  server, and allows both machines to establish an encrypted connection. These capabilities address fundamental concerns about communication over the Internet and other  TCP/IP networks: • SSL server authentication allows a user to confirm a server's identity. SSL­enabled client  software can use standard techniques of public­key cryptography to check that a server's  certificate and public ID are valid and have been issued by a certificate authority (CA) listed  in  the  client's list of trusted CAs. This  confirmation might be important if the user,  for  example, is sending a credit card number over the network and wants to check the receiving  server's identity.  • SSL   client   authentication   allows   a   server   to   confirm   a   user's   identity.   Using   the   same  techniques as those used for server authentication, SSL­enabled server software can check 

that   a   client's   certificate   and   public   ID   are   valid   and   have   been   issued   by   a   certificate  authority   (CA)   listed   in   the   server's   list   of   trusted   CAs.   This   confirmation   might   be  important if the server, for example, is a bank sending confidential financial information to a  customer and wants to check the recipient's identity.  • An encrypted SSL connection requires all information sent between a client and a server to  be   encrypted   by   the   sending   software   and   decrypted   by   the   receiving   software,   thus  providing a high degree of confidentiality. Confidentiality is important for both parties to  any   private   transaction.   In   addition,   all   data   sent   over   an   encrypted   SSL   connection   is  protected with a mechanism for detecting tampering­­that is, for automatically determining  whether the data has been altered in transit.  The SSL protocol includes  two sub­protocols: the SSL record protocol and the SSL handshake  protocol. The SSL record protocol defines the format used to transmit data. The SSL handshake  protocol involves using the SSL record protocol to exchange a series of messages between an SSL­ enabled   server   and   an   SSL­enabled   client   when   they   first   establish   an   SSL   connection.   This  exchange of messages is designed to facilitate the following actions: • Authenticate the server to the client.  • Allow the client and server to select the cryptographic algorithms, or ciphers, that they both  support.  • Optionally authenticate the client to the server.  • Use public­key encryption techniques to generate shared secrets.  • Establish an encrypted SSL connection. 

(b) Explain the terms Phishing attacks, SQL injection attacks and format string  attacks. Phishing attacks
Phishing is a way of attempting to acquire information such as usernames, passwords, and credit  card   details   by   masquerading   as   a   trustworthy   entity   in   an   electronic   communication.  Communications   purporting  to be  from  popular  social  web sites,  auction  sites, online  payment  processors or IT administrators are commonly used to lure the unsuspecting public. Phishing is  typically carried out by e­mail spoofing or instant messaging,and it often directs users to enter  details at a fake website whose look and feel are almost identical to the legitimate one. Phishing is  an example of social engineering techniques used to deceive users, and exploits the poor usability of  current web security technologies.Attempts to deal with the growing number of reported phishing  incidents include legislation, user training, public awareness, and technical security measures. List of phishing techniques Phishing Phishing is a way of attempting to acquire information such as usernames, passwords, and  credit card details by masquerading as a trustworthy entity in an electronic communication.  Spear Phishing Targeted versions of phishing have been termed spearphishing. Clone Phishing

A type of phishing attack whereby a legitimate, and previously delivered, email containing an  attachment or link has had its content and recipient address(es) taken and used to create an almost  identical or cloned email. The attachment or Link within the email is replaced with a malicious  version and then sent from an email address spoofed to appear to come from the original sender. It  may claim to be a re­send of the original or an updated version to the original.  This technique could be used to pivot (indirectly) from a previously infected machine and gain a  foothold on another machine, by exploiting the social trust associated with the inferred connection  due to both parties receiving the original email.  Whaling Several recent phishing attacks have been directed specifically at senior executives and other high  profile targets within businesses, and the term whaling has been coined for these kinds of attacks

SQL injection attacks
A customer asked that we check out his intranet site, which was used by the company's employees  and customers. This was part of a larger security review, and though we'd not actually used SQL  injection to penetrate a network before, we were pretty familiar with the general concepts. We were  completely successful in this engagement, and wanted to recount the steps taken as an illustration.  "SQL Injection" is subset of the an unverified/unsanitized user input vulnerability ("buffer  overflows" are a different subset), and the idea is to convince the application to run SQL code that  was not intended. If the application is creating SQL strings naively on the fly and then running  them, it's straightforward to create some real surprises.  We'll note that this was a somewhat winding road with more than one wrong turn, and others with  more experience will certainly have different ­­ and better ­­ approaches. But the fact that we were  successful does suggest that we were not entirely misguided.  There have been other papers on SQL injection, including some that are much more detailed, but  this one shows the rationale of discovery as much as the process of exploitation The Target Intranet This   appeared   to   be   an   entirely   custom   application,   and   we   had   no   prior   knowledge   of   the  application nor access to the source code: this was a "blind" attack. A bit of poking showed that this  server   ran   Microsoft's   IIS   6   along   with   ASP.NET,   and   this   suggested   that   the   database   was  Microsoft's SQL server: we believe that these techniques can apply to nearly any web application  backed by any SQL server.  The login page had a traditional username­and­password form, but also an email­me­my­password  link; the latter proved to be the downfall of the whole system.  When entering an email address, the system presumably looked in the user database for that email  address, and mailed something to that address. Since my email address is not found, it wasn't going  to send me anything.  So the first test in any SQL­ish form is to enter a single quote as part of the data: the intention is to  see if they construct an SQL string literally without sanitizing. When submitting the form with a  quote in the email address, we get a 500 error (server failure), and this suggests that the "broken"  input is actually being parsed literally. Bingo. 

Format string attacks The  Format  String exploit occurs  when the submitted data of an input string is evaluated  as  a  command by the application. In this way, the attacker could execute code, read the stack, or cause a  segmentation fault in the running application, causing new behaviors that could compromise the  security or the stability of the system.  To understand the attack, it’s necessary to understand the components that constitute it.  •The  Format  Function is  an ANSI C conversion function, like printf, fprintf, which converts   a  primitive variable of the programming language into a human­readable string representation.  •The Format String is the argument of the Format Function and is an ASCII Z string which contains  text and format parameters, like: printf ("The magic number is: %d\n", 1911);  •The Format String Parameter, like %x %s defines the type of conversion of the format function.  The attack could be executed when the application doesn’t properly validate the submitted input. In  this case, if a Format String parameter, like %x, is inserted into the posted data, the string is parsed  by the Format Function, and the conversion specified in the parameters is executed. However, the  Format Function is expecting more arguments as input, and if these arguments are not supplied, the  function could read or write the stack.  In this way, it is possible to define a well­crafted input that could change the behavior of the format  function, permitting the attacker to cause denial of service or to execute arbitrary commands.  If the application uses Format Functions in the source­code, which is able to interpret formatting  characters, the attacker could explore the vulnerability by inserting formatting characters in a form  of the website. For example, if the printf function is used to print the username inserted in some  fields of the page, the website could be vulnerable to this kind of attack Q.8) What security protocols are used to protect e­mail ? S/MIME, PEM, PGP protocols are all used to protect e­mails.

S/MIME and OpenPGP
Security services can be added to each communication link along a path, or it can be wrapped  around the data being sent, so that it is independent of the communication mechanism. This latter  approach is often called "end­to­end" security and it has become a very important topic for users.  The two basic features of this type of security are privacy (only the intended recipient can read the  message)   and   authentication   (the   recipient   can   be   assured   of   the   identity   of   the   sender).   The  technical capabilities for these functions has been known for many years, but they have only been  applied to Internet mail recently.  There are currently two actively proposed methods for providing these security services: S/MIME  and PGP (both in its early incarnation as PGP/MIME, and as the new OpenPGP standard). Other  protocols have been proposed in the past (most notably PEM and MOSS), but they did not garner  much   interest   in   the   market.   However,   many   major   Internet   mail   vendors   have   begun   to   ship  products using S/MIME, PGP/MIME, and OpenPGP.  About the Protocols These services typically include authentication of the originator and privacy for the data. They can  also provide a signed receipt from the recipient. At the core of these capabilities is the use of public  key technology and large­scale use of public keys requires a method of certifying that a given key  belongs to a given user. 

Although they offer similar services to users, the two protocols have very different formats. Further,  and more important to corporate users, they have different formats for their certificates. This means  that not only can users of one protocol not communicate with the users of the other, they also cannot  share   authentication   certificates.   The   difference   between   the   two   protocols   is   similar   to   the  differences between GIF and JPEG files: they both do basically the same thing for end users, but  thir formats are very different.  S/MIME was originally developed by RSA Data Security, Inc. It is based on the PKCS #7 data  format for the messages, and the X.509v3 format for certificates. PKCS #7, in turn, is based on the  ASN.1 DER format for data.  PGP/MIME is based on PGP, which was developed by many individuals, some of whom have now  joined together as PGP, Inc. The message and certificate formats were created from scratch, and use  simple binary encoding. OpenPGP is also based on PGP.  S/MIME,   PGP/MIME, and OpenPGP  use MIME to structure their messages. They  rely on   the  multipart/signed MIME type that is described in RFC 1847 for moving signed messages over the  Internet. A single mail client could conceivably accept and send both formats.  PIM­SM Multicast Routing Protocol  This paper is an introduction to the PIM­SM multicast routing protocol, concentrating on version 2.  It   is   intended   for   IT   managers   who   are   already   familiar   with   multicasting,   and   who   want   an  overview before reading the PIM­SM RFC. PIM­SM was designed to operate efficiently across  wide area networks, where groups are sparsely distributed. It uses the traditional IP multicast model  of receiver­initiated membership, supports both shared and shortest­path trees, is not dependent on a  specific  unicast routing protocol, and uses  soft­state mechanisms  to adapt to changing  network  conditions. Protocol   Independent   Multicast­Sparse   Mode   (PIM­SM)   routes   multicast   packets   to   multicast  groups, and is designed to efficiently establish distribution trees across wide area networks (WANs).  PIM­SM is called "protocol independent" because it can use the route information that any routing  protocol enters into the multicast Routing Information Base (RIB), or, as it is known in Windows  terminology, the multicast view. Examples of these routing protocols include unicast protocols such  as   the   Routing Information  Protocol (RIP) and Open Shortest  Path First (OSPF), but multicast  protocols that populate the routing tables—such as the Distance Vector Multicast Routing Protocol  (DVMRP)—can also be used. Sparse mode means that the protocol is designed for situations where  multicast groups are thinly populated across a large region. Sparse­mode protocols can operate in  LAN environments, but they are most efficient over WAN (b) What is the most popular symmetric encryption system used over the web ? The   popular symmetric encryption system used over the web is  SSL, 3DES, and PGP Triple DES Triple DES is simply another mode of DES operation. It takes three 64­bit keys, for an overall key  length of 192 bits. In Private Encryptor, you simply type in the entire 192­bit (24 character) key  rather than entering each of the three keys individually. The Triple DES DLL then breaks the user  provided key into three subkeys, padding the keys if necessary so they are each 64 bits long. The  procedure for encryption is exactly the same as regular DES, but it is repeated three times. Hence  the name Triple DES. The data is encrypted with the first key, decrypted with the second key, and  finally encrypted again with the third key.

  Consequently, Triple DES runs three times slower than standard DES, but is much more secure if  used properly. The procedure for decrypting something is the same as the procedure for encryption,  except   it   is   executed   in   reverse.   Like   DES,   data   is   encrypted   and   decrypted   in   64­bit   chunks.  Unfortunately, there are some weak keys that one should be aware of: if all three keys, the first and  second keys, or the second and third keys are the same, then the encryption procedure is essentially  the same as standard DES. This situation is to be avoided because it is the same as using a really  slow version of regular DES.  Note that although the input key for DES is 64 bits long, the actual key used by DES is only 56 bits  in length. The least significant (right­most) bit in each byte is a parity bit, and should be set so that  there are always an odd number of 1s in every byte. These parity bits are ignored, so only the seven  most significant bits of each byte are used, resulting in a key length of 56 bits. This means that the  effective key strength for Triple DES is actually 168 bits because each of the three keys contains 8  parity bits that are not used during the encryption process.

Modes of Operation Triple ECB (Electronic Code Book)
This variant of Triple DES works exactly the same way as the ECB mode of DES. Triple ECB is the  type of encryption used by Private Encryptor. This is the most commonly used mode of operation.

Triple CBC (Cipher Block Chaining)
This method is very similar to the standard DES CBC mode. As with Triple ECB, the effective key  length is 168 bits and keys are used in the same manner, as described above, but the chaining  features of CBC mode are also employed. The first 64­bit key acts as the Initialization Vector to  DES. Triple ECB is then executed for a single 64­bit block of plaintext. The resulting ciphertext is  then XORed with the next plaintext block to be encrypted, and the procedure is repeated. This  method adds an extra layer of security to Triple DES and is therefore more secure than Triple ECB,  although it is not used as widely as Triple ECB.

PGP protocol
PGP combines some of the best features of both conventional and public key cryptography. PGP is a  hybrid cryptosystem. When a user encrypts plaintext with PGP, PGP first compresses the plaintext.  Data   compression   saves   modem   transmission   time   and   disk   space   and,   more   importantly,  strengthens   cryptographic   security.   Most   cryptanalysis   techniques   exploit   patterns   found   in   the  plaintext to crack the cipher. Compression reduces these patterns in the plaintext, thereby greatly  enhancing resistance to cryptanalysis. (Files that are too short to compress or which don't compress  well aren't compressed.)  PGP then creates a session key, which is a one­time­only secret key. This key is a random number  generated from the random movements of your mouse and the keystrokes you type. This session key  works with a very secure, fast conventional encryption algorithm to encrypt the plaintext; the result  is ciphertext. Once the data is encrypted, the session key is then encrypted to the recipient's public  key. This public key­encrypted session key is transmitted along with the ciphertext to the recipient. 

Decryption works in the reverse. The recipient's copy of PGP uses his or her private key to recover  the temporary session key, which PGP then uses to decrypt the conventionally­encrypted ciphertext. 

The combination of the two encryption methods combines the convenience of public key encryption  with the speed of conventional encryption. Conventional encryption is about 1, 000 times faster than  public key encryption. Public key encryption in turn provides a solution to key distribution and data  transmission   issues. Used  together,  performance  and key distribution  are improved without  any  sacrifice in security. 

Q.9) (a) What are web security problem ? Explain. Validation of input and output data All data used by the website (from users, other servers, other websites and internal systems) must be  validated for type (e.g. numeric, date, string), length (e.g. 200 characters maximum, or a positive  integer)   and  syntax  (e.g.  product  codes  begin   with  2  letters  and   are   followed  by  5  digits)   and   business rules (e.g. televisions can only cost between £100 and £2000, an order can contain at most  20 items, daily credit limit must not be exceeded). All data written as output (displayed) needs to be  safe to view in a browser, email client or other software and the integrity of any data that is returned  must be checked. Utilising Asynchronous JavaScript and XML (AJAX) or Adobe Flex increase  complexity and the possible attack vectors. Direct data access  If data exists, it can potentially be viewed or extracted. Avoid storing data that you do not need on  the website and its database(s) – for example some data relating to payment cards should never be  stored. Poorly developed systems may allow access to data through SQL injection compromises,   insufficient input and output data validation  or poor system security. Data poisoning If user’s can amend or delete data inappropriately and this is then used to update your internal   systems, business information is being lost. This can be hard to detect and it is important that the  business   rules   are   examined  and   enforced   to   validate   data   changes   to   ensure   poisoning   is   not   occurring. If poisoning is not detected until well after it has occurred, it may be impossible to   recover the original data. Malicious file execution Uploaded files or other data feeds may not be what they seem. Never allow user­supplied input to be  used in any file name or path (e.g. URLs or file system references). Uploaded files may also contain  a malicious payload so should not be stored in web accessible locations. Authentication and session management Websites   rely   on   identifying   users   to   provide   access   permissions   to   data  and   functions.   If   authentication (verification of identity, registration and logging in), authorisation (granting access  rights) and session management (keeping track of the identity of a logged in user while they browse  a website) can be circumvented or altered, a user could access resources they are not allowed to.   Beware   especially   of   how   password   reminders,  remember­me,   change   password,   log   out   and   updating account details are handled, how session tokens are used and always have login forms on  dedicated and encrypted (SSL) pages. System architecture and configuration The information system architecture model should address the sensitivity of data identified during  the requirements and specification phase of a website project. This may entail having separate web,  application and database servers or involve clustering, load balancing or virtualisation. Additional   security issues can be created through the way the live environment is configured. Sufficient and  safe logging, monitoring and alerting facilities need to be built in to allow audit. Phishing Phishing,   where   users   are   conned   into   believing   some   other   entity   is   or  belongs   to   your   own   organisation   (email  messages   and  websites   are  the most common  combination),  is   best  tackled  

through   user   education   but  the   way   the   website   is   designed,   its   architecture   and   how   it   communicates with users can reduce the risk.

(b) Explain intrusion detection system(IDS).
Intrusion detection (ID) Intrusion detection (ID) is a type of security management system for computers and networks. An  ID system gathers and analyzes information from various areas within a computer or a network to  identify   possible   security   breaches,   which   include   both   intrusions   (attacks   from   outside   the  organization) and misuse (attacks from within the organization). ID uses  vulnerability assessment  (sometimes refered to as  scanning), which is a technology developed to assess the security of a  computer system or network. Intrusion detection functions include: • Monitoring and analyzing both user and system activities  • Analyzing system configurations and vulnerabilities  • Assessing system and file integrity • Ability to recognize patterns typical of attacks  • Analysis of abnormal activity patterns  • Tracking user policy violations  ID systems are being developed in response to the increasing number of attacks on major sites and  networks,   including   those   of   the   Pentagon,   the   White   House,   NATO,   and   the   U.S.   Defense  Department. The safeguarding of security is becoming increasingly difficult, because the possible  technologies of attack are becoming ever more sophisticated; at the same time, less technical ability  is required for the novice attacker, because proven past methods are easily accessed through the  Web. Typically, an ID system follows a two­step process. The first procedures are host­based and are  considered the  passive  component, these include: inspection of the system's configuration files to  detect inadvisable settings; inspection of the password files to detect inadvisable passwords; and  inspection of other system areas to detect policy violations. The second procedures are network­ based  and  are considered the  active  component: mechanisms are set in place to reenact known  methods of attack and to record system responses. Q.10)  (a) What is the role of application level gateway ? Application­Level Gateway An application­level proxy server provides all the basic proxy features and also provides extensive  packet   analysis.   When   packets   from   the   outside   arrive   at   the   gateway,   they   are   examined   and  evaluated to determine if the security policy allows the packet to enter into the internal network. Not  only does the server evaluate IP addresses, it also looks at the data in the packets to stop hackers  from   hiding   information   in   the   packets.   A   typical   application­level   gateway   can   provide   proxy  services for applications and protocols like Telnet, FTP (file transfers), HTTP (Web services), and  SMTP   (e­mail).  Note  that  a  separate  proxy  must  be  installed  for each  application­level  service  (some vendors achieve security by simply not providing proxies for some services, so be careful in  your evaluation). With proxies, security policies can be much more powerful and flexible because  all of the information in packets can be used by administrators to write the rules that determine how 

packets are handled by the gateway. It is easy to audit just about everything that happens on the  gateway. You can also strip computer names to hide internal systems, and you can evaluate the  contents   of   packets   for   appropriateness   and   security.   NOTE:   Appropriateness   is   an   interesting  option

Application level gateway is an approach to firewall where the application specific proxies filter the  incoming and outgoing information packets before copying and forwarding information across the  gateway at the level of the application layer of the OSI Model. The application specific proxy means  that, for instance, only a Telnet proxy can copy, forward, and filter Telnet traffic. An application  gateway is generally implemented on a separate computer on the network whose primary function is  to provide proxy service.  Although an application­level gateway is one of the most secure firewalls that are available, there is  a   caveat,   which   is   that   the   users   while   connecting   to   the   Internet   or   Intranets   often   find   the  connectivity very slow while the packets are routed through an application­level gateway.  (b) Explain the functionality of firewalls. In computer networking, the term firewall is not merely descriptive of a general idea. I The most important aspect of a firewall is that it is at the entry point of the networked system it  protects. In the case of Packet Filtering, it is at the lowest level, or "layer" in the hierarchy (stack) of  network processes, called the Network Layer or the Internet Layer. This means essentially that the  firewall is the first program or process that receives and handles incoming network traffic, and it is  the last to handle outgoing traffic. The logic is simple: a firewall must be positioned to control all incoming and outgoing traffic. If  some other program has that control, there is no firewall. • The most basic type firewall performs Packet Filtering.  • A second type of firewall, which provides additional security, is called a Circuit Relay.  • Another and still more involved approach is the Application Level Gateway. Packet Filtering All Internet traffic travels in the form of packets. A packet is a quantity of data of limited size, kept  small for easy handling. When larger amounts of continuous data must be sent, it is broken up into  numbered packets for transmission and reassembled at the receiving end. All your file downloads,  Web page retrievals, emails ­­ all these Internet communications always occur in packets. A packet is a series of digital numbers basically, which conveys these things:

• The data, acknowledgment, request or command from the originating system  • The source IP address and port  • The destination IP address and port  • Information about the protocol (set of rules) by which the packet is to be handled  • Error checking information  • Usually, some sort of information about the type and status of the data being sent  • Often, a few other things too ­ which don't matter for our purposes here.  In packet filtering, only the protocol and the address information of each packet is examined. Its  contents and context (its relation to other packets and to the intended application) are ignored. The  firewall pays no attention to applications on the host or local network and it "knows" nothing about  the sources of incoming data. Filtering  consists of examining incoming or outgoing packets and allowing or disallowing  their  transmission or acceptance on the basis of a set of configurable rules, called policies. Packet filtering policies may be based upon any of the following: • Allowing or disallowing packets on the basis of the source IP address  • Allowing or disallowing packets on the basis of their destination port  • Allowing or disallowing packets according to protocol.  This is the original and most basic type of firewall.  Packet  filtering   alone  is  very  effective   as  far  as  it  goes  but  it  is  not  foolproof  security.  It   can  potentially block all traffic, which in a sense is absolute security. But for any useful networking to  occur, it must of course allow some packets to pass. Its weaknesses are: • Address information in a packet can potentially be falsified or "spoofed" by the sender  • The data or requests contained in allowed packets may ultimately cause unwanted things to  happen, as where a hacker may exploit a known bug in a targeted Web server program to  make it do his bidding, or use an ill­gotten password to gain control or access.  An advantage of packet filtering is its relative simplicity and ease of implementation. Circuit Relay Also called a "Circuit Level Gateway," this is a firewall approach that validates connections before  allowing data to be exchanged. What this means is that the firewall doesn't simply allow or disallow packets but also determines  whether the connection between both ends is valid according to configurable rules, then opens a  session and permits traffic only from the allowed source and possibly only for a limited period of  time. Whether a connection is valid may for examples be based upon: • destination IP address and/or port  • source IP address and/or port  • time of day  • protocol  • user 

• password  Every session of data exchange is validated and monitored and all traffic is disallowed unless a  session is open. Circuit Level Filtering takes control a step further than a Packet Filter. Among the advantages of a  circuit relay is that it can make up for the shortcomings of the ultra­simple and exploitable UDP  protocol, wherein the source address is never validated as a function of the protocol. IP spoofing can  be rendered much more difficult. A  disadvantage is that Circuit Level Filtering operates  at the Transport Layer and may require  substantial   modification   of   the   programming   which   normally   provides   transport   functions   (e.g.  Winsock). Application Gateway In this approach, the firewall goes still further in its regulation of traffic. The Application Level Gateway acts as a proxy for applications, performing all data exchanges with  the remote system in their behalf. This can render a computer behind the firewall all but invisible to  the remote system. It   can   allow   or   disallow   traffic   according   to   very   specific   rules,   for   instance   permitting   some  commands to a server but not others, limiting file access to certain types, varying rules according to  authenticated users and so forth. This type of firewall may also perform very detailed logging of  traffic and monitoring of events on the host system, and can often be instructed to sound alarms or  notify an operator under defined conditions. Application­level gateways are generally regarded as the most secure type of firewall. They certainly  have the most sophisticated capabilities. A disadvantage is that setup may be very complex, requiring detailed attention to the individual  applications that use the gateway. An application gateway is normally implemented on a separate computer on the network whose  primary function is to provide proxy service. As you can see, all firewalls regardless of type have one very important thing in common: they  receive, inspect and make decisions about all incoming data before it reaches other parts of the  system or network. That means they handle packets and they are strategically placed at the entry  point to the system or network the firewall is intended to protect. They usually regulate outgoing  data as well. The types and capabilities of firewalls are defined essentially by: • Where they reside in the network hierarchy (stack);  • how they analyze and how they regulate the flow of data (packets);  • and additional security­related and utilitarian functions they may perform. Some of those  additional functions: • data may be encrypted/decrypted by the firewall for secure communication with a  distant network  • Scripting may allow the operator to program­in any number of specialized  capabilities  • The firewall may facilitate communications between otherwise incompatible  networks.