安全见闻(4)——开阔眼界,不做井底之蛙

打印 上一主题 下一主题

主题 987|帖子 987|积分 2961

安全见闻四:操纵系统安全机制深度解析


声明

学习视频来自B站UP主 泷羽sec,如涉及侵权立刻删除文章
笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则效果自尊

操纵系统的安全机制构建了网络安全防护的基石,涵盖从注册表、防火墙、自启动机制到内核驱动等多个层面。对于安全职员而言,深入明白这些机制是防范内网渗透、逆向工程和病毒编写等高级攻击技能的关键。本篇文章将详细阐述操纵系统各个焦点组件的安全风险与防护要点,同时联合Windows系统的实际应用场景,展示病毒编写等高级操纵技能的实现途径。

操纵系统机制

1. 注册表

注册表是Windows系统中至关紧张的焦点数据库。它以树状结构构造,包罗“键”和“子键”,类似于磁盘文件系统中的目录结构。Windows注册表中的根键包括五大部分,分别存储着与系统和应用程序运行密切相干的信息​:


  • HKEY_CLASSES_ROOT (HKCR):存储文件类型和应用程序关联。
  • HKEY_CURRENT_USER (HKCU):存储当前用户的个性化设置。
  • HKEY_LOCAL_MACHINE (HKLM):包罗系统、硬件和所有用户的全局设置信息。
  • HKEY_USERS (HKU):存储所有用户的设置。
  • HKEY_CURRENT_CONFIG (HKCC):管理当前硬件的设置。
注册表作为Windows焦点组件,控制了系统的启动、驱动加载及应用程序的运行,是操纵系统安全与稳定性的保障。比方,恶意软件可能通过注册表实现自启动或持久化攻击。攻击者可以通过向注册表的自启动键值添加条目,使恶意软件在系统启动时主动运行。
相比之下,Linux系统采用分布式设置文件管理系统设置,类似于Windows的注册表,但更加开放和机动。Linux中的设置文件散布于文件系统中,并通过文本文件管理各项设置信息。
2. 防火墙

防火墙是操纵系统的第一道安全屏蔽,负责监控和控制进出系统的网络流量。它通过设置规则,允许或拒绝特定的网络毗连,防止外部攻击。然而,防火墙并非万无一失。由于它主要基于数据包包头信息进行检测,防火墙无法辨认通过正当端口流入的恶意流量,也无法拦截绕过防火墙的攻击​。在这种环境下,防火墙应联合其他安全机制,如入侵检测系统(IDS)和入侵防御系统(IPS),以提高防护效果。
3. 自启动与计划使命

自启动机制让系统能够在启动时主动运行某些程序,提拔用户体验。然而,对于攻击者来说,自启动也是实现持久性控制的理想途径。Windows下有多种方式可以实现自启动,常见的包括修改注册表、启动文件夹或服务。
此外,恶意软件还可以通过计划使命实现自启动。攻击者可以使用使命计划程序(Task Scheduler),创建在系统启动或指定时间运行的使命。计划使命的机动性较高,能够设置复杂的触发条件,如系统空闲时或特定事件触发时启动​。
这些机制使得攻击者可以在系统启动时或用户登录时运行恶意程序,并通过清除事件日志、伪装为系统历程、历程注入等方式规避安全检测和日志审查。通过这些技能,病毒能够在系统中隐蔽自己,逃避管理员的监控。
4. 事件日志

事件日志是系统运行过程中的“日记”,记录着系统、应用程序和安全事件。对于防御者而言,事件日志是溯源攻击、发现异常行为的紧张工具。通太过析事件日志,可以确定攻击者的进入路径、所执行的操纵及系统的反应。然而,红队攻击中常见的一个策略是清理或禁用事件日志,掩盖攻击痕迹​。确保事件日志的完整性和及时备份是事件溯源的紧张手段。
Windows 使⽤“事件查看器”管理⽇志⽂件,记录的信息包括应⽤错误、系统警告等。在 Linux 中,⽇志通常存储在 /var/log ⽬录下,常⻅的⽇志⽂件如 syslog 和 dmesg。
5. 内核驱动与装备驱动

内核驱动程序是操纵系统与硬件装备之间的桥梁,它运行在操纵系统的内核层面,能够直接访问硬件资源。由于内核驱动拥有高权限,攻击者可以通过漏洞或恶意的内核驱动程序实现对系统的全面控制。比方,恶意内核驱动可能绕过安全防护机制,直接操纵系统资源​。此外,装备驱动程序负责与特定硬件装备(如显卡、网卡等)通信,其安全性同样至关紧张。恶意装备驱动或驱动程序中的安全漏洞也可能被攻击者使用,破坏系统安全。
在 Windows 中,装备驱动如显卡驱动通过 Device Manager 管理。⽽在 Linux 中,内核模块可以通过命令 lsmod 查看和 modprobe 加载。
6. 系统服务

系统服务是操纵系统中以后台方式运行的程序,用于执行网络服务、打印服务、安全服务等功能。攻击者可通过修改或劫持系统服务实现持久化攻击,或通过暂停防护软件的服务启动恶意程序。因此,定期审查系统服务的设置与状态,尤其是网络和安全相干的服务,对防止攻击者滥用系统资源非常紧张​。
Windows 的服务可以通过“服务管理器”(services.msc)查看和管理,常⻅的服务如
Windows Update。在 Linux 中,systemd 管理服务,命令如 systemctl 可以⽤于启动、停⽌
服务。
7. 历程与线程

历程是操纵系统中执行的基本单位,而线程是历程中的执行路径。攻击者常通过创建恶意历程或隐蔽线程来执行恶意操纵,使用多线程技能加快恶意代码的执行效率。在网络安全防护中,监控系统中的异常历程和线程活动,尤其是具有高权限的历程,是辨认攻击的紧张手段。
Windows 的使命管理器可以显⽰系统中的所有历程。在 Linux 中,命令 ps 或 top 可以查看历程和线程的信息。
8. 系统编程

系统编程涉及与操纵系统底层服务的交互,通过编写程序实现对硬件、文件系统、内存等资源的管理。系统编程是高级安全技能,如漏洞使用、病毒编写、内核开辟等领域的紧张基础。纯熟把握系统调用和API接口,不但有助于编写高效的系统应用程序,还能深入明白操纵系统的内部机制和安全弱点,为应对复杂的网络攻击提供技能支持。
在 Windows 中,开辟者可以使⽤ WinAPI 进⾏系统编程,⽐如控制⽂件、历程、线程。在 Linux 中,POSIX 标准的 API 如 fork()、exec() 提供历程管理功能。
从操纵系统机制看病毒设计

在设计和分析恶意软件时,操纵系统的底层机制为病毒的传播和隐蔽提供了多种途径。在Windows系统中,病毒可以使用自启动机制、计划使命、事件日志等功能实现持久化存在并规避检测。同时,驱动程序的潜伏漏洞也是攻击者使用的紧张切入点。以下将通过几个关键题目详细分析病毒设计的常见方式。
1. 自启动:病毒怎样在系统启动时运行?

在病毒设计中,自启动功能是保证恶意代码在系统每次重启后依然能够主动运行的关键技能。Windows提供了多个位置和方式来添加自启动项:


  • 注册表:病毒可以通过修改注册表的自启动键(如HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run 或 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run)添加自身为自启动项。每次系统启动时,Windows会主动加载这些键中指定的程序。
  • 启动文件夹:病毒还可以将自身或其启动脚本放置在用户的启动文件夹中(C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup),如许在用户登录时也会主动运行。
  • 服务:通过伪装为系统服务,病毒可以添加到Windows服务列表中,并设定为主动启动。通过命令行(sc create)或修改注册表(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services),病毒能够持久地在系统后台运行,不易被发现。
2. 有多少种方式可以实现自启动?

除了上述常见的注册表键和启动文件夹,Windows还支持许多其他实现自启动的机制:


  • RunOnce、RunServices等注册表键:这些键值在不同的启动阶段运行程序。RunOnce只在下一次启动时运行,之后会被删除;而RunServices则在更早的阶段加载服务。
  • 计划使命:通过Windows使命计划程序,病毒可以创建复杂的计划使命,指定其在系统启动、用户登录或特定的时间和事件发生时主动运行。
  • WMI事件订阅:病毒还可以使用WMI(Windows Management Instrumentation)事件机制,创建事件订阅,触发条件后启动恶意程序。这种方法相对隐蔽,能够逃避传统的安全防护。
  • 修改系统文件:病毒可以替换或注入到系统关键文件中,比方DLL注入,使用正当的系统调用机制来实现自启动。
3. 计划使命可否添加自启动?

计划使命是Windows提供的一种功能强盛的主动化机制。病毒可以通过命令行工具(schtasks)或者使命计划程序图形界面创建一个新使命,设定在系统启动、用户登录或特定时间点执行恶意代码。这种方式的机动性使得恶意软件可以在较为隐蔽的环境下定期运行。
计划使命的上风在于其触发条件可以设置得非常复杂,病毒能够在用户不活跃时或特定事件发生时(比方网络毗连创建或文件系统变化)启动,如许大大降低了被用户发现的几率。
4. 病毒何时启动?

恶意软件的启动机遇通常选择在以下几种环境之一:


  • 系统启动时:通过注册表、计划使命或服务的方式,病毒可以在系统启动时第一时间加载,确保恶意行为的连续执行。
  • 用户登录时:通过启动文件夹或用户级别的注册表键(如HKEY_CURRENT_USER),病毒可以在用户每次登录系统时主动启动。
  • 特定时间或事件触发:假如使用计划使命,病毒可以在设定的时间段或间隔时间启动。此外,通过WMI事件订阅,恶意软件可以在系统检测到特定事件(如网络毗连、磁盘挂载)时触发运行。
5. 怎样规避事件日志?

事件日志是系统记录所有操纵和异常的工具,能够帮助管理员溯源恶意行为。为制止被日志记录和分析,病毒通常会采取以下步伐:


  • 禁用或清除日志:一些病毒会尝试禁用系统的事件日志服务,或者定期清除日志文件,防止管理员通过日志发现异常行为。
  • 伪装为系统历程:通过将自身伪装成常见的系统历程(如svchost.exe),病毒可以隐蔽在正常的系统历程列表中,降低被发现的可能性。
  • 历程注入:病毒还可以将自身代码注入到正当历程中运行,通过使用系统历程来隐蔽恶意行为,进一步逃避安全软件的检测。
  • 规避虚拟环境:一些高级恶意软件能够检测其是否处于虚拟机或沙盒环境中,假如发现自己被监控,恶意代码会耽误执行或不执行,从而规避主动化的安全分析工具。
驱动程序的潜伏漏洞

除了自启动机制,驱动程序的漏洞也是病毒编写者的常用攻击手段之一。驱动程序是操纵系统与硬件装备之间的桥梁,分为内核驱动和装备驱动两类。它们运行在系统的焦点层,拥有极高的系统权限,这使得它们一旦被恶意使用,能够直接控制硬件装备和操纵系统的焦点功能。


  • 内核驱动漏洞:内核驱动程序能够直接访问系统的硬件资源和内存,任何未加防护的内核驱动都可能被攻击者使用,实现内核级别的漏洞攻击或提权。这类攻击能够绕过大部分的安全防护机制,由于它们直接控制了系统的焦点。
  • 装备驱动漏洞:装备驱动程序负责与特定硬件(如显卡、网卡等)通信。攻击者可以通过逆向工程分析这些驱动程序的漏洞,进而开辟针对特定装备的恶意代码。比方,在内网渗透中,攻击者可以使用未修补的驱动程序漏洞,提拔权限或进行恶意操纵。
  • 安全对抗与外挂掩护:了解驱动程序的运行机制是病毒编写者和安全研究职员在安全对抗中的紧张技能。比方,许多安全软件会使用内核驱动程序来掩护系统,而攻击者可以通过开辟特定的内核级漏洞攻击工具,绕过这些防护机制。

总结

操纵系统安全是网络安全防护的基础,也是最复杂的一环,涉及内核漏洞、驱动程序等多层面技能。虽然这些技能对新手来说可能显得高深,但提前把握相干知识有助于明白学习方向,渐渐深入明白网络安全的焦点原理。从注册表管理、防火墙控制,到自启动、计划使命和事件日志,每个组成部分都对系统安全有紧张影响。对于安全职员而言,熟悉这些底层机制不但是明白攻击技能的基础,也是有用防御的关键。通过连续学习这些焦点技能,安全从业者能够更好地应对复杂网络攻击,确保系统稳定与安全。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南飓风

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表