基于NDIS中间层的网络数据包拦截技术及实现

合集下载

防火墙的数据包拦截方式小结

防火墙的数据包拦截方式小结

防火墙的数据包拦截方式小结网络防火墙都是基于数据包的拦截技术之上的。

在Windows下,数据包的拦截方式有很多种,其原理和实现方式也千差万别。

总的来说,可分为“用户级”和“内核级”数据包拦截两大类。

用户级下的数据包拦截方式有:* Winsock Layered Service Provider (LSP)。

* Win2K 包过滤接口(Win2K Packet Filtering Interface)。

* 替换Winsock动态链接库 (Winsock Replacem ent DLL)。

内核级下的数据包拦截方式有:* TDI过滤驱动程序 (TDI-Filter Driver)。

* NDIS中间层驱动程序 (NDIS Intermediate Driver)。

* Win2K Filter-Hook Driver。

* Win2K Firewall-Hook Driver。

* NDIS-Hook Driver。

在这么多种方式面前,我们该如何决定采用哪一种作为自己项目的实现技术?这需要对每一种方式都有一个大致的了解,并清楚它们各自的优缺点。

技术方案的盲目选用往往会带来一些技术风险。

以自己为例,我需要在截包的同时得到当前进程文件名,也就是说,需向用户报告当前是哪个应用程序要访问网络。

在选用Win2K Filter-Hook Driver这一方案之后(很多小型开源项目都采用这一方案),便开始编码。

但之后发现Win2K Filter-Hook Driver的截包上下文处于内核进程中,即IRQL >= DISPATCH_LEVEL,根本无法知道当前应用程序的名字。

相比之下,TDI-Filter Driver和NDIS-Hook Driver则可以得知这些信息。

其中TDI-Filter Driver比NDIS-Hook Driver更能准确地获知当前应用程序文件名,后者的接收数据包和少数发送数据包的场景仍然处于内核进程中。

一种基于NDIS中间层驱动的园区网流量控制方案

一种基于NDIS中间层驱动的园区网流量控制方案

的控制功能最直接的方法就是编写一个 N I DS中间层驱动安装 到操作系统 中, 这个 中间层驱动程序需要受 到客户端应用程序的管理 , 并且接受中心服务器的统一调度 ; 另外 , 为了强制用户计算机安装该驱动 , 还需要
21 0 0年 3月
湖 南 师 范大 学 自然科 学 学 报
J un lo tr lS in e o n n No ma i est o r a fNau a ce c Hu a r l Un v ri f y
V0. 3 No 1 13 . M a ., 01 r 2 0
Байду номын сангаас
Tr f c Co to lt n f rCa a i n r l So u i o mp s Ne wo k b o u t r y NDI n e me it ie S I t r da e Dr r v
CHEN ix n,ZH Zh — i ANG iy n Zh - o g,S o HI Y u
园区网 ; 流量控制 ; DS 网络应用识别 N I;
T32I P0 . 文献 标 识 码 A 文章编号 10 -5 7 2 1 ) 132 - 0 023 (0 0 O 4 90 0 4
阐述 了整个流量控制系统的构成 , 并就核心的 网络应用识别 算法进行 了详细说 明.
关键词
中图 分 类 号
n n e Ac o d n o t e c a a t rsi so i su a c. c r i g t h h r c e it ft s is e,a ta i o to y tm s p e e td.Th o e n t r p l c h r f c c nr ls se i r s n e e c r ewo k a p i — c t n i e t c to lo i a i d n i a in ag rt o i f hm sd s rb d i eal s we la e wh l tu t r ft i y t m. i e c i e n d t i,a l st oe sr cu e o h ss se h

基于NDIS中间层的木马防护机制研究及实现

基于NDIS中间层的木马防护机制研究及实现
a 叶技2 0 1 3 年 第 2 6 卷 第 5 期
El e c t r o ni c Sc i .& Te c h . /M a y .1 5. 2 01 3
基于 N DI S 中 间 层 的 木 马 防 护 机 制 研 究 及 实 现
洪双喜 ,雷
摘 要

4 5 0 0 1 1 )
随着社会信 息化 以及信息 网络化的迅速发展 , 网 络安 全 问题 1 3益 突 出且 越 来 越 复 杂 , 已经 成 为 亟 待解
决 的问题 , 并 引起 各 方 的关 注 。 目前 以木 马 病 毒 对 网 络 系统信 息进 行 的窃取 、 篡改 行 为最 为突 出 , 这对 网络 用户 的信 息 安全 构 成 了 巨大 威 胁 。与 此 同时 , 各 种 病 毒程 序 , 尤 其 是 木 马 程 序 通 过 计 算 机 网络 渗 透 到 P C 机中, 窃取秘密信息 , 给 信 息 系统 或个 人 带 来 严 重 威 胁 。比较 有 名 的 杀 毒 软 件 如 3 6 0 、 瑞 星 等 杀 毒 软 件 可 以对计算 机 起到 良好 的 保 护作 用 , 但 对 已经 潜 入 计 算
HONG S h u a n g x i ,L EI Ta o
( S c h o o l o f I n f o r m a t i o n E n g i n e e r i n g ,N o a h C h i n a U n i v e r s i t y o f Wa t e r C o n s e r v a n c y
t e c t i o n me c h a n i s m i n k e r n e l l e v e l b a s e d o n NDI S i n t e m e r d i a t e d iv r e r t e c h n i q u e o n t h e wi n d o ws p l a t f o m r i s p u t f o r wa r d .

一种基于NDIS驱动的防火墙实现方法

一种基于NDIS驱动的防火墙实现方法

【 要】 摘 :文章分析 了 N I 内部结构和 中间驱动程 序的工作机制, D S的 讨论 了包过 滤防火墙的数据 包拦截技术 , 设计并 实现 了一 个基 于 N I 间驱 动 程 序 的 个 人 防 火 墙 。 D S中 【 关键宇 】 防火墙 ; : 拦截数据 包; D S N I
0 言 .引



















_
图 2具 体 通讯 的流 程
1 N I 间层 驱 动分 析 . D S中
如 图 2当 防 火 墙 没 有 打 开 时 , 动 是 个 完 全 的 P ST U 。 驱 A S HR
数 微 软 和 3 o 公 司 在 18 Cm 9 9年 制 定 了 一 套 开 发 WidW n O S下 行 为 . 据 流 经 驱 动 不 做 处 理 。 当 防火 墙 开 启 时 : A :防火 墙 通 过设 备 控 制 接 口把 事 件 参 考 信 息 发 送 到 驱 动 . 网 络 驱 动 程 序 的 标 准 。称 为 N I (N tokD vr nef e DS e r r e t a w i I rc S eicrn 。 D S为 网 络 驱 动 的 开发 提 供 了一 套 标 准 的接 口, 事 件 对 象传 递 给驱 动 程 序 。 pc a 0 ) N I i f l B驱 动 程 序 通 过 对 象 事 件 处 理 程 序 引 用 该 事 件 对 象并 设 为 : 使 得 网络 驱 动 程 序 的 跨 平 台 性 更 好 . D S处 在 链 路层 和协 议层 N I 非 受 信状 态 。 C防 火 墙 然 后 发 送 共 享 内存 的 地 址 消 息 . 出 取 共 享 内存 : 发 ( ) D S小端 口驱 动 ( np rd vr。这 也 就 是 我们 常说 1N I Miiot r e) i 的地 址 请 求 。驱 动 通 过 验 证 后 , 入 D步 骤 。 进 的网 卡 驱动 D然后 防火 墙 将 开启 一个 现 成 监 视 事 件 , : 如果 事 件 为受 信 . ( ) D S协议 驱 动 (rtcl r e) 例 如 T PP协 议 驱 2 N I Po o d vr。 o i CI 则 标 识 有 符 合 规 则 的 数 据包 拦 截 到 。将 通 过 共 享 内存 读 出数 据 动。 ()N I 中间 层 驱 动 ( t m da r e) 3 DS I e e i edi r。这 是 基 于 链 路 包 显 示 到 日志 中。 nr t v m h eie ma F e \ \ yasu ” _ D v =C t f ( \  ̄ Psd' . c el ”\ M L u 层和 I 之间的驱动。 P层 之 间 。N I 供 以下 几 个 层 次 的 接 口 : D S提 I l l

基于NDIS中间层的通信安全机制的设计与实现

基于NDIS中间层的通信安全机制的设计与实现
维普资讯
Mirc mp t A p c f n V i 4 N . , 0 8 co o ue p H a o s o 2 , o 8 2 0 r i .
文 章 编 号 : 10 — 5 X 2 0 )- 0 6 0 0 7 7 7 (08 8 0 0 — 3
跨 平 台 性 更 好 。 所 有 的 传 输 层 驱 动 程 序 都 需 要 调 用 NDI S
研 究与 设计
微 型 电脑 应 用
20 0 8年第 2 4卷第 8期
基于 N I D S中间层 的通 信 安 全机 制 的设 计 与 实现
陈 小 爱 刘 海 涛
摘 要 :T PI 协 议 本 身安 全性 不是 很好 , 导 致 网络 通 信 存在 各种 安 全 问题 。另 一 方 面 ,越 来越 多 的企 业 开始 通 过 因特 网 C/ P
来越复杂,已经成为亟待解决的问题 ,引起各方越来越大 的 关注和投入 。 目前,主要的网络安全产品有:防火墙系统、
入 侵检 测 系统 ( S 、V N 等 等 ,这 些 网络 安 全 产 品 的 出发 I ) P D
N teM da y 0 av e iT p i
点都是假定 安全 威胁 来 自企业外部 网络 ,而非企业 内部 网 络 。然而根据美 国 F I统计,美国超过 8%的 网络安全事 B 3 故部跟 企业 内部员工有关, 内部网络使用者更加容易获得 企 业敏感或机密信息,从而导致企业有价值的信 息外泄 。 本 文针对企业网络安全的现状 , 出了通过在 Wid ws 提 no N S中间驱动层接 口插入 网络报文的处理模块 ,实现通 用 DI 的 网络 安全 通 信 平 台 。该 通 信平 台为 企 业 提 供 安 全 、可靠 及

内网安全监控系统中NDIS中间层驱动技术的实现

内网安全监控系统中NDIS中间层驱动技术的实现
关 键 词 : 间 层 驱 动 内 网 数 据 ND S 中 I 中图 法 分 类 号 : 3 3 0 TP 9 . 7 文献标识码 : A 文 章 编 号 :0 27 7 ( 0 6 0— 2 30 l0 —3 8 2 0 )40 9—5
Ab ta t Th e e h iu ft e itre t n a d a ay i O aa p c a e sn t r sr c : e k y tc nq e o h n e cp i n n ls f d t a k g s u ig Newo k o s
Dr e n efc p ic t n i h oed ie v l fW id ws2 0 / i rI traeS cf a i nt ec r rv rl e o n o 0 0 XP/ O 3i e pan d Th v i o e 2 O x lie . e s
维普资讯
广 西 科 学 院学 报
J u n l fGu n x a e fS in e o r a a g i o Acd my o ce cs
2 0 , 2 4 :9 ~ 2 7 0 6 2 ( )2 3 9 V0 _ 2 No 4 No e e 0 6 l2 , . v mb r 2 0
f a i i t ft i tc n q e i p o e n a s mp e e sbl y o h s e h i u r v d i a l . i S
Ke r s:nt r dit rv r i t a t da a p c ge, y wo d i e me a e d ie ,n r ne , t a ka NDI S
摘要 : 阐述 在 Wid ws2 0 / P 2 0 n o 0 0 X / 0 3的核 心 驱 动 层 上 采 用 ND S Newok D ie Itr c pcfai ) I ( t r r r nef eS eict n 中 v a i o

NDIS中间层驱动包截获技术解析

NDIS中间层驱动包截获技术解析

NDIS中间层驱动包截获技术摘要:简要概括了NDIS的概念,阐述了NDIS的工作流程,详细说明了如何编写NDIS中间层驱动程序以获得网络封包的详细信息。

并且给出了一些代表性的示例代码,供读者参考。

一.NDIS驱动模型简介NDIS(Network Driver InterfaceSpecification)是网络驱动程序接口规范的简称。

它横跨传输层、网络层和数据链路层,定义了网卡或网卡驱动程序与上层协议驱动程序之间的通信接口规范,屏蔽了底层物理硬件的不同,使上层的协议驱动程序可以和底层任何型号的网卡通信。

NDIS为网络驱动程序创建了一个完整的开发环境,只需调用NDIS 函数,而不用考虑操作系统的内核以及与其他驱动程序的接口问题,从而使得网络驱动程序可以从与操作系统的复杂通讯中分离,极大地方便了网络驱动程序的编写。

另外,利用NDIS的封装特性,可以专注于一层驱动的设计,减少了设计的复杂性,同时易于扩展驱动程序栈。

防火墙的开发一般采用的是中间驱动程序。

通过NDIS中间层驱动,我们可以截获来自网卡的所有原始数据包。

图1则是NDIS中间层驱动的工作过程图图1NDIS中间层驱动程序是工作在MINIPROT和PROTOCOL接口之间的,驱动程序必须向下导出一个PROTOCOL接口,向上导出一个MINIPORT接口。

将自己创建的驱动程序插入到网卡驱动程序与传输驱动程序之间。

如此一来,当下层的网卡驱动程序接收到数据后会通过MINIPORT接口发送到我们导出的PROTOCOL接口上,NDIS中间层驱动程序便接收到了来自网卡的数据并调用我们准备好的回调函数处理数据包信息。

接着NDIS中间层驱动在处理数据包完毕后再继续把数据通过导出的MINIPROT接口向PROTOCOL接口发送。

这样就完成了一个截获数据包的过程。

二.NDIS中间层驱动的工作流程在开始学习NDIS中间层驱动之前,我们有必要了解下NDIS是怎样工作的。

当然这就包括了它的接收数据包的流程了。

基于NDIS中间层驱动的对等网络流量监管机制

基于NDIS中间层驱动的对等网络流量监管机制
进 行 了详 细描 述 . 以设 备 驱动 程 序 开 发 包( D e v i c e D r i v e r Ki t , D DK) 提供 的 P a s s t h r u例 程 为 骨 架对 该 系统进 行 了 实现 , 对共 享 内存 通信 机 制 、 数 据 拦 截机 制和 主 要数 据 结 构 进行 了讨论 . 最
( S c h o o l o f C o mp u t e r a n d I n f o r ma t i o n T e c h n o l o g y , B e i j i n g J i a o t o n g Un i v e r s i t y , B e i j i n g 1 0 0 0 4 4 , C h i n a )
Ab s t r a c t : Wi t h t h e d e v e l o p me n t o f t h e P 2 P t e c h n o l o g y,t h e P 2 P a p p l i c a t i o n o c c u p i e s l o t s o f n e t — wo r k b a n d wi d t h r e s o u r c e s .I d e n t i f i c a t i o n a n d c o n t r o l o f P 2 P t r a f f i c i s a h o t t o p i c n o wa d a y s . B a s e d o n t h e a n a l y s i s o f f o u r r e l a t e d t e c h n o l o g i e s ,a NDI S i n t e r me d i a t e d r i v e r b a s e d s u p e r v i s i o n s y s t e m i s p r o p o ed s ,a n d t h e e n t i t y c h a r a c t e r i s t i c s a r e i n t r o d u c e d i n d e t a i l .Th e s y s t e m i s r e a l i z e d b y u s i n g DDK P a s s t h r u r o u t i n e ,a n d t h e s h a r e d me mo r y c o mm u n i c a t i o n me c h a n i s m ,p a c k e t i n — t e r c e p t i o n me c h a n i s m a n d ma i n d a t a s t r u c t u r e a r e a l s o d i s c u s s e d .F i n a l l y,t h e e x p e r i me n t a l r e s u l t s o f t h r e e c o r l 2 r / l o n u s e d P 2 P a p p l i c a t i o n s s h o w t h e v a l i d i t y a n d u s a b i l i t y o f t h e s y s t e m.

新型违规外联监控系统的设计与实现

新型违规外联监控系统的设计与实现

新型违规外联监控系统的设计与实现作者:潘峰李宝强张电姚前进来源:《信息安全与技术》2015年第06期【摘要】文章深入研究了违规外联发现与阻断技术,针对传统违规外联监控系统的不足,设计了一种新的内网计算机和移动存储介质违规外联行为监控系统。

该系统构建了全方位、多层次、立体化的内网安全风险管理模型,通过主动方式发现违规外联有效避免了国内同类软件存在漏报、误报的问题,通过摄录QR 码(Quick Response Code)方式将互联网数据向内网单向传输极大地简化了硬件部署、缩短了响应时间,通过对进程的操作系统驱动级保护确保系统智能代理常态化运行,通过对Windows平台底层数据包的控制确保外联阻断的有效性,最终实现防止内网计算机终端和移动存储介质违规外联的目标。

【关键词】违规外联;内网安全;底层驱动【中图分类号】 TP393.08 【文献标识码】 A1 引言随着互联网的飞速发展和网络攻击技术的不断更新,网络安全形势日趋严峻,网络失窃密事件时有发生。

为了防范来自互联网的入侵和攻击,各单位各部门建立了与互联网物理隔离的内网来存储和交换涉密信息,同时部署入侵检测、网络防病毒等安全设备和系统,在一定程度上保障了内网信息安全。

但是,一旦内网用户将内网计算机离线或在线接入互联网,内网终端或全部内网将完全暴露在互联网之中,如果违规接入互联网的计算机被黑客控制,损失将难以估量[1]。

特别是涉密便携式计算机更加容易被无意接入互联网,容易遭受“摆渡攻击”,造成失泄密事件。

基于此,加强内网主机和存储介质违规外联行为的监管迫在眉睫。

2 系统总体设计2.1 系统结构组成及功能系统由集中管控中心、告警审计中心、互联网监测服务器和智能代理四部分组成。

集中管理中心由决策管理模块和信息加密模块组成。

集中管理中心完成系统管理和控制功能。

告警审计中心由审计取证模块和查询统计模块组成。

告警审计中心完成违规外联发现告警和违规事件审计取证功能。

基于IMD的Windows网络数据包拦截技术及应用

基于IMD的Windows网络数据包拦截技术及应用

基于I MD 的Windows 网络数据包拦截技术及应用吴 雷1,顾其威1,2(11南京航空航天大学信息科学与技术学院,江苏南京210016;21深圳大学管理学院,广东深圳518060) 收稿日期:2003211216 作者简介:吴 雷(1979-),男,江苏南通人,硕士研究生,主要研究方向为网络安全。

摘 要:随着网络安全问题日益严重,网络安全产品也被人们重视起来。

所有基于Windows 操作系统的桌面防火墙核心技术点在于Windows 操作系统下网络数据包拦截技术。

主要介绍了Win 2dows 操作系统下网络数据包拦截的技术,特别是基于I M D 的网络数据包拦截方法以及应用。

关键词:数据包;驱动;截获Ndis中图分类号:TP309 文献标识码:A 文章编号:16712654X (2004)0120119203引言随着网络的普及,安全问题正威胁着每一个网络用户。

由于黑客攻击和信息泄露等安全问题并不像病毒那样直接了当的对系统进行破坏,而是故意隐藏自己的行动,所以往往不能引起人们的重视。

随着网络安全问题日益严重,网络安全产品也被人们重视起来。

防火墙作为最早出现的和使用量最大的安全产品,也受到用户和研发机构的青睐。

从防火墙的应用角度来看基本上可以分为两种:网络级的防火墙和个人防火墙。

Windows 操作系统作为使用最为广泛的PC 操作系统,因此在Windows 操作系统下开发的个人防火墙产品数不胜数,而所有基于Windows 操作系统的个人防火墙核心技术点在于Windows 操作系统下网络数据包拦截技术。

因为防火墙的核心技术主要是包过滤,其中入侵检测、控制规则过滤、实时监控及电子邮件过滤这些功能都是基于封包过滤技术的,网络数据包截获技术就能够实现封包过滤。

1 Windows 网络体系结构要了解网络数据包拦截技术,首先要对Windows 网络体系结构有一定了解,并且对开发Windows 驱动程序有一定了解。

基于NDIS中间驱动程序的ARP防火墙设计

基于NDIS中间驱动程序的ARP防火墙设计

网络层 的地址并且确定 了一个本地地址 , 它就将此信息放到本 地主机 的 A P缓存 中 , R 以供将来使用 。
2 A P协 议 漏 洞 R
是利用了这_点传 DS 耀
输层驱动程序之间插 入 ・层自己的处理, 从而用来截获网络封包并 重新进行封包, , 加密 网络地址转换 及过滤等 , 由于 N I D S中间驱动 程序位于网卡和传输驱动程 序之间, 所以它可以截获较为底层的封 包 , 而完成更为低级白操作。 9 因数据包过滤发生在 N I D S中间驱动层 , 即处在 N I D S体系
通过 目标主机 的 I P地址来查找 目标主机 MA C地址 。 在局域 网 中, 工作 在第 2 的以太 网交换设备并不 能识别 3 的 I 层 2位 P地 址, 2台主机之 间的通信是靠 4 8位以太网地址来传输以太网数
应 用 层
表 示 屡
应 用程 序
W s c o kAP: I
其地址 的过 程。如果地址都不对 , 这有可能是 由于 主机 刚初 始
化 并 且 有 一 个 空 的 A P缓 存 ,则 发 送 主机 就 用 A P将 目的 主 R R
机 的网络层地址解析 为本地 的硬件地址。一旦发送主机解析了
据包进行截获或放行, 基于 N I D S中间驱动的包过滤系统的设计正
20 08年第 1 期 9
基于 NDI S中问驱动程 序 的
汪 利 鸿
防火墙设 计
f 农业 职业技 术 学 院 , 肃 兰 州 70 2 ) 甘肃 甘 30 0 摘 要 : 分析 了 A P 骗 的原理 、 R 在 R 欺 A P协议 漏洞 的基 础上 , 合 A P防 火墙 的设 计 开发过 程 , 结 R 归纳 并提 出 了 于 N I 基 DS 中间驱 动层 的 具有状 态检 测 功能 、 于主 机 包过 滤式 防火墙 解决 A P欺骗 的 方法和 策略 的具体 实现方 案 。 基 R

基于NDIS的网络监控技术研究

基于NDIS的网络监控技术研究

基于NDIS的网络监控技术研究摘要:由于ndis中间驱动程序位于网卡和协议驱动程序之间,负责与网络的数据包交换,所以它可以截获较底层的封包。

本文描述了基于ndis网络监控体系结构,通过中间过滤驱动实现了对底层网络数据的监控,提出基于ndis中间驱动进行包过滤的原理,工作流程及实现方法,并依据相应的匹配算法和异常检测算法对从底层来的数据包进行包过滤,从而提高系统的监听效率,减轻高层应用对数据包的分析处理负担。

关键词:ndis中间层驱动程序,bslt匹配算法,异常检测,数据包过滤规则中图分类号:u672文献标识码: a 文章编号:一、前言近几年来,随着网络基础建设的完善,网络应用也迅速扩大,网络的迅速发展,给我们的工作和生活带来了巨大的改变。

然而,随着越来越多的用户接入互联网,网络信息安全问题却日益困扰和影响用户对互联网络的信任和使用。

由于互联网发展的历史原因,tcp/ip协议及http、ftp等基于tcp/ip协议的各种应用层协议,在协议设计之初均未考虑安全传输问题。

国际标准组织虽陆续推出了ssl、http1.1等具有安全传输能力的应用层协议,但作为应用层承载协议的tcp/ip协议仍存在着固有的安全缺陷,造成至今未能有彻底的、低成本的、不需硬件支持的互联网安全传输解决方案。

正是由于网络传输存在安全问题,如今攻击网络系统和窃取信息已经不需要什么高深的技巧,越来越多的黑客加入到网络攻击技术的研究行列中,给网络安全带来越来越多的安全隐患。

利用ndis中间驱动可以在网卡驱动程序和传输驱动程序之间插入一层自己的处理,从而可以从截获网络封包并重新进行封包、加密、网络地址转换及过滤等操作。

由于ndis中间驱动程序位于网卡和传输驱动程序之间所以它可以截获较为底层的封包从而可以完成更为低级的操作以及用来编写网络安全软件安全系数也高。

二、基于ndis网络监控系统体系结构的分析ndis[3](network driver interface specification,网络驱动程序接口规范)是微软公司为windows系列平台开发网络驱动程序而制定的。

基于NDIS中间层的网络数据包拦截技术及实现

基于NDIS中间层的网络数据包拦截技术及实现
关键 词 :NDI S中间层驱 动 ; 包过 滤 ; 网络 封 包
中图分类号 :T 33 8 P 9. 0
文献标识码:A
文章编号 :10 - 59( 0 1 0 - 0 0 0 07 9 9 2 1 ) 5 0 5- 2
Ne wo k t r Dat c a eI e c ptn c o o y a d a Pa k g nt r e i g Te hn l g n I p e e a to Ba e n NDI nt r e i t y r m lm nt i n s d o S I e m d a eLa e
t eb sd o a a e n NDI n eme it a e o itr e tn t r aa p c e eDe i n d a d i lme t d u d rW i d ws 2 0 / p k S itr dae ly rt n ec p ewo k d t a k g . sg e mp e n e n e n o 0 0 x n
图 1 N l 动程序 结构 示 意图 DS驱 1微端 口驱 动程 序 . 有 两个 基本 功 能 :其一 管理 一个 网络接 口卡 ( I ) NC ,包括通 过 N C收发 数据 ;其 二提供 与 高层 驱动 程序 之 间的接 口,例 如 中 I
Pe g L a g in n in l g a
( i o a i a dT n esyGu a g 5 0 0 ,h a Gu h uR do n V U i ri , i n 5 0 4C i ) z v t y n
Absr c : de h id w sp af m ,l p c e l rng itr e tn eho ,a e n he a l sso ro s meho st t a tUn rt e w n o ltor al a k tf ti n e c p ig m t dsb s d o t nay i fva u t d , i e i o

基于NDIS

基于NDIS

1引言从应用角度看,防火墙基本上可以分为两种:网络级的防火墙和个人防火墙。

由于Windows操作系统是目前使用最为广泛的PC操作系统,因此在Windows操作系统下开发的个人防火墙产品数不胜数。

然而,所有基于Windows操作系统的个人防火墙,其核心技术一般是基于Windows操作系统下网络数据包的拦截技术。

但是这些技术或多或少的存在着某些缺陷,如基于SPI(ServiceProviderInterface)技术的只能捕获应用层的数据,基于TDI(TransportDriversInterface)技术的不能接收更为底层的数据包(如ICMP),基于中间层驱动程序技术的防火墙安装却又十分麻烦,而且很容易造成网络瘫痪。

而这里讨论的NDIS HOOK技术则很好的避免了这些问题。

首先介绍了NDIS的结构与NDID HOOK原理,然后论述了Windows2000/NT操作系统下如何利用NDIS HOOK(并非中间层驱动程序)技术来实现个人防火墙的方法。

2NDIS系统结构图1NDIS拓扑结构NDIS(NetworkDriverInterfaceSpecification)是Mi crosoft和3Com公司开发的网络驱动程序接口规范。

它为Windows下网络驱序程序的开发带来许多方便,编写符合NDIS规范的驱动程序时,只要调用NDIS函数,而不用考虑操作系统的内核以及与其他驱动程序的接口问题,为操作系统对不同网络的支持提供了方便。

Windows使用NDIS函数库实现NDIS接口,所有的网络通信最终必须通过NDIS完成。

NDIS 负责上下层驱动程序间服务原语和驱动程序入口之间的转换,分派消息通知,保证符合NDIS 的驱动程序无需知道其它驱动程序的入口就可以与之通信。

NDIS横跨传输层、网络层和数据链路层,NDIS的结构如图1所示。

由图1可以看出,微软提供了以下几种标准接口编程方式:(1)小端口驱动程序(Miniportdrivers)(2)中间驱动程序(Intermediatedrivers)(3)协议驱动程序(Protocoldrivers)(4)TDI传输层过滤驱动程序TDIFilter,常见的TcpFilterDriver即属此类。

NDIS数据过滤的实现及应用

NDIS数据过滤的实现及应用

NDIS数据过滤的实现及应用
李宇飞;关钦;李豪;蔡志豪
【期刊名称】《信息网络安全》
【年(卷),期】2013(000)004
【摘要】为了实现网络通信中的数据过滤,利用Windows网络驱动程序接口规范(NDIS)提供的标准开发接口,文章在分析比较几种实现方案后,选取内核实现方案,即在数据链路层与网络层之间添加中间层,从而实现数据过滤.以IP地址作为对象进行测试,结果显示能够很好地限制其他电脑对本主机的访问,证明该方案可行且稳定.在此基础上,文章还预测了该方案的应用前景.
【总页数】4页(P46-49)
【作者】李宇飞;关钦;李豪;蔡志豪
【作者单位】西安电子科技大学通信工程学院,陕西西安710071;西安电子科技大学通信工程学院,陕西西安710071;西安电子科技大学电子工程学院,陕西西安710071;西安电子科技大学电子工程学院,陕西西安710071
【正文语种】中文
【中图分类】TP393.08
【相关文献】
1.CDMA2000 1x EV-DO网络分组域监测系统数据过滤模块实现 [J], 卢叶舟;张治中;陈祥;潘勇
2.GPRS网络Gb/Gn接口数据过滤与分流的实现 [J], 席兵;韩盈盈
3.基于网格的最优网格数据过滤机制研究及实现 [J], 冯晓刚;陈崇成;唐丽玉
4.NDIS驱动程序研究和基于NDIS网络监测程序实现 [J], 孙华领; 顾景文
5.终端匿名器数据过滤模块的分析与实现 [J], 周彦伟;吴振强;肖梁;王宁
因版权原因,仅展示原文概要,查看原文内容请购买。

防火墙技术与应用 第2版课件第5章 基于SPI的简单防火墙实现

防火墙技术与应用 第2版课件第5章  基于SPI的简单防火墙实现
– 在Windows 8.1以上的系统,WFP也能过滤到网卡数据包, 也就是WFP还具有NDIS驱动层的功能。
5.1 Windows平台网络数据包截获技术
❖5.1.2 Windows中的网络数据包截获
▪ 2. 内核层的网络数据包截获
• 综上,大多数个人防火墙可以利用网络驱动程序在 内核态来实现的。利用驱动程序拦截数据包可以在 网络协议栈的不同位置实现,主要有以下3种基本方 法:
▪ 服务提供者的动态链接库只有在应用程序需要时才由 WS2_32.DLL装入内存中,在不需要时则会被自动卸 载。
5.2 基于SPI的包过滤技术
❖5.2.2 基于SPI的包过滤技术原理
▪ 2. 安装LSP
▪ 安 装 LSP 就 是 在 Winsock 目 录 中 安 装 一 个 WSAPROTOCOL_INFOW结构(协议的入口),该结 构定义了分层服务提供者的特性和LSP是如何写入“链” 的,让创建套接字的应用程序可以枚举到它。
▪ Windows操作系统下的网络数据包可以在两个 层面进行拦截:用户层和内核层。
5.1 Windows平台网络数据包截获技术
❖5.1.2 Windows中的网络数据包截获
▪ 1. 用户层的网络数据包截获
• Winsock是Windows网络编程接口,它工作于 Windows用户层,提供与底层传输协议无关的高层 数据传输编程接口。在Windows系统中,使用 Winsock接口为应用程序提供基于TCP/IP的网络访 问服务,因此,可以在用户层进行数据包拦截。
▪ 用户创建套接字时,套接字创建函数(如Socket)会 在Winsock目录中寻找合适的协议,然后调用此协议 的提供者导出的函数完成相应功能。
▪ 应用程序是通过WS2_32.DLL来调用实际的WinSock 函数,这些函数都由服务提供者SPI来提供。

基于Windows内核态个人防火墙的设计与实现

基于Windows内核态个人防火墙的设计与实现

基于Windows内核态个人防火墙的设计与实现作者:何映覃以威李丹来源:《现代电子技术》2012年第06期摘要:为了提高防火墙对非法数据包的拦截能力,增强Windows主机上网的安全性,设计并实现了一个基于Windows内核态的个人防火墙。

它由应用程序和驱动程序2部分组成,其中应用程序负责对数据包进行实时监控以及安全规则实现,并向用户报告防火墙的运行状态或安全事件;基于NDIS中间层驱动程序对数据包进行拦截,采用设备输入和输出控制(IOCTL)方法实现内核态进程与用户态进程间的通信。

测试结果表明,该防火墙能在Windows平台下稳定运行,能够有效拦截非法数据包。

关键词:防火墙; NDIS;中间层驱动; Passthru;进程间通信中图分类号:文献标识码:A文章编号:Design and implementation of personal firewall based on Windows kernel modeHE(College of Physical Science and Technoloy, Guangxi Normal University, Guilin 541004, China)Abstract:In order to improve the firewall′s ability to intercept illegal packets and enhace the security of the host running a Windows OS, a personal firewall was designed and implemented based on Windows kenel mode. It consists of two main parts: application programs which runs in user mode, and driver programs which runs in kernel mode. The received packets are monitoredthe security rules are implemented with the former, and the packets are intercepted with the latterefined IOCTL. The test results show that this firewall can run stably on Windows platform and can effectively intercept all the illegal packets.Keywords:收稿日期:引言防火墙在网络安全防护中具有重要作用,从应用的角度来看,防火墙可以分为企业级防火墙和个人防火墙[1]。

反溯源网络构筑研究

反溯源网络构筑研究

反溯源网络构筑研究张宇宁【摘要】随着计算机网络信息安全问题的日益突出,构筑反溯源网络具有重要意义。

将NDIS中间层驱动技术、P2P隐蔽攻击网络及基于数据特征的混淆算法3种技术相融合,构筑反溯源网络,可有效降低被外界追踪溯源的可能性,确保网络及信息的安全性和可靠性。

%With the development of computer network and information security issues becoming increasingly prominent, it is significant to construct anti source network. The integration of the NDIS intermediate driver technology, P2P covert network attack and obfuscation al-gorithm based on characteristics of data to establish traceability network can effectively reduce the possibility of external tracking and tracing, so as to ensure the safety and reliability of the network and information.【期刊名称】《农业科技与装备》【年(卷),期】2014(000)001【总页数】2页(P50-51)【关键词】反溯源;NDIS;P2P网络;混淆算法【作者】张宇宁【作者单位】65040部队,沈阳 110005【正文语种】中文【中图分类】TP393.08计算机的诞生及网络技术的发展改变了人们传统的生活方式。

人们在网络中尝试着各种应用所带来的便利,但却忽略了网络信息安全。

随着各种溯源技术的发展和广泛应用,躲在屏幕后面的黑客正熟练地运用各种手段及工具,对各种有价值的人和信息进行肆无忌惮的溯源跟踪,人们在互联网中的行为变得透明,网络和信息安全已经受到了严峻考验。

一种基于NDIS网络数据包过滤器的设计

一种基于NDIS网络数据包过滤器的设计

一种基于NDIS网络数据包过滤器的设计
杨永杰;冯军;谢正光
【期刊名称】《计算机应用与软件》
【年(卷),期】2010(27)7
【摘要】网络数据包的过滤广泛应用于信息安全产品的研发中,如防火墙、入侵检测系统、病毒防范等.分析网络驱动程序接口规范NDIS(Network Driver Interface Specification)的体系结构和相关驱动,设计并实现了一种基于 NDIS Intermediate Driver的网络数据包过滤器.实验结果表明,该网络数据包过滤器具有很高的实用价值.
【总页数】3页(P100-101,151)
【作者】杨永杰;冯军;谢正光
【作者单位】南通大学电子信息学院,江苏,南通,226007;南通大学电子信息学院,江苏,南通,226007;南通大学电子信息学院,江苏,南通,226007
【正文语种】中文
【相关文献】
1.基于NDIS中间驱动的包过滤器的设计实现 [J], 蒋华;袁红林
2.基于NDIS中间层的网络数据包拦截技术及实现 [J], 彭亮亮
3.基于NDIS Hook的网络数据包拦截和发送技术研究 [J], 李智鹏;李舟军;忽朝俭;龚广
4.基于NDIS中间层的网络数据包拦截技术及实现 [J], 裴林;曹斌
5.基于NDIS网络数据包过滤技术研究 [J], 严馨
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

஢஢,ңќ摘要:ھz½஢)Tit4om›஢஢ß®가Ї஢fiݖ஢¾zم,가½஢®가zم¾ªԤf,Ґ஢ª) NQt³¶஢¾஢஢fi஢஢஢஢Їb஢஢pԤ஢) Tit4om› ²000/×g ஢஢ß¾஢஢஢஢Ї¾஢fiაԤ஢b关键词:NQt³¶஢¾஢஢;Їݖ஢;஢஢fiЇN¤twork data pa×k¤ts int¤rפption t¤×hnology and impl¤m¤nt bas¤d on NDISint¤rm¤diat¤lay¤rPtt ¢it,lAO Bit(tt›titrt¤ ot T¤·htotogy at4 lomgrt¤ı ³·i¤t·¤,Gri ›hor Ttiv¤ı›ity,Gri yatg ³³00²³,P.R.lhita)Abstract:Thi› gag¤ıataty›i› th¤ may ot th¤mit4om› gtattoım rt4¤ıvaıi o r› ga·L¤t titt¤ı4to·Litg..A4ogtiot itt¤ı·¤gtitg m¤tho4 ot th¤t¤tmoıL 4ata ga·Lag¤4a›¤4 ot th¤NQt³itt¤ım¤4iat¤ t¤v¤t. Th¤t thi›ga g¤ı4i›·r››¤› th¤Q¤›igt at4 imgt¤m¤ttatiiot ot a gtattoım t¤tm oıL 4ata ga·Lag¤ot itt¤ı·¤gtiot at4 gıo·¤››itg. ot Tit4om› ²000/×g rt4¤ı.Key words:NQt³itt¤ım¤4iat¤4ıiv¤ı;ga·L¤t titt¤ıitg;t¤tmoıL4ata ga·L¤t›1 ஢஢随着计算机网络技术的快速发展和 Internet/Intranet 技术日益深入的应用,以及许多新的网络服务的出现,计算机网络与人类的生产、生活、科学技术与文化事业密不可分,使得人们的工作和生活发生了巨大的变化;与此同时也给人们带来了一个十分严峻的问题——网络安全。

一旦网络安全问题发生,通常会引起严重的后果。

为了增强网络的安全性,人们通常在Internet 与局域网之间引入防火墙。

由于 Windows 2000/ X P 是目前广泛应用的操作系统,使得在 Windows 2000/ X P 下保障网络安全通信成为一个迫切需要解决的问题。

基于W indows 平台下的网络安全产品基本上是基于W indows 操作系统下网络封包的拦截技术的实现。

在网络封包拦截的基础上,可以实现数据包的过滤与处理。

数据包过滤[1] 是指在网络层对数据包实施有选择的通过 , 依据系统事先设定好的过滤逻辑, 检查数据流中的每个数据包 , 根据数据包源地址、目的地址 , 所使用的端口号,协议状态等对数据进行过滤。

本文采取在 NDIS 中间层拦截和过滤数据包,因为在此层,无论是网卡接收并上传的数据封包,还是上层要下送至网卡发送的数据封包,无一例外地要经过这里。

所以,它能够截获所有的网络数据包。

在此基础上 , 可以根据帧头和报头分析协议类型,进而可以拒绝截获到任意类型的网络数据包。

²Windows஢஢஢#‰ٿ¢஢½஢$拦截W i n d o w s 下的网络封包可以在多个层面进行,在不同层面所拦截的网络封包结构各不相同。

总的来说可以在两个层面进行:用户态(u s e r-m o d e)和内核态(kernel -mode)。

2.1 用户态下(user -mode) 的网络数据包拦截在用户态下,通常有以下几种方法拦截数据:(1)Winsock Layered Service Provider(LSP);(2)Windows 2000 包过滤接口(3) 替换系统自带的 Winsock 动态连接库2.1.1 Winsock Layered Service Provider( 也称之windows socket 2 SPI)Windows Socket 2 是一个接口,它可以用于发现和使用任意数量的底层传输协议所提供的通信能力。

Winsock 2 不仅提供了一个供应用程序访问网络服务的Windows Socket 应用程序编程接口(A P I),还包含了由传输服务提供者和名字解析服务提供者实现的Winsock 服务提供者接口 (SPI) 和ws2_32.dll。

Winsock 2 SPI(service provider interface) 服务提供者接口建立在 Windows 开放系统架构(windows open system architecture,WOSA) 之上,是Winsock 系统组件提供的面向系统底层的编程接口。

利用这项技术可以截获所有的基于Socket 的网络通信。

其优点包括:(1) 工作在应用层,以D L L 的形式存在,编程、调试方便;(2) 兼容性好,适合各种 Windows 平ª஢஢þ:¾¿஢¾஢஢஢þ(²00³tB0KK4³‘)¾$.஢$封包尚未按照低层协议进行切片,所以比较完整,很容易做内容过滤。

缺点包括:(1) 无法过滤通过 T D I 层的数据报,不用 Socket 的网络通信无法拦截;(2) 如果同时安装几个使用 SPI 技术的软件,对安装顺序要求严格。

2.1.2 Windows 2000 包过滤接口Windows 2000 包过滤接口提供了一种机制,这种机制允许用户态程序或者服务指定一系列的过滤原则,这些过滤原则会被低层的TCP/IP 用来实现过滤包。

这种过滤工作主要是对 I P 原地址、目标地址、端口号(或者端口号范围)进行pass 或者 drop 操作。

此种方式是通过对iphelpapi.dll 函数的调用来实现的。

其优点包括:(1) 由于是对系统函数的调用,兼容性好;(2) 编写方便,系统资源占用极少。

缺点包括:(1) 功能实现受限于系统;(2) 无法过滤 ICMP 报文。

2.1.3 替换系统自带的Winsock 动态连接库此种方法就是编写一个动态连接库替换系统自身的Winsock.dll 或者Winsoc k32.dll,当应用程序需调用动态库时,将首先调用替换后的动态库,这样,就实现了对数据包的过滤。

随着W indows 系统结构的变化,有些方面得到了加强,例如系统文件保护,使得这种技术变得不太可行[2]。

其缺点包括:(1) 要替换w i n s o c k32.d l l 里的每一个函数,工作量大;(2) 由于动态库是公用的,容易引起兼容性问题;(3)Winsock DLL 里面经常有一些未公开的内部使用的函数,替换困难;(4) 随着W i n d o w s 系统结构的变化,此种技术的可行性日益降低。

2.2 内核态(kernel -mode) 下网络数据包拦截技术内核态下的数据包拦截都是基于N D I S 技术。

N D I S 是网络接口规范,横跨传输层、网络层和数据链路层,所有的网络通信最终必须通过NDIS 完成。

Windows 使用NDIS 函数库实现 NDIS 接口。

内核态下能够拦截到比较底层的数据包,但是实现方法比较复杂,需要编写特定的驱动程序,同时对程序的性能,稳定性等要求比较高[3]。

主要有以下几种方法:(1)TDI 过滤驱动程序 (TDI filter driver);(2)NDIS 中间层驱动程序 (NDIS intermediate driver);(3)Windows 2000 Filter-Hook Driver;(4)NDIS Hook Driver2.2.1 TDI 过滤驱动程序 (TDI filter driver)TDI Filter Driver 属于 Upper Drive r,位于t c p i p.s y s 之上,是一个直接在核心 T C P I P 驱动上面的一层过滤驱动。

协议驱动提供了一套系统预定义的标准接口来和应用程序之间进行交互。

在W i n d o w s 2000 /N T 下 I P、T C P、U D P 是在一个驱动程序里实现的 , 叫做t c p.s y s。

这个驱动程序创建了几个设备:2.2.2 NDIS 中间层驱动程序 (NDIS intermediate driver)N D I S 中间层驱动介于协议层驱动和小端口驱动之间,I M D 对上面的协议层表现为一个虚拟的微端口网卡结构,而对于下面的网卡则表现为一个协议层的结构。

无论是网卡接收并上传的数据封包,还是上层要下送至网卡发送的数据封包,无一例外地要经过 NDIS 中间层。

所以,它能够截获所有的网络数据包 ( 如果是以太网那就是以太帧 )。

其优点包括:驱动级别上做过滤,无须组包,速度快,效率较高;可以截获所有的数据包,功能强大。

其缺点包括:编程接口复杂;开发周期长,调测工作量大,测试困难;操作系统版本关系密切,与硬件联系大,可移植性低;IMD DRIVER 安装极为复杂,难于自动化安装。

2.2.3Windows 2000 Filter-Hook Driver从 Windows 2000 开始,I p F ilterDriver 是系统自带的一个驱动,该驱动程序主要是利用i p f iltdrv.sys 所提供的功能来拦截网络数据包。

相关文档
最新文档