我们不知道:用同化项目做网络安全

简介:

Assimilation Project(AP,同化项目),是指在无需明显增长集中化资源的情况下,发现和监视未知规模网络上的基础设施、服务及相关设备的解决方案。

有关IBM AS/400中小型多用户商业计算机系统超高可靠性的段子还挺多的。其中流传最广的一个版本是:某天,一位IBM维护工程师到客户那里维护一台AS/400服务器,倒霉的接待员工根本不知道那名维护工程师在说啥。最终,该系统在一个隔离空间中被找到了,它已经在那里默默扛起业务数年,完全被人遗忘,无人打理。

从可靠性视角看,这简直太棒不过。从安全角度看,根本就是噩梦。它代表的是美国前防长拉姆斯菲尔德臭名昭著的“未知的未知”论调——有些事,我们不知道我们不知道,比如在缺乏证据表明,伊拉克政府向恐怖组织提供大规模杀伤性武器的情况下,英美还是攻打了伊拉克。

阿兰·罗伯森,开源开发者,高可用性专家,常问人需要多长时间才能发现他们的服务中有哪些是未受监管的。典型的答案落在3天到3个月的范围内。讽刺的是,逆命题(当前提供了哪些服务)却很好回答,因此分清所提供的服务清单与未受监管的服务列表之间的差异应该是很容易的。但,正如前文所述例子显示的,要找出都有哪些服务在运行,并不总是那么容易的,想知道这些未受监管的服务是否配置良好,就更不容易了。

幸运的是,罗伯森正在研究该问题的解决方案,以开源项目AP的形式。AP可对你的系统执行详尽的服务发现和入库动作,并存储结果数据以便查询。一旦数据被收集,AP会将系统当前状态与一组IT安全最佳实践进行对比。默认使用数据交换标准协会(DISA)/美国国家标准与技术研究所(NIST)的安全技术实施指南(STIG),但也可定义自己的或选择适合自身情况的最佳实践。

罗伯森还写了一系列博客文章指导用户怎样快速启动和运行AP:

  1. 15分钟获得更好的安全
  2. 1小时获得更好的安全
  3. 半天得到更好的安全

15分钟那篇引导你通过简单几步下载自动化安全脚本来安装AP及其依赖项。推荐在以root用户运行之前花点时间看一下脚本,也多花不了几分钟。

AP依赖于高性能图形数据库Neo4j,因此,下一步就是启动数据库、核心服务和库存代理。几分钟之内,发现和收集就完成了,可产生单个系统的快照。示例如下:

大红框醒目地显示出该系统没遵从 DISA/NIST STIG 安全配置建议。

此时,可开始对数据库进行一系列查询,查看还有其他什么发现。输入 assimcli query list 命令,可得到可用查询的完整列表。要查看与系统互动的IP完整列表,发出 assimcli query allips 命令。示例结果如下:

从结果中显示的 CADMUS COMPUTER SYSTEMS 可以推断出测试用例运行在一台VirtualBox虚拟机上。剩下的条目能看出测试用例的系统十分简单,定义的主机名极少,纳米探针代理运行了极短一段时间。一个产品网络会有大得多的IP列表,相关信息也丰富得多。只要有新的IP在网络中出现,列表就会新增一条,因此该列表会随时间长大。这是发现你现有服务的第一步。AP能从这一个系统扩展到监视你所访问的所有系统。

罗伯森系列文章的第三部分里,他描述了如何远程安装纳米探针代理到你网络中的其他系统中。纳米探针会向CMA服务器发送收集到的配置数据,这样你就能像上文描述的一样,可视化你网络中提供的服务了。短期内,不止你网络中的系统和服务,甚至它们的配置及距离你理想配置的差距,都能被显示出来。

此处可再引用一句拉姆斯菲尔德的名言:“你与现有系统对战,而不是与可能想要或希望拥有的系统对战……” AP提供了一种方法,可确保知晓自身确实拥有的东西。
本文转自d1net(转载)

相关文章
|
4月前
|
安全 虚拟化
在数字化时代,网络项目的重要性日益凸显。本文从前期准备、方案内容和注意事项三个方面,详细解析了如何撰写一个优质高效的网络项目实施方案,帮助企业和用户实现更好的体验和竞争力
在数字化时代,网络项目的重要性日益凸显。本文从前期准备、方案内容和注意事项三个方面,详细解析了如何撰写一个优质高效的网络项目实施方案,帮助企业和用户实现更好的体验和竞争力。通过具体案例,展示了方案的制定和实施过程,强调了目标明确、技术先进、计划周密、风险可控和预算合理的重要性。
89 5
|
14天前
|
存储 网络协议 安全
Java网络编程,多线程,IO流综合小项目一一ChatBoxes
**项目介绍**:本项目实现了一个基于TCP协议的C/S架构控制台聊天室,支持局域网内多客户端同时聊天。用户需注册并登录,用户名唯一,密码格式为字母开头加纯数字。登录后可实时聊天,服务端负责验证用户信息并转发消息。 **项目亮点**: - **C/S架构**:客户端与服务端通过TCP连接通信。 - **多线程**:采用多线程处理多个客户端的并发请求,确保实时交互。 - **IO流**:使用BufferedReader和BufferedWriter进行数据传输,确保高效稳定的通信。 - **线程安全**:通过同步代码块和锁机制保证共享数据的安全性。
65 23
|
6月前
|
机器学习/深度学习 算法 TensorFlow
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
动物识别系统。本项目以Python作为主要编程语言,并基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集4种常见的动物图像数据集(猫、狗、鸡、马)然后进行模型训练,得到一个识别精度较高的模型文件,然后保存为本地格式的H5格式文件。再基于Django开发Web网页端操作界面,实现用户上传一张动物图片,识别其名称。
207 1
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
|
6月前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
212 22
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
6月前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
281 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
6月前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
204 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
5月前
|
机器学习/深度学习 人工智能 算法
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
玉米病害识别系统,本系统使用Python作为主要开发语言,通过收集了8种常见的玉米叶部病害图片数据集('矮花叶病', '健康', '灰斑病一般', '灰斑病严重', '锈病一般', '锈病严重', '叶斑病一般', '叶斑病严重'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。再使用Django搭建Web网页操作平台,实现用户上传一张玉米病害图片识别其名称。
115 0
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
|
6月前
|
机器学习/深度学习 人工智能 算法
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台。果蔬识别系统,本系统使用Python作为主要开发语言,通过收集了12种常见的水果和蔬菜('土豆', '圣女果', '大白菜', '大葱', '梨', '胡萝卜', '芒果', '苹果', '西红柿', '韭菜', '香蕉', '黄瓜'),然后基于TensorFlow库搭建CNN卷积神经网络算法模型,然后对数据集进行训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地文件方便后期调用。再使用Django框架搭建Web网页平台操作界面,实现用户上传一张果蔬图片识别其名称。
145 0
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
7月前
|
计算机视觉
在yolov5项目中如何使用自带摄像机不用网络摄像机进行实时检测?
这篇文章讨论了在yolov5项目中,如何避免使用网络摄像机而改用自带的本地摄像机进行实时目标检测,并提供了解决摄像头打开错误的具体步骤和代码示例。
在yolov5项目中如何使用自带摄像机不用网络摄像机进行实时检测?
|
7月前
|
数据采集 资源调度 JavaScript
Node.js 适合做高并发、I/O密集型项目、轻量级实时应用、前端构建工具、命令行工具以及网络爬虫和数据处理等项目
【8月更文挑战第4天】Node.js 适合做高并发、I/O密集型项目、轻量级实时应用、前端构建工具、命令行工具以及网络爬虫和数据处理等项目
99 5

热门文章

最新文章