前言
顺着应用安全的发展,对于源代码安全测试,在源代码层面是进行安全漏洞的测试与防范,避免产生所谓的“0-day”漏洞,现在已是大家的共识,成为构建软件安全保障体系中必备环节。但我也常常听到有人抱怨“源代码安全测试很难开展,总是遇到这样那样的问题,分工不明,权责不清,配合变成对抗,最后导致虎头蛇尾,甚至是执行不下去,留以形势,无法产生实际作用。
那么今天我们就来讨论一下,企业内部怎样开展源代码安全测试?到底谁来负责源代码安全测试,才能使其有效地执行,事半功倍?
源代码安全测试归准?
我们把今天这个话题,变成一个相对具体的问题来讨论吧:
软件源代码安全测试工作到底应该归属于哪个部门?是测试部门?是安全部门?还是开发部门? |
作为一直致力于为用户提供最佳的软件源代码安全测试解决方案的我,这个问题是我必须思考和解决的。因为只有真正弄明白这个问题,才能清楚地根据用户的实际需求,为用户提供真正有效的帮助。
乍一看,这个问题看上去不难回答,但在实际工作分配的时候,你会发现好像交给谁,他们都会说“不太合适”。我们一一来分析一下:
答案1:测试部门 。既然是测试嘛,当然属于测试部门的工作范畴。当你把工作交给测试部门的时候,他们会告诉你:“对不起,我们只懂测试。功能和性能测试交给我们没有问题,可是我们不太懂安全和安全漏洞,还是源代码级别的安全漏洞,我们一是看不懂代码,二是不明白什么是安全漏洞,这是安全工作,你还是找安全部门人员”。
答案2:安全部门 。安全测试嘛,我们所熟知的一些测试,如漏扫,基线安全扫描,渗透测试等都是属于安全工作职责嘛。可安全人员却会说:“这是源代码安全,属于代码安全优化和加固,我们安全人员90%的人员来自于网络安全背景,基本上看不懂代码,更不会编写代码。同时,软件源代码我们一般也很少拿得到源代码,拿到了也不会构建测试环境。这还是开发部门做比较合适。”
答案3:开发部门 。既然前两个部门的人员都共同指出了他们看不懂代码,不会编码,所以做不好代码安全测试。那就由开发部门来做吧。可开发部门做源代码安全测试,他们能同意吗?从经验上看,一般他们会以“开发时间紧、任务重;功能开发都无法按时完成;安全问题是安全部门考虑的”等等一系列“借口”给你推掉。要是遇到较为“强势”的开发部门,他们会说:“安全测试的活都要我们做,那还要安全部门和测试干什么?”不过在我看来,即使开发人员做了源代码安全测试,他们也都会以“各种各样的理由,而将“问题”判定为‘误报’,不去修复”。这种即作“选手”,又作“裁判”的情况,也很难真正发挥源代码安全测试的功能。
完整的源代码安全测试体系
那到底该谁来负责实施源代码安全测试工作?以我们多年对服务的经验来看,这项工作需要安全、测试和开发三个部门有效地配合才能真正执行下去。我将其总结如下图:
以上图所见,我们将四个相互独立四个部门,在源代码安全上进行地贯穿,相互牵动,形成一个上通下达的有效的整体,各个部门分工明确,权责清楚,再加以积极配合即可实现源代码安全保障。具体上讲,就是建立以“源代码安全测试标准”中心,“审计式测试和开发者测试”为两个基本点的源代码安全测试制度,以“安全测试与安全开发”两手都要抓,两手都硬的原则来开展源代码安全工作,并最终形成“有法可依,有法必依,执法必严,违法必究”的管理格局。具体要点如下:
“源代码安全测试标准”为中心。在以安全部门为主,开发和测试为辅的方式下,合理地制定出源代码安全测试标准。该标准要即能满足安全部门安全防范的要求,又要能让测试和开发部门能够执行得下去,避免矫枉过正。然后由管理部门制定和发布执行。形成“有法可依”。
“审计式测试”一个基本点。在以测试部门为主选择业界最佳的安全解决产品解决方案(如思客云公司的“找八哥”云安全测试系统),以此建立尽可能全自动化的源代码安全测试平台。来实现测试成本最小的“审计式测试”和“开发者测试”。其中“审计式测试”是指在系统阶段性版本发布或者系统发布之前的安全测试,由测试部门完成。安全部门执行监督。确保任何一个系统在发布之前都执行了安全测试,并符合“源代码安全测试标准”。形成“有法必依”和“执法必严”。
“开发者测试”第二个基本点。开发部门在经过几次安全问题测试和修复过程后,就会发现“与其被动测试,被动修复问题,不如主动防范错误”。这样一方面开发人员就会进行安全编码方面的学习和实践,达到尽量不出错。另一方面,如果安全测试产品授权上是允许的,并测试过程也基本上是全自动化的,测试成本很低的情况下,开发人员会主动地在开发程中进行源代码安全测试。开发者测试还带来的另一个好处是,及时地发现安全问题,修复成本变化极低。这样一来,形成了“违法必究”。
结束语
通过上面详细的分析和总结,我相们大家已经明白了软件源代码安全测试工作的特点以及对实施这项目工作的工作重点。那么就形成统一的测试整体体系,各部门有效地积极配合才能让整个企业安全开发水平、测试水平、理水平得到提高,真正达到事半功倍的效果。
Web测试和App测试有什么区别
WEB测试和App测试从流程上来说,没有区别。 都需要经历测试计划方案,用例设计、测试执行、缺陷管理、测试报告等相关活动。 从技术上来说,WEB测试和APP测试其测试类型也基本相似,都需要进行功能测试、性能测试、安全性测试、GUI测试等测试类型。 他们的主要区别在于具体测试的细节和方法有区别。 比如:性能测试:在WEB测试只需要测试响应时间这个要素,在App测试中还需要考虑流量测试和耗电量测试。 兼容性测试:在WEB端是兼容浏览器,在App端兼容的是手机设备。 而且相对应的兼容性测试工具也不相同,WEB因为是测试兼容浏览器,所以需要使用不同的浏览器进行兼容性测试(常见的是兼容IE6、IE8、Chrome、Firefox),如果是手机端,那么就需要兼容不同品牌、不同分辨率、不同Android版本甚至不同操作系统的兼容。 (常见的兼容方式是兼容市场占用率前N位的手机即可),有时候也可以使用到兼容性测试工具,但WEB兼容性工具多用IETester等工具,而App兼容性测试会使用一些网站推出的商业工具进行测试,据我所知你注册的这个Test+测试家就有相关工具。 安装测试:WEB测试基本上没有客户端层面的安装测试,但是App测试是存在客户端层面的安装测试,那么就具备相关的测试点。 还有,App测试基于手机设备,还有一些手机设备的专项测试。 如交叉事件测试、操作类型测试、网络测试(弱网测试、网络切换)交叉事件测试:就是在操作某个软件的时候,来电话、来短信,电量不足提示等外部事件。 操作类型测试:如横屏测试,手势测试网络测试:包含弱网和网络切换测试。 需要测试弱网所造成的用户体验,重点要考虑回退和刷新是否会造成二次提交。 弱网络的模拟,据说可以用360wifi实现设置。 从系统架构的层面,WEB测试只要更新了服务器端,客户端就会同步会更新。 而且客户端是可以保证每一个用户的客户端完全一致的。 但是APP端是不能够保证完全一致的,除非用户更新客户端。 如果是APP下修改了服务器端,意味着客户端用户所使用的核心版本都需要进行回归测试一遍。 还有升级测试:升级测试的提醒机制,升级取消是否会影响原有功能的使用,升级后用户数据是否被清除了。
女人安全期如何计算?
前后七八天
安全期怎么计算?
安全期的计算主要是通过排卵日排卵期的计算来确定安全期的时间段。 而排卵日主要是在女性来月经的前14天,这一天的前三天和后五天都属于排卵期,除了月经期和排卵期,其余的时间均为安全期。 除了使用这个方法外,还可以通过基础体温法和分泌物观察法来计算女性安全期。 然而避孕安全期并非绝对安全,有时候女性排卵会提前,或者延后,此时安全期的判断就会变得无效。
安全期(Rhythm)是和每个人的最长周期、最短周期、经期开始时间有关。 安全期并非绝对安全,有时候女性排卵会提前,或者延后,此时安全期的判断就会变得无效。 判断安全期只能减少怀孕的概率,不能作为避孕方法。
计算方法:
1、日历法
一个月经周期规律的妇女,其排卵的时间基本稳定。 在安全期性交,达到避孕的目的,叫作安全期避孕法。 这种方法不适合年轻人,因为他们性交的频率不可能相隔一周左右。 这种方法对中年人适用。
从本次月经来潮开始到下次月经来潮第1天,称为1个月经周期。 从避孕的角度讲,女性每个月经周期分为月经期、排卵期和安全期。
2、推算方法
按月经周期推算排卵期的方法又称为日历法。 月经和排卵都受脑下垂体和卵巢的内分泌激素的影响而呈现周期性变化,两者的周期长短是一致的,都是每个月1个周期,而排卵发生在两次月经中间。 妇女的月经周期有长有短,但排卵日与下次月经开始之间的间隔时间比较固定,一般在14天左右。 根据排 卵和月经之间的这种关系,就可以按月经周期来推算排卵期。 推算方法是从下次月经来潮的第1天算起,倒数14天或减去14天就是排卵日,排卵日及其前5天和后4天加在一起称为排卵期。 这就是安全期避孕法的理论根据。 例如,某妇女的月经周期为28天,本次月经来潮的第1天在12月2日,那么下次月经来潮是在12月30日(12月2日加28天),再从12月30日减去14天,则12月16日就是排卵日。 排卵日及其前5天和后4天,也就是12月11-20日为排卵期。 除了月经期和排卵期,其余的时间均为安全期。 即使安全期受孕概率极小,但常常受到排卵期的变动等影响导致安全期的变动,因此仅靠安全期避孕是不科学的,在安全期性交时也要采用适当的避孕手段。
用这种方法推算排卵期,首先要知道月经周期的长短,才能推算出下次月经来潮的开始日期和排卵期,所以只能适用于月经周期一向正常的妇女。 对于月经周期不规则的妇女因无法推算出下次月经来潮的日期。 故也无法推算到排卵日和排卵期。
3、体温法
基础体温是指健康人清晨醒后的体温,一般它是一天最低的体温。 正常生育年龄的妇女,排卵后体温立即升高,并持续到下个月经周期开始。 利用女性基础体温这一变化规律,找到她的排卵日,并在其前3~4天和后5~7天不性交。
4、观察法
女性阴道分泌物随月经周期的不同时期而有规律的变化着。 排卵期粘液越来越多,阴道内有潮湿感,粘液变清,粘液可以拉丝,最长可达10厘米。 这种粘液持续的最后一天,一般为排卵日。 在其前3~4天和后5~7天不性交。
安全期性交适用于月经周期正常,夫妇常在一起生活,并能熟练掌握和严格遵守安全期的人使用;不经常生活在一起的夫妇,分娩或流产后的妇女,精神情绪、生活环境和健康情况有变化的妇女以及不能掌握安全期的妇女,新婚夫妇情绪激动、性欲旺盛,都暂不适宜安全避孕。
发表评论