网络映射到图
网络拓扑是几何图
每个计算机网络都有一个拓扑:节点(设备)和边(连接)的几何排列。拓扑决定容错性、带宽和安全属性。
五种基本拓扑:
- 星形:一个中心枢纽,所有节点都连接到它。简单、便宜。单点故障:如果枢纽宕机,一切都宕机。N个节点需要N-1条边。
- 环形:节点形成一个圆形,每个节点连接到两个邻居。单个断裂会分割网络。N个节点需要N条边。
- 总线:所有节点共享一条主干电缆。便宜但容易发生碰撞。一条主干故障会导致一切都宕机。
- 网格:每个节点连接到其他所有节点。最大冗余性。N个节点的完全网格具有N(N-1)/2条边:即O(N²)个连接。昂贵但高度容错。
- 树形:分层分支。N-1条边(最小连通图)。根故障会分割子树。
真实网络是混合型:具有星形拓扑接入层的网格核心、树形结构的路由层次结构和关键节点处的环形拓扑冗余。
拓扑和容错性
一个数据中心有20台服务器。运维团队在内部网络的完全网格和星形拓扑之间进行辩论。
暴露的几何学
攻击面=几何边界
在网络安全中,攻击面是攻击者可以与系统交互的所有点的总集合。从几何学的角度思考:你的系统是一个形状,它边界上的每一个点都是潜在的入口点。
攻击面的组件:
- 网络面:每个公共IP地址上的每个开放端口。一个有5个开放端口的服务器在其网络边界上有5个点。
- 应用面:每个API端点、每个URL路由、每个表单输入。一个有200个路由的网络应用程序有200个应用层边界点。
- 人类面:每个有凭证的员工、每个网络钓鱼目标。社会工程攻击针对人类周边。
- 物理面:每个服务器室门、每个USB端口、每个网络插孔。
几何原理:通过最小化可信区域和不可信区域之间的边界来改善安全性。防火墙定义了一个几何边界:边界内的流量是可信的,边界外的不是。边界中的漏洞越少,攻击面越小。
这解释了为什么最小权限原则是几何的:给每个组件它需要的最小边界暴露来发挥作用。
减少攻击面
一家公司运行一个网络应用程序,具有以下暴露:12个公共API端点、在所有50台服务器上开放SSH(端口22)、一个具有公共IP的数据库以及从互联网可访问的管理面板。
攻击图和威胁树
威胁建模使用图论
安全专业人士将威胁建模为有向图。这些图的结构揭示了攻击路径、高价值目标和防御优先级。
攻击图:节点代表系统状态(或单个系统)。有向边代表可能的转变:漏洞利用、横向移动、权限提升。攻击路径是从外部节点穿过此图走向目标节点的路径。
威胁树:一种特化的图结构。根节点是攻击者的目标(例如'窃取数据库')。子节点是实现父目标的方法。叶子是具体的攻击行为。AND节点需要所有子节点成功;OR节点只需要其中一个。
图中心性识别高价值目标:
- 中介中心性:很多最短路径通过的节点。在网络中,这是瓶颈:控制它,你就控制了流量。防火墙或域控制器通常具有高中介中心性。
- 度中心性:具有许多连接的节点。在攻击图中,从许多其他节点可达的节点是高价值的横向移动目标。
最短路径=最可能的攻击向量:攻击者优化最少步数。攻击图中从互联网到数据库的最短路径是最可能的攻击路由。防御意味着使最短路径更长:添加攻击者必须遍历的节点(安全控制)。
攻击图分析
考虑具有此结构的网络:互联网→Web服务器→应用服务器→数据库。Web服务器也连接到文件服务器。应用服务器连接到备份服务器。攻击者的目标是数据库。
椭圆曲线密码学使用几何学
椭圆曲线:几何学变成加密的地方
椭圆曲线密码学(ECC)是安全性字面上建立在几何操作上的少数地方之一。
椭圆曲线是满足以下条件的点(x,y)的集合:y²=x³+ax+b(加上特殊的'无穷远点')。在实数上,这看起来像一条平滑、对称的曲线。
点加法:使密码学工作的几何操作:
1. 在曲线上取两个点P和Q。
2. 通过P和Q画一条直线。
3. 该线与曲线恰好在另一点R'相交。
4. 将R'在x轴上反射得到R=P+Q。
这个'加法'操作形成一个数学群:它是结合的,有一个单位元素(无穷远点),每个点都有逆元。
标量乘法:将点P加到自己k次得到kP。向前(给定k和P计算kP)是快速的:使用二倍-加法的O(log k)操作。向后(给定P和kP找k)是椭圆曲线离散对数问题(ECDLP):对于大曲线被认为是计算上不可行的。
这种不对称性是现代TLS的安全基础。 你浏览器的HTTPS连接可能使用ECDHE(椭圆曲线迪菲-赫尔曼临时):双方通过在椭圆曲线上交换点来同意共享秘密,没有窃听者可以在不解决ECDLP的情况下恢复秘密。
为什么几何学是好的密码学
ECC提供与RSA相同的安全性,但密钥大小小得多。256位ECC密钥提供大约与3072位RSA密钥相同的安全性。