由于各种设备产生的数据爆炸式增长,新型攻击和复杂威胁的快速增加,基于人工智能的自动化异常检测系统现在越来越受欢迎。
异常检测系统可以应用于各种业务场景,管理数百万个指标的大规模数据,并通过筛查数据发现问题。例如它可以监控金融科技公司的金融交易,检测其网络中可能存在的欺诈活动、数百万种产品电子商务价格故障等问题。
在应用异常检测系统时,企业应关注以下重要问题,以确保能够实现高效检测目标:
- 警报频率是多少(5分钟or10分钟、1小时or1天?)
- 对可扩展解决方案需求(大数据与常规RDBMS数据)
- 本地或基于云的解决方案(Docker与AWS EC实例)
- 无监督与半监督解决方案
- 如何阅读和优先考虑各种异常以采取适当的行动(基于点的、上下文的、集体的异常)
- 警报与系统的集成
以下是对上述六个问题的详细介绍:
什么是警报频率:
警报频率在很大程度上取决于被检测流程的敏感性,包括反应时间等指标。一些应用程序的检测需要低延迟,比如在几分钟内检测到用户的可疑欺诈支付交易并将其提示给用户,以防银行卡被滥用;还有一些应用程序的检测,则无需特别敏感,例如来自手机基站的呼入和呼出,可以汇总到每小时级别,而不是以5分钟为间隔进行测量。因此可采取适用性测量应对敏感性警报过多的情况。
可扩展解决方案需求:
电子商务或金融科技等行业企业,由于此类企业对速度或可扩展性的需要,可能将数据保存在大数据环境中。在一些大数据场景中,硬件和软件的可扩展性需要分别由Hadoop和Spark等系统来处理,而在常规场景中则需要考虑RDBMS和Python编程。
本地或基于云的解决方案:
对于金融科技和银行等某些业务,由于存在合规性和保密性相关的问题,数据不能转储到云中。对于电子商务等其他一些业务,数据可以上传到私有云中。异常检测解决方案应考虑这些方面的差异,以了解部署是否可以Docker格式进行本地服务或基于云电商解决方案以实现基于云的需求。
无监督与半监督解决方案:
虽然部署无监督学习算法来检测基于时间序列的数据的异常是一种常见的解决方案,但这些系统经常会产生大量误报。在这种情况下,如果企业发现警报数量较多,他们可以根据评分优先处理警报,并且可以设置更高的阈值分数以增加对关键异常的关注。但是,也确实存在半监督算法,它使算法能够根据用户对生成的异常反馈进行重新训练,在后期不会重复此类错误,但重要的是要记住,集成半监督算法确实有其自身的挑战。
如何阅读和优先处理各种异常以采取行动:
异常类型在基于点、上下文和集体等不同性质上的处理需求不同。基于点的异常是从单个序列生成的异常,这些异常可能是一对一的;上下文异常是在不同时间段表现为异常的异常,否则将被视为正常数据点。上下文异常的示例可能是,如果在下午呼叫量激增不会被视为异常,而如果在午夜发生相同数量的激增,则将被视为异常。上下文异常也出现在单个系列上,类似于基于点的异常;最后,集体异常出现在各种数据系列中,这些集合试图创建一个完整的故事。公司应该定义他们正在寻找的异常类型,以便充分利用异常检测系统。此外,通过基于评分系统对异常进行优先级排序,可以给予更高级别的异常更多的优先权。
警报与系统的集成:
一旦生成警报,就需要与可用的内部系统集成。如果不注意这一点,验证过程将会耗用资源,尤其是在误报的情况下。理想情况下,来自异常检测系统的警报应与电子邮件通知系统、SMS通知系统或任何其他仪表板系统集成,这些系统可以向用户发送有关检测到故障的通知。
【本文是51CTO专栏作者“安全牛”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】