计算机网络OSI七层模型学习小知识Word文档下载推荐.docx
- 文档编号:7397225
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:28
- 大小:535.64KB
计算机网络OSI七层模型学习小知识Word文档下载推荐.docx
《计算机网络OSI七层模型学习小知识Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《计算机网络OSI七层模型学习小知识Word文档下载推荐.docx(28页珍藏版)》请在冰点文库上搜索。
互联网的各项应用,其实都是分层的,也就是各位网络达人常说的OSI七层模型,下面我们就来具体看看互联网的OSI七层模型。
一、什么是互联网OSI模型?
OSI(Open
System
Interconnection)是指开放式系统互联参考模型。
在我们的平常使用的计算机网络中存在众多体系结构,如IBM公司的SNA(系统网络体系结构)和DEC公司的DNA(Digital
Network
Architecture)数字网络体系结构等。
由于体系太多,为了能够解决不同网络之间的互联问题,国际标准化组织制定了这个OSI模型。
OSI将网络通信工作分为七层,由高到低依次为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
OSI模型结构图
二、数据如何各层之间传输?
物理层,数据链路层,网络层属于OSI模型的低三层,负责创建网络通信连接的链路,传输层,会话层,表示层和应用层是OSI模
型的高四层,具体负责端到端的数据通信。
每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持,而网络通信则可以自上而下(在发送端)或者自下而上(在接收端)双向进行。
当然,并不是所有通信都是要经过OSI的全部七层,如物理接口之间的转接,只需要物理层中进行即可;
而路由器与路由器之间的连接则只需网络层以下的三层。
三、各层的作用是什么?
各自包括哪些就应用?
1.物理层。
物理层规定了激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。
物理层为上层协议提供了一个传输数据的物理媒体。
属于物理层定义的典型规范包括:
EIA/TIA
RS-232、EIA/TIA
RS-449、V.35、RJ-45等。
2.数据链路层。
数据链路层在不可靠的物理介质上提供可靠的传输。
数据链路层的作用包括:
物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
数据链路层协议的代表包括:
SDLC、HDLC、PPP、STP、帧中继等。
3.网络层。
网络层负责对子网间的数据包进行路由选择。
网络层还可以实现拥塞控制、网际互连等功能。
网络层协议的代表包括:
IP、IPX、RIP、OSPF等。
4.传输层。
传输层是第一个端到端,即主机到主机的层次。
传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。
此外,传输层还要处理端到端的差错控制和流量控制问题。
传输层协议的代表包括:
TCP、UDP、SPX等。
5.会话层。
会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。
会话层还利用在数据中插入校验点来实现数据的同步。
6.表示层。
表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。
表示层的数据转换包括数据的加密、压缩、格式转换等。
7、应用层。
应用层为操作系统或网络应用程序提供访问网络服务的接口。
应用层协议的代表包括:
Telnet、FTP、HTTP、SNMP等。
四、在各层之间,数据是以什么单位进行传输的?
这个问题比较有意思,数据在各层之间的单位都是不一样的,在物理层数据的单位称为比特(bit);
在数据链路层,数据的单位称为帧(frame);
在网络层,数据的单位称为数据包(packet);
传输层,数据的单位称为数据段(segment)。
OSI堆栈安全:
第1层——物理层安全威胁
在这一专题中我们将按OSI分层角度探讨网络安全。
我们将深入研究OSI堆栈,从物理层开始直到应用层。
从分析每一层的漏洞出发,假想攻击这些漏洞的各种可能性,在此基础上讨论各个网络层次的安全防御手段。
在讨论了所有的技术环节之后,并没有忘记“人”对于网络安全因素的影响,因此在OSI七层模型的基础上扩展了“人工层”。
在这一专题中我们将按OSI分层角度探讨网络安全。
现在让我们从物理层安全开始着手。
经常被问到物理层安全性与IT管理员的逻辑网络有什么关系。
我的回答是:
“它关系着逻辑网络的一切!
”我认为如果没有物理层安全,就无网络安全可言。
接下来让我们看看为什么是这样的。
1.Podslurping
你的员工是否听音乐,是否会带着iPod一起工作呢?
这个可能听起来有点无足轻重的问题,可能关系到Podslurping威胁。
Abe
Usher编写了这样一个倍受争议的程序来证明iPod和其他大容量存储设备的危险性。
有可能你的一个清洁员工带着iPod,看起来跟往常一样来做他的晚间工作。
但当所有的人都离开后,这位值得信赖的员工快速地使用Podslurp从一个系统到另一个系统地来回搜索所有目标电脑的子目录以寻找Word文档、PDF、HTML文件,以及其他包含敏感信息的文本文件。
最后,这位工作人员带着30GB或者更多敏感的私密信息离开了。
如果你想了解更多关于Podslurp的信息,可以登陆作者网站。
Gartner
Research建议所有诸如iPods的移动设备都必须禁止带到工作单位。
Samsung已经采纳了这个建议并且禁止员工使用Samsung的最新款手机,因为该款手机拥有8GB的存储。
之所以采取这样的措施是因为Samsung的高级管理认为如此大的存储很容易让恶意的内部人员有机会窃取大量的重要保密消息。
因此我也赞成这样的举措。
2.密码插入
可能你并不认为这会是个问题。
你相信你所有的系统都是上锁的。
没有用户名和密码,任何人都没有办法进入!
如果你真的是这样认为的,那么让我们来看看物理威胁的另外一个做法:
密码插入和密码提取。
密码插入可以通过执行一些程序来完成,如NT
Password。
这个程序所需要的就是建立系统的物理访问,以及能够从软盘和其他设备上启动系统。
当黑客启动了这个基于Linux的程序,那么他接下来就只需简单地回答一系列关于他希望登录哪个帐号以及他想修改的用户新密码的问题。
这样用户的密码就被重置了,从而恶意的用户就可以进入系统了。
如果系统加密了或使用其它保护措施,这个工具就不一定会成功。
然而,即使已经采取了一定的保护措施,攻击者还是有其它方法可以选择。
其中一项就是物理密码提取。
3.密码提取
密码注入允许攻击者重新设置密码,而密码提取则允许攻击者提取密码然后破解密码,这样他就可以访问目标电脑。
攻击者所需要的只是一个可启动的Linux版本。
如发行版Knoppix
STD的就有这样的工具。
攻击者只需简单地使用Knoppix
CD启动系统,然后提取Security
Accounts
Manager
(SAM)——它保存了Microsoft系统的加密的用户名和密码——和系统文件到USB驱动器。
接着,他将这些文件转移到Windows系统上,并使用如SAMInside的程序绕开Syskey而从SAM提取出密码。
然后,他就可以将结果加载到密码恢复程序LCP上进行破译。
4.USB驱动器和AutoRun
USB
我们最后要探讨的是AutoRun
和USB驱动器的危险。
对于攻击者而言,在CD和驱动器上留下一个类似于“待付报酬”的诱人的标签并不难。
如果你发现了这个标签,可能你很想知道到底是怎么一回事。
如果AutoRun是激活的而你又启动了该磁盘,那么就完了——许多恶意脚本就会马上被执行。
Microsoft总结的10条不变的安全法则中的第一条就是:
“如果这个坏蛋能够说服你在你的电脑上运行他的程序,那么你的电脑就不再是你的了。
”人们真的可能让好奇心占据上风的。
最近一个在DarkR上标题为“Social
Engineering
the
Way”的报道描述了一个安全顾问是如何通过使用USB驱动器执行穿透测试来进入银行系统的。
所有物理攻击需要的只是一个装载在20个USB驱动器上的自定义脚本。
这些驱动器都放置在员工停车区。
20个中有15个被找到,并且它们都被插入到银行的电脑中。
限制AutoRun和控制员工的电脑USB端口的接入,对于你的网络安全来说都是至关重要的。
物理安全最重要的方面就是控制。
如果你能取得一个设备的物理控制,那么这基本上也就意味着你可以轻易地控制这个设备的行为。
这也就是为什么物理安全比其他的安全都重要的原因。
从窃取数据到硬件修改的很多方面,物理安全在很多方面都可能受到攻击。
每一种攻击都可能提供了访问权限或理解安全控制是如何工作的。
或许你无法禁止一切,但是安全人员需要与管理部门认真地讨论什么是允许的,谁能够访问资源,以及他们是如何被控制的。
无论最终决定如何,都必须建立恰当的策略来实施管理层的决定。
这个策略必须能解决所有的物理安全问题。
关于作者:
Michael
Gregg在IT和网络安全方面已经有15年的工作经验。
他是风险评估和安全咨询公司Superior
Solutions
Inc的创始人和CTO。
他已经开发了高水平的安全级别,并且写作了6本书,最近的一本是Hack
Stack:
The
Eight
Layers
of
an
Insecure
Network。
第2层——理解ARP的作用
在OSI模型的第2层是数据链路层,该层提供了网络节点间的数据传输机制。
该层重要的原因是它负责将数据分割成帧进行传输。
在数据链路层上有许多值得我们探讨的不安全因素,但是其中最重要的是地址分辨协议(ARP)处理。
ARP是更适用于可信网络的。
它用于将已知IP地址解析到未知MAC地址。
在处理数据包并传输到下层堆栈时,数据链路层负责将数据包分割成帧。
如果网络层已经提供了IP地址,那么数据链路层就必须提供一个物理地址。
这就是ARP的任务。
当两台主机需要进行通信时,它必须能够提供目标设备物理地址。
如果最终的目标不是在本地,那么ARP还必须能够解析网关的MAC地址,这样数据帧才能恰当的寻址。
既然ARP是一个基于信任的协议,那为什么网络或软件安全工程师要关注这个问题呢?
当初集线器广泛使用的时期,攻击者并不十分关心ARP程序。
因为如果想要在LAN上拦截流量,攻击者所需要做的只是简单地启动一个嗅探器(Sniffer),如Wireshark。
这就是所谓的消极嗅探。
集线器会将所有流量转发到所有的端口,因此,攻击者只需要将他的网卡放置于混杂模式就可以了。
交换机改变了这种动态的攻击,因为目前很多网络都使用交换机。
消极的嗅探为攻击者所提供的只是微乎其微的信息。
他所看到的流量只是传输到他界面的单播流量或传输到所有端口的广播流量。
这就意味着攻击者是被迫操作ARP程序的。
如果他想看到其他用户的流量,那么他必须尝试积极嗅探。
简单来说,积极嗅探要求攻击者在网络中加入封包,然后致使将他无法正常接收的流量发送到他的系统上。
攻击者有几种方式可以实现积极嗅探。
第一种是ARP病毒。
这包括欺骗一个主机,让它相信攻击者的主机IP地址属于网络上的另外一台主机。
这种方式通常以发送不必要的ARP响应,以及侵占交换机的内容寻址存储器(CAM)和本地的其它系统上的ARP缓存。
最常见的ARP病毒目标就是网关。
如果攻击者能够观察到所有传输到网关的流量,那么密码、RTP、Telnet、e-commerce以及其他的敏感数据包都可以被嗅探到。
通过欺骗网关的IP地址,在攻击者主机所在子网上的所有主机都将路由经过他的系统。
这种方法能够凑效,但是不是非常的隐密。
它要求攻击者必须侵占他所在子网上所有主机的ARP缓存。
对于攻击者来说,只侵占一个主机上的ARP缓存就隐密得多。
有一些免费工具可以帮助攻击者实施这种攻击,包括:
Cain
Ettercap
WinARPAttacker
第二种积极嗅探方法是尝试使用ARP淹没来绕开交换机的功能,这种情况攻击者通过大量发送包含不同MAC地址的数据包时发生。
这个做法的本质是淹没交换机的CAM。
当一些交换机超负荷时,它们将进入类集线器模式。
这时交换机会因为不堪重负而将所有流量广播到所有端口上。
不管使用哪种方法,它们都可能绕开交换机的安全保护机制。
重要的是工程师们能够意识到这一点并且针对这些攻击开发出有效的应对措施。
加密、安全协议和对网络异动的主动监控都可以帮助防御这一类型的攻击。
此外,交换机本身还可以发挥更大的作用,很多现代的交换机提供检测技术,如动态ARP检测(DAI)。
这种技术可以用以检查ARP数据包以及确保它们的有效性。
DAI允许网络工程师们拦截、记录和摒除带有无效MAC地址的ARP数据包。
这些简单的措施能够显著地减少攻击者在数据链路层成功加载攻击的能力。
第3层——ICMP的作用
OSI模式的第3层是网络层。
数据链路层提供节点间的连接,而网络层则负责路由转发及实现路由表协议。
其中最主要的就是互联网协议(IP)。
网络层上还提供其他的服务,如互联网控制消息协议(ICMP),这是本文所要探讨的。
ICMP是专门用作逻辑错误和诊断的信使。
RFC792对它作了详细的阐述。
任何IP网络设备都有发送、接收或运作ICMP消息的功能。
虽然ICMP的设计者没有考虑今天出现的安全性问题,但是他们已经设计了一些能使ICMP更有效运作的基本准则。
1.
为了确保ICMP消息不会淹没IP网络,ICMP没有任何特别的优先级,它总是一种常规流量。
2.
ICMP消息作为其他ICMP消息的响应而发送。
这个设计机制是为了防止出现一个错误消息不断地重复制造出另一个错误消息。
否则,它就真的是个大问题了。
3.
ICMP不能作为多播或广播流量的响应而发送。
知道了这些ICMP基本准则后,我们再来关注下ICMP报头的格式。
设计好的ICMP的报头就包含了一个类型域和代码域。
通常ICMP包含以下类型:
0
Echo
Reply
(Ping)
3
Destination
Unreachable
4
Source
Quench
5
Redirect
Message
6
Alternate
Host
Address
8
Request
9
Router
Advertisement
10
Solicitation
11
Time
Exceeded
类型域和代码域可以一起用于确定ICMP消息的发送原因。
例如,类型3表示一个目标不能到达。
在类型3消息中有16位唯一码。
该代码标识了目标为什么不能到达。
其中可能包括网络问题(代码0)、路由阻挡数据包(代码13),或者甚至是应用不在目标计算机(代码3)。
最常见的ICMP信息类型是8/0,它是一个呼叫请求/回答(ping)。
现在有很多基于ICMP开发的网络工具。
Traceroute就是其中的一个。
Traceroute以连续地发送有序编号的IP
TTL数据包来寻找ICMP
TTL溢出的返回消息。
通过它的这个设计,你能发现ICMP是一个非常有用的网络工具。
但是,它也是最常用的和最滥用的协议之一。
现在,让我们来看看一些关于ICMP滥用的情况。
ICMP滥用
之前介绍过使用ping作为基本的连接工具。
但它也被黑客广泛地用来在攻击前进行连接验证。
你是无法攻击一个没有连接上和没有启动的系统——而ping则是帮你发现系统是否正在运行的好办法。
由于这样的问题太多了,以致目前很多网络都阻挡了ping。
虽然这样做是一个好的开始,但是它并没有完全解决问题。
比如,隐藏工具Loki就是一个例子。
1996年Phrak的地铁杂志上发布了Loki,它是一个概念验证工具。
如果安装在内部电脑上,Loki可以使用ICMP回叫网络外的黑客。
管理员看到的只是发出的新ping流量,而黑客则事实上已经建立了隐秘的通道。
ICMP协议从而正被用于消息传送。
但是,只要在防火墙上同时阻挡进出的ICMP就可以解决这个问题。
与ICMP相关的另一个潜在问题是它在拒绝服务(DoS)攻击中的使用。
Smurf就是一个例子。
Smurf使用ping数据包来滥用ICMP。
它会发送坏ICMP数据包。
它能修改目标地址以将数据包发送到网络节点的广播地址。
而源地址则已经被重新指定为被攻击者地址。
在大型的网络上,很多系统都会响应广播ping。
这样攻击的结果是导致被攻击者被ping响应流所淹没,以致合法的访问被阻断。
在2002年发生了一个类似的、针对核心DNS服务器的攻击案例。
管理员可以在Cisco路由器上添加以下命令来防止他们的网络响应Smurf流量:
no
ip
directed-broadcast.
ICMP还可以用于辅助进行端口扫描和OS识别,这也叫做指纹识别。
它是攻击过程中一个必要的步骤。
毕竟,在不知道目标系统运行状态的情况下,攻击是无法成功的。
例如,黑客可能只有一个针对Windows
XP的攻击,因此它对于Windows
2003系统就没有用了。
指纹识别是用于识别OS的。
当进行指纹识别时,黑客会使用一个扫描工具来向目标系统发送一系列正常的、特有的以及异常的ICMP查询。
接着,扫描工具会观察响应并将它们与数据库进行比较。
ICMP是设计用于更可信网络的。
有了ICMP的所有功能,如果它可以在网络上自由的进出,那么它将会是非常实用的。
但是,事实上并不是这样的。
如果你的目的是为了使网络更加的安全,那么要尽可能地在重要的网络访问端口阻截和禁用ICMP。
你的选择将会丢弃或拒绝流量。
但是,这些都由你自己来决定。
从安全的角度考虑,丢弃数据包可以减少信息的泄露并使黑客更加难以收集到信息。
而拒绝数据包会使服务能发现操作失败并快速地中止,而这使使网络更加容易受到攻击了。
基于这些原因,作者建议选择丢弃ICMP数据。
第4层——指纹识别
【TechTarget中国原创】OSI模式第4层是传输层,它位于OSI模式的中间。
这一章将阐述指纹识别以及其与传输层的关系。
指纹识别是操作系统(OS)级功能。
为了更好的理解指纹识别是如何工作的,我们首先需要回顾一下传输层的一些基本概念:
身份验证。
比如,客户端是运行MAC
OS10、BSD还是Windows
2003服务器呢?
有两个与传输层相关的主要协议:
第一个是用户数据包协议(UDP),它是一个无连接的协议。
UDP并不提供可靠性机制,它的设计目标是提高速度。
另一个是传输控制协议(TCP),它是基于连接并以可靠性为设计目标的。
TCP的可靠性是通过使用流控制、错误检测校验码、确认序列号、窗口大小定义以及进程启动和关闭来实现的。
TCP还使用了一套控制位和标记。
这些标记是用来控制数据流的。
下面是一些常见的标记:
URG:
表示紧急数据
ACK:
表示确认序列值。
确认序列数字很重要,它必须经过接受者的检验。
RST:
表示重置。
RST可以用于终止一个出现问题的连接。
SYN:
表示同步。
SYN用于启动一个会话。
FIN:
表示完成。
FIN用于在会话结束时,它会发送会话清除信号。
在创建连接的过程中,TCP和UDP都充当了中间人的角色。
其中,传输层是负责主机间的连接。
当说到连接问题时,你可以想象一下打电话的情景。
听到电话那头某人的应答声你就可以知道很多信息——他(她)是年轻的还是年老的,是男人还是女人。
当黑客尝试识别攻击目标时,指纹识别的功能与这种情况非常相似。
被攻击目标必须在攻击加载之前被识别。
可以是积极的或消极的。
被动的指纹识别
被动的指纹识别很难检测的。
它并不需要在网络中注入流量,而更像是一个数据包嗅探器。
被动的指纹识别工具能检测数据包,并查看其中的IP、ICMP和TCP报头的默认值,从而确定创建数据包的操作系统的类型。
虽然被动的指纹识别可能没有主动的指纹识别准确,但它却是非常很隐蔽的。
诸如Siphon、Ettercap
和p0f等工具都是基于被动概念的。
如果想阅读更多关于被动的文章,可以浏览来自Honeynet
Project:
了解你的对手:
被动的指纹识别的文章。
为了更好的了解被动的指纹识别是如何工作的,让我们来进一步地看看程序p0f。
这个被动的指纹识别工具是使用p0f.fp文件来存储已知的OS作业系统的“指纹”。
如下是该文件的一小部分:
-----------------
MacOS
-------------------
32768:
255:
1:
48:
M*,W0,N:
.:
MacOS:
9.0-9.2
OpenBSD
-----------------
16384:
64:
M*,N,N,S,N,W0,N,N,T:
OpenBSD:
3.0-3.4
我们先看第一项,我会详细介绍前面的四个字段。
首先,值“32768”是TCP的最初窗口大小。
下一个值“255”是IP
存活时间(Time-To-Live,TTL)。
紧跟着的“1”表示IP是非分片位。
第四个字段“48”定义了TCP
SYN数据包的字节总长度。
这些数字唯一地定义了一个MAC
OS
9操作系统。
将这些数值与OpenBSD的进行比较,你可以看到相当大的差别。
这意味着每个供应商在设计一个OS时都使用稍微有些差别的值。
这些差别可以用来识别出不同的系统。
如果你希望了解更多关于p0f的信息,可以浏览p0f应用主页。
主动的指纹识别
主动的指纹识别不像被动的指纹识别那样低调。
入侵检测系统(IDS)无法检测到被动的指纹识别,但是是可以检测到主动的指纹识别。
黑客可以从主动的指纹识别中获取理准确的数据。
主动的指纹识别是通过发送特定格式化的TCP数据包实现的。
结果是每个目标会对这些有害的数据包作出不同的响应。
其中常见主动的指纹识别工具有Xprobe2和Nmap。
Nmap是通过向目标主机发送不同类型的数据包实现识别的。
一旦Nmap识别了至少一个开放和一个关闭的端口,它就可以开始进行实际的OS识别了。
Nmap可以发出大量带有不同TCP标记或TCP选项的数据包。
目的是希望其中的某一个数据包能够引起目标系统的响应。
例如,发送一个带有SYN、FIN、PUSH
和URGENT标记的TCP数据包进行扫描。
这显然便不是一个正常的数据包。
虽然针对被动扫描的防范是有限的,但是IDS工具可以用与检测主动的指纹识别。
嗅探也可以用于匹配已知的主动的指纹识别扫描模式。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 OSI 模型 学习 知识