精华内容
下载资源
问答
  • 和普通的结构预测不一样,cascade模型只有在最后一层才做预测,前面所有的层都是做filtering。 Inference(推断) 怎么样用cascade做推断呢,其实很简单,就是通过一层一层的layer,每一层都滤掉一些错误解。...

    也是很久没有看跟deep不相关的论文了,而且本身对图模型也不是特别的熟悉(虽然上过课,但是也是基本上忘的差不多。)

    读这篇Structured prediction cascades是因为我的qualifying exam。我们这qualifying exam是给你assign一篇非你领域内的论文,然后给你一个月时间,然后做个关于这个paper的presentation。理论上他可以问任何跟这篇论文相关的问题,可以问的很偏,但是这主要看老师,有些老师就喜欢狂问问题,问蒙你,有些就比较和善。

    我的committee member都很和善,当时我拿到名单我就觉得妥了。。。。然而。。。。。我是conditional pass。。。。。很尴尬,但是基本上算过了。

    接下来是这篇论文,论文地址http://homes.cs.washington.edu/~taskar/pubs/aistats10cascades.pdf事实上这是一篇10年的paper,那个时候deep learning还没有这么牛逼,所以这篇文章跟dl半毛钱关系都没有。

    首先在这篇文章中,主要研究的是structured prediction。structured prediction是什么呢?可以它认为是监督学习的一种。如果预测的输出是一个离散变量,我们一般称之为分类,如果是一个实数,我们一般叫他回归。而如果输出是一个structured object,则这时候叫structured prediction。

    什么东西是structured data?structured object一般可以被分解成几个部分,并且部分之间包含信息。比如说一句句子,中间词与词总有主谓宾定状补的关系吧。image,text,甚至蛋白质folds都可以认为是结构数据。

    有很多我们熟悉的问题都可以看作是structured prediction,比如说nlp中的pos tagging,parsing,translation,再比如vision中的segmentation,pose estimation。

    这篇文章主要考虑的就是模型在做预测的时候approximation vs. computation. Approximation其实就是说模型能拟合的程度(在regression里面就是,你用一次来拟合二次就approximation就很差,三次来拟合二次approximation就很好)。approximation vs. computation就是,简单的模型approximation不够,但是速度快;而复杂的模型虽然approximation好,表达能力更强,但是速度太慢。这篇文章就是来解决这个问题的。

    解决的方法就是用cascades(一串模型),用coarse to fine的方式来解决这个问题。这里先介绍一下cascade在face detector里面的用法。(这也是这篇文章的灵感来源)

    preview

    这里是一个face detection的cascade例子。每一层的模型做的事情是确定哪些一定不是face,然后把他们滤掉。一开始可以先用简单的模型,快速滤掉明显错误的,然后再用复杂的模型在更小的搜索空间里搜索。由于搜索空间小了,所以原本跑的慢的模型也不会太慢了。

     

    放在structure prediction中其实也是一样,我们想找到的是最好的一个输出,而每一层的模型就是将肯定是错的输出滤掉。

    模型

    notation:input space \mathcal X, output space \mathcal Y, X和Y的联合分布D(X, Y),训练数据S和loss function \mathcal L

    一般来说,监督学习可以认为是,学习一个h: \mathcal X \rightarrow \mathcal Y,使得期望loss\mathbb E_d[\mathcal L (h(x),y)]最小。

    在结构预测下,Y就是有结构的,这篇论文里,他们假设Y是定长的离散向量:y  = \{y_1,\ldots,y_l\}, y_i\in\{1,\ldots, K\}

    马尔可夫模型

    TL;DR,他们定义了一个score function \theta_x(y) = \sum_c w^\intercal f_c(x,y_c),这个公式来自于markov模型,c为markov网络中的cliques。

     

    这篇paper他们用了概率图模型来定义p(y|x)(其实他们最后并没有用到概率解释),那么这时候h(x) = \text{argmax}_yp(y|x)就可以了。之所以使用图模型,1是这样可以对变量之间的关系进行建模,2是因为这样就可以使得argmax操作(inference)变成tractable的。(如果在Y空间中爆搜,就是指数级别的复杂度)

    根据图模型然后就可以将p(y|x)因子化,变成定义在clique上的因子的乘积

    p(y|x) \propto \prod_c \psi_c(x,y_c)

    y_c是一个y的subset,是包含在clique c中的元素。

     

    再进一步,我们这里用log-linear的模型,这样的话,就可以继续写成

    \log p(y|x) \propto \sum_c w^\intercal f_c(x,y_c)

    为了之后notation方便,我们定义f(x,y) = \sum_c f_c(x,y_c)\theta_x(y) = w^\intercal f(x,y),这样的话

    \log p(y|x) \propto \theta_x(y)

    所以这时候h(x) = \text{argmax}_y\theta_x(y)。再之后我们就不用考虑概率解释了,就把\theta_x(y)当作是一个分数,给(x,y)对的一个分数。

     

    在这篇文章中,他们在每一层使用的都是linear-chain markov模型;随着层数的增高,他们从第一层的0阶到最后3阶4阶。

     

    preview

    此图为一阶markov模型的示意图。

     

    在一阶markov中,clique分别为\{y_i,y_{i+1},x\},且\theta_x(y) = \sum_i w^\intercal f_i(y_i,y_{i+1},x)

     

    瀑布

    在cascade的每一层中,都是上面介绍的这种linear分数模型,不同的是,每一层拥有不同的参数和结构,越后面的层越复杂。和普通的结构预测不一样,cascade模型只有在最后一层才做预测,前面所有的层都是做filtering。

    Inference(推断)

    怎么样用cascade做推断呢,其实很简单,就是通过一层一层的layer,每一层都滤掉一些错误解。滤掉错误解的方式,是滤掉错误的的clique assignment。比如说这一层是first order markov model,那我滤掉的就是 y1y2, y2y3 ... y_{l-1}yl的取值。怎么样的取值会被滤掉呢,我们可以计算每个clique 取值的max marginal(之后再定义,这里可以认为是clique assignment的分数),如果max marginal大于一个阈值(一会再定义),则它就被滤掉了。

    max-marginal的定义为,\theta_x^*(y_c) = \max_{y^\prime\in \mathcal Y} \{\theta_x(y^\prime): y_c^\prime = y_c\}也就是说,所有拥有y_c clique取值的y能获得的最大分数。

    然后阈值的定义如下,

    t_x(\alpha) = \alpha\theta_x^* + (1-\alpha)\frac{1}{|\mathcal V|} \sum_{c\in\mathcal C, y_c\in V_c} \theta_x^*(y_c)

    其中\theta^*_x = \max_y\theta_x(y)\mathcal V = \cup_{c\in\mathcal C}\mathcal V_c\alpha\in[0,1)。这个阈值其实就是最高可能分数和平均max marginal分数的一个convex组合。其中alpha是在dev set上调的,可以认为是一个超参数。

    这样的定义,1,与所有分数都是在同一scale的,不会因为不同x不同scale而会产生问题。第二,这个阈值关于w是凸的,所以之后训练时能是一个凸优化。

     

    训练

    cascade的训练时一层一层分开训练的。每一层我们先选定一些\alpha的取值,然后训练的到w。

    loss function为:

    \min_w L(w) = \frac{\lambda}{2}\|w\|^2 + \frac{1}{n}\sum_i H(w;(x^i,y^i))

    其中,H(w;(x^i,y^i)) = \max\{0, 1 + t_{x^i}(\alpha) - w^Tf(x^i,y^i)\}

    这个loss function和在svm中非常像,简单的说就是希望ground truth的分数要比threshold要高一个margin(这里是1)。他们用subgreadient descent来训练这个模型。

    实验

    简单的说,就是他们能不怎么损失精度的得到更快的速度。

     

    结尾

    并不是特别exciting的paper,但是作为qualifying exam让我复习一遍图模型还是可以的。虽然这篇文章本身的idea很好,但是其实follow up的工作并不多,可能实际使用中没有特别的优势吧。

    但是图模型在deep中还是有挺多应用的。用来做segmentation的post processing,或者将crf变成rnn啊,或者将本文中linear model替换成一个deepnet啊。可移步概率图模型与深度学习能够如何结合? - 知乎

     

    ps:很明显写到后面不是很想写了。。。。。。。但是如果想具体了解一些细节的话,这里有我写的英文的summary。http://ttic.uchicago.edu/~rluo/files/qualifying_exam_summary.pdf

    如果再想多了解一些,这里是原paper,http://homes.cs.washington.edu/~taskar/pubs/aistats10cascades.pdf

    如果再再想多了解一些的话,这里是原paper的journal版本,虽然没发出去,https://arxiv.org/pdf/1208.3279.pdf

     

    原文出处:https://zhuanlan.zhihu.com/p/27315649

    展开全文
  • 瀑布方法的最大优势是固定成本和可预测性。你知道价格,什么时候交付。其最重要的弱点是其缺乏灵活性。敏捷方法非常灵活,可以演变成与最初设想的产品截然不同的产品。 传统的瀑布方法 建立在时间,成本和范围...

    软件开发行业有许多不同的方法 - 一些是旧方法的新方法,另一些方法采用了相对较新的方法。该领域中最常用的两种方法是敏捷,如Scrum,Kanban和Lean等,以及传统的瀑布模型,如结构化方法或更新的RUP。

    大多数遵循这两种模式的软件公司都认为他们选择的方法在方面是优越的,所以在我们回答这个问题之前,“哪一个更成功?我们应该看看它们的主要区别。

    瀑布方法

    瀑布是软件开发过程的线性方法。这些都代表了软件开发的一个独特阶段,每个阶段通常在下一个阶段开始之前完成。每个开发阶段之间通常也有一个里程碑。

    • 结构化为顺序过程中的一个大项目
    • 适合变化不常见的情况
    • 一个需要预先明确定义的需求的流程

    因此,瀑布模型保持只有在检查并验证其前一阶段时才应移动到阶段,如下图所示:

    瀑布方法

    例如:

    在Royce的原始瀑布模型中,按顺序遵循以下阶段:

    • 系统和软件要求:在产品需求文档中捕获
    • 分析:产生模型,架构和业务规则
    • 设计:产生软件架构
    • 编码:软件的开发,证明和集成
    • 测试:缺陷的系统发现和调试
    • 操作:完整系统的安装,迁移,支持和维护

    敏捷方法

    敏捷使用精益思想衍生出来,在信息技术环境中应用“精益”概念。精益方法的关键重点是:

    • 消除流程中的浪费
    • 最大限度地减少业务非增值活动
    • 从消费者的角度最大化附加值

    敏捷方法

    敏捷方法是经过验证的项目管理方法,它鼓励以下关键概念:

    • 经常检查和调整
    • 鼓励团队合作,自我组织和问责制的领导哲学
    • 一套工程最佳实践,可以快速交付高质量的项目
    • 一种将开发与客户需求和公司目标相结合的业务方法

    敏捷开发 - 迭代生命周期

    敏捷开发阶段包括传统规划,分析需求,设计,编码,测试和部署,但它们形成一个循环而不是一条线。这意味着流程灵活,可重复,可以按任何顺序和并行发生。这允许收集用户反馈,针对不同环境的连续测试以及在运行时更改项目的范围。

    敏捷方法的基础

    • 经验主义 - 能够在逐步提高生产力的过程中执行,停止,反思,改进和继续
    • 确定优先级 - 根据业务价值提供工作
    • 自组织 - 团队最了解如何根据资源和约束提供工作
    • Time-Boxing - 团队需要在规定的时间内完成指定的任务。
    • 协作 - 团队承诺在给定的时间内交付最终产品,这将鼓励跨团队协作和完成任务的独创性。

    敏捷与瀑布 - 范围,时间和成本三角

    瀑布方法的最大优势是固定成本和可预测性。你知道价格,什么时候交付。其最重要的弱点是其缺乏灵活性。敏捷方法非常灵活,可以演变成与最初设想的产品截然不同的产品。

    敏捷与瀑布

    传统的瀑布方法建立在时间,成本和范围三重约束的基础上。调整这些变量中的任何一个都会强制改变至少其中一个变量。交付成功的项目取决于平衡这三个竞争变量。但正如我们所知,简单地为项目添加资源并不总能带来预期的目标。事实上,如果在软件项目的后期添加资源,它实际上会产生不利影响。

    敏捷方法采用不同的方法,将三重约束颠倒过来。敏捷方法不是将范围视为一开始就是固定的,而是将时间(迭代)和成本(团队成员)设置为固定; 然后调整范围以关注最高优先级。建立敏捷是因为期望范围会随着时间的推移而发展。目标是在预算成本和时间内满足客户最重要的要求。随着项目的进展,敏捷允许新的需求或重新确定优先级。

    敏捷与瀑布质量

    敏捷还是瀑布?见图

    Standish Group的最新报告涵盖了他们在2013年至2017年间研究的项目。在这段时间内,敏捷和瀑布的成功,挑战和失败的整体突破如下所示,敏捷项目成功的可能性大约是后者的2倍,失败的可能性降低1/3。

    (来源:vitalitychicago.com - 比较瀑布和敏捷项目成功率

    敏捷与瀑布 - 项目成功率

    敏捷方法伞

    自2001年“敏捷宣言”诞生以来,敏捷就有很多嗡嗡声。事实上,敏捷方法只是一种思维方式,可以使团队和组织进行创新,快速响应不断变化的需求,同时降低风险。组织可以灵活地使用许多可用的框架,如Scrum,看板,精益,XP等等。

    Scrum敏捷伞

    精益方法

    精益组织了解客户价值,并关注其关键流程以不断提高客户价值。最终目标是通过一个零浪费的完美价值创造过程为客户提供完美的价值。

    5步精益方法

    指导精益方法实施的五步思考过程很容易记住,但并不总是很容易实现:

    1. 从最终客户的角度按产品系列指定值。
    2. 确定每个产品系列的价值流中的所有步骤,尽可能消除那些无法创造价值的步骤。
    3. 使价值创造步骤按顺序进行,使产品顺利流向客户。
    4. 随着流量的引入,让客户从下一个上游活动中获取价值。
    5. 在指定值时,识别值流,删除浪费的步骤,引入流和拉,再次开始流程并继续,直到达到完美状态,其中创建完美值而没有浪费。

    5步精益方法

    Scrum方法

    Scrum是一种管理项目的敏捷方式,通常是软件开发。使用Scrum进行敏捷软件开发通常被视为一种方法论; 但不是将Scrum视为方法论,而是将其视为管理流程的框架。

    Scrum Process Canvas

    看板方法

    看板是日本的“视觉信号”或“卡片”。丰田线路工人使用看板来表示制造过程中的步骤。作为精益的一部分,该系统的高度视觉性使得团队可以更轻松地沟通需要完成的工作和何时完成。它还标准化了线索和精炼过程,有助于减少浪费和最大化价值。与scrum sprint board类似,看板跟踪“做 - 做 - 完成”活动,但它限制了“正在进行的”活动的数量(该数量由团队经理定义,不能超过)。

    看板方法

    有四个基本的看板原则:

    • 可视化工作以增加沟通和协作。
    • 限制正在进行的工作,以避免无限的非优先打开任务链。
    • 衡量和优化流量,收集指标,预测未来问题。
    • 旨在通过分析获得持续改进。

    初学者的其他Scrum指南

    展开全文
  • Waterfall, Lean/Kanban, and Scrum这篇文章是Ken Schwaberd对Kanban和Scrum区别的思考,发表于2010年,我们并不认同文中所有观点,只...

    Waterfall, Lean/Kanban, and Scrum

    这篇文章是Ken Schwaberd对Kanban和Scrum区别的思考,发表于2010年,我们并不认同文中所有观点,只是为了向全方位展示当年几位大牛的讨论。本文由Agilean学院 满成圆 王必奇 译

    “简单”(Simple),“复杂”(Complicated),“繁杂”(Complex)和“混乱”(Chaotic)是四种不同的问题空间。问题空间的识别取决于其问题域的特征。在软件开发领域,问题域的特征跟技术,需求和从事软件开发的人员都有关系。

    如果问题域的所有特征或者维度都是简单易懂的,那么这个问题就是“简单的”。如果特征不稳定,频繁改变并且不能被很好的理解,那么这个问题就是“混乱的”。如果虽然问题并不简单,但是已知和理解的部分多于为止,那么这个问题就是“复杂的”。最后,如果问题域不简单,未知和未定义的部分更多,那么这个问题就是“繁杂的”。

    整个上世纪80年代,我成功的把瀑布流程应用在多个项目。除去创建和修正描述瀑布流程的方法论,以及自动化发布机制,我对项目的结果其实并不满意。于是,1990年年初,Jeff Sutherland和我构思出一种跟瀑布方式完全不同的软件产品管理的新方法——Scrum。我们在使用Scrum的时候取得了不断的成功。

    我需要知道为什么Scrum远比瀑布方法成功。 我有一些朋友在美国特拉华州的杜邦先进技术中心致力于研究先进的流程控制。杜邦公司掌握了如何在世界任何地方生产简单的聚合物,如人造丝等。但是高级聚合物,例如GoreTex,因为其具有复杂的生产过程,而不能采用分布式生产。当时我的朋友们正忙于解决这个问题,带领他们是Babatunde Ogunnaike(Tunde),过程控制行业的经典书籍《过程动力学,建模和控制》的作者之一。

    我给Tunde展示了我随身携带的一些瀑布流程和方法论等。其中一个是我自己原创的,另一个是Coopers & Lybrand Summit D方法。经过审查,Tunde发现这些瀑布流程非常规范,具有如何把原材料变成成品的完整计划。他还观察到计划中的元素并没有很好的定义。计划(任务)中每一点的输入、输出、流程和资源消耗都没有足够的细节以确保正确的流程。于是Tunde问我这些方法到底有多成功,我告诉他,尽管努力改善和提升执行流程,我们项目的成功率依然低于50%。

    Tunde告诉我,预定义过程,如瀑布过程,是大规模生产的基础。这种方式可能不是最划算的,但是实际中他们占统治地位。专家会展示将原材料变成成品的所有工作流。然后他们雇佣管理人员来为工作流的各个点引入资源(从可靠性角度考虑,自动化工具是首选,其次是人员)。管理者和监管人员的工作是教导相应的资源如何去做定义好的工作。如果他们正确地完成自己的工作,流程会很顺利并且会得到可预测的产品。但是,从一开始制定的计划不一定总是对的,可能在实施的过程中需要纠正。大多数错误源于执行不到位。

    Tunde告诉我,其实瀑布过程模仿了这种模式。他说只要这种模式是有成功的,那么它总会是首选。如果没有成功,不管试图收紧和培训资源,还是会有其他更昂贵的方法来制造产品。在问到成功率或者产出时,当他得知我们的成功率不到50%,他惊呆了。他说,在现代工业中低于99.7%的成品率都是不合格的。百分之五十的成品率,就相当于通用汽车每生产出两辆车就会丢弃一辆。

    Tunde建议我们看看其它模型。首先,他推荐了精益方法,适合于问题域有一定的复杂性,但已知和稳定的因素多于未知和不稳定的因素。Tunde说,这种方法和预定义方法类似,但它兼顾了复杂性的问题,因为复杂性可能导致成品率降低到不可接受的水平。首先,专家制定产品基线。管理者和监管者招聘的所需要的资源并进行培训。然后,专家可以利用围绕基线的一些列度量方法去监控是否有干扰,或意想不到的事件发生。当检测到干扰,则停止基线,消除干扰之后再恢复生产。相应资源也需要接受培训去定位无法预料的难题,并有权在解决各种难题之前停止生产。

    精益过程提升了产品的质量和价值。它能快速发现和移除缺陷的源头,并移除任何不能真正优化产品价值的东西。持续的发现浪费并减少浪费,通过延迟决定来消除浪费。精益的过程实现了最高性价比。

    Tunde 说如果非预期的问题超过生产力的基线,这种方法就不适用了。因为这会导致检测和修复难题的时间超过开发产品,引入新的测量方法检测复杂度的时间超过设计新产品的时间。他也指出精益的领域仍是大规模产品开发。因为很难为只生产一次的产品或只发布一次的软件使用控制测量方法来建立产品基线。

    Tunde接着给我展示实践性的过程控制的领域,这种技术适用于小批量生产的场合,其具有太多的未知,复杂性超过可预见性。他认为这个与软件开发领域更相关。需求、复杂的技术和人们有创造性的想法混合在一起,使这些看起来跟软件研发行业更为相近。这种方法通过频繁回顾和对下一步的不断修正来预测未知,并优化输出。其基础是容器。

    所谓容器是指不关注问题的复杂度,能够把问题完成的封闭空间。在scrum框架下,容器是一个Sprint,一个迭代。我们把能够解决问题的人员放到这样一个容器中,把高优先级别的问题放到这个容器内,然后保护这个容器,在团队解决问题时避免外部打扰。我们用固定时间长度的时间盒来控制这个容器。让团队选择在一个时间盒内可以完成并能够演示的多个问题,在时间盒结束时,打开容器并且检查结果。然后为下一个时间盒重置或者调整容器,通过频繁不断的计划并且调整工作,我们就能够最大化价值。

    从预定义的方法(瀑布,精益,Kanban)到经验型方法(Scrum)的转变是一种根本上的变化。一个组织的文化也会在需要的时候随之改变。

    规范的模式依靠于有效的制定计划,并让计划成功的能力。专家设定工作,管理者分配并安排资源,工作者(内部可以交换)负责实施。在预见性的过程使用命令和控制来优化生产力。经验型过程依赖容器控制风险并持续引导结果朝着最高价值的方向努力。管理者主要关注最高价值的问题,并尽全力支持团队去解决问题。创造性和合作是这个过程的最大特点。

    几乎所有的组织在接受scrum时都会有一些困难,他们需要从预见性、大规模生产的方式调整到敏捷、经验型的方式。在现有组织文化和scrum价值观驱动的方法两者的矛盾中,价值最大化的阻碍被凸显出来。接下来就会要求组织改变目前的文化来寻求敏捷和价值,当改变困难时,他们通常会修改Scrum,并保留这些阻碍。我们把这些称之为ScrumButs,因为他们说“我们在用scrum,但是(but)我们发现如果每天都开站会实在太难了,所以我们每周开一次”。

    我听说当一个组织不能够适应Scrum时,他们经常使用看板来回避很多Scrum中很难的方面。管理者还是负责告诉团队要做什么。执行团队经常会被打断。为了保护职能经理的工作,人们依旧在功能范围中工作。人们不允许在容器工作,分享工作技能和知识,在解决方案中引入复杂性——相反的,他们在Pull的生产线上工作(比Push更复杂)

    精益有着比瀑布方式更高的生产力,它的透明性和度量方法允许通过持续调整来优化生产率。尽管如此,当人们要一直解决复杂问题时,最大化生产率还是很有创造性的。人们像一部机器上的一个螺丝钉一样的工作,那么优化看起来就是无足轻重的,倒不如关注到价值流的优化中。

    幸运的是我们发现了瀑布模式中的问题并探索到了改善的方法---使用精益和看板解决那些隐藏的问题,这样我们有了一个无需暂停可以持续前进的计划。

    Scrum 假设项目组的成员能够充满热情的与客户紧密工作来获取最大价值,以及有创意的产品。提取有价值的需求创造符合市场预期的产品。尽管目标很诱人,但对于一个组织从瀑布模式、命令控制模式和预见性文化中转型,是很困难的一条路。那些能够完成这种转变的组织,会超过其他组织,并且成为每个人都愿意工作的地方。

    那些不能使用scrum而变成一种ScrumBAN似的人,会发现他们慢慢从无需工会就可以有更多休息时间的工作方式,变成像矿工一样,只能快速产生商品。

    更多精彩内容请长按一下二维码,关注我们的微信公众号:互联网plus管理新范式

    • 回复:学院,进一步了解翻译这篇文章的Agilean学院

    • 回复:看板方法,进一步了解看板方法

    • 回复:Scrum,获取有关Scrum和Kanban对比的历史文章

    互联网plus管理新范式

    Agilean官方博客平台

    微信号

    iPlusLeadership

    点击

    阅读原文

    访问英文博客

    展开全文
  • 上周四,工业网络安全与威胁情报公司CyberX宣布推出ICS攻击向量预测技术,这是一种模拟技术,可以对当前工控环境中的漏洞及资产进行高级分析,并能够可视化的模拟攻击形式及路径,进而预演各种缓解措施的效果,组织...

    上周四,工业网络安全与威胁情报公司CyberX宣布推出ICS攻击向量预测技术,这是一种模拟技术,可以对当前工控环境中的漏洞及资产进行高级分析,并能够可视化的模拟攻击形式及路径,进而预演各种缓解措施的效果,组织可利用这种技术,更有效而熟练地利用有限资源和狭窄的维护时间窗口。

    工控安全ICS攻击向量预测技术

    CyberX公司将这种新型的 工业控制系统(ICS)安全 服务命名为“ICS攻击向量预测”。基于公司专有的分析技术,该服务可持续预测潜在的攻击位置,帮助组织预防攻击。

    方案可针对运营技术(OT)网络中关键资产的所有潜在攻击链进行直观展示,并根据风险级别对攻击场景进行排序,安全团队可依此确定处理风险的先后次序。

    网络安全人员可获得每个漏洞的详细缓解建议,包括为Windows设备打补丁、升级有漏洞的PLC固件、停用不必要或不受控的远程访问方法。

    CyberX的内部ICS安全专家还针对组织给出了一些建议,尤其是制造、制药、化工及油气行业的大型和跨国组织,如何设计最高效、最实用的缓解策略。

    安全团队可轻而易举地模拟每项缓解措施的效果。例如,他们可模拟打补丁或隔离设备,确定是否可以消除关键系统所面临的风险。

    ICS%20Attack%20Vector%20Prediction.png

    扫描OT网络不像扫描IT网络那样简单,因为进入系统会导致业务中断。CyberX称,为防止客户系统中断,产品使用无代理资产发现和漏洞评估技术模拟攻击向量,这种技术结合了对工业系统的深入了解和非侵入性流量分析。

    (小编,要发现当前环境中的资产及相关问题,一般有两种形式,1种是在被监测对象上安装一个探针或者代理,可能是个小装置或者一段小程序,便于收集信息,但这在实时性及可靠性要求较高的工控环境中,可能会造成一些不利的影响,所以现在工控环境中还有一种方式是2基于协议和流量的方式,也就是所谓的非代理或者无代理形式)

    攻击向量预测技术作为基础CyberX平台的组件,现有客户无需额外购买。CyberX平台按被监控设备(包括物理和虚拟设备)的数量定价。

    CyberX满足Gartner自适应安全架构要求

    CyberX表示,在产品中加入攻击预测技术后,可满足Gartner的“自适应安全架构”框架提出的四个要求:预测、防御、检测和响应。

    预测 : CyberX 的预测能力是由其新的攻击向量预测技术提供的。 它采用了高级分析, 以不断预测针可能的攻击路径,这些攻击主要针对对组织关键的运营技术 (ot) 资产目标。这样, 安全团队可以快速模拟缓解措施,以调整其安全态势并减少其攻击面, 例如 "如果我隔离或修补此不安全的设备, 它是否会消除我的最关键资产的风险?这种创新的方法,使安全小组能够主动降低风险, 并优先考虑缓解动作, 更有效而熟练地利用有限资源和狭窄的维护时间窗口。 此外, 对可能的攻击路径进行可视化,有助于业务管理, 而利益相关人可以更为直观的理解顶级风险对其最有价值资产的业务影响。

    防御 : CyberX 的无代理资产发现和自动化的、非侵入性的漏洞评估,使组织能够强化易受攻击的系统, 识别无管理设备, 确定薄弱的分区规则, 并防止发生袭击。 此外, CyberX 集成了工业标准防火墙, 如Checkpoint,也集成了单向网关,如Waterfall, 以自动阻止恶意通信或隔离受恶意软件感染的主机。 CyberX 还提供了一个完整的 rest api, 用于与其他预防解决方案集成。

    检测 : 网络提供连续的 ics 威胁监测和异常检测, 以便能够针对可疑或未经授权的行为进行及时预警, 例如在网络侦察期间进行端口扫描,异常的设备命令和错误,以及对 plc 梯形逻辑和固件进行未经授权的更改。 CyberX 的检测能力利用了 CyberX 对工业协议的深入理解, 并结合特定于 ics 的行为分析和专门为机器 (M2M) 通信设计的机器学习算法。

    响应 : CyberX 平台提供了深入的取证、调查和威胁搜寻能力, 拥有先进的数据挖掘工具, 并实时访问高保真的 PCAP 文件,便于进行下钻分析。 ir 团队可以根据自定义搜索参数,轻松地搜索历史流量, 包括 ics特定的查询, 如每个工业协议特有的函数代码。 CyberX 支持所有 SIEMs, 并提供了一个 rest api, 便于与现有的 soc 工作流和消除数据仓库进行集成。

    Gartner自适应安全架构

    自适应安全架构(Adaptive Security Architecture,ASA)是Gartner于2014年提出的面向下一代的安全体系,云时代的安全服务应该以持续监控和分析为核心,覆盖防御、检测、响应和预测四个维度,可自适应于不同基础架构和业务变化,并能形成统一安全策略应对未来更加高级的攻击形式。

    Gartner%20ASA.gif

    自适应防护架构的关键能力

    1. “防御能力” 是指一系列策略集、产品和服务可以用于防御攻击。这个方面的关键目标是通过减少被攻击面来提升攻击门槛,并在受影响前拦截攻击动作。

    2. “检测能力”用于发现那些逃过防御网络的攻击,该方面的关键目标是降低威胁造成的“停摆时间”以及其他潜在的损失。检测能力非常关键,因为企业应该假设自己已处在被攻击状态中。

    3. “回溯能力”用于高效调查和补救被检测分析功能(或外部服务)查出的事务,以提供入侵认证和攻击来源分析,并产生新的预防手段来避免未来事故。

    4. “预测能力”使系安全系统可从外部监控下的黑客行动中学习,以主动锁定对现有系统和信息具有威胁的新型攻击,并对漏洞划定优先级和定位。该情报将反馈到预防和检测功能,从而构成整个处理流程的闭环。



    原文发布时间:2017年7月23日

    本文由:securityWeek发布,版权归属于原作者

    原文链接:http://toutiao.secjia.com/ics-attack-vectors-predicts#

    本文来自云栖社区合作伙伴安全加,了解相关信息可以关注安全加网站

    展开全文
  • 译文: Huangguoshu Waterfall is the largest waterfall both in China and in Asia. Located in Anshun, Guizhou Province ,it is one of the famous tourist attractions in Guizhou .The waterfall is 77.8 ...
  • The shap package waterfall plot (by Scott Lundberg) isn’t easily incorporated into a dash application so I created my own replica using the plotly waterfall plot. 下一个SHAP值和瀑布图用于传达哪些...
  • 来源:大邓和他的PythonSHAP机器学习模型解释库想象一下,你正试图训练一个机器学习模型来预测广告是否被特定的人点击。在收到关于某人的一些信息后,模型预测某人会不会点击广告。但是为什么...
  • Its freestyle nature gives it an edge over the other testing types and can be performed anywhere, be it a project using Agile or waterfall or any other project which requires minimal documentation. ...
  • 时代发展到现在,客户的需求瞬息万变,市场的风向也难以预测。作为企业,想要生存下去,只有让自己变得更快。作为员工,必须让自己眼光更加长远,内心更加包容。 #CSDN 2019 云+X 案例征集#评选活动 正在八百里加急...
  • AI和测试自动化的真相

    千次阅读 2019-03-02 23:12:11
    从作为客户服务代表的聊天机器人到搜索结果和流量预测,在任何一天,人工智能就在我们身边。 Here are some mind blowing statistics about AI adoption: 以下是关于AI使用的一些令人兴奋的统计数据 ...
  • android安卓源码海量项目合集打包-1

    万次阅读 多人点赞 2019-06-11 16:16:24
    下载地址 最后更新共计113个分类5177套源码29.2 GB。 卷 新加卷 的文件夹 PATH 列表 卷序列号为 00000200 5E7A:7F30 F:. ├─前台界面 │ ├─3D标签云卡片热门 │ │ Android TagCloudView云标签的灵活运用.rar ...
  • 1.几种开发方法 1.1瀑布式开发——瀑布模型(Waterfall Model)1970年温斯顿·罗伊斯(Winston Royce)提出了著名的“瀑布模型”,直到80年代早期,它一直是...
  • 推荐算法的多模型融合

    千次阅读 2019-08-05 18:28:05
    5)预测融合法 6)分类器 Boosting 思想 多模型融合算法可以比单一模型算法有极为明显的效果提升。但是怎样进行有效的融合,充分发挥各个算法的长处呢,这里总结一些常见的融合方法: 1)线性加权融合法 线性...
  • 在许多(软件)工程项目中,负责任的开发团队认为,可以在项目开始时轻松预测和定义需求。 但是事实证明,大多数项目都可能会发生变化 。 在开发期间,需求变更率可以从35%飙升至50%。 可以肯定地说,变更是工程...
  • 干货 | 瀑布式项目管理怎么做?

    千次阅读 2019-12-10 12:15:41
    概览瀑布模型(Waterfall Model)将软件生命周期划分为需求、设计、开发、测试、部署和运维六个基本阶段,适用于有明确的项目需求、要求稳定安全、对快速响应能力和弹性架构要求较低、...
  • 项目管理 1

    千次阅读 2017-06-15 21:51:36
    学习内容Ø 认识毕业项目Ø 软件企业项目常见的团队和角色Ø 软件工程相关知识Ø 各种软件项目文档Ø 项目计划的制定能力目标Ø 认识毕业项目的地位和重要性Ø 了解软件企业的团队构成Ø 了解和项目开发相关...
  • 软件工程方法论杂记

    千次阅读 2013-12-18 12:09:48
    从早期的瀑布式(Waterfall)的开发模型到后来出现的螺旋式的迭代(Spiral)开发,以致最近开始兴起的敏捷软件开发(Agile),他们展示出了在不同的时代软件产业对于开发过程的不同的认识,以及对于不同类型项目的...
  • 瀑布软件开发模型(Waterfall Software Development Model)创建于20世纪60年代,强调的是软件开发在工程学科中的重要性。今天,许多企业仍然使用瀑布方法。活动像瀑布一样沿着列表按顺序向下流动,是计划项目最简单...
  • 两种方法制作瀑布图

    万次阅读 2019-05-11 20:01:14
    首先,我们来看一个瀑布图样例: 紫色表示减少的,绿色表示增加的。 一、设置占位序列制作 如图所示,前两节是原始数据,后面几列是自己要做的数据。...其中累计是从第一行金额累积到当前行;...
  • shap.initjs() 2.1 [微观]单样本特征影响图一:waterfall 图一: 该图代表第0个样本, Y轴代表不同特征值, X代表SHAP值, E[f(x)]代表所有样本f(x)的期望,base_values,model.predict(X)的预测值的平均值 ...
  • 除了打破图像识别和语音识别中的记录,它在预测潜在药物分子的活性、分析粒子加速器数据,重建脑回路和预测非编码DNA突变对基因表达和疾病的影响方面还优于其他机器学习技术。更令人惊讶的是,深度学习在自然语言...
  • 项目管理规范-RUP管理实施(一)

    千次阅读 2010-03-18 19:02:00
    这与Waterfall process 有明显的不同。 RUP采用Use Case的概念,把要开发的系统根据各功能使用的情况划分多个Use Case,并采用迭代的思想把系统的 风险 分布在四个阶段, 风险 越大的迭代越要放在靠前的阶段做,使 ...
  • 软件生命周期

    2008-10-30 08:38:00
    瀑布模型(Waterfall Model)首先由Royce提出。该模型由于酷似瀑布闻名。在该模型中,首先确定需求,并接受客户和 SQA 小组的验证。然后拟定规格说明,同样通过验证后,进入计划阶段…可以看出,瀑布模型中至关重要...
  • SHAP解释模型

    千次阅读 2021-09-20 17:07:51
    环境配置: 以下实验使用当前最新版本shap:0.39.0 $ pip install shap 注意xgboost也需要使用对应的较新版本,如: ...比如:解析第一个实例每个特征对最终预测结果的贡献。 shap.plots.force(shap_
  • 除了在图像识别和语音识别方面取得了新记录外,它还在预测潜在药物分子的活性、分析粒子加速器数据、重建脑回路、以及预测非编码DNA突变对基因表达和疾病的影响等方面击败了其他机器学习技术。更令人惊讶的是,深度...
  • The two most commonly used methods in this field are the Agile such as, Scrum, Kanban and Lean and etc., and traditional Waterfall models such as structured methods or newer RUP. ( 软件开发行业有许多...
  • 不可预测的技术问题的突然出现,会强制开发方向的转变。此外,人们往往非常欠缺对于未来作出长远计划的能力——今天猜测未来八个月中每周你如何工作将如幻觉般渺茫,这正是Gantt (甘特)图表的衰败表现。 另外, 瀑布...
  • 由于缺乏有效的实践,项目变得不可预测,重复出现错误,还有白白浪费的辛苦。计划延期,超出预算,质量低下使客户感到失望。开发者也由于更长时间的工作而换来更糟糕的软件而心灰意冷。   DSDM   DSDM...
  • 文章目录 一次预测的可解释展现 整体思想 相关类 Explainer tokenizer masker MaskedModel 样本输入作断点追踪 explain_row() 总方法 1.1 计算 base_value 1.2 计算原样输出 f11 1.3 构造 heriarchial clustering ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 540
精华内容 216
关键字:

预测waterfall