Sadeeq Jan,Omer Bin Tauqeer,Fazal Qudus Khan,George Tsaramirsis,Awais Ahmad,Iftikhar Ahmad,Imran Maqsood and Niamat Ullah
1National Center for Cyber Security,Department of CS&IT,University of Engineering &Technology,Peshawar,Pakistan
2Department of Information Technology,FCIT,King Abdulaziz University,Jeddah,Saudi Arabia
3Dipartimento di Informatica(DI),Università Degli Studi di Milano Statale,Via Celoria 18,Milano,Italy
4Department of Computer Science &IT,University of Engineering &Technology,Peshawar,Pakistan
5Department of Software Engineering,University of Engineering &Technology,Mardan,Pakistan
6University of Buner,Buner,Pakistan
Abstract:Over the last decade,a significant increase has been observed in the use of web-based Information systems that process sensitive information,e.g.,personal,financial,medical.With this increased use,the security of such systems became a crucial aspect to ensure safety,integrity and authenticity of the data.To achieve the objectives of data safety,security testing is performed.However,with growth and diversity of information systems,it is challenging to apply security testing for each and every system.Therefore,it is important to classify the assets based on their required level of security using an appropriate technique.In this paper,we propose an asset security classification technique to classify the System Under Test(SUT)based on various factors such as system exposure,data criticality and security requirements.We perform an extensive evaluation of our technique on a sample of 451 information systems.Further,we use security testing on a sample extracted from the resulting prioritized systems to investigate the presence of vulnerabilities.Our technique achieved promising results of successfully assigning security levels to various assets in the tested environments and also found several vulnerabilities in them.
Keywords:Security;security testing;privacy;asset classification
Complex web-based systems either contain or utilize private and critical information which must remain secure from unauthorized access and tampering.Similarly,basic web applications may also process sensitive information and,are constantly at risk of being attacked.New and complex systems used in cloud computing for data crunching and information gathering may also be vulnerable to various attacks and threats.To ensure the security of these systems and applications,security testing is required.There are various types of security testing techniques that are used to find vulnerabilities.The most common form of testing is Penetration Testing also known as “Pen Testing”.Penetration testing is carried out by simulating real attacks on systems to identify exploitable vulnerabilities and the damage they would incur[1,2].Open Web Application Security(OWASP)is a well-known online community that provides various techniques and tools for securing web-based systems[3].The most common of these is the document titled as OWASP Top 10 Web Application Vulnerabilities published every 3 to 5 years[4].The document discusses the most common vulnerabilities that potentially exists in many web applications.It also describes how the vulnerabilities can be exploited by the attackers,along with identifying the key techniques that can be employed as safeguard against such attacks.The fundamental three features of security that are checked during any security testing process are[5,6]:
Confidentiality:is the assurance that information is not disclosed to unauthorized individuals,processes,or devices.
Integrity:is provided when data is unchanged from its source and has not been accidentally or maliciously modified,altered,or destroyed.
Availability:guarantees timely,reliable access to data and information services for authorized users.
These security principles make the CIA triad which is the most commonly used and oldest security standard around the globe.Over the years with the increase in the complexity and wide variety of systems and applications,more security features have been added such as:
Authentication:is a security measure designed to establish the validity of a transmission,message,or originator,or a means of verifying an individual’s authorization to receive specific categories of information.
Authorization:provides access privileges granted to a user,program,or process.
Non-repudiation:is the assurance that none of the partners taking part in a transaction can later deny of its participation.
The focus of providing security should be applied on the web application layer to protect it from unauthorized users by building security across the software development lifecycle security mechanism[7].The effectiveness of the testing process significantly depends on the tools used to support the process.Testing tools usually automate some of the tasks required by the process,such as test case generation,test case execution and evaluation of the test case result.Several testing tools support the production of useful testing documentation and provide a configuration and management of these tools[8].The existing approaches for mitigating threats to Web applications can be divided into client-side and server-side solutions.If we look at the server-side security,we can consider an application-level firewall offering protection in case of suspected cross-site scripting(XSS)attacks that attempt to steal a user’s credentials[9].Server-side solutions have the advantage of being able to discover a larger range of vulnerabilities,and the benefit of a security aw fixed by the service provider is instantly propagated to all its clients.These server-side techniques can be further classified into dynamic and static approaches[10].Dynamic tools and Perl’s taint mode try to detect attacks while executing the audited program,whereas static analyzers scan the Web application’s source code for vulnerabilities[11].Assessment or test of security risks both from outside and within the organization can include someone’s access to classified information and transferring it to a USB[12].
Security testing is often performed for a single System Under Test(SUT),however,there are usually more systems or components that needs to be tested in a complex web-based infrastructure.In such cases,it becomes a difficult decision for the tester/organization that which system/component should be tested first among the vast majority of systems[13–18].For such scenarios,a technique is needed to classify the assets of an organization.In this paper we propose an Asset classification system to assign priority levels to each system based on their security needs,for the web-based Information systems.
Our proposed technique verifies the quality of data that the system stores,analyses,processes and transfers,as well as the criticality of the system determined via a checklist that focuses on such aspect of the system.The technique utilizes information as collected and described during the planning and design stage of the Security Testing and the Software Development Life Cycle(SDLC).This information is further used to consider the exposure to various types of users of the system.All the collected information about various aspects of a SUT is then analyzed to calculate the criticality value of the asset and an appropriate category(High,Medium,Low)is assigned to it.For evaluating the effectiveness of our proposed approach,we performed testing on 400 web based information systems of the province of Khyber Pakhtunkhwa,Pakistan.Finally,we analyzed a sample of the categorized systems for the investigation of OWASP Top 10 vulnerabilities.
The rest of the paper is organized as following.Section 2 provides a succinct summary of the related work.Section 3 provides a background on the OWASP Top 10 vulnerabilities.Sections 4 presents our proposed approach for asset security classification in detail.Section 5 describes the details of our study design including the subjects’ selection and methods of analysis.The results are discussed in Section 6.Finally,the conclusion and future work is presented in Section 7.
Attacks on web-based systems have increased significantly over the last few years.The number of attacks grew from 17 million to 50 million between years 2015 and 2016[19].Similarly,the number of new vulnerabilities found in web applications have seen an increase in 2017 by 212% as compared to 2016[1].In 2018,Google sent over 45 million notifications to various web administrators alerting them about possible problems with their websites that could affect their appearance in a search.Therefore,there is a dire need to take appropriate security measures to counter these attacks.
A web based platform is a complex system consisting several components,tools,devices,technologies e.g.,HTTP/S protocols,application development technologies like PHP,ASP and web clients(browser etc.).Further,almost all types of these systems are continuously being targeted by attackers and therefore organizations use intrusion detection/prevention systems(IDS/IPS)and firewalls to protect and monitors such networks[8].Although,a number of preventive measures are used to secure the deployed web applications,security testing has become a critical activity at the development phase.The purpose of security testing is to ensure confidentiality and authenticity of the data,as well as ensuring the availability of the services to the end user.Such security testing is used to verify if the web applications fulfills its security requirements in case of malicious user inputs[20].There are various challenges when carrying out security testing of systems and applications and the newly discovered vulnerabilities are making the task more complicated.Developers/testers need to understand the importance of all such issues/challenges when conducting security testing.
A framework for assessing the risk of vulnerabilities in e-government sites,has been discussed by Anastacio et al.[21].The authors discussed the benefits and risks of the e-government systems.As per the authors views,the value or importance of an e-government system depends on its difference from other systems and the interactions of the users with the system.Rjaibi et al.[22]provided an analysis technique for the security assessment of e-learning systems.Security requirements such as privacy,nonrepudiation,authentication etc.have been identified along with the types of possible attacks such as,buffer over ow,cross site scripting,insecure direct object referencing and information leakage etc.The authors considered the availability as the most important security requirement.Patel et al.[23]proposed a risk assessment modeling technique for modeling the possible attacks and their impact on industrial systems.The technique allowed them to determine financial loses that can occur due to the cyber-attacks on these types of systems.The authors implemented their technique to find the financial loss caused due to an attack on a SCADA based system and found an estimated $454,094 yearly loss possible based on their methodology.
Almadhoob et al.[24]performed a study to analyze cybercrimes and their effects in Bahrain.For this purpose,a survey was carried out by the authors among the different businesses and organizations working in Bahrain.Based on the survey an audit plan was created that if utilized would protect the businesses in Bahrain from cyber-attacks on their systems.The authors found that from 34 total participants,31 had been affected by phishing attacks.It was also found that most of the participants had not added important security controls to protect their systems.Of the total participants only 13 were found that had controls in place to track changes made to the data hosted on their systems.Saripalli et al.[25]propose a quantitative framework for the calculation of risk and impact on security of different cloud computing environments.The framework measures the security events and categorizes them from among six pre-defined categories.The framework utilizes the wide-band Dolphi method for calculating the measures in quantitative form.According to the authors,the framework would provide the different user types interacting with the cloud environment and regulating agencies with statically usable data.The authors point out that utilization of this framework would require input of risk knowledge and objectives in huge amount.
In addition to the asset classification,we also aim at security testing for vulnerabilities,especially for the web vulnerabilities that may exist in web-based information systems.Therefore,in this section,we provide an overview of the widely known vulnerabilities as listed by the Open Web Application Security Project[3]commonly known as OWASP.
OWASP is a platform developed by and for the IT community.This platform is used to share knowledge and tools for professionals and beginners alike in the pursuance of defending against attacks on web-based systems.OWASP provides open source tools as well as documents focusing on finding security related attacks and vulnerabilities,guard against attacks and further strengthening the security activities protecting the systems.OWASP ZAP[26]is one of the most widely used tool to discover vulnerabilities and attacks that can be used to affect a system.Similarly,OWASP Juice Shop[27],is an application which has been developed with the most common security aws that affect web applications in mind.It is used as a tool for teaching beginners and new comers to the field of security how various security vulnerabilities can be used by attackers due to the aws that remain unfixed in the system during the development phase.
Similar to using tools,OWASP also provide documentation for developers to learn about the various vulnerabilities and how to harden the systems against such vulnerabilities[28].The OWASP testing guide[29]is a useful resource for this purpose and provides detailed best practices for system hardening and security testing.Another documentation project by OWASP is OWASP Top 10 Vulnerabilities[4]that are found in most web applications and demonstrates how a slight coding habit can emerge into a security threat.Most recent OWASP Top 10 list was released in 2017 and lists SQL injection to be the most common and dangerous security.
Following are the OWASP vulnerabilities in the order of their severity.
An injection attack allows an attacker to insert malicious data into a program via input sources,e.g.,input fields.These attacks are commonly found in SQL,LDAP,XPath etc.In case of SQL attack,the attacker can read,modify,delete the database or execute other queries.In these types of attacks,the coding query handling methods affect the security of the program[30].
Often many web applications require users to login with their credentials.Typical cases require a username and password,that are used to generate a random session id that authenticates all actions as a legitimate user.Disclosure of these credentials occur due to reasons like transmission through insecure channels and security misconfiguration.Upon obtaining such credentials,attackers can impersonate a legitimate user.Therefore,authentication and session management must be managed properly to protect the users’ data from unauthorized disclosure or modification[31].
Data exposure occurs when a web application or program does not adequately protect its data and information.This data if accessed by the attackers can result in financial or business loss.An example could be,exposed data by an error message,weak crypto and lack of headers preventing browser caching.
XML is used to describe data.Two systems that are running on different technologies can communicate with each other using XML.XML External Entity attack takes place when a reference to an external entity is processed by weakly configured parser that may result in information disclosure,Denial of Service(DoS)attacks,port scanning[32].
In access control mechanism,also known as authorization,users are allotted access to resources according to their roles,e.g.,admin,employee or guests etc.Broken access control is one of the most common and highly exploitable vulnerability.Access controls are exploited by changing parameter values,giving direct access to unauthorized system object.Most common impact is privilege escalation—A practice of providing users more rights or access than required,hence weakening the system security[29].
Security misconfiguration vulnerabilities appear into systems due to the use of weak passwords,encryption,using default configured setting,incomplete or improper configuration of settings,outdated software’s or unpatched aws etc.
Cross-site Scripting attacks are a type of injection attacks.The attacker generally injects the malicious code through a browser site script.Nowadays,JavaScript is enabled in most web applications to provide rich functionalities to users.This also provides the attacker an opportunity to exploit and execute their attack.One of the main difficulties in stopping XSS vulnerabilities is proper character encoding where the web applications are unable to filter the character encodings for example there is a possibility that the web application might filter out --> 主站蜘蛛池模板: 2021国产乱人伦在线播放| 久久国产拍爱| 成人中文在线| 欧美日韩资源| 999精品在线视频| 91探花国产综合在线精品| 精品無碼一區在線觀看 | 久久久久亚洲AV成人网站软件| 尤物精品视频一区二区三区| 欧美一区中文字幕| 亚洲a级毛片| 国产精品视频a| 成人无码一区二区三区视频在线观看| 国产综合网站| 欧美第九页| 亚洲综合第一区| 人妻丝袜无码视频| 熟妇丰满人妻| 无码精油按摩潮喷在线播放| 国产免费羞羞视频| 日本三级黄在线观看| 欧美成a人片在线观看| 这里只有精品免费视频| 久久精品一品道久久精品| 一本久道久综合久久鬼色| 中文字幕伦视频| 免费一级毛片在线播放傲雪网| 欧美成人第一页| 亚洲国语自产一区第二页| 久久精品一卡日本电影| 欧美色图第一页| 毛片基地美国正在播放亚洲 | 丁香六月激情综合| 玖玖精品在线| 久草青青在线视频| 伊人久热这里只有精品视频99| 91无码国产视频| 国产制服丝袜无码视频| 91精品国产自产在线观看| 国内丰满少妇猛烈精品播| 免费观看国产小粉嫩喷水| 亚洲成AV人手机在线观看网站| 19国产精品麻豆免费观看| 5388国产亚洲欧美在线观看| 98精品全国免费观看视频| 激情网址在线观看| 美女一区二区在线观看| 91精品伊人久久大香线蕉| 亚洲最大在线观看| 国产精品区视频中文字幕| 日本亚洲最大的色成网站www| 欧美一区二区自偷自拍视频| 国内精品九九久久久精品| 91av国产在线| 激情無極限的亚洲一区免费| 国产99视频免费精品是看6| 精品日韩亚洲欧美高清a| 国产一级毛片yw| 婷婷中文在线| 国产乱码精品一区二区三区中文| a级毛片免费在线观看| 成年女人a毛片免费视频| 欧洲熟妇精品视频| 免费中文字幕一级毛片| 欧美成人区| 免费国产一级 片内射老| 亚洲综合色区在线播放2019| 亚洲欧美综合在线观看| 国产精品青青| 精品第一国产综合精品Aⅴ| 欧美视频在线播放观看免费福利资源| 再看日本中文字幕在线观看| 亚洲精品片911| 国产在线一二三区| 国产99精品视频| 中文字幕一区二区人妻电影| 无码内射在线| 欧美中文字幕无线码视频| 国产在线精品美女观看| a国产精品| 国产精品福利在线观看无码卡| 国产十八禁在线观看免费|