• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Structured Query Language Injection Penetration Test Case Generation Based on Formal Description

    2015-12-20 09:13:04HANMingMIAOChangyun苗長云

    HAN Ming (韓 明) ,MIAO Chang-yun (苗長云)

    1 School of Mechanical Engineering,Tianjin Polytechnic University,Tianjin 300387,China

    2 School of Electronics and Information Engineering,Tianjin Polytechnic University,Tianjin 300387,China

    Introduction

    Software testing has moved beyond the realm of only ascertaining whether the software can accomplish the expected functions.It should also ascertain whether the software can conduct any unexpected behaviors (e.g., the security vulnerability caused by malicious attack).So the software security testing is becoming highly valued.The penetration test[1]is a significant security testing approach for detecting software vulnerabilities.The philosophy behind penetration test is exposing vulnerabilities through testers' mock attack before attackers' real exploitation to software[2].

    Software testing has been widely used as a way to help engineers develop high-qualitysystems[3].The penetration test has also attracted an increasingly interest from industry and academia.Particularly,the research on the penetration test for web applications becomes more and more imperative since the web vulnerabilities will result in serious attacking threats to web security nowadays[4].The SQL injection,for example,is a typical and widespread web vulnerability which accounts for the sensitive information leakage,bypass authentication,system hijacking and/or other serious security damages to web applications[5].Therefore it's crucial to ascertain whether web application has the SQL injection vulnerability before deployment,so the SQL injection penetration test needs intensive research attention.

    Although the penetration test has many advantages in detecting software security vulnerabilities and a lot of efforts have been devoted to its research,there are still many deficiencies in the methods of its research and practice.The penetration testing for web applications,for example,suffers the problem of comparatively low testing accuracy[4-9].The large number of false positives (reported vulnerabilities that in fact do not exist)and false negatives (existing vulnerabilities that have not been reported)contained in the test results often leads to low testing accuracy.In addition, the current penetration test is still heavily security expert dependent[10],and the accuracy of a test campaign mainly relies on the expertise and diligence of security experts.

    The information gathering,attack generation,and response analysis are three key basic phases of penetration testing[6].However,the current researches on SQL injection penetration testing mainly focus on the information gathering and response analysis phases.For the information gathering phase,for example,Refs.[7 -8]discussed the improved crawler technology for finding more injection points in the web applications under test and Halfond et al.[1]proposed an information gathering method based on the source code analysis(non-crawler way)to improve the input vector identification of penetration testing.For the response analysis phase,Antunes and Vieira[5]proposed a test accuracy improvement approach for detecting SQL/XPath Injection vulnerabilities by comparing the structure of the SQL/XPath commands in and out of attacks;Halfond et al.[6]also presented a new SQL injection penetration test response analysis approach by which the query was parsed before it was issued to the database to check whether it's a successful attack;if it was,then vulnerability existed as an attack had already broken through defenses.Those are the typical improvements of researches for the web penetration test.

    However,most of the researches on penetration test of SQL injection pay little attention to the attack generation phases.Especially the regularity and adequacy of test cases (i.e.,attack pattern library)in this phase and their impacts on test accuracy have not been well studied yet.So the test cases generated or used in related work are mostly presented in the random enumeration way (e.g.,Refs.[8 -11]),which cannot guarantee the regularity and adequacy of test case.In fact,the test case is an important factor affecting the test accuracy.An irregular or inadequate test case set cannot fully test the software defenses mechanism and trigger (detect)certain vulnerabilities,which would cause the false negative and impair the test accuracy.Namely,the randomly enumerated test cases used in the current related work are false negative prone.

    To address these problems, we propose a formal description based testing method for the SQL injection vulnerability (Fig.1).A purpose-based attack tree model of SQL injection is proposed,and then under the guidance of this model, the formal descriptions for the SQL injection vulnerability feature and SQL injection attack inputs are established.Moreover,these models according to new coverage criteria are instantiated and the executable test cases are generated.Experiments show that compared with the random enumerated test case used in other works,the test case generated by our method can detect the SQL injection vulnerability more effectively.And thus the false negative is reduced and the test accuracy is improved.

    Therefore,the contribution of this paper can be measured mainly in two ways.Firstly,we initiate the research on formal description based penetration test case generation for the SQL

    Fig.1 The overview of our approach

    injection vulnerability;secondly,we propose the coverage criteria of penetration test case for the SQL injection vulnerability,which are the guidance and metric of penetration testing adequacy.They are two key factors for the research on attack generation phase of penetration test,but often neglected by other academic researches of penetration test improvement.

    1 Purpose-Based Attack Tree Model for SQL Injection

    The SQL injection is one of the most serious and widespread security vulnerabilities in the current web applications[12].An SQL injection attack takes place when a hacker changes the semantic or syntactic logic of an SQL text string by inserting SQL keywords or special symbols within the original SQL command,executed at the database layer of an application.Halfond et al.[13]summarized the main techniques for performing SQL injection attacks;they provided information and examples of how these techniques worked in their paper.

    The SQL injection vulnerability can be divided into two sub-classes:first-order and second-order.The first-order SQL injection vulnerabilities result in immediate SQL command execution upon user input submission,while the second-order SQL injection requires raw user input to be loaded from the database[4].To simplify our discussion,we focus on the firstorder SQL injection vulnerability in this paper.

    We first discuss the research on modeling of SQL injection attack.

    The current researches on modeling of SQL injection attack generally apply the attack tree[14]to describing its regularity.For example,Wang et al.[15]proposed an augmented attack tree model for the SQL injection attacks.Their augmented attack tree described the major patterns of SQL injection attack against web applications,including classified attack steps and various types of attack input characters;Marback et al.[16]used the attack tree to describe the SQL injection attack process to a target web application,and accordingly generated the security test sequence to this web application.

    There are few current researches on SQL injection attack modeling nowadays.And the models mentioned above didn't desirably reflect the logic regularity of SQL injection attacks.

    The SQL injection attack tree model proposed by Wang et al.[15],for example,mainly focused on the description of SQL injection attack inputs (signature)through regular expressions.It made the model scene-specific,just described specific attack inputs in certain attack scenes,which cannot be widely applied in all attack scenarios;what's more,the injection signatures described in the form of regular expression cannot reflect the purpose of attackers' injection.The model proposed by Marback et al.[16]only abstracted the test/attack process for a particular web application and didn't reflect the regularity of attack inputs(test case inputs).

    So we propose an attack purpose-based attack tree model for SQL injection,which describes the SQL injection attack from the perspective of the immediate purpose of attackers'immediate purpose.

    The model we proposed in Fig.2 classifies the SQL injection attacks into three classes according to the attackers'immediate purposes: steal system information, bypass authentication,and remote command execution.

    It is a comparatively comprehensive description of the current SQL injection attacks.What's more,the model we proposed doesn't describe the SQL injection attack from the perspective of attack input patterns(signature)nor specific attack steps,which is instructive to the description separation between the representing symbols and character patterns (e.g.,regular expressions)of attack inputs.So our model can describe the SQL injection attacks in panorama and have the high level of abstraction.

    Fig.2 The purpose-based attack tree model for SQL injection

    2 The Formal Description of SQL Injection Vulnerability

    We further establish the formal description of SQL injection vulnerability features under the guidance of the attack tree we proposed.Namely,we describe various attack inputs and vulnerable responses of web application in formal language.

    According to the description of attack tree mode in Fig.2,we have the following definitions.

    Definition 1 WA has the SQL injection vulnerability,denoted as SQLI(WA),then

    Definition 2 The steal system information vulnerability of SQL injection is denoted as I(WA),and then

    Definition 3 Attackers exploit the SQL injection vulnerability through error message utilizing to get valuable information,denoted as deformSInject(WA),and then

    Here the attacker.input denotes the attackers' injection(attack)inputs set to WA;the detailed definitions about the attacker.input are listed in Table 1;the attacker.GET _knowledge()denotes attackers can get useful information for attack behavior;the WA.response()denotes the responses of WA to attack inputs,and the WA.response().error denotes WA generates observable error message to attackers.

    Definition 4 The blind injection vulnerability of SQL injection is denoted as blindInject(WA).This vulnerability includes two ways,the condition_inference()and the timing inference().

    condition_inference(WA)?(attacker.input i ∈AND Tautology∧attacker.input j ∈AND Contradiction ∨attacker.input i ∈AND Contradiction ∧attacker.input j ∈AND Tautology)∧WA.response(attacker.input i).state ≠WA.

    Here the WA.response().state denotes the response state of WA to inputs;the WA.response().run denotes whether the injected commands are executed in WA (TRUE or FALSE).Definition 5 The remote command execution vulnerability of SQL injection means attackers can inject executable commands to WA,which are denoted as R(WA).

    Here the SQLRuning ()denotes the SQL commands injection attack and the SPRuning ()denotes the non-SQL commands injection attack.

    Definition 6 The bypass authentication vulnerability of SQL injection means attackers can circumvent the authentication control mechanism of WA through SQL injections,denoted as L(WA).

    Here the WA.response ().authenticated denotes the attacker whether pass the authentication of WA;the usr and pwd denote the username and password submitted to WA,respectively.

    The symbols related to attacker.input in Formulas (1)-(10)are defined in Table 1.

    Table 1 Symbols for SQL injection attack inputs

    We establish a formal description set of SQL injection.Formulas (1)-(10)clarify the external features of the SQL injection vulnerability.On one hand,we classify and formally describe the current SQL injection attack inputs,which can overcome the infiniteness and irregularity of the randomly enumerated test case (attack inputs)used in other researches(e.g.,Refs.[8,17]) and provide the guidance of penetration test case generation;on the other hand,these formal expressions are indispensible criteria of determining the existence of SQL injection vulnerability in penetration test.

    3 The Modeling of SQL Injection Penetration Test Case

    In the related academic researches,the test case is generally defined as a triple,t = (Pre,In,Out),Pre is the precondition,In denotes the test case inputs,and Out is the expected output.For the SQL injection penetration test case,we define Pre as the type of input vectors[6]in web applications (finding these input vectors is the precondition of SQL injection attack),define In as the attack inputs set (the attacker.input mentioned above),and define Out as the vulnerable response of the web application for the SQL injection vulnerability.

    According to the definition of symbols in Table 1 and the description of Formulas (1)-(10),we assign the SQL injection penetration test case set in Table 2.The Object denotes testing(attack)purpose in Table 2.We detail the SQL injection in five purposes in penetration test.

    Table 2 The formal description of SQL injection penetration test case set

    In this paper,we concentrate on the research for the In and Out,so we omit the detail study of model-driven setting for the Pre.Here we just consider two kinds of typical input vectors,the URL GET parameters (e.g.,/List.asp?id =12)and the login forms in web applications[12].Hence the Pre in Table 2 can be adjusted according to testing conditions or needs.For example,add the cookies in the Pre,etc.

    4 The Instantiation of Test Case Model

    Table 2 describes the regularity of the current SQL injection attack,accordingly the formal description of In and Out in it which can reveal what test case should be used in the SQL injection penetration test.Nevertheless the testers also should be advised to the number of test cases that should be used.The former is the issue of test case modeling;and the latter is the issue of model instantiation.The test case model instantiation means the formal description of test case should be translated to executable test cases in the context of fingerprint of web application and coverage criteria.

    The instantiation of test case input In needs the adequacy criterion.To test whether the web application defense mechanism can block various patterns of SQL injection attack inputs,the definition principle of coverage criteria is to make test case inputs cover more attack input patterns.This principle differs from the program-based criteria (white box,internal structure-based),or specification-based (black box,functionbased)criteria proposed in other related researches,so we propose some new coverage criteria based on the equivalence partitioning of input domain (partition testing) to guide generating penetration test case inputs.

    Definition 7 The Command Verbs Coverage Criterion:

    where MV denotes the executable command verbs set that should be used in the test for a web application,the TC denotes the test case inputs set,and the <tc,mv >means the command verb and mv is used in the construction of test case input tc,and no other command verbs used (contained)in tc.

    Definition 8 The relation predicate coverage criterion:

    where OP denotes the SQL syntax relation predicates set that should be used in test;the <tc,op >denotes the predicate op used in the construction of test case input tc,and no other predicates used (contained)in tc.

    The random coverage ratio (RCR)is a method of selecting finite test cases from the infinite number of illegal values set[18].The RCR selects the illegal values arbitrarily from the available set of illegal inputs and the selected values can be regarded as the representative for the whole illegal values set.We choose the RCR for the instantiation of the Deformed characters set,generating several random illegal characters/strings as the instantiated case.For the instantiation of the stored procedures set that contains large number of command verbs,we also used the RCR method to randomly select a certain amount of stored procedures command verbs as the elements of the MV set(Definition 7)and then apply the command verbs coverage criterion to generating test case.The number of randomly selected test cases is determined according to the test scale.

    The setting for test case instantiation in our study is listed in Tables 3-4.

    Table 3 Setting for test case inputs instantiation

    The instantiation of test case output Out mainly depends on the fingerprint of web application.The fingerprint of web application includes the database type,the version and type of a running web server,etc.

    Table 4 Setting for test case outputs instantiation

    5 Evaluation

    Here,we describe the experiments design (subject web applications and seeded SQL vulnerability,etc.),measurement metrics and results.

    5.1 Experiment subjects and SQL injection vulnerability seeded in them

    In order to verify our test case generation methods,we create two web applications as the testing experiment subject,a JSP and an ASP website.They applied IIS 5.1 environment and HTML code technique.Their back-end database is SQL server 2000 SP4.The JSP subject has around 5 500 lines of code and the ASP subject has around 15 000 lines of code.These two subject web applications have the login authentication module,client management module,database connectivity module,etc.Their functions and structures imitate the traits of real common web applications,so the penetration test for them can be regarded as the representative for actual web application testing.What's more,through testing in our owned subject web applications,we can evaluate the performance of different test case in a controlled environment (known SQL injection vulnerability and inadequate defense mechanism).

    Fong et al.[19]proposed a testing tool evaluation method based on the levels of defense of web applications.Learning from that approach,we set two levels of defense against the SQL injection attack (Table 5)in the channels through which the two subject web applications access their back-end databases.

    Table 5 The defense level of subject web applications

    The channels adopting Level 0 have the SQL injection vulnerability caused by completely no defense to users' input;while the channels adopting Level 1 have the SQL injection vulnerability caused by the inadequate defense mechanism (the keywords in the blacklist filter of Level 1 are not sufficient,and thus some attack inputs can escape the filter).

    5.2 Automatic penetration test tools and instantiated test case

    We create an automated web application SQL injection vulnerability penetration test tool (Model Based Testing(MBT)scan)to implement the test,and it applies the widely used crawling-attack-analysis method in Refs.[4,9]to detecting the SQL injection vulnerability seeded in subject web applications.Its crawler module traverses the web applications to access all the reachable pages and parse out the input vectors(the URL GET parameters and login forms here)contained in these pages.And its attack module submits instantiated test case inputs to corresponding input vectors found by crawler module,and then its analyzing module analyzes the application's response to judge whether a vulnerability has been trigged.

    We instantiate the formal description in Table 6 to generate real test case.

    Table 6 The example of instantiated test case for subject web applications

    Based on the coverage criteria in Definitions 7-8 and the setting in Table 3,we artificially generate approximate 50 test case inputs for the attack module of MBT scan.

    In many related works[2,6,20], the commercial web penetration test tools are used for comparing different test methods.So we choose two famous test tools,the Acunetix 6.5 and IBM Rational AppScan 7.7 for comparison (only use their testing function for SQL injection vulnerability).We refer them as the Tool A and Tool B here (with no particular order)to avoid the commercial brand comparison.The Tool A and Tool B also apply the crawling-attack-analysis testing method.They can be regarded as the representatives of the random enumerated test cases method commonly used in other researches.So we compare our method with them to show the superior performance over existing related approaches in terms of test case.

    5.3 Measurement metrics

    Some related works used the number of detected vulnerable input vectors as the metric of testing effect.However,this number doesn't have the absolute sense to assess the test effect.Multiple input vectors may correspond to one inner channel that the web communicates with its back-end database (e.g.,several URL GET parameters may correspond to one SQL command in web application code,a database communicating channel).In the situation,we cannot say the more the number of detected vulnerable input vectors the better,because a singerline code-fix would make many detected vulnerable input vectors safe[21].The tool that detects more input vectors is likely just finding fewer vulnerable communicating channels than others.Just as shown in Tables 7 and 8,if a tool can detect all the vulnerable input vectors corresponding to the channel ⑨and ○1,then number of its detected vulnerability may be counted as 94;however if another tool just detects fewer vulnerable input vectors and covers more channels,then the latter is more useful to the location and code-fix for mending vulnerability than the former.

    So we use the number of detected vulnerable communicating channels as the test effect evaluation metric.Namely,we classify the vulnerable input vectors detected by each tool according to the vulnerable channels that input vectors correspond to.That is,a vulnerable channel is detected if one of its corresponding vulnerable input vectors can be detected.

    Table 7 SQL injection vulnerability seeded in the JSP website

    Table 8 SQL Injection vulnerability seeded in the ASP website

    In Tables 7 and 8,each vulnerable page represents a vulnerable channel.A series of URL GET parameters,for example,can correspond to one SQL command issued in source code,such as the URL,/hzp/sub.asp?id=1,2,…,the id=X is the input vector and the /hzp/sub.asp is the communicating channel.For the login forms,the page in which login forms located is a communicating channel and the login forms are the input vectors.Of course,the number of input vectors is always two,the forms for username and password.

    5.4 Experiment results and discussion

    We use above instantiated test case and penetration test tools to test the two subject applications.In the SQL injection penetration test to the subject web applications,three tools all generate no false positive.The vulnerable channels that can be detected by each tool and the total testing time are listed in Table 9.

    The total testing time includes the execution time of the whole crawling-attack-analysis testing procedure of each tool and doesn't include the time of artificially instantiating test case for our MBT scan.

    Table 9 The testing result and testing time of each method

    We don't use the crawling-challenge[9]techniques in our two subject web applications (e.g.,JavaScript,F(xiàn)lash),so the three tools all can automatically find the pages ①-○1 and their associated input vectors.Therefore, the test result is independent of their input vectors finding ability.The testing experimental result shows that for the vulnerable channels with no defense(Level 0),three tools all can effectively detect these vulnerability (①②⑥⑦);while for the vulnerable channels with inadequate defense (Level 1),the Tool A and Tool B generated false negatives,some vulnerable channels cannot be identified,whereas our MBT scan can detect these SQL injection vulnerabilities hidden behind the inadequate defense(Level 1).

    The main reason lies in that the test case inputs of MBT scan is more effective than the Tool A and B.On one hand,the test cases of MBT scan are generated under the guidance of the test case formal description(Tables 2 and 4),which can reflect different kinds of attack methods.Whereas the test cases of Tool A and Tool B are mainly the random enumeration of known attack inputs,so they are difficult to ensure the full consideration for various kinds of attack methods;on the other hand,our test cases are generated under the coverage criteria in Definitions 7-8,which makes the generated attack inputs cover more patterns (such as more style conditionals, various command verbs)than simple test case used in Tool A and Tool B.So they are more capable of breaking through the inadequate blacklist filter defense (Level 1)and finding the hidden SQL injection vulnerability.The test result showed that the simple test case inputs of Tool A and Tool B were blocked by the inadequate blacklist defense (Level 1),so they concluded the testee input vector was protected and not vulnerable.Therefore,the simple test case prevented them from finding some vulnerable channels hidden behind the inadequate defense.

    Table 10 showed our test case set didn't cause excessive time consumption compared with Tools A and B,which confirmed its feasibility.

    Table 10 The coverage assessing for the test case used in three tools

    6 Conclusions

    This study proposes a formal description based penetration test method for SQL injection vulnerability.This method mainly addresses the problem of false negative proneness of the random enumerated SQL injection penetration test case.Our research demonstrates that the proper formal modeling and coverage criteria are helpful for revealing the regularity of SQL injection attack and generating more effective penetration test case.Experiment shows that compared with randomly enumerated test case,the test case generated by our method can detect the SQL injection vulnerabilities hidden behind inadequate blacklist defense more thoroughly,and thus reduce the false negative of penetration testing.

    The future researches based on our study conceivably include,integrating this study with the researches on other key phases of penetration test to improve test accuracy,optimizing the proposed formal descriptions and coverage criteria,etc.

    [1]Halfond W G J,Choudhary S R,Orso A.Penetration Testing with Improved Input Vector Identification[C].Proceedings of the 2nd International Conference on Software Testing,Verification,and Validation,Denver,CO,USA,2009:346-355.

    [2]Antunes J,Neves N,Correia M,et al.Vulnerability Discovery with Attack Injection[J].IEEE Transactions on Software Engineering,2010,36(3):357-370.

    [3]Roongruangsuwan S,Daengdej J.A Test Case Prioritization Method with Practical Weight Factors[J].Journal of Software Engineering,2010,4(3):193-214.

    [4]Bau J,Bursztein E,Gupta D,et al.State of the Art:Automated Black-Box Web Application Vulnerability Testing [C].Proceedings of the 2010 IEEE Symposium on Security and Privacy,Berkeley/Oakland,CA,USA,2010:332-345.

    [5]Antunes N,Vieira M.Detecting SQL Injection Vulnerabilities in Web Services [C].Proceedings of the 4th Latin-American Symposium on Dependable Computing,Joao Pessoa,Brazil,2009:17-24.

    [6]Halfond W G J,Choudhary S R,Orso A.Improving Penetration Testing Through Static and Dynamic Analysis [J].Software Testing Verification and Reliability,2011,21(3):195-214.

    [7]McAllister S,Kirda E,Kruegel C.Leveraging User Interactions for In-Depth Testing of Web Applications[C].Proceedings of the 11th International Symposium on Recent Advances in Intrusion Detection,Cambridge,MA,United States,2008:191-210.

    [8]Huang Y W,Tsai C H,Lin T P,et al.A Testing Framework for Web Application Security Assessment[J].Computer Networks,2005,48(5):739-761.

    [9]Doupé A,Cova M,Vigna G.Why Johnny Can't Pentest:an Analysis of Black-Box Web Vulnerability Scanners [C].Proceedings of the 7th GI International Conference on Detection of Intrusions and Malware and Vulnerability Assessment,Bonn,Germany,2010:111-131.

    [10]Xiong P,Peyton L.A Model-Driven Penetration Test Framework for Web Applications[C].Proceedings of the 2010 8th Annual International Conference on Privacy Security and Trust,Ottawa,ON,Canada,2010:173-180.

    [11]Antunes N,Laranjeiro N,Vieira M,et al.Effective Detection of SQL/XPath Injection Vulnerabilities in Web Services [C].Proceedings of the IEEE International Conference on Services Computing,Bangalore,India,2009:260-267.

    [12]OWASP.OWASP Top-10 2010.OWASP_Top_Ten_Project[EB/OL].(2010-12-11)[2014-02-11].www.owasp.org/index.php/Category.

    [13]Halfond W G J,Orso A,Manolios P.WASP:Protecting Web Applications Using Positive Tainting and Syntax-Aware Evaluation[J].IEEE Transactions on Software Engineering,2008,34(1):65-81.

    [14]Schneier B.Attack Trees[J].Dr.Dobb's Journal,1999,24(12):21-29.

    [15]Wang J,Phan R C,Whitley J N,et al.Augmented Attack Tree Modeling of SQL Injection Attacks[C].Proceedings of the 2nd IEEE International Conference on Information Management and Engineering,Chengdu,China,2010:182-186.

    [16]Marback A,Do H,He K,et al.Security Test Generation using Threat Trees [C].Proceedings of the ICSE Workshop on Automation of Software Test (AST '09),Vancouver,BC,Canada,2009:62-69.

    [17]Fonseca J,Vieira M,Madeira H.Testing and Comparing Web Vulnerability Scanning Tools for SQL Injection and XSS Attacks[C].Proceedings of the 13th Pacific Rim International Symposium on Dependable Computing (PRDC 2007),Melbourne,VIC,Australia,2007:365-372.

    [18]Antunes N,Vieira M.Benchmarking Vulnerability Detection Tools for Web Services [C].Proceedings of the 2010 IEEE International Conference on Web Services,Miami,F(xiàn)L,USA,2010:203-210.

    [19]Fong E,Gaucher R,Okun V,et al.Building a Test Suite for Web Application Scanners[C].Proceedings of the Annual Hawaii International Conference on System Sciences,Big Island,HI,USA,2008:478.

    [20]Li N,Xie T,Jin M Z,et al.Perturbation-Based User-Input-Validation Testing of Web Applications[J].Journal of Systems and Software,2010,83(10):2263-2274.

    [21]Kiezun A,Guo P J,Jayaraman K,et al.[C].Proceedings of the International Conference on Software Engineering,Vancouver,BC,Canada,2009:199-209.

    欧美中文综合在线视频| 日韩成人av中文字幕在线观看| 啦啦啦在线观看免费高清www| 一本—道久久a久久精品蜜桃钙片| 国产成人91sexporn| 最近中文字幕高清免费大全6| 国产乱来视频区| 国产免费又黄又爽又色| 久久精品国产亚洲av高清一级| 精品久久久久久电影网| 青青草视频在线视频观看| 少妇 在线观看| 亚洲少妇的诱惑av| 五月开心婷婷网| 制服诱惑二区| av国产精品久久久久影院| 亚洲欧美精品综合一区二区三区 | 99香蕉大伊视频| 久久综合国产亚洲精品| 亚洲成人一二三区av| 18+在线观看网站| 老鸭窝网址在线观看| 最新的欧美精品一区二区| 桃花免费在线播放| av国产久精品久网站免费入址| 午夜精品国产一区二区电影| 日韩熟女老妇一区二区性免费视频| 18在线观看网站| 黑人猛操日本美女一级片| 欧美国产精品va在线观看不卡| 97在线人人人人妻| 99精国产麻豆久久婷婷| 亚洲av.av天堂| 大片免费播放器 马上看| 中文字幕亚洲精品专区| 大香蕉久久网| 久久久久精品久久久久真实原创| 日日爽夜夜爽网站| 日韩制服丝袜自拍偷拍| 在线天堂最新版资源| 日本vs欧美在线观看视频| 大片免费播放器 马上看| 亚洲美女搞黄在线观看| 香蕉丝袜av| 99久久中文字幕三级久久日本| 一级毛片我不卡| 久久久久久久国产电影| 国产精品.久久久| 免费在线观看黄色视频的| 一区二区三区四区激情视频| 国产精品久久久久久精品古装| 亚洲第一青青草原| 国产精品偷伦视频观看了| 国产人伦9x9x在线观看 | 欧美日韩精品成人综合77777| 最近中文字幕高清免费大全6| 丝袜在线中文字幕| 成人亚洲精品一区在线观看| 国产97色在线日韩免费| 亚洲四区av| 天天影视国产精品| 欧美精品人与动牲交sv欧美| www.熟女人妻精品国产| 国产一级毛片在线| 亚洲经典国产精华液单| 国产成人91sexporn| 性色avwww在线观看| 精品亚洲成国产av| 亚洲精品aⅴ在线观看| 亚洲综合色网址| 欧美日韩国产mv在线观看视频| 亚洲伊人色综图| 大陆偷拍与自拍| 国产成人免费观看mmmm| 国产片特级美女逼逼视频| 男人添女人高潮全过程视频| 汤姆久久久久久久影院中文字幕| 久久97久久精品| 国产精品蜜桃在线观看| 黑丝袜美女国产一区| 极品人妻少妇av视频| 久久午夜福利片| 丁香六月天网| 精品人妻偷拍中文字幕| 国产精品一区二区在线不卡| 国产精品蜜桃在线观看| 色网站视频免费| 国产成人免费观看mmmm| 最近的中文字幕免费完整| 少妇被粗大的猛进出69影院| av福利片在线| videossex国产| 老女人水多毛片| 精品国产乱码久久久久久男人| 久久久久久伊人网av| 一本大道久久a久久精品| 久久久久久久亚洲中文字幕| 天天操日日干夜夜撸| 有码 亚洲区| 少妇 在线观看| 国产伦理片在线播放av一区| 久久这里只有精品19| 丰满少妇做爰视频| 天天影视国产精品| 2022亚洲国产成人精品| 亚洲婷婷狠狠爱综合网| 考比视频在线观看| 中文字幕人妻熟女乱码| 不卡av一区二区三区| h视频一区二区三区| 麻豆av在线久日| 精品第一国产精品| 十八禁高潮呻吟视频| 国产有黄有色有爽视频| 欧美精品av麻豆av| 久久久久久久大尺度免费视频| 伦理电影大哥的女人| 99热网站在线观看| 9热在线视频观看99| 国产精品国产av在线观看| 汤姆久久久久久久影院中文字幕| 亚洲婷婷狠狠爱综合网| 亚洲人成网站在线观看播放| 最新中文字幕久久久久| 国产老妇伦熟女老妇高清| 80岁老熟妇乱子伦牲交| 久久久久精品久久久久真实原创| 夜夜骑夜夜射夜夜干| 免费少妇av软件| 日韩av不卡免费在线播放| 黄片播放在线免费| 国产一区有黄有色的免费视频| 精品人妻偷拍中文字幕| av卡一久久| 丝袜喷水一区| a级毛片在线看网站| 精品第一国产精品| 波多野结衣av一区二区av| 欧美精品人与动牲交sv欧美| 精品少妇内射三级| 人妻 亚洲 视频| 大香蕉久久成人网| 午夜日韩欧美国产| 亚洲精品久久成人aⅴ小说| 日产精品乱码卡一卡2卡三| 日本爱情动作片www.在线观看| av线在线观看网站| 国产黄色免费在线视频| 精品久久久精品久久久| 午夜免费男女啪啪视频观看| av片东京热男人的天堂| 建设人人有责人人尽责人人享有的| 成年人免费黄色播放视频| 性少妇av在线| 韩国av在线不卡| 成年人免费黄色播放视频| 99久久中文字幕三级久久日本| 人妻少妇偷人精品九色| 久久久久久久久久久免费av| av一本久久久久| 国产精品久久久久久久久免| 99国产综合亚洲精品| 欧美国产精品一级二级三级| 国产在线一区二区三区精| 在线天堂最新版资源| √禁漫天堂资源中文www| 国产乱来视频区| 久久精品人人爽人人爽视色| 大片电影免费在线观看免费| 丝袜在线中文字幕| 永久网站在线| 精品第一国产精品| 日韩视频在线欧美| 久久99蜜桃精品久久| 亚洲成人手机| 人妻一区二区av| 日本wwww免费看| 在线 av 中文字幕| 国产白丝娇喘喷水9色精品| 国产男人的电影天堂91| 自线自在国产av| 亚洲欧美精品自产自拍| 成人影院久久| 天天躁狠狠躁夜夜躁狠狠躁| 欧美bdsm另类| 秋霞在线观看毛片| 成年美女黄网站色视频大全免费| 最近中文字幕高清免费大全6| 午夜福利视频在线观看免费| 婷婷色综合大香蕉| 久久精品夜色国产| 欧美最新免费一区二区三区| 国产亚洲最大av| 天天躁夜夜躁狠狠躁躁| 日产精品乱码卡一卡2卡三| 精品国产国语对白av| 精品人妻在线不人妻| 观看av在线不卡| 午夜福利影视在线免费观看| 宅男免费午夜| 国产亚洲欧美精品永久| 午夜精品国产一区二区电影| 久久99精品国语久久久| videossex国产| 久久久欧美国产精品| 精品国产一区二区久久| 婷婷色av中文字幕| 欧美日本中文国产一区发布| 亚洲人成电影观看| 成人漫画全彩无遮挡| 不卡av一区二区三区| 国产亚洲精品第一综合不卡| 久久久久久久久久久免费av| 亚洲天堂av无毛| xxxhd国产人妻xxx| 免费黄色在线免费观看| 亚洲国产毛片av蜜桃av| 国产成人精品在线电影| 免费播放大片免费观看视频在线观看| 国产成人av激情在线播放| 另类精品久久| 九草在线视频观看| 免费在线观看黄色视频的| 国产成人免费无遮挡视频| 晚上一个人看的免费电影| 亚洲在久久综合| 欧美日韩精品成人综合77777| 国产1区2区3区精品| 国产爽快片一区二区三区| 国产男女超爽视频在线观看| 18禁裸乳无遮挡动漫免费视频| 春色校园在线视频观看| 亚洲第一av免费看| 亚洲精品视频女| av有码第一页| 欧美日韩一级在线毛片| 免费观看a级毛片全部| 性色avwww在线观看| 午夜免费观看性视频| 大话2 男鬼变身卡| 国产精品一区二区在线不卡| 久久久久久久大尺度免费视频| 性高湖久久久久久久久免费观看| 国产精品无大码| 色视频在线一区二区三区| 国产无遮挡羞羞视频在线观看| 十八禁网站网址无遮挡| 人人妻人人澡人人看| 91精品伊人久久大香线蕉| 男人舔女人的私密视频| 大陆偷拍与自拍| 欧美国产精品一级二级三级| 欧美国产精品va在线观看不卡| 亚洲国产精品国产精品| 香蕉丝袜av| 熟女少妇亚洲综合色aaa.| 亚洲五月色婷婷综合| 欧美+日韩+精品| 亚洲av国产av综合av卡| 日本爱情动作片www.在线观看| 男女午夜视频在线观看| 国产极品天堂在线| 免费观看无遮挡的男女| 狠狠精品人妻久久久久久综合| 国产在线视频一区二区| 国产97色在线日韩免费| 五月天丁香电影| 天天影视国产精品| 人妻一区二区av| 视频在线观看一区二区三区| 又大又黄又爽视频免费| 亚洲伊人久久精品综合| 久久av网站| 夫妻性生交免费视频一级片| 中国三级夫妇交换| 亚洲一区中文字幕在线| 另类亚洲欧美激情| 国产精品一国产av| 欧美日韩国产mv在线观看视频| 日韩一区二区视频免费看| 欧美亚洲日本最大视频资源| 国产又色又爽无遮挡免| 香蕉国产在线看| 久久精品久久精品一区二区三区| 国产乱人偷精品视频| 性高湖久久久久久久久免费观看| 激情五月婷婷亚洲| 国产日韩欧美视频二区| 亚洲男人天堂网一区| 国产精品偷伦视频观看了| 国产免费一区二区三区四区乱码| 欧美av亚洲av综合av国产av | 国产成人午夜福利电影在线观看| 只有这里有精品99| 观看美女的网站| 成年av动漫网址| 丝袜喷水一区| 婷婷色麻豆天堂久久| 咕卡用的链子| 精品一品国产午夜福利视频| 国产精品 国内视频| 91在线精品国自产拍蜜月| 成人亚洲精品一区在线观看| 如日韩欧美国产精品一区二区三区| 亚洲国产欧美网| 欧美激情 高清一区二区三区| 女人精品久久久久毛片| 下体分泌物呈黄色| 免费在线观看完整版高清| 国产黄频视频在线观看| 看免费成人av毛片| 美女大奶头黄色视频| 亚洲 欧美一区二区三区| 男女午夜视频在线观看| 亚洲激情五月婷婷啪啪| 免费观看性生交大片5| 男人舔女人的私密视频| 夫妻性生交免费视频一级片| 一级片'在线观看视频| 激情视频va一区二区三区| 成人亚洲精品一区在线观看| 国产亚洲欧美精品永久| 亚洲精品中文字幕在线视频| 亚洲av电影在线进入| 国产亚洲午夜精品一区二区久久| 美女视频免费永久观看网站| 黑丝袜美女国产一区| 欧美另类一区| 三上悠亚av全集在线观看| 久久精品国产亚洲av高清一级| 黄片播放在线免费| 波多野结衣av一区二区av| 超色免费av| videossex国产| 亚洲欧美成人精品一区二区| av免费在线看不卡| 久久精品久久久久久久性| 久久精品人人爽人人爽视色| av卡一久久| 五月开心婷婷网| 久久97久久精品| 老汉色av国产亚洲站长工具| av国产精品久久久久影院| 在线精品无人区一区二区三| 免费观看性生交大片5| 亚洲av电影在线进入| 青青草视频在线视频观看| 亚洲第一青青草原| 人人妻人人添人人爽欧美一区卜| 亚洲国产日韩一区二区| 亚洲 欧美一区二区三区| 精品少妇黑人巨大在线播放| 啦啦啦在线免费观看视频4| 久久av网站| 亚洲国产精品一区三区| 久热这里只有精品99| 日韩不卡一区二区三区视频在线| 久久精品久久精品一区二区三区| 久久久国产一区二区| 三级国产精品片| 日本黄色日本黄色录像| 免费播放大片免费观看视频在线观看| 精品国产国语对白av| 国产成人午夜福利电影在线观看| 久久久久久伊人网av| 欧美成人午夜精品| 亚洲精品美女久久av网站| 香蕉精品网在线| 国产男女超爽视频在线观看| 中国三级夫妇交换| 九色亚洲精品在线播放| 亚洲人成网站在线观看播放| 欧美在线黄色| 18禁动态无遮挡网站| 国产av精品麻豆| 国产精品欧美亚洲77777| 亚洲国产欧美日韩在线播放| 国产免费福利视频在线观看| 校园人妻丝袜中文字幕| 亚洲欧美色中文字幕在线| 欧美日韩精品成人综合77777| 一区二区三区乱码不卡18| 亚洲成av片中文字幕在线观看 | 色视频在线一区二区三区| 日韩电影二区| 日韩一卡2卡3卡4卡2021年| 天堂俺去俺来也www色官网| 久久精品国产亚洲av高清一级| 日日爽夜夜爽网站| 两个人免费观看高清视频| av片东京热男人的天堂| 啦啦啦啦在线视频资源| 久久鲁丝午夜福利片| 日日爽夜夜爽网站| 人体艺术视频欧美日本| 男人爽女人下面视频在线观看| 美女大奶头黄色视频| 久久久久国产精品人妻一区二区| 亚洲av中文av极速乱| 人妻系列 视频| 一区二区三区精品91| 国产精品久久久久久精品古装| av免费观看日本| 久久久久久人妻| 亚洲综合色惰| 男女无遮挡免费网站观看| 黑人猛操日本美女一级片| 宅男免费午夜| 日日摸夜夜添夜夜爱| 成人免费观看视频高清| 99久久精品国产国产毛片| 国产成人精品久久久久久| 美女国产高潮福利片在线看| 亚洲人成电影观看| 在线亚洲精品国产二区图片欧美| 亚洲av.av天堂| 国产免费又黄又爽又色| 国产高清国产精品国产三级| 久久久久国产网址| 亚洲精品国产av成人精品| 满18在线观看网站| 国产乱来视频区| 一区在线观看完整版| 亚洲美女搞黄在线观看| 精品久久蜜臀av无| 国产精品国产av在线观看| 久久人人爽av亚洲精品天堂| 日韩熟女老妇一区二区性免费视频| 亚洲欧美一区二区三区久久| 天天操日日干夜夜撸| 女性被躁到高潮视频| 午夜福利在线免费观看网站| 国产免费一区二区三区四区乱码| 国产成人精品久久二区二区91 | 999精品在线视频| 久久久亚洲精品成人影院| 久久国内精品自在自线图片| 美女大奶头黄色视频| 在线免费观看不下载黄p国产| 精品国产乱码久久久久久男人| 日本爱情动作片www.在线观看| 人人妻人人澡人人爽人人夜夜| 性色avwww在线观看| 成人毛片60女人毛片免费| 狂野欧美激情性bbbbbb| 日本午夜av视频| 97在线人人人人妻| 国产亚洲午夜精品一区二区久久| 欧美人与善性xxx| 91精品伊人久久大香线蕉| 中文字幕另类日韩欧美亚洲嫩草| 日韩 亚洲 欧美在线| 91aial.com中文字幕在线观看| 亚洲精品国产av蜜桃| 国产97色在线日韩免费| 亚洲人成网站在线观看播放| 亚洲,一卡二卡三卡| 熟女电影av网| 日韩 亚洲 欧美在线| 如日韩欧美国产精品一区二区三区| www.自偷自拍.com| 亚洲精品国产一区二区精华液| 亚洲欧美中文字幕日韩二区| 久久久久久久久久久久大奶| 国产精品久久久久久精品古装| 精品一区二区三区四区五区乱码 | 亚洲一区中文字幕在线| freevideosex欧美| 久久久久久久国产电影| xxx大片免费视频| 亚洲欧美成人精品一区二区| 精品少妇内射三级| 亚洲av欧美aⅴ国产| 国产无遮挡羞羞视频在线观看| 精品国产一区二区久久| 国产淫语在线视频| 久久青草综合色| 国产有黄有色有爽视频| 99热全是精品| 日韩制服骚丝袜av| 午夜免费观看性视频| 人人澡人人妻人| 黑丝袜美女国产一区| 9热在线视频观看99| 日本av免费视频播放| 亚洲少妇的诱惑av| 伦理电影免费视频| 90打野战视频偷拍视频| 中文乱码字字幕精品一区二区三区| 国产精品国产三级专区第一集| 午夜精品国产一区二区电影| 大片电影免费在线观看免费| 久久av网站| 99九九在线精品视频| 母亲3免费完整高清在线观看 | 亚洲第一区二区三区不卡| 亚洲精品第二区| 五月伊人婷婷丁香| 国产精品久久久av美女十八| 精品第一国产精品| 国产熟女欧美一区二区| 麻豆精品久久久久久蜜桃| 亚洲国产av影院在线观看| 十八禁高潮呻吟视频| 日日撸夜夜添| 久久精品夜色国产| 乱人伦中国视频| 国产一区二区在线观看av| 国产精品麻豆人妻色哟哟久久| 精品久久久久久电影网| 国产乱人偷精品视频| 视频在线观看一区二区三区| 在线免费观看不下载黄p国产| 免费观看在线日韩| 国产老妇伦熟女老妇高清| 久久精品国产亚洲av高清一级| 下体分泌物呈黄色| 亚洲精品aⅴ在线观看| 热99国产精品久久久久久7| 电影成人av| 国产乱来视频区| 一级,二级,三级黄色视频| 水蜜桃什么品种好| 久久久久九九精品影院| 黑人巨大精品欧美一区二区mp4| 麻豆av在线久日| 亚洲中文字幕日韩| 欧美日韩视频精品一区| 欧美一区二区精品小视频在线| tocl精华| 亚洲三区欧美一区| 十八禁人妻一区二区| 精品国产亚洲在线| 欧美色视频一区免费| 午夜两性在线视频| 久久精品亚洲av国产电影网| 激情在线观看视频在线高清| 最近最新中文字幕大全免费视频| 亚洲自偷自拍图片 自拍| 黑丝袜美女国产一区| 欧美日韩国产mv在线观看视频| 亚洲七黄色美女视频| 日韩精品中文字幕看吧| 免费看十八禁软件| 国产精品98久久久久久宅男小说| 亚洲黑人精品在线| 色婷婷久久久亚洲欧美| 最近最新免费中文字幕在线| 久久精品91蜜桃| 在线观看免费午夜福利视频| 99久久人妻综合| 久久久国产成人精品二区 | 精品电影一区二区在线| 久久久精品国产亚洲av高清涩受| 久久国产乱子伦精品免费另类| www.精华液| 亚洲av成人av| 日日夜夜操网爽| 叶爱在线成人免费视频播放| 亚洲一区中文字幕在线| 午夜免费激情av| 不卡一级毛片| 国产极品粉嫩免费观看在线| 国产男靠女视频免费网站| 国产成人欧美在线观看| 婷婷六月久久综合丁香| 成人18禁高潮啪啪吃奶动态图| 天堂√8在线中文| 可以在线观看毛片的网站| 久久中文看片网| 中文字幕av电影在线播放| 99国产综合亚洲精品| 久久精品亚洲熟妇少妇任你| 亚洲欧美一区二区三区黑人| 欧美日韩精品网址| 十八禁人妻一区二区| 免费在线观看影片大全网站| 99热国产这里只有精品6| www.自偷自拍.com| 国产亚洲欧美98| 在线视频色国产色| 欧美另类亚洲清纯唯美| 久热这里只有精品99| 国产aⅴ精品一区二区三区波| 99精品欧美一区二区三区四区| 免费在线观看日本一区| 亚洲精品国产精品久久久不卡| 男男h啪啪无遮挡| 久久中文字幕人妻熟女| 欧美精品啪啪一区二区三区| 久久天躁狠狠躁夜夜2o2o| 中文亚洲av片在线观看爽| 日本一区二区免费在线视频| 国产一区在线观看成人免费| 黑人欧美特级aaaaaa片| 久久久国产精品麻豆| 女性被躁到高潮视频| 久久九九热精品免费| 天堂俺去俺来也www色官网| 波多野结衣一区麻豆| 一进一出抽搐gif免费好疼 | 香蕉久久夜色| 免费看十八禁软件| 亚洲精品国产区一区二| 欧美乱妇无乱码| 动漫黄色视频在线观看| 国产精品美女特级片免费视频播放器 | 黄频高清免费视频| 侵犯人妻中文字幕一二三四区| 亚洲黑人精品在线| 老司机靠b影院| e午夜精品久久久久久久| 在线观看免费视频网站a站| 国产高清国产精品国产三级| 久久久久久久午夜电影 |