点击蓝字
关注我们
始于理论,源于实践,终于实战
老付话安全,每天一点点
激情永无限,进步看得见
严正声明
本号所写文章方法和工具只用于学习和交流,严禁使用文章所述内容中的方法未经许可的情况下对生产系统进行方法验证实施,发生一切问题由相关个人承担法律责任,其与本号无关。
特此声明!!!
终端的定义
我们这里讨论的终端偏向于能够安装操作系统的系统主机,如windows系统主机、Linux系统主机、安卓系统手机、iOS系统手机、pad、物联网(IoT)设备等,能够进行输入输出计算存储的泛终端类设备。由于终端覆盖面广,种类繁多,本次我们先讨论window系统主机终端的问题及防护方法。
windows系统基础知识
系统包括哪些内容?
-
系统核心组件:包括系统目录及文件(C:WindowsSystem32(含系统DLL)、C:WindowsWinSxS(组件存储库)。)、系统启动文件(UEFI固件 → winload.efi → ntoskrnl.exe (内核))、内核模块、驱动等。
-
运行与管理模块:系统服务、应用进程、注册表、计划任务。
-
网络与连接配置:IP/端口、用户账户、命令参数。
-
安全敏感区域:DLL/COM注入、配置更改、安装盘符。
系统运行机制详解
-
启动流程
-
电源通电 → BIOS/UEFI自检 → 加载引导程序(如Windows Boot Manager)。
-
加载内核(ntoskrnl.exe ) → 初始化驱动 → 启动用户界面(explorer.exe )。
-
任务执行流程
-
用户操作:双击应用图标 → 系统创建进程 → 分配内存 → CPU执行指令。
-
数据流动路径
-
读取:硬盘 → 内存 → CPU缓存(L1/L2/L3) → 寄存器。
-
写入:寄存器 → CPU缓存 → 内存 → 硬盘(或网络存储)。
总结来讲:系统开机后,就会加载Windows进程文件,把所有的支撑系统运行的可执行文件加载到内存中,CPU读取内存二进制文件,展示给用户。但是为了减小软件的大小,出现了一些可被多个程序共享的代码与资源的二进制文件,就是动态链接库(DLL),扩展名为.dll。应用程序通过声明依赖的DLL及函数,系统在进程启动时自动加载dll文件到内存中。
几个概念
-
进程:一个正在运行的程序实例。就好比每道菜的烹饪流程(比如煮汤、炒菜),每个流程独立进行但共享厨房资源。
实际场景:打开浏览器会启动一个进程,播放音乐再启动另一个进程。
-
服务:后台运行的“隐形员工”,无界面但维持系统基础功能。就像:餐厅的自动洗碗机、空调系统——你看不到它们工作,但离了它们餐厅会瘫痪。
-
应用:用户直接操作的软件。就像顾客点的菜(如红烧肉、清蒸鱼),由厨师(CPU)按流程(进程)制作,用案板(内存)处理食材。
保证终端主机安全的手段
针对主机安全现在有很多防护措施:
-
传统毒软件
-
主机加固软件(多用于电力行业)
-
白名单防护软件
-
沙箱/虚拟机/容器隔离方案
-
EDR防护方案
鉴于篇幅原因,今天我们先来分析一下杀毒软件
杀毒软件一般有扫描器和病毒库组成。病毒库中就是根据已知的病毒特征,提取出来的特征码,通过正则表达式或者特定字符,判断是否含有病毒,这些都是基于文件的扫描技术。正因为是基于文件的扫描一旦特征码匹配出错就会误删文件,甚至误删系统文件导致系统蓝屏。随着技术的发展,杀毒软件明显显得力不从心,但是这种扫描技术还是有他的优势的,可以排除一些已知病毒。能不能查杀出来病毒,还取决于厂商的研发实力,在这方面的投入。面对无文件dll注入攻击,杀毒软件就无能为力了,因为恶意软件可以伪装成合法的应用程序,平时不运行,只有在应用程序加载到内存中时才运行恶意软件的进程,破坏系统。基于这一点,出现了基于内存扫描技术,可以对进程内存中的代码和运行时动态行为进行扫描和监控。这也成为目前最流行的EDR方案。下一期我们详细阐述一下EDR的利与弊。
END
原文始发于微信公众号(老付话安全):终端安全防护的那些事-Windows
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论