声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章
感谢泷羽sec 团队的教学
视频地址:安全见闻(4)_哔哩哔哩_bilibili
学无止境,开拓自己的眼界才能走的更远
本文主要讲解操作系统和驱动程序。
一、操作系统
操作系统,作为计算机系统的核心,负责管理硬件资源、提供用户界面、执行应用程序等。其安全性直接关系到整个系统的稳定运行和数据安全。了解操作系统的常规组成部分,如注册表(Windows特有)、防火墙、自启动机制、计划任务、事件日志、内核驱动、系统服务等,是掌握其安全性的基础。
注册表(Windows特有):存储了系统配置、用户设置、应用程序信息等,是系统管理和优化的关键。简单来说,注册表是windows系统来记录和修改用户设置的,不论是软件还是硬件。
注册表的数据结构:
注册表由项(也叫主键或称“键”)、子项(子键)和值构成。一个项就是分支中的一个文件夹,而子项就
是这个文件夹当中的子文件夹,子项同样它也是一个项。一个值则是一个项的当前定义,由名称、数据类型以
及分配的值组成。一个项可以有一个或多个值,每个值的名称各不相同,如果一个值的名称为空,则该值为该
项的默认值。
在注册表编辑器(regedit.exe)中,数据结构显示如下,其中,command键是open项的子项,(默
认)表示该值是默认值,值名称为空,其数据类型为REG_SZ,数据值
为%systemroot%/system32/notepad.exe"%1数据类型。
注册表的数据类型主要有以下四种:显示类型(在编辑器中)数据类型说明
REG_SZ:字符串:文本字符串
REG_MULTI_SZ:多字符串值:含有多个文本值的字符串
REG_BINARY:二进制数:二进制值,以十六进制显示,
REG_DWORD:双字值;一个32位的二进制值,显示为8位的十六进制值。
win+r键,运行,输入regedit,即可看到注册表
防火墙:监控并过滤进出网络的数据包,防止未经授权的访问。
windows中的防火墙:控制面板-->系统和安全-->Windows Defender防火墙
Linux中的防火墙:
查看firewall服务状态
systemctl status firewalld
出现Active: active (running)切高亮显示则表示是启动状态。
出现 Active: inactive (dead)灰色表示停止,看单词也行。
查看firewall的状态
firewall-cmd --state
开启、重启、关闭、firewalld.service服务
开启
service firewalld start
重启
service firewalld restart
关闭
service firewalld stop
查看防火墙规则
firewall-cmd --list-all
自启动:允许程序在系统启动时自动运行,是病毒和恶意软件常用的入侵手段。
Windows中的自启动:设置-->应用-->启动
Linux中的自启动:
把服务设置为开机启动
systemctl enable httpd.service
取消服务的开机自启
systemctl disable httpd.service
计划任务:设定程序在未来某个时间点自动执行,同样可能成为恶意代码的藏匿之处。
Windows中的计划任务:计算机-->管理-->任务计划程序
Linux中的计划任务:
编辑定时任务:crontab -e
查看定时任务:crontab -l
* /1* * * * echo `date +\%T` >>/tmp/time.txt 每过一分钟往该文件中记录当前时间
事件日志:记录系统发生的各种事件,是故障排查和安全审计的重要依据。
Windows日志:WIN+R打开运行框,运行 eventvwr.msc 命令,打开事件查看器
Linux日志查看:
内核及系统日志:
- 记录Linux内核的运行信息、错误信息以及系统整体的运行情况。
- 通常由系统服务rsyslog统一管理,并根据其主配置文件/etc/rsyslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么位置。
- 常见的内核及系统日志文件包括/var/log/messages、/var/log/syslog等。
用户日志:
- 记录Linux系统用户登录及退出系统的相关信息,包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等。
- 常见的用户日志文件包括/var/log/wtmp、/var/log/lastlog等。
应用程序日志:
- 记录各个应用程序的运行情况、错误信息等。
- 通常保存在应用程序的特定目录下,但也可能由rsyslog统一管理。
- 例如,Apache的日志文件通常位于/var/log/apache2/目录下,包括access.log和error.log等。
安全日志:
- 记录系统的安全事件信息,包括登录、权限变更等。
- 对于系统安全至关重要,可以帮助系统管理员及时发现并响应安全威胁。
- 常见的安全日志文件包括/var/log/auth.log、/var/log/secure等。
查看日志的命令通常包括
cat
、less
、tail
、grep
等。例如,使用cat
命令可以查看日志文件的全部内容,使用less
命令可以分页查看日志文件的内容,使用tail
命令可以查看日志文件的末尾部分(通常是最新添加的内容),而使用grep
命令则可以在日志文件中搜索特定的关键字或模式。这些命令可以组合使用,以便更有效地查看和分析日志文件。
内核驱动:直接与硬件交互,管理硬件资源,其安全性至关重要。
系统服务:在系统后台运行的程序,为系统和其他程序提供支持。
Windows中的服务:计算机-->管理-->服务
Linux中的服务:
查看所有服务列表
systemctl list-unit-files
启动服务
systemctl start httpd #start启动
停止服务
systemctl stop httpd #stop停止
重启服务
systemctl restart httpd #restart重启
二、驱动程序
驱动程序,作为连接操作系统与硬件设备的桥梁,其重要性不言而喻。它们负责解释操作系统发出的指令,并将其转化为硬件设备能理解的信号,从而实现设备的正常运作。了解驱动程序的基本概念和编写原理,对于深入理解计算机系统、进行安全对抗具有重要意义。
- 潜在漏洞:驱动程序中的漏洞往往成为黑客攻击的目标,如内网渗透、逆向工程、病毒分析等。
- 内核驱动:直接运行在操作系统内核中,具有最高权限,一旦被利用,将严重威胁系统安全。
- 设备驱动:针对特定硬件设备开发的驱动程序,其安全性直接影响到该设备的使用。
在安全领域,了解驱动程序的底层逻辑有助于发现并利用其潜在漏洞进行安全测试或防护。例如,在编写病毒或进行逆向工程时,可能需要利用驱动程序的底层权限来绕过安全软件的检测;而在进行外挂保护时,则可能需要深入理解驱动程序的工作原理,以制定有效的对抗策略。
总结
操作系统与驱动程序作为计算机系统的核心组成部分,其重要性不言而喻。对于从事安全领域的我我们来说,深入了解这些基础知识不仅有助于提升个人技能水平,更为未来的职业发展奠定了坚实的基础。无论是内网渗透、逆向工程还是病毒分析等领域,都需要对操作系统和驱动程序有深刻的理解。