+ All Categories
Home > Documents > Abstract - University of Texas at Tyler · Example: Variations in ping (request for information,...

Abstract - University of Texas at Tyler · Example: Variations in ping (request for information,...

Date post: 01-Aug-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
44
1 Abstract This project deals with measuring the vulnerability of a web-based system. Vulnerability is a weakness in a system which allows an attacker to violate the integrity of that system. Web application security is important because web applications are generally accessible to several users. They are accessed from different locations, using different browsers exposing them to different external attacks. Therefore measuring a web-based system’s vulnerability is important for improving security of the system. This paper employs the CVSS (Common Vulnerability Scoring System) for measuring vulnerability. In this project we develop an e-commerce website called CdCo that sells music CD’s. The vulnerability of the CdCo website is measured manually by using CVSS and a score ranging from 0 to 10 is obtained with a lower score indicating lower vulnerability (and hence better security). Based on the score, the website is improved to lower the score further. Hence the improved website is less vulnerable than the earlier one. Based on this evaluation, the CVSS technique for vulnerability assessment is critically analyzed.
Transcript
Page 1: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

1

Abstract

This project deals with measuring the vulnerability of a web-based system. Vulnerability is a

weakness in a system which allows an attacker to violate the integrity of that system. Web

application security is important because web applications are generally accessible to several

users. They are accessed from different locations, using different browsers exposing them to

different external attacks. Therefore measuring a web-based system’s vulnerability is important

for improving security of the system. This paper employs the CVSS (Common Vulnerability

Scoring System) for measuring vulnerability. In this project we develop an e-commerce website

called CdCo that sells music CD’s. The vulnerability of the CdCo website is measured manually

by using CVSS and a score ranging from 0 to 10 is obtained with a lower score indicating lower

vulnerability (and hence better security). Based on the score, the website is improved to lower

the score further. Hence the improved website is less vulnerable than the earlier one. Based on

this evaluation, the CVSS technique for vulnerability assessment is critically analyzed.

Page 2: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

2

1. Introduction

1.1 Vulnerability

Vulnerability is a bug, flaw, weakness, or exposure of an application, system, device, or

service that could lead to a failure of confidentiality, integrity, or availability. Common exploits

occur because of weaknesses found in a computing environment. These exploits are an attack

against:

Confidentiality - being secure from unauthorized access.

Example: Vulnerabilities in telnet (user names and passwords sent unencrypted from a

remote connection) can allow an attack against confidentiality.

Integrity - accuracy and completeness of data.

Example: Vulnerabilities in sent mail (mail can be forged from any address) can allow an

attack against integrity.

Availability - data and systems ready for use at all times by authorized users.

Example: Variations in ping (request for information, can cause a denial of service attack

- i.e., floods, ping of death) can be an attack against availability [1]

1.2 Importance of Vulnerability

Vulnerability is a mistake in software that can be directly used by a hacker to gain

access to a system or network [5]. Vulnerability is a state in a computing system (or set of

systems) that either:

Allows an attacker to execute commands as another user

Allows an attacker to access data that is contrary to the specified access

restrictions for that data

Allows an attacker to pose as another entity

Allows an attacker to conduct a denial of service

Page 3: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

3

Vulnerabilities may result from weak passwords, software bugs, a computer virus or other

malware, a script code injection, a SQL injection or misconfiguration.[2] Common types of

software flaws that lead to vulnerabilities include:

Memory safety violations, such as:

o Buffer overflows

o Dangling pointers

Input validation errors, such as:

o Format string bugs

o Improperly handling shell metacharacters so they are interpreted

o SQL injection

o Code injection

o E-mail injection

o Cross-site scripting in web applications

1.3 Advantages of Evaluating Vulnerability

Vulnerability evaluation is used to gain a comprehensive look into the security flaws present in

the network. Several key benefits of evaluating vulnerabilities are as follows [5]:

Understand potential breach points

Reduced security risk and liability

Benchmark security posture

Protect intellectual property

Page 4: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

4

1.4 Techniques for measuring vulnerability

1. CVSS: The Common Vulnerability Scoring System (CVSS) provides an open framework

for communicating the characteristics and impacts of IT vulnerabilities. CVSS consists of

three groups: Base, Temporal and Environmental. Each group produces a numeric score

ranging from 0 to 10 with a lower score indicating lower vulnerability and a higher score

indicating higher vulnerability [1].

2. Using Vulnerability Scanners: Vulnerability scanners are fully-automated web scanners

that provide customers with a low cost, highly accurate vulnerability assessment [6].

Of these we chose CVSS because it is a scoring system that can be done manually

and gives an opportunity to look into the application in detail.

Page 5: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

5

2. CVSS

Common Vulnerability Scoring System (CVSS) provides an open framework for

communicating the characteristics and impacts of IT vulnerabilities [3].

2.1 What is CVSS?

CVSS is composed of three metric groups: Base, Temporal, and Environmental, each consisting

of a set of metrics as shown in Figure 1.

Base Metrics: Base metrics represents the intrinsic and fundamental characteristics of

vulnerability that are constant over time and user environments. These metrics define and

communicate the fundamental characteristics of vulnerability.

Temporal Metrics: Temporal metrics represents the characteristics of vulnerability that change

over time but not among user environments.

Environmental Metrics: Environmental metrics represents the characteristics of vulnerability

that are relevant and unique to a particular user’s environment [4].

Figure 1: CVSS Metric Groups

2.2 How does CVSS work?

When the base metrics are assigned values, the base equation is calculated and a score ranging

from 0 to 10 is obtained. A score of 0 means least vulnerable and a score of 10 means highly

vulnerable. It creates a vector, as shown in Figure 2. It is a text string that contains the values

assigned to each metric, and it is used to communicate exactly how the score for each

vulnerability is derived. Therefore, the vector should always be displayed with the vulnerability

score.

Page 6: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

6

Figure 2: CVSS Metrics and Equations

The base score can be refined by assigning values to the temporal and environmental metrics [1].

This is useful in order to provide additional context for vulnerability by more accurately

reflecting the risk posed by the vulnerability to a user’s environment. However, this is not

required. Depending on one’s purpose, the base score and vector may be sufficient.

If a temporal score is needed, the temporal equation will combine the temporal metrics with the

base score to produce a temporal score ranging from 0 to 10. Similarly, if an environmental score

is needed, the environmental equation will combine the environmental metrics with the temporal

score to produce an environmental score ranging from 0 to 10. Generally, the base and temporal

metrics are specified by vulnerability bulletin analysts, security product vendors, or application

vendors because they typically have better information about the characteristics of vulnerability

than users. The environmental metrics are specified by users because they are best able to assess

the potential impact of vulnerability within their own environments.

2.3 Who owns CVSS?

CVSS is under the custodial care of the Forum of Incident Response and Security Teams

(FIRST). It is completely free and open standard. No organization “owns” CVSS and

membership in FIRST is not required to use or implement CVSS.

Page 7: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

7

Many organizations are using CVSS, and each are finding value in different ways [1].

Software Application Vendors: Software application vendors are providing CVSS base

scores and vectors to their customers. This helps them properly communicate the severity

of vulnerabilities in their products and helps their customers effectively manage their IT

risk.

User Organizations: Many private-sector organizations are using CVSS internally to

make informed vulnerability management decisions. They use scanners or monitoring

technologies to first locate host and application vulnerabilities. They combine this data

with CVSS base, temporal and environmental scores to obtain more contextual risk

information and remediate those vulnerabilities that pose the greatest risk to their

systems.

Vulnerability Scanning and Management: Vulnerability management organizations

scan networks for IT vulnerabilities. They provide CVSS base scores for every

vulnerability on each host. User organizations use this critical data stream to more

effectively manage their IT infrastructures by reducing outages and protecting against

malicious and accidental IT threats.

Security (Risk) Management: Security Risk Management firms use CVSS scores as

input to calculating an organization’s risk or threat level. These firms use sophisticated

applications that often integrate with an organization’s network topology, vulnerability

data, and asset database to provide their customers with a more informed perspective of

their risk level.

Researchers: The open framework of CVSS enables researchers to perform statistical

analysis on vulnerabilities and vulnerability properties.

Page 8: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

8

2.4 Metric Groups

2.4.1 Base Metrics [1]

The base metric group captures the characteristics of vulnerability that are constant with time and

across user environments. The Access Vector, Access Complexity, and Authentication metrics

capture how vulnerability is accessed and whether or not extra conditions are required to exploit

it. The three impact metrics measure how vulnerability, if exploited, will directly affect an IT

asset, where the impacts are independently defined as the degree of loss of confidentiality,

integrity, and availability. For example, vulnerability could cause a partial loss of integrity and

availability, but no loss of confidentiality.

Access Vector (AV)

This metric reflects how the vulnerability is exploited. The possible values for this metric are

shown in Table 1. The more remote an attacker can be to attack a host, the greater the

vulnerability score.

Table 1: Access Vector Scoring Evaluation

Metric Value Description

Local (L) A vulnerability exploitable with only local access requires the attacker to have

either physical access to the vulnerable system or a local (shell) account.

Examples of locally exploitable vulnerabilities are peripheral attacks such as

Firewire/USB DMA attacks.

Adjacent

network (A)

A vulnerability exploitable with adjacent network access requires the attacker to

have access to either the broadcast or collision domain of the vulnerable

software. Examples of local networks include local IP subnet, Bluetooth, IEEE

802.11, and local Ethernet segment.

Network (N) A vulnerability exploitable with network access means the vulnerable software

is bound to the network stack and the attacker does not require local network

access or local access. Such vulnerability is often termed “remotely

exploitable”. An example of a network attack is an RPC buffer overflow.

Page 9: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

9

Access Complexity (AC) [1]

This metric measures the complexity of the attack required to exploit the vulnerability once an

attacker has gained access to the target system. For example, consider a buffer overflow in an

Internet service: once the target system is located, the attacker can launch an exploit at will.

Other vulnerabilities, however, may require additional steps in order to be exploited. For

example, vulnerability in an email client is only exploited after the user downloads and opens a

tainted attachment. The possible values for this metric are listed in Table 2. The lower the

required complexity, the higher the vulnerability score.

Table 2: Access Complexity Scoring Evaluation

Metric Value Description

High (H) Specialized access conditions exist. For example:

· In most configurations, the attacking party must already have

elevated privileges or spoof additional systems in addition to the

attacking system (e.g., DNS hijacking).

· The attack depends on social engineering methods that would be

easily detected by knowledgeable people. For example, the victim

must perform several suspicious or atypical actions.

· The vulnerable configuration is seen very rarely in practice.

Medium (M) The access conditions are somewhat specialized; For example:

· The attacking party is limited to a group of systems or users at some

level of authorization, possibly untrusted.

· Some information must be gathered before a successful attack can

be launched.

Low (L) Specialized access conditions or extenuating circumstances do not exist.

The following are examples:

· The affected product typically requires access to a wide range of systems

and users, possibly anonymous and untrusted (e.g., Internet-facing web or

mail server).

· The attack can be performed manually and requires little skill or

additional information gathering.

Page 10: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

10

Authentication (Au) [1]

This metric measures the number of times an attacker must authenticate to a target in order to

exploit vulnerability. This metric does not gauge the strength or complexity of the authentication

process, only that an attacker is required to provide credentials before an exploit may occur. The

possible values for this metric are listed in Table 3. The fewer authentication instances that are

required, the higher the vulnerability score. It is important to note that the Authentication metric

is different from Access Vector. Here, authentication requirements are considered once the

system has already been accessed. Specifically, for locally exploitable vulnerabilities, this metric

should only be set to “single” or “multiple” if authentication is needed beyond what is required

to log into the system.

Table 3. Authentication Scoring Evaluation

Metric Value Description

Multiple

(M)

Exploiting the vulnerability requires that the attacker authenticate two or

more times, even if the same credentials are used each time. An example is

an attacker authenticating to an operating system in addition to providing

credentials to access an application hosted on that system.

Single (S) One instance of authentication is required to access and exploit the

vulnerability.

None (N) Authentication is not required to access and exploit the vulnerability.

The metric should be applied based on the authentication the attacker requires before launching

an attack. For example, if a remote mail server is vulnerable to a command that can be issued

before a user authenticates, the metric should be scored as “None” because the attacker can

launch the exploit before credentials are required. If the vulnerable command is only available

after successful authentication, then the vulnerability should be scored as “Single” or “Multiple,”

depending on how many instances of authentication must occur before issuing the command.

Page 11: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

11

Confidentiality Impact (C) [1]

This metric measures the impact on confidentiality of a successfully exploited vulnerability.

Confidentiality refers to limiting information access and disclosure to only authorized users, as

well as preventing access by, or disclosure to, unauthorized ones. The possible values for this

metric are listed in Table 4. Increased confidentiality impact increases the vulnerability score.

Table 4: Confidentiality Impact Scoring Evaluation

Metric Value Description

None (N) There is no impact to the confidentiality of the system

Partial (P) There is considerable informational disclosure. Access to some system files is

possible, but the attacker does not have control over what is obtained, or the scope of

the loss is constrained. An example is a vulnerability that divulges only certain tables

in a database.

Complete (C) There is total information disclosure, resulting in all system files being revealed. The

attacker is able to read all of the system's data (memory, files, etc.)

Integrity Impact (I)

This metric measures the impact to integrity of a successfully exploited vulnerability. Integrity

refers to the trustworthiness and guaranteed veracity of information. The possible values for this

metric are listed in Table 5. Increased integrity impact increases the vulnerability score.

Table 5: Integrity Impact Evaluation

Metric Value Description

None (N) There is no impact to the integrity of the system

Partial (P) Modification of some system files or information is possible, but the attacker does not

have control over what can be modified, or the scope of what the attacker can affect is

limited. For example, system or application files may be overwritten or modified, but

either the attacker has no control over which files are affected or the attacker can

modify files within only a limited context or scope.

Complete (C) There is a total compromise of system integrity. There is a complete loss of system

protection, resulting in the entire system being compromised. The attacker is able to

modify any files on the target system.

Page 12: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

12

Availability Impact (A)

This metric measures the impact to availability of a successfully exploited vulnerability.

Availability refers to the accessibility of information resources. Attacks that consume network

bandwidth, processor cycles, or disk space all impact the availability of a system. The possible

values for this metric are listed in Table 6. Increased availability impact increases the

vulnerability score.

Table 6: Availability Impact Scoring Evaluation

Metric Value Description

None (N) There is no impact to the availability of the system

Partial (P) There is reduced performance or interruptions in resource availability. An example is

a network-based flood attack that permits a limited number of successful connections

to an Internet service.

Complete (C) There is a total shutdown of the affected resource. The attacker can render the

resource completely unavailable.

2.4.2 Temporal Metrics [1]

The threat posed by vulnerability may change over time. Three such factors that CVSS captures

are: confirmation of the technical details of vulnerability, the remediation status of the

vulnerability, and the availability of exploit code or techniques. Since temporal metrics are

optional they each include a metric value that has no effect on the score. This value is used when

the user feels the particular metric does not apply and wishes to “skip over” it.

Exploitability (E)

This metric measures the current state of exploit techniques or code availability. Public

availability of easy-to-use exploit code increases the number of potential attackers by including

those who are unskilled, thereby increasing the severity of the vulnerability. Initially, real-world

exploitation may only be theoretical. The possible values for this metric are listed in Table 7. The

more easily vulnerability can be exploited, the higher the vulnerability score.

Page 13: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

13

Table 7: Exploitability Scoring Evaluation

Metric Value Description

Unproven (U) No exploit code is available, or an exploit is entirely theoretical.

Proof-of-

Concept (POC)

Proof-of-concept exploit code or an attack demonstration that is not practical for

most systems is available. The code or technique is not functional in all situations

and may require substantial modification by a skilled attacker.

Functional (F) Functional exploit code is available. The code works in most situations where the

vulnerability exists.

High (H) Either the vulnerability is exploitable by functional mobile autonomous code, or

no exploit is required (manual trigger) and details are widely available. The code

works in every situation, or is actively being delivered via a mobile autonomous

agent (such as a worm or virus).

Not Defined

(ND)

Assigning this value to the metric will not influence the score. It is a signal to the

equation to skip this metric.

Remediation Level (RL)

The remediation level of vulnerability is an important factor for prioritization. The typical

vulnerability is unpatched when initially published. Workarounds or hot fixes may offer interim

remediation until an official patch or upgrade is issued. Each of these respective stages adjusts

the temporal score downwards, reflecting the decreasing urgency as remediation becomes final.

The possible values for this metric are listed in Table 8. The less official and permanent a fix, the

higher the vulnerability score is.

Report Confidence (RC)

This metric measures the degree of confidence in the existence of the vulnerability and the

credibility of the known technical details. Sometimes, only the existence of vulnerabilities are

publicized, but without specific details. The vulnerability may later be corroborated and then

confirmed through acknowledgement by the author or vendor of the affected technology. The

urgency of vulnerability is higher when vulnerability is known to exist with certainty. The

possible values for this metric are listed in Table 9. The more vulnerability is validated by the

vendor or other reputable sources, the higher the score.

Page 14: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

14

Table 8: Remediation Level Scoring Evaluation

Metric Value Description

Official Fix (OF) A complete vendor solution is available. Either the vendor has issued an official

patch, or an upgrade is available.

Temporary Fix (TF) There is an official but temporary fix available. This includes instances where the

vendor issues a temporary hot fix, tool, or workaround.

Workaround (W) There is an unofficial, non-vendor solution available. In some cases, users of the

affected technology will create a patch of their own or provide steps to work

around or otherwise mitigate the vulnerability.

Unavailable (U) There is either no solution available or it is impossible to apply.

Not Defined

(ND)

Assigning this value to the metric will not influence the score. It is a signal to the

equation to skip this metric.

Table 9: Report Confidence Scoring Evaluation

Metric Value Description

Unconfirmed (UC) There is a single unconfirmed source or possibly multiple conflicting reports.

There is little confidence in the validity of the reports. An example is a rumor that

surfaces from the hacker underground.

Uncorroborated(UR) There are multiple non-official sources, possibly including independent security

companies or research organizations. At this point there may be conflicting

technical details or some other lingering ambiguity

Confirmed (C) The vulnerability has been acknowledged by the vendor or author of the affected

technology. The vulnerability may also be “Confirmed” when its existence is

confirmed from an external event such as publication of functional or proof-

ofconcept exploit code or widespread exploitation.

Not Defined

(ND)

Assigning this value to the metric will not influence the score. It is a signal to the

equation to skip this metric.

Page 15: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

15

2.4.3 Environmental Metrics [1]

Different environments can have an immense bearing on the risk that a vulnerability poses to an

organization and its stakeholders. The CVSS environmental metric group captures the

characteristics of a vulnerability that is associated with a user’s IT environment. Since

environmental metrics are optional they each include a metric value that has no effect on the

score. This value is used when the user feels the particular metric does not apply and wishes to

“skip over” it.

Collateral Damage Potential (CDP)

This metric measures the potential for loss of life or physical assets through damage or theft of

property or equipment. The metric may also measure economic loss of productivity or revenue.

The possible values for this metric are listed in Table 10. Naturally, the greater the damage

potential, the higher the vulnerability score.

Table 10: Collateral Damage Potential Scoring Evaluation

Metric Value Description

None (N) There is no potential for loss of life, physical assets, productivity or revenue.

Low (L) A successful exploit of this vulnerability may result in slight physical or property

damage. Or, there may be a slight loss of revenue or productivity to the

organization.

Low-Medium

(LM)

A successful exploit of this vulnerability may result in moderate physical or

property damage. Or, there may be a moderate loss of revenue or productivity to

the organization.

Medium-High

(MH)

A successful exploit of this vulnerability may result in significant physical or

property damage or loss. Or, there may be a significant loss of revenue or

productivity

High (H) A successful exploit of this vulnerability may result in catastrophic physical or

property damage and loss. Or, there may be a catastrophic loss of revenue or

productivity.

Not Defined

(ND)

Assigning this value to the metric will not influence the score. It is a signal to the

equation to skip this metric.

Page 16: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

16

Target Distribution (TD)

This metric measures the proportion of vulnerable systems. The possible values for this metric are listed

in Table 11. The greater the proportion of vulnerable systems, the higher the score.

Table 11: Target Distribution Scoring Evaluation

Metric Value Description

None (N) No target systems exist, or targets are so highly specialized that they only exist in

a laboratory setting. Effectively 0% of the environment is at risk.

Low (L) Targets exist inside the environment, but on a small scale. Between 1% - 25% of

the total environment is at risk.

Medium

(M)

Targets exist inside the environment, but on a medium scale. Between 26% - 75%

of the total environment is at risk.

High (H) Targets exist inside the environment on a considerable scale. Between 76% -

100% of the total environment is considered at risk.

Not Defined

(ND)

Assigning this value to the metric will not influence the score. It is a signal to the

equation to skip this metric.

Security Requirements (CR, IR, AR)

These metrics enable the analyst to customize the CVSS score depending on the importance of

the affected IT asset to a user’s organization, measured in terms of confidentiality, integrity, and

availability, that is, if an IT asset supports a business function for which availability is most

important, the analyst can assign a greater value to availability, relative to confidentiality and

integrity. Each security requirement has three possible values: “low,” “medium,” or “high.”

The full effect on the environmental score is determined by the corresponding base impact

metrics. That is, these metrics modify the environmental score by reweighting the (base)

confidentiality, integrity, and availability impact metrics. For example, the confidentiality impact

(C) metric has increased weight if the confidentiality requirement (CR) is “high.” Likewise, the

confidentiality impact metric has decreased weight if the confidentiality requirement is “low.”

The confidentiality impact metric weighting is neutral if the confidentiality requirement is

“medium.” This same logic is applied to the integrity and availability requirements.

Page 17: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

17

Note that the confidentiality requirement will not affect the environmental score if the (base)

confidentiality impact is set to “none.” Also, increasing the confidentiality requirement from

“medium” to “high” will not change the environmental score when the (base) impact metrics are

set to “complete.” This is because the impact sub score (part of the base score that calculates

impact) is already at a maximum value of 10. The possible values for the security requirements

are listed in Table 12. The same table is used for all three metrics. The greater the security

requirement, the higher the score.

Table 12: Security Requirements Scoring Evaluation

Metric Value Description

Low (L) Loss of [confidentiality | integrity | availability] is likely to have only a

limited adverse effect on the organization or individuals associated with the

organization (e.g., employees, customers).

Medium

(M)

Loss of [confidentiality | integrity | availability] is likely to have a serious

adverse effect on the organization or individuals associated with the

organization (e.g., employees, customers).

High (H) Loss of [confidentiality | integrity | availability] is likely to have a

catastrophic adverse effect on the organization or individuals associated

with the organization (e.g., employees, customers).

Not Defined

(ND)

Assigning this value to the metric will not influence the score. It is a signal to the

equation to skip this metric.

2.5 Base, Temporal, Environmental Vectors

Each metric in the vector consists of the abbreviated metric name, followed by a “:” (colon), then

the abbreviated metric value. The vector lists these metrics in a predetermined order, using the

“/” (slash) character to separate the metrics. If a temporal or environmental metric is not to be

used, it is given a value of “ND” (not defined). The base, temporal, and environmental vectors

are shown in Table 13.

Page 18: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

18

Table 13: Base Temporal and Environmental Vectors

Metric Group Vector

Base AV:[L,A,N]/AC:[H,M,L]/Au:[M,S,N]/C:[N,P,C]/I:[N,P,C]/A:[N,P,C]

Temporal E:[U,POC,F,H,ND]/RL:[OF,TF,W,U,ND]/RC:[UC,UR,C,ND]

Environmental CDP:[N,L,LM,MH,H,ND]/TD:[N,L,M,H,ND]/CR:[L,M,H,ND]/

IR:[L,M,H,ND]/AR:[L,M,H,ND]

2.6 Scoring Equations [3]

Scoring equations and algorithms for the base, temporal and environmental metric groups are

described below.

Base Equation

The base equation is the foundation of CVSS scoring. The base equation is:

Base Score = round_to_decimal (((0.6*Impact) + (0.4*Exploitability)–1.5)*f (Impact))

Impact = 10.41*(1-(1-ConfImpact)*(1-IntegImpact)*(1-AvailImpact))

Exploitability = 20* Access Vector*Access Complexity*Authentication

f(impact)= 0 if Impact=0, 1.176 otherwise

Table 14: Scoring for Access Vector

Access Vector Value

Local 0.395

Adjacent network 0.646

Network 1.0

Table 15: Scoring for Access Complexity

Access Complexity Value

High 0.35

Medium 0.61

Low 0.71

Page 19: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

19

Table 16: Scoring for Authentication

Authentication Value

Multiple 0.45

Single 0.56

None 0.704

Table 17: Scoring for Confidentiality, Integrity and Availability

Confidentiality, Integrity and

Availability

Value

None 0.0

Partial 0.275

Complete 0.660

Temporal Equation

If employed, the temporal equation will combine the temporal metrics with the base score to

produce a temporal score ranging from 0 to 10. Further, the temporal score will produce a

temporal score no higher than the base score, and no less than 33% lower than the base score.

The temporal equation is:

Temporal Score =

round_to_1_decimal (BaseScore*Exploitability*RemediationLevel*ReportConfidence)

Table 18: Scoring for Exploitability

Exploitability Value

Unproven 0.85

Proof-of-concept 0.9

Functional 0.95

High 1.00

Not defined 1.00

Page 20: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

20

Table 19: Scoring for Remediation Level

Remediation Level Value

Official-fix 0.87

Temporary-fix 0.90

Workaround 0.95

Unavailable 1.00

Not defined 1.00

Table 20: Scoring for Report Confidence

Report Confidence Value

Unconfirmed 0.90

Uncorroborated 0.95

Confirmed 1.00

Not defined 1.00

Environmental Equation

If employed, the environmental equation will combine the environmental metrics with the

temporal score to produce an environmental score ranging from 0 to 10. Further, this equation

will produce a score no higher than the temporal score. The environmental equation is:

Environmental Score = round_to_1_decimal((Adjusted Temporal +

(10-AdjustedTemporal)*CollateralDamagePotential)*TargetDistribution)

Adjusted Temporal = Temporal Score recomputed with the Base Score’s Impact sub equation

replaced with the Adjusted Impact equation

Adjusted Impact = min (10, 10.41*(1-(1-ConfImpact*ConfReq)*(1-IntegImpact*IntegReq)

*(1-AvailImpact*AvailReq)))

Page 21: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

21

Table 21: Scoring for Collateral Damage Potential

Collateral Damage

Potential

Value

None 0.0

Low 0.1

Low-medium 0.3

Medium-high 0.4

High 0.5

Not defined 0

Table 22: Scoring for Target Distribution

Target distribution Value

None 0.0

Low 0.25

Medium 0.75

High 1.00

Not defined 1.00

Table 23: Scoring for Confidentiality, Integrity and Availability Req.

Conf. Req, Integrity, Availability Value

Low 0.5

Medium 1.0

High 1.51

Not defined 1.00

Page 22: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

22

2.7 Systems evaluated using CVSS:

1. Oracle: Base Score is 10.0 and vector is AV: N/AC: L/Au: N/C: C/I: C/A: C [7]

Figure 3: CVSS Scoring for Oracle

2. Skype: Base Score of 7.8 and vector is AV: N/AC: M/Au: Mu/C: C/I: C/A: C [7]

Figure 4: CVSS Scoring for Skype

Page 23: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

23

3. Microsoft has a base score of 10 and Temporal score of 7.4 [7]

Figure 5: CVSS Scoring for Microsoft

Page 24: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

24

3. Development of the Web Based System CdCo

The e-commerce website developed deals with the sale of music. The website is called CdCo.

CdCo was developed in Visual Studio 2008 with C#.Net as the front end and Microsoft SQL

Server 2005 as the back end. The user needs to register with CdCo and then logs in by entering

the User Id and Password. The user can browse for music and add them to the cart if they like it.

Finally, after adding music to the cart the user makes a payment by entering details and

submitting to the system. The application architecture and database diagram for CdCo are shown

in Figure 6 and Figure 7 respectively. They consist of an MS SQL Server database and two

stored procedures, Save_User which inserts the user information into the database after

registration, and Save_Order which inserts the payment information into the database.

TCP/IP

Figure 6: Application Architecture for CdCo

MS SQL Database

(CS Department.)

Save_Order

Save_User

Application Server

.Net

(CS Department)

Browser

Internet

Web Server (IIS for CdCo)

(CS Department)

Page 25: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

25

Figure 7: Database Diagram for CdCo.

The use case diagram and class diagram for CdCo are shown in Figure 8 and Figure 9

respectively. The application server was developed in .Net. The web server that was used is IIS.

All the software is uploaded to the server in the CS Department

(http://cslab.uttyler.edu/cosc5380/VSAluri16/).

The use case diagram shows the following use cases:

Register: The users get registered to CdCo.

Login: Users log in to CdCo with their UserId and password.

Browse and add music: Users browse CdCo for music and adds them to the cart if they like it.

Add, Update, Delete users: The administrator uses this option to add, delete and update user

information depending on the user’s request.

Make payment: After adding music to their shopping cart, users proceed to make payment.

Logout: After payment is complete, the user logs out of CdCo.

Page 26: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

26

User Admin

Figure 8. Use Case Diagram for CdCo.

CdCo has three classes: user, payment and login.

User class: User class is used for the user to get registered to CdCo. It has several attributes that

are required for registration and two functions: btnRegister_Click () which registers the user to

CdCo and btnClear_Click () which clears the fields in the registration form.

CdCo system

Register

Login

Browse and add

music to cart

Make

payment

Logout

Add,

Update,

Delete Users

Page 27: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

27

Payment class: Payment class is used by the user to make his payments. It has some attributes

such as card type, card number that are required for payment and two methods

btnPurchase_Click () which makes a payment and btnReturnShopping_Click () which directs the

user from shopping cart to the list of music section.

Login class: This class has login and password as attributes and one method btnLogin_Click ()

which is used to login into CdCo.

Log in

Login

password btnLogin_Click()

Figure 9: Class Diagram for CdCo

User

First Name

Last Name

Email

Password

Address

City

State

Zip Code

Phone

Security Question

Security Answer

btnRegister_Click ()

btnClear_Click()

Payment

Security Answer

Credit Card Type

Account

Expiration date

Name

Email

Address

City

State

Zip Code

btnPurchase_Click ()

btnReturnShopping_Click()

CdCo

Application

Page 28: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

28

3.1 User Registration Scenario

Page Navigation Diagram

User

Figure 10: User Registration scenario

As shown in Figure 10, for registration the user starts from the homepage and, by using the links

provided on the page, navigates through the pages to complete the registration process. The step

by step procedure regarding the actions to be performed to navigate between pages are described

as below:

1. Click on “New User” button on “Homepage” page

2. Fill out the Registration form and click “Register” button on “Registration” page

3. Click on link to home page.

The screenshot of the home page is shown in Figure 11. A screenshot of the “Registration” page

is shown in Figure 12. This page allows a new user to create a user account on the website. In

this page, one provides a desired e-mail (username), password, address and answers the security

question. By clicking on the “Register” button, the user will be registered and can login to the

system by using user name and password. After successful registration, the message “Thank You

for registering with us” is displayed.

HomePage New User Register User

Created

1 3

4

2

Page 29: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

29

Figure 11: Screen shot of Home page

Figure 12: Screenshot of Registration page

Page 30: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

30

3.2 User Login scenario:

Page Navigation Diagram:

User

Figure 13: User Login Scenario

As shown in Figure 13, the user has to login by entering his/her email and password. Then the

user is redirected to his homepage and by using the links provided on the page he/she can select

music, add them to the cart, and finally make a payment. The screen shot of the login page is

shown in Figure 14. The step by step procedure regarding the actions to be performed to navigate

between pages are described as below:

1. Click on “Login” button on “Homepage”.

2. Enter e-mail and password to login.

3. Select music from home page.

4. Click on Add to cart if you want to buy.

5. Click on Make Payment to make the payment.

Log in Home page Select music Add to cart

1 3

4

2

Make payment 5

Page 31: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

31

Figure 14: Screenshot of Log in page

After successful login the user is directed to his/her home page having the list of all the available

music from which he/she can select and then add them to the cart as shown in Figure 15.

Figure 15: Screenshot of Home page of a User

Page 32: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

32

While logging in if the user enters the wrong password three times then his account will be

blocked and a message will be displayed as shown in Figure 16. He/she will need to contact the

administrator in order to get his/her Account unlocked.

Figure 16: Screen shot of Blocked account.

After successful login the user browses for the music and sees a list of music that can be added to

the cart. After adding the desired music to his/her cart, when the user clicks on My Shopping

Cart then he/she is directed to his/her shopping cart. When the user clicks on Make Payment then

he/she is redirected to the payment page where he/she provides his/her card details as shown in

Figure 17.

Figure 17: Screenshot of payment page

Page 33: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

33

The Administrator has his own home page where he can add or delete any item or even can add,

delete or update the information of particular user as shown in Figure 18. For example if the user

enters the wrong password more than three times, his account will be blocked and he must

contact the Administrator. Then the Administrator can log into his account and reset the

password field of the user by updating the value in the database.

Figure 18: Screen shot of Admin Home Page

Page 34: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

34

4. Application of CVSS

When applying CVSS to the CdCo website the calculations will be as follows:

Base Metrics:

Calculation of Base Metrics is given in Table 24.

Table 24. Base Metrics Calculation

Parameter Value Justification

Access Vector Network ( 1.0) It can be accessed from anywhere and every one can

access it Access Complexity Low (0.71) Some information must be gathered before an attack

can be launched. (For example Admin user id and

password are hardcoded. So if the attacker breaks the

code then he can successfully log in as Admin) Authentication Single (0.56) It has only one authentication i.e.., Login Confidentiality Impact Partial (0.275) There is access to some files. Integrity Impact None (0) No Impact to the Integrity Availability Impact None (0) No Impact to the Availability.

Base Score = round_to_decimal (((0.6*Impact) + (0.4*Exploitability)–1.5)*f (Impact))

Impact = 10.41*(1-(1-ConfImpact)*(1-IntegImpact)*(1-AvailImpact))

Exploitability = 20* Access Vector*Access Complexity*Authentication

f (impact) = 0 if Impact=0, 1.176 otherwise

Impact = 10.41*(1-(1-0.275)*(1-0)*(1-0))

= 10.41*(0.275)

= 2.86275.

Exploitability = 20*1.0*0.71*0.56

= 7.952

Base Score = (((0.6*2.86275) + (0.4*7.952) - 1.5)*1.176)

= (((1.71765) + (3.1808) – 1.5)*1.176)

= 4.0.

Page 35: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

35

Temporal Metrics:

Calculation of Temporal Metrics is given in Table 25.

Table 25. Temporal Metrics Calculation

Parameter Value Justification

Exploitability Unproven (0.85) No exploit code is available.

Remediation Level Not Defined (1.0) The value of the metric will not influence the

score.

Report Confidence Not Defined (1.0) We can Skip this metric.

Temporal Score =

round_to_1_decimal (BaseScore*Exploitability*RemediationLevel*ReportConfidence)

= (4.0*0.85*1.0*1.0)

=3.4

Environmental Metrics:

Calculation of Environmental Metrics is given in Table 26.

Table 26: Environmental Metrics Calculation

Parameter Value Justification

Collateral Damage Potential None (0) There is no potential loss of life or physical

assets.

Target Distribution None (0) No target systems exist

Security Requirements

(CR,IR,AR)

Medium (1.0) Loss of Confidentiality | Integrity |

Availability is likely to have a serious damage

to the employees and customers

Page 36: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

36

Environmental Score = round_to_1_decimal((Adjusted Temporal +

(10-AdjustedTemporal)*CollateralDamagePotential)*TargetDistribution)

Adjusted Temporal = Temporal Score recomputed with the Base Score’s Impact sub equation

replaced with the Adjusted Impact equation

Adjusted Impact = min (10, 10.41*(1-(1-ConfImpact*ConfReq)*(1-IntegImpact*IntegReq)

*(1-AvailImpact*AvailReq)))

Adjusted Impact = min (10, 10.41*(1-(1-0.275*1)*(1-0*1)*(1-0*1)))

=min (10, 10.41*0.275)

= min (10, 2.9)

= 2.9.

Adjusted Base = (((0.6*2.9) + (0.4*7.952) – 1.5)*1.176)

= ((4.92 – 1.5)*1.176)

= 4.02.

Adjusted Temporal = 4.02*0.85*1.0*1.0

= 3.41.

Environmental Score = ((3.41 + (10 – 1.36)*0)*0)

= 3.41

Hence the overall CVSS Score is 3.41 which is a good score compared to the websites discussed

in section 2.7.

The CVSS vector (“AV: N/AC: L/Au: S/C: P/I: N/A: N”) indicates access vector is network,

access control is low, authentication is single, confidentiality is partial, integrity and availability

is none.

Page 37: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

37

5. Improvement of Website Based on CVSS

Based on the CVSS score obtained, the following improvements were made:

Access Complexity was made more complex by removing the hardcoded

admin user id and password in the login.aspx.cs file and creating a separate field called Role in

the Users table in the database. If the user is Admin then that field is set to Admin or else it is set

to null. In this way access complexity becomes more complex. The database schema is shown in

Figure 19. All the software was uploaded to the server in the CS Department

(http://cslab.uttyler.edu/cosc5380/VSAluri16a/).

Figure 19: Database Schema of Improved Website

Page 38: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

38

One more improvement was made to allow multiple Authentications as shown in Figure 20.

During registration, users are asked for a security question and answer which is stored in the

database and then they are again asked for it when they are about to make a payment as shown. If

both the responses do not match then they cannot proceed further.

Figure 20: Screen Shot of Multiple Authentication.

Page 39: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

39

CVSS was then applied to the modified system and the calculations are given below.

Base Metrics:

Calculation of Base metrics is shown in Table 27:

Table 27: Calculation of Base Metrics

Parameter Value Justification

Access Vector Network ( 1.0) It can be accessed from anywhere and every one can

access it Access Complexity Medium (0.61) Admin user id and password are stored in the

Database and it is difficult for the attacker to break

the database. Authentication Multiple (0.45) It has several authentications. Confidentiality Impact Partial (0.275) There is access to some files. Integrity Impact None (0) No Impact to the Integrity Availability Impact None (0) No Impact to the Availability.

Base Score = round_to_decimal (((0.6*Impact) + (0.4*Exploitability)–1.5)*f (Impact))

Impact = 10.41*(1-(1-ConfImpact)*(1-IntegImpact)*(1-AvailImpact))

Exploitability = 20* Access Vector*Access Complexity*Authentication

f(impact)= 0 if Impact=0, 1.176 otherwise

Impact = 10.41*(1-(1-0.275)*(1-0)*(1-0))

= 10.41*(0.275)

= 2.86275.

Exploitability = 20*1.0*0.61*0.45

= 5.49.

Base Score = (((0.6*2.86275) + (0.4*5.49) - 1.5)*1.176)

= (((1.71765) + (2.196) – 1.5)*1.176)

= 2.84.

Temporal Metrics:

Calculation of Temporal Metrics is given in Table 28.

Temporal Score =

round_to_1_decimal (BaseScore*Exploitability*RemediationLevel*ReportConfidence)

= (2.84*0.85*1.0*1.0)

=2.41

Page 40: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

40

Table 28. Temporal Metrics Calculation

Parameter Value Justification

Exploitability Unproven (0.85) No exploit code is available.

Remediation Level Not Defined (1.0) The value of the metric will not influence the

score.

Report Confidence Not Defined (1.0) We can skip this metric.

Environmental Metrics:

Calculation of Environmental Metrics is given in Table 29.

Table 29: Environmental Metrics Calculation

Parameter Value Justification

Collateral Damage Potential None (0) There is no potential loss of life or physical

assets.

Target Distribution None (0) No target systems exist

Security Requirements

(CR,IR,AR)

Medium (1.0) Loss of Confidentiality | Integrity |

Availability is likely to have a serious damage

to the employees and customers

.Environmental Score = round_to_1_decimal((Adjusted Temporal +

(10-AdjustedTemporal)*CollateralDamagePotential)*TargetDistribution)

Adjusted Temporal = Temporal Score recomputed with the Base Score’s Impact sub equation

replaced with the Adjusted Impact equation

Adjusted Impact = min (10, 10.41*(1-(1-ConfImpact*ConfReq)*(1-IntegImpact*IntegReq)

*(1-AvailImpact*AvailReq)))

Page 41: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

41

Adjusted Impact = min (10, 10.41*(1-(1-0.275*1)*(1-0*1)*(1-0*1)))

=min (10, 10.41*0.275)

= min (10, 2.9)

= 2.9.

Adjusted Base = (((0.6*2.9) + (0.4*5.49) – 1.5)*1.176)

= ((3.936 – 1.5)*1.176)

= 2.87.

Adjusted Temporal = 2.87*0.85*1.0*1.0

= 2.43.

Environmental Score = ((2.43 + (10 – 1.36)*0)*0)

= 2.43

Hence the overall CVSS score is 2.43 which is better than the previous version of the website.

The CVSS Vector is “AV: N/AC: M/Au: M/C: P/I: N/A: N”

Hence the improved website is less vulnerable when compared to the original website.

Page 42: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

42

6. Experiences with CVSS

Advantages of CVSS:

Standardized Vulnerability Scores:

When an organization normalizes vulnerability scores across all of its

software and hardware platforms, it can have a single vulnerability management policy.

Open Framework:

Users can see the individual characteristics that are used to derive a score for

vulnerability when CVSS is used.

Easy to measure and straightforward to understand.

Freely available and is open to use for everyone.

Shortcomings of CVSS:

CVSS was developed to generate scores for vulnerabilities in the context of security

flaws but not in security misconfigurations.

It takes more time for calculation.

Base score seems to be the most important because they are constant over time and user

environments. Temporal and Environmental scores are considered as optional.

Page 43: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

43

7. Conclusion and Future Work

The Common Vulnerability Scoring System was designed to provide the end user with an

overall composite score representing the severity and risk of a vulnerability. CVSS offers

transparency and prioritization of response. The Base score has emerged as most useful

component meaning that CVSS is used to measure severity but not risk. Based on this study we

reduced vulnerability of a website therefore making the web-site more secure.

Future Work:

May need to adjust or expand CVSS and its documentation to address inaccuracies, make

CVSS more flexible, and ensure that CVSS encompasses new types of vulnerabilities.

Application of CVSS to other types of scoring, such as for general classes of flaws in

code and for security-related software misconfigurations.

Page 44: Abstract - University of Texas at Tyler · Example: Variations in ping (request for information, can cause a denial of service attack - i.e., floods, ping of death) can be an attack

44

8. References

[1] Peter Mell, Karen Scarfone, Sasha Romanosky “A Complete study guide to the Common

Vulnerability Scoring System V 2.0.”

[2] Mike Schiffman, Gerhard Eschelbeck, David Ahmad, Andrew Wright “CVSS: A Common

Vulnerability Scoring System”, National Infrastructure Advisory Council (NIAC), 2004,

http://www.dhs.gov/xlibrary/assets/niac/NIAC_Final_Minutes_041304.pdf

[3] www.first.org/cvss

[4] NIST National Institute of Standards and Technology, Information Technology Laboratory

Bulletin October 2007, http://csrc.nist.gov/publications/nistbul/Oct-2007.pdf

[5] Andrew Jaquith, Security Metrics: Replacing Fear, Uncertainty, and Doubt. Addison-Wesley

Professional March 2007.

[6] Marco Vieira, Nuno Antunes, and Henrique Madeira: Using Web Security Scanners to Detect

Vulnerabilities in Web Services, Dependable Systems & Networks, 2009. DSN '09. IEEE/IFIP

International Conference on June 29 2009-July 2 2009,

http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5270294&isnumber=5270274

[7] Sasha Romanosky, The Common Vulnerability Scoring System, Cylab Research seminar.

http://www.romanosky.net/pres/Romanosky-CVSSv2-CyLab-110408.pdf


Recommended