克莱's profile克莱沃曼PhotosBlogListsMore Tools Help

Blog


    November 24

    The 2008 Software 50

    1
    IBM
    $74,126.00
    11.5%
    $98,787.00
    8.1%
    NA
    6.2%
    426,969
    Middleware/Application Server/Web Server

    Armonk, NY
    www.ibm.com

    2
    Microsoft Corporation
    $44,846.00
    14.1%
    $51,122.00
    15.4%
    NA
    13.9%
    79,000
    Operating Systems

    Redmond, WA
    www.microsoft.com

    3
    EDS
    $22,134.00
    4.1%
    $22,134.00
    4.1%
    NA
    NA
    139,500
    Outsourcing Services

    Plano, TX
    www.eds.com

    4
    Accenture
    $19,696.00
    18.3%
    $21,453.00
    17.7%
    NA
    1.4%
    170,000
    System Integration Services/IT Consulting

    New York, NY
    www.accenture.com

    5
    Hewlett-Packard Company
    $18,971.00
    12.1%
    $105,712.00
    15.3%
    NA
    3.4%
    172,000
    System Integration Services/IT Consulting

    Palo Alto, CA
    www.hp.com

    6
    Oracle Corporation
    $17,996.00
    25.1%
    $17,996.00
    25.1%
    NA
    12.2%
    74,674
    Database

    Redwood Shores, CA
    www.oracle.com

    7
    SAP
    $14,980.40
    21.7%
    $15,084.90
    21.6%
    NA
    14.2%
    43,800
    Enterprise Application/Data Integration

    Newtown Square, PA
    www.sap.com

    8
    CSC
    $14,856.60
    1.6%
    $14,856.60
    1.6%
    NA
    7.2%
    79,000
    System Integration Services/IT Consulting

    Falls Church, VA
    www.csc.com

    9
    Capgemini
    $12,818.20
    26.2%
    $12,818.20
    26.2%
    NA
    NA
    83,508
    System Integration Services/IT Consulting

    New York, NY
    www.capgmini.com

    10
    Lockheed Martin Corporation
    $10,213.00
    13.6%
    $41,862.00
    5.7%
    NA
    2.9%
    140,000
    Vertical Industry Applications

    Bethesda, MD
    www.lockheedmartin.com

    11
    SAIC, Inc.
    $8,294.00
    6.7%
    $8,294.00
    6.7%
    NA
    0.4%
    44,100
    System Integration Services/IT Consulting

    San Diego, CA
    www.saic.com

    12
    NTT Data Corporation
    $7,625.90
    14.6%
    $8,855.20
    14.7%
    NA
    1.1%
    22,608
    System Integration Services/IT Consulting

    New York, NY
    www.nttdata.co.jp

    13
    EMC Corporation
    EMC Corporation Company Profile EMC Corporation Company Profile EMC Corporation Company Profile

    $7,470.10
    24.2%
    $13,230.20
    18.6%
    NA
    11.5%
    37,700
    Vertical Industry Applications

    Hopkinton, MA
    www.emc.com

    14
    Logica plc
    $6,138.10
    17.6%
    $6,138.10
    17.6%
    NA
    0.5%
    38,740
    System Integration Services/IT Consulting

    Houston, TX
    www.logicacmg.com

    15
    ACS
    $5,772.50
    7.8%
    $5,772.50
    7.8%
    NA
    NA
    60,000
    Outsourcing Services

    Dallas, TX
    www.acs-inc.com

    16
    Symantec Corporation
    $5,199.20
    25.5%
    $5,199.40
    25.5%
    NA
    16.7%
    17,100
    Security Tools/Systems

    Cupertino, CA
    www.symantec.com

    17
    Sun Microsystems, Inc.
    $5,102.00
    8.6%
    $13,873.00
    6.2%
    NA
    14.5%
    33,350
    Middleware/Application Server/Web Server

    Santa Clara, CA
    www.sun.com

    18
    Wipro Limited
    $4,953.10
    126.7%
    $5,292.30
    121.9%
    NA
    0.1%
    67,800
    Outsourcing Services

    Bangalore, Karnataka
    www.wipro.com

    19
    Unisys Corporation
    $4,846.70
    - 1.4%
    $5,652.50
    - 1.8%
    NA
    3.2%
    30,000
    System Integration Services/IT Consulting

    Blue Bell, PA
    www.unisys.com

    20
    SunGard Data Systems, Inc. Pvt
    $4,760.00
    13.0%
    $4,901.00
    13.4%
    NA
    5.5%
    17,900
    Enterprise Resource Planning(ERP)

    Wayne, PA
    www.sungard.com

    21
    Tata Consultancy
    $4,303.20
    54.2%
    $4,356.00
    54.7%
    NA
    0.2%
    85,000
    System Integration Services/IT Consulting

    Mumbai, Maharastra
    www.tcs.com

    22
    CA, Inc.
    $3,917.00
    4.4%
    $3,943.00
    3.8%
    NA
    18.3%
    14,500
    Infrastructure/Network Management

    Islandia, NY
    www.ca.com

    23
    CGI Group Inc.
    $3,741.80
    19.8%
    $3,741.80
    19.8%
    NA
    1%
    26,000
    Outsourcing Services

    Montreal, Quebec
    www.cgi.com

    24
    BearingPoint, Inc.
    $3,455.60
    0.3%
    $3,455.60
    0.3%
    NA
    NA
    17,100
    System Integration Services/IT Consulting

    Mclean, VA
    www.bearingpoint.com

    25
    Adobe Systems Incorporated
    $3,157.90
    22.6%
    $3,157.90
    22.6%
    NA
    19.4%
    6,959
    Outsourcing Services

    San Jose, CA
    www.adobe.com

    26
    Infosys Technologies Limited
    $3,090.00
    43.6%
    $3,090.00
    43.6%
    NA
    1.2%
    72,200
    System Integration Services/IT Consulting

    Bangalore, Karnataka
    www.infosys.com

    27
    Fiserv, Inc.
    $3,041.00
    0.0%
    $3,922.00
    10.0%
    NA
    7%
    24,000
    Financial Applications

    Brookfield, WI
    www.fiserv.com

    28
    Pitney Bowes Software Pvt
    $2,871.50
    14.5%
    $2,871.50
    14.5%
    NA
    5.8%
    36,165
    Business Intelligence/Analytics

    Troy, NY
    www.mapinfo.com

    29
    Convergys Corporation
    $2,844.30
    2.0%
    $2,844.30
    2.0%
    NA
    2.6%
    75,000
    Business Intelligence/Analytics

    Cincinnati, OH
    www.convergys.com

    30
    Amdocs, Inc.
    $2,836.20
    14.4%
    $2,836.20
    14.4%
    NA
    8.1%
    17,461
    Telecommunication Services

    St. Louis, MO
    www.amdocs.com

    31
    Juniper Networks, Inc.
    $2,836.10
    23.1%
    $2,836.10
    23.1%
    NA
    22%
    5,879
    Infrastructure/Network Management

    Sunnyvale, CA
    www.juniper.net

    32
    Intuit, Inc.
    $2,672.90
    18.2%
    $2,672.90
    14.1%
    NA
    17.7%
    8,200
    Enterprise Resource Planning(ERP)

    Mountain View, CA
    www.intuit.com

    33
    Perot Systems Corporation
    $2,612.00
    13.7%
    $2,612.00
    13.7%
    NA
    0.1%
    23,100
    System Integration Services/IT Consulting

    Plano, TX
    www.perotsystems.com

    34
    The Sage Group plc
    $2,370.40
    35.3%
    $2,370.40
    35.3%
    NA
    9.6%
    13,900
    Enterprise Resource Planning(ERP)

    Newcastle Upon Tyne,
    www.sage.com

    35
    Gemalto NV
    $2,222.20
    32.7%
    $2,403.00
    38.0%
    NA
    6.3%
    10,000
    Security Tools/Systems

    1096 AX Amsterdam, Amsterdam
    www.gemalto.com

    36
    SAS Institute Inc. Pvt
    $2,150.00
    14.1%
    $2,150.00
    14.1%
    NA
    21%
    10,359
    Business Intelligence/Analytics

    Cary, NC
    www.sas.com

    37
    Cognizant Technology Solutions Corporation
    $2,135.60
    49.9%
    $2,135.60
    49.9%
    NA
    NA
    55,400
    System Integration Services/IT Consulting

    Teaneck, NJ
    www.cognizant.com

    38
    Avaya Inc. Pvt
    $2,067.00
    3.2%
    $5,279.00
    2.5%
    NA
    8.4%
    0
    Telecommunication Services

    Basking Ridge, NJ
    www.avaya.com

    39
    Dassault SystËmes
    $1,854.10
    21.3%
    $1,854.10
    21.3%
    NA
    24.1%
    7,459
    Application Development/Testing/Lifecycle Tools

    Suresnes, Cedex
    www.3ds.com

    40
    Autodesk, Inc.
    $1,839.80
    20.8%
    $1,839.80
    20.8%
    NA
    22.1%
    5,169
    E-Learning

    San Rafael, CA
    www.autodesk.com

    41
    McKesson Corporation
    $1,739.00
    25.0%
    $92,977.00
    5.6%
    NA
    0.3%
    31,800
    Healthcare

    San Francisco, CA
    www.mckesson.com

    42
    DST Systems, Inc.
    $1,695.40
    8.9%
    $2,302.50
    3.0%
    NA
    6.8%
    11,000
    Enterprise Resource Planning(ERP)

    Kansas City, MO
    www.dstsystems.com

    43
    CSK Corporation
    $1,645.80
    -14.1%
    $2,083.70
    - 9.2%
    NA
    0.1%
    10,267
    System Integration Services/IT Consulting

    Tokyo,
    www.csk.com/index_e.html

    44
    Cadence Design Systems, Inc.
    $1,615.00
    8.8%
    $1,615.00
    8.8%
    NA
    30.6%
    5,300
    Other

    San Jose, CA
    www.cadence.com

    45
    BMC Software
    $1,580.40
    5.5%
    $1,580.40
    5.5%
    NA
    13.3%
    6,000
    Storage Management

    Houston, TX
    www.bmc.com

    46
    Apple Computer, Inc.
    $1,508.00
    17.9%
    $24,006.00
    24.3%
    NA
    3.3%
    21,600
    Operating Systems

    Cupertino, CA
    www.apple.com

    47
    VeriSign, Inc.
    $1,496.30
    - 5.3%
    $1,496.30
    - 5.3%
    NA
    10.7%
    4,251
    Messaging/Communications

    Mountain View, CA
    www.verisign.com

    48
    Cerner Corporation
    $1,483.10
    10.8%
    $1,519.90
    10.3%
    NA
    17.8%
    7,873
    Healthcare

    Kansas City, MO
    www.cerner.com

    49
    Satyam Computer Services Limited
    $1,461.40
    33.3%
    $1,461.40
    33.3%
    NA
    NA
    39,018
    System Integration Services/IT Consulting

    Qutubullapur Mandal, RR District
    www.satyam.com

    50
    BEA Systems, Inc.
    $1,402.30
    16.9%
    $1,402.30
    16.9%
    NA
    16.6%
    4,278
    Middleware/Application Server/Web Server

    San Jose, CA
    www.bea.com

    November 21

    安全测试系列二:缓冲区溢出(Buffer Overflow/Overrun)

    说到安全问题就不得不提BO。BO是安全中最大,最重要的问题,也是最最经典的安全漏洞,它可以使黑客执行任意代码,从而引发EOP的攻击。很多黑客并不太在乎其他的安全漏洞,他们就是想发现BO,从而拥有对机器的控制权。

    由于BO这个问题太经典了,耳朵里不知道听过多少遍,因此在面试现在这家公司的时候还专门对BO进行了一些学习与研究,好像明白是怎么回事了。可是到了面试的时候,被别人一问就露馅了。同样,不久前面试了一个即将毕业的硕士生,是个印度小女孩。由于她做过BO相关的项目,因此也对此特意提问,没想到她对BO的理解跟我当年面试的时候也没什么两样,只是知道一点皮毛而已。

    四年之前立志投身于安全或者游戏领域,最终是进入了安全领域。在这几年的时间里,我花了不少的时间去研究Web2.0, Mobile等等,并没有花多少时间在安全领域方面。虽然自己测试的是安全的产品,但是跟测试其他的非安全产品并没有太大的不同,只是多些安全的表面知识而已,没有什么深刻的理解。自己也几次问自己,“为什么自己花那么多时间在自己的领域之外,而不把这些时间用于研究自己的领域呢?”其实我心里还是很清楚答案的,那是因为安全对我的水平来说还是太难了,强行去研究它没有兴趣,只有痛苦。而Web2.0, Mobile这些东西就要容易很多,我研究起来也轻松很多,不用花什么时间学习就可以做一些成果出来。

    是的,安全领域确实比较难,即使这个BO的理解我也是经过了两年多才觉得算真正的理解了,当然这也完全归于我各种技术的熟悉与提高,综合水平达到了能够理解BO的程度了。总的来说,理解BO也是分很多个层次的,各个层次要求的技术水平也不一样。要想真正理解BO,需要C语言,C语言编译,内存管理,汇编,Debugging,甚至机器码的知识。BO的形式也是各式各样,没有深厚的计算机功底是很难进行分析和利用的。今天我主要回答三个问题:什么是BO,为什么BO是一个安全问题?黑客为什么可以利用BO执行任意代码进而夺取机器的控制权?其他问题我在最后也会列出,留待感兴趣的朋友自己去探索。

    1.什么是BO?

    BO的概念很容易理解,只需要你有C语言的基本知识就足够了。就是你申请了一段内存,而你填入的数据大于这块内存,这样的话你填入的数据就覆盖掉了这段内存之外的内存了。比如,

    void foo(char* input)

    {

    char buf[100];

    strcpy(buf, input);

    }

    如果input的长度大于100,就会产生buffer overflow了。

    2.为什么BO是一个安全问题?

    因为黑客可以利用BO执行恶意代码从而控制计算机。我们有这个概念是因为我们常常听到有病毒利用缓冲区溢出的漏洞进行浸入或攻击,这已经成为我们头脑的一个公理似的东西呢。但是如果我问到第三个问题,可能就很少有人能回答上来了?或者是一知半解。

    3. 黑客问什么可以执行任意代码?

    要理解这个问题就不仅仅需要C语言的知识了,还需要懂得C语言的编译,内存管理和汇编等相关知识。我简单的来解释一下:

    在C语言中,当我们调用一个函数的时候,在汇编或者机器码的level是如何实现的呢?假设我们调上边的函数foo的时候,程序的stack将会是下边图表的样子。首先,输入参数会放到栈中去,然后是这个函数执行完的下一个指令的地址,也就是return address, 然后是EBP(这个我现在不解释),再然后就是这个函数的本地变量的内存空间。比如这个函数申请了100个字节的空间。当BO发生的时候,数据就会覆盖掉buf之后的内存,关键的部分是return address可以被覆盖。那么一个黑客就可以把return address的值修改成这个buf的一个地址,比如起始地址buf[0]的地址,而这个buf里边填入黑客自己的代码。这样当这个函数退出的时候,程序会执行return address所指定的代码,也就是黑客的代码了。

     

    buf[0]

    buf[99]
    EBP
    return address
    input
     
    既然已经理解了上边的三个问题,如果有兴趣的话可以去思考以下的后续问题:
    1. 怎样得到放return address的内存地址?
    2. 怎样决定用什么地址来覆盖return address?
    3. 什么样的代码应该放入缓冲区,这段代码做什么用,这段代码怎么编写?
    4. 有什么措施可以防止缓冲区溢出?也就是说即使发生缓冲区溢出,黑客也不能或者难以利用?
    5. 如果对方系统使用这些措施,有什么相应的办法去绕过?
    November 20

    安全测试系列一:用实例来解释安全威胁分类 (STRIDE)

    安全测试跟通常的测试工作还是有很大不同的。我认为安全测试是在技术上超越开发人员的一个主要途径。一个合格的开发人员去做测试的工作,无论是黑盒,还是白盒,手工,还是自动化,都不需要他花很多的时间就可以进入工作状态。而对于安全测试,即使一个很有经验的开发人员不经过专门的学习也很难进行有效的工作。另外,一个安全测试人员的水平一般来说应该比开发人员高才对,如果低的话,很难想象你能够容易的发现什么安全漏洞(假设这个开发人员没有低级失误),更不要说什么更深层次的漏洞了。一个安全测试人员应该具备普通开发人员想不到的知识与经验,这样才能通过这些知识与经验去发现这些开发人员犯下的安全错误。我个人在通常的测试工作上已经找不到什么进步的感觉了,更多的是感到重复的劳动,因此我接下来会在安全测试的领域进行一些实践与探索,写一些文章。我不知道有多少人对安全测试感兴趣,不过至少我可以作为一个自我知识的总结与归纳。

    黑客大多是凭借自己的兴趣来发现漏洞和实现攻击的,而对于安全测试人员来说是应该有一些系统的概念的,比如到底有什么样的安全威胁,怎么去分类,每类有什么特点,等等。今天我就用几年前我个人的一些经验来解释一些安全的分类。

    大概6,7年前,我在一个论坛混,由于一些矛盾使我受到了不公正的对待,比如删贴,封ID等等。我并不是一个喜欢做坏事的人,因此对于黑客的技术从来没有感兴趣过,但是心中还是很不服气。我想作为一个计算机技术人员怎么能让别人这么欺负呢?因此实现了自己一系列的攻击。没想到的是,6,7年之后,在自己学习安全测试的时候,才意识到自己的那次攻击行为竟然几乎涉及了所有的安全威胁。起初的想法很简单,就是编一个程序自动发帖子。OK,这个很容易就实现了,论坛上滚滚都是我发的帖子,当然我用了不同的ID去发,论坛的排行榜经过了多年的积累,在几分钟之后排名靠前的全是我注册的新ID了。用户当然也就无法去正常的访问和使用这个论坛了。然后和他们开发人员的对抗就开始了,他们先是要求发帖的时候根据图片输入一串数字,可惜他们图片的文件名和数字是对应的,我可以轻易的先发一个请求包得到回应包,search里边的图片文件名,然后再发发帖请求。他们的这个办法失效了,并且由于他们自己有bug,使得正常的用户即使输入了正确的数字也常常发帖失败。他们则取消了这个验证系统,转而控制每个IP每个小时只能发帖5次了。虽然很多用户并不满意这个规则,但是还是有效地限制了我的自动程序。我的对应有三种办法,一是使用多台机器,可是我手中没有这么多资源。二是程序控制每小时只发5个帖子,这样一晚上下来也会让论坛看上去很难看。三是动态的去修改自己的IP。Search了一下,但是并没有找到修改IP的有效资料,因此停止了这个方案。当然还有另外一个原因让我停止就是,我发现了他们的一个bug,我可以用任何人的ID去发言。这个bug用起来就很有趣了,我可以以管理员的名字在论坛上发虚假信息,用一个人的ID去攻击其他人引起公愤等等。这个bug他们的开发人员没办法了,他们不知道怎么回事也没有应对的措施了,他们还以为我攻破他们的数据库了呢。后来网站的老总也出面讲话了,他们也没人敢惹我了,这事就算了。另外,我只能使用其他人的ID发言,我也尝试过找出他们的漏洞去使用管理员的权限去做些事情,比如删贴子,封ID,IP等等,不过没有成功。

    话说回来,安全威胁分类的英文缩写是STRIDE, 代表了六种安全威胁,分别为Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Services, and Elevation of Privileges.

    1. Spoofing 就是伪装,比如我用别人的ID发言就是Identity Spoofing, 我想到用变化IP的办法就是IP Spoofing.

    2. Tampering 就是篡改,比如我用别人ID发言的手段就是篡改了合法包,而他们的server端没有相应的检查措施。

    3. Repudiation 就是拒绝承认,比如我进行了这些攻击,他们并不知道是我做的,也没有证据是我做的,我就可以不承认。

    4. Information Disclosure 就是信息的泄漏,比如他们的那串数字图片就没有任何保护,图片上的信息轻易的就被别人得到了。

    5. Denial of Services 就是拒绝服务,比如我的自动发帖使得正常用户无法使用就是这种攻击。

    6. Elevation of Privileges 就是权限的提升,比如我尝试用管理员的权限去做事情,就是属于这种。

    一般来说,EOP的威胁是最大的,这也是为什么Vista下要加入UAC的功能了,就是为了防御这种攻击。而Buffer Overflow则是可以被利用进行这种攻击的常见安全漏洞,这个问题可以以后再谈。DOS攻击可能是最容易发现的安全漏洞,比如一个AV就可以导致这种攻击。当然DOS攻击也分为两种,一种是导致服务突然崩溃,另一种则是使服务逐渐失去能力,比如在大客户量的时候。第二种就要比第一种更难测试一些了。这些威胁都不是独立存在的,很多时候是互相关联的,比如我是通过Tampering的手段,达到了Spoofing的目的。再比如,你如果成功进行了EOP的攻击,Spoofing, Tampering, Information Disclosure 这些问题也就自然出现了。对于我们安全测试来说,我们一般是对照一个软件模块,通过安全分析,列出各种可能的威胁,并且设计出各种安全的test case去进行测试.

    November 16

    黑盒测试比白盒测试更难,技术要求更高

    几个月前我还在谈论黑盒测试不一定比白盒测试技术含量低,现在我却可以比较肯定地说,黑盒测试比白盒测试更难,技术要求更高。道理其实非常简单,黑盒,白盒测试的本质区别在于源代码的访问权利,白盒测试具有这种权利,因此也就具有更多的资源和信息进行测试,当然事情就会变得容易很多,而黑盒测试由于不能看到源代码,就使得对于白盒测试人员发现的bug,你要花更多的时间,并且具有更高的技术才有可能发现。

    我做黑盒测试已经4年多了,是一个地地道道的黑盒测试人员,可是我具有源代码访问的权利,也就是说,虽然我是做黑盒测试的,但是我所拥有的信息并不比白盒测试人员少。随着我黑盒测试经验和技术的提高,我突然发现我已经完全依赖与源代码提供的信息了,如果没有源代码,我的黑盒测试的工作将会变得复杂很多,困难很多,甚者无法实现。这也让我有了一个强烈的感觉,就是黑盒测试比白盒测试更难。

    在Symantec出版的一本书《The Art of Software Security Test》里边就有这个说法。这本书我觉得一般般,但是里边体现着这个道理,就是,“对于白盒测试,一个公司可以组成一个测试队伍来进行,而对于黑盒测试,可能就很少有公司有这个能力了,只能去外边聘请专业的公司来作,这个成本是很高的,但是是值得的”。

    经常听到有人抱怨“我在公司是做黑盒测试的,没什么技术含量,我的目标就是转到白盒测试”,我一直觉得这个说法是可以质疑的,也希望看了我的这篇文章以后,不要再出现这种声音,更不要再拿它当成自己不去提高测试技术的一个冠冕堂皇的借口了。

    为什么我们大多数人,包括以前我自己都会认为黑盒测试比白盒测试的技术含量低呢?那是因为,我们绝大多数人都是在做低端黑盒测试的。很早以前我就曾想过,黑客都是通过黑盒测试的方法来寻找安全漏洞的,我们怎么能说黑盒测试技术含量低呢?随着自己的水平向黑客的方向接近,自己也越来越有更深,更丰富的理解和体会了。

    如果我们把刚进入黑盒测试领域的新人的技术打分为0,而黑客的技术打分为5的话,那么根据技术水平我有这样一个列表:

    0.测试新手

    1.黑盒手工测试

    2.黑盒自动化测试

    3.具有白盒测试能力

    4.安全测试

    5.黑客

    大家注意,很多人把自己的测试技术的提高依赖于公司,依赖于team,依赖于project,这是不对的。我本人在公司的工作内容不过就是黑盒自动化测试,可是这并不影响我可以向更高的方向发展,现在internet这么发达,什么资料不能找到呢?各种各样的计算机书籍,网上各种各样的计算机技术交流探讨的论坛,博客等等。很多人觉得跳槽,换个工作自己就能更好的发展测试技术,这也是有误区的。说句实话,个人发展本质上还是个人的问题,并不是公司的问题,或者你的lead,你的manager的问题,一个公司既然要你了,就说明你自己的能力和水平跟公司对你的要求还是比较接近的,公司对你已经有一个期望值了,也就是说你能胜任这份工作了,而再往上的发展并不属于公司对你的期望了,绝大多数的情况还是要靠个人的。因此,我个人认为,无论在任何的工作环境,工作内容的情况,你都是有技术提高余地的,但是这事情要由你自己来drive,而不要太多地依赖外部环境。我从小到大的学习,主要是靠自学,我很少能集中精力地去听完老师的一堂课。包括现在,我很多training都是没听完就走人了,或者有些签个到就溜。我的这个性格造就了我很独立的学习能力,自己为自己规划学习,不知道对大家是否有借鉴作用。

    话说回来,因为大家对0,1,2级别应该都是比较熟悉的,我想谈谈3,4,5级别。

    3. 作为一个黑盒测试人员,没有人会要求你不具备白盒测试能力,如果你有源代码访问的权利,那很好,你完全可以利用这个优势,把通过查看源代码得到的信息应用到你的黑盒测试中去。如果你没有源代码访问的能力,这也并不能阻碍你在这个领域进行探索和实践。如果你的项目是Java,.NET这种,你可以反编译,如果你的项目是C, C++这种,你可以反汇编。总而言之,所谓具有白盒测试能力的意思是,发现一个bug能够定位到代码里,是什么代码,为什么产生这个bug?可以进行代码级的测试用例的设计。一般来说,这个级别的要求是具备良好的代码读写的能力。

    4. 安全测试与白盒测试的根本区别在于安全意识,黑客的思维。有一本书《Writing Secure Code》里面提到“你可以培训一个人具有测试安全feature的能力,你很难培训一个人具有黑客的思维方式,如果你发现了这样一个人,你就Hire他”。在这个级别的人要具有良好的安全意识,知道各种各样的攻击方式,当发现一个bug的时候要就有安全方面的判断,比如“是否一个安全漏洞”,“是否能够被黑客利用”,“严重程度如何”,等等。同样,自己的测试内容里要包含大量的安全测试用例。

    5. 黑客级别要求就更高了。对于安全测试来说,只是分析到“是否能够被黑客利用”,而黑客就要分析“如何利用”以及写出攻击代码进行攻击。至少对我而言,他们要具备非常熟练的汇编编程能力。

    以前我认为,要想进行安全测试,或者说做高端测试,多年的开发经验必不可少,实践证明也未必。同理,要想进行高端测试,你也未必要先转向白盒测试。从我个人的经历来说,只要你自己有心,只要你自己用心,你总能发展和提高的,外部环境固然重要,但是起决定因素的还是自己。安全测试完全不属于我的工作内容与职责,可是在一个月的时间里,我已经连续发现4个安全漏洞了。如果你在工作中也能够发现你项目的安全漏洞,公司还能如何不重视你?