安全见闻(四、五)
操作系统和驱动程序(软件程序的一种)
如果学了Windows系统可以学习域渗透、内网渗透,只知道操作系统不可以进行web渗透。
Windows的一些构成
注册表(在linux里没有) 那么Linux中有没有类似的呢是有的,windows才有(注册表)
防火墙
自启动
计划任务
事件日志
内核驱动
系统服务 进程线程
系统编程
以上这些都是操作系统中常规的一些东西,linux,Windows,macos 各有各的特点,但是他们基本该有的东西都是会有的,比如说自启动 所有的操作系统都是有的,没有这种东西是没办法运行的。 lindows下有很多这种机制的问题,比如说一个病毒,它添加自启动功能,在哪里添加?有多少种方式添加?能否通过计划任务添加自启动?什么时候启动病毒?能否规避事件?
驱动程序(了解)
驱动程序也是软件程序的一种,只不过可能大家没有编写过。 潜在漏洞:内网渗透,逆向工程,病毒分析,安全对抗,外挂保护(比如腾讯的外挂保护,你怎么去绕过外挂保护?可能就需要用到驱动底层逻辑去和他对抗) 也就是说你要搞,内网渗透,逆向工程,病毒分析,安全对抗,外挂保护,就必须对驱动程序有所了解。
虽然这个和web不太相关,但是也要去学,进行提高
注册表
注册表(Registry,繁体中文版Windows操作系统称之为登録檔)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0推出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从Microsoft Windows 95操作系统开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用。
注册表的由来
注册表所设定的默认打开方式
在Windows 3.x操作系统中,注册表是一个极小文件,其文件名为Reg.dat,里面只存放了某些文件类型的应用程序关联,大部分的设置是被放在win.ini、system.ini等多个初始化ini文件中。由于这些初始化文件不便于管理和维护,时常出现一些因ini文件遭到破坏而导致系统无法启动的问题。为了使系统运行得更为稳定、健壮,Windows 95/98/Me设计师们借用了Windows NT中的注册表的思想,将注册表概念引入到Windows 95/98/Me操作系统中,而且将ini文件中的大部分设置也移植到注册表中,因此,注册表在Windows 95/98/me等操作系统的启动、运行过程中起着重要的作用。
作用
注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序的运行,从而在整个系统中起着核心作用。这些作用包括了软、硬件的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据等,联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性,性能记录和其他底层的系统状态信息,以及其他数据等。
具体来说,在启动Windows时,Registry会对照已有硬件配置数据,检测新的硬件信息;系统内核从Registry中选取信息,包括要装入什么设备驱动程序,以及依什么次序装入,内核传送回它自身的信息,例如版权号等;同时设备驱动程序也向Registry传送数据,并从Registry接收装入和配置参数,一个好的设备驱动程序会告诉Registry它在使用什么系统资源,例如硬件中断或DMA通道等,另外,设备驱动程序还要报告所发现的配置数据;为应用程序或硬件的运行提供增加新的配置数据的服务。配合ini文件兼容16位Windows应用程序,当安装—个基于Windows 3.x的应用程序时,应用程序的安装程序Setup像在windows中—样创建它自己的ini文件或在win.ini和system.ini文件中创建入口;同时Windows还提供了大量其他接口,允许用户修改系统配置数据,例如控制面板、设置程序等。
如果注册表受到了破坏,轻则使Windows的启动过程出现异常,重则可能会导致整个Windows系统的完全瘫痪。因此正确地认识、使用,特别是及时备份以及有问题恢复注册表对Windows用户来说就显得非常重要。 [1]
注册表的数据结构
注册表由项(也叫主键或称“键”)、子项(子键)和值构成。一个项就是分支中的一个文件夹,而子项就是这个文件夹当中的子文件夹,子项同样它也是一个项。一个值则是一个项的当前定义,由名称、数据类型以及分配的值组成。一个项可以有一个或多个值,每个值的名称各不相同,如果一个值的名称为空,则该值为该项的默认值。
在注册表编辑器(regedit.exe)中,数据结构显示如下,其中,command键是open项的子项,(默认)表示该值是默认值,值名称为空,其数据类型为REG_SZ,数据值为%systemroot%/system32/notepad.exe"%1数据类型。
注册表的数据类型主要有以下四种:显示类型(在编辑器中)数据类型说明
REG_SZ:字符串:文本字符串
REG_MULTI_SZ:多字符串值:含有多个文本值的字符串
REG_DWORD:双字值:一个32位的二进制值,显示为8位的十六进制值。
注册表的损坏和解决方法
注册表可能出现的问题。
如果注册表受到严重的损害,存取硬件和软件可能会受到很大的限制,甚至系统不能启动。可能因为一个很小的问题,一个应用程序将不能正常的运行,或者运行的不稳定。
当注册表在运行时是受保护的,所以它不可能被复制,删除,或者改变内容,除非经过一个“验证过的”程序(比如安装程序,注册表编辑工具,和域用户管理器改变安全策略和浏览器等)。由于这些保护,注册表是十分安全的,但是并不是完全能防止的。
防火墙
数据通过所谓的端口流入和流出设备。 防火墙控制允许哪些端口通过这些端口,更重要的是,不允许通过这些端口。 你可以把它想象成一个保安站在门口,检查试图进入或退出的所有内容的 ID。
对于大多数普通计算机或家庭网络,防火墙应允许很少(如果有)入站流量。 其他设备很少有正当理由需要连接到你的设备或家庭网络(未经请求)。
有哪些类型的防火墙?
防火墙可以是软件或硬件,你很可能受到这两者的保护。
路由器 (有时称为“调制解调器”) ,将 Internet 从 Internet 提供商带到家庭或办公室通常是硬件防火墙。 你的计算机(无论是运行 Windows 还是 macOS)很可能有一个正在运行的软件防火墙。
计划任务
计划任务(crontab)是指在 Linux系统 中,利用cron(crond)这个系统服务来控制的定时执行工具,它允许用户创建和管理计划任务,以便在特定的时间间隔或时间点自动运行命令或脚本。
事件日志
Windows 事件日志是记录系统事件的文件,涵盖了应用程序错误、系统错误和安全事件等。 通过这些日志,我们可以追溯问题发生的原因,了解计算机的健康状况,以及排除故障。 比如系统崩溃时,Windows 就会创建一个日志来记录崩溃原因。
内核驱动
内核驱动,也称为内核模块或设备驱动,是一段可以加载到操作系统内核中的代码,通常用于管理硬件设备和提供操作系统与硬件之间的接口。 这些驱动为操作系统提供了与硬件设备进行交互的能力,使得操作系统能够识别、管理和控制硬件设备。
系统服务
在计算机科学中,系统服务通常指的是一种常驻内存的程序,它可以提供一些系统或网络功能。这些服务可以在操作系统后台运行,并且可以在需要时进行访问或交互。另一方面,守护进程是指达成这个服务的程序。在Windows中,系统服务是一种可长时间运行的可执行应用程序,可以在计算机启动时自动启动,不显示用户界面
进程线程
进程(Process) 是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数据及其组织形式的描述,进程是程序的实体。
线程(thread) 是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
系统编程
系统编程 (System Programming)通常指的是编写与操作系统、设备驱动程序、系统工具、网络协议栈、文件系统等底层系统组件交互的程序。 这类编程通常需要深入理解 计算机体系结构 、操作系统内部机制、硬件与软件的交互等。
人工智能
人工智能简介
人工智能(Artificial Intelligence,简称AI)是指让计算机模拟人类智能的技术和科学。它旨在使计算机系统能够执行通常需要人类智能才能完成的任务,如学习、推理、解决问题、理解自然语言、识别图像和语音等。 人工智能的发展可以追溯到上世纪50年代,经过几十年的研究和发展,如今已经在许多领域取得了重大突破和广泛应用。例如:
医疗领域:辅助医生进行疾病诊断、医学影像分析、药物研发等。 金融领域:风险评估、欺诈检测、智能投资顾问等。 交通领域:自动驾驶汽车、交通流量预测和优化等。 客户服务:智能聊天机器人可以快速回答客户的问题,提高服务效率。 图像识别和语音处理:人脸识别、语音助手等技术已经深入人们的日常生活。
二、人工智能涉及的网络安全问题
数据安全问题: 人工智能系统通常需要大量的数据进行训练。这些数据可能包含敏感信息,如个人身份信息、财务数据等。如果这些数据在收集、存储、传输或使用过程中没有得到妥善保护,就可能被泄露、窃取或滥用。 攻击者可能会通过攻击数据存储系统、网络传输通道或利用人工智能算法的漏洞来获取数据。 对抗攻击: 对抗攻击是指通过对输入数据进行微小的修改,使得人工智能系统产生错误的输出。例如,在图像识别中,通过在图像上添加一些人眼难以察觉的噪声,可以使人工智能系统错误地识别图像。 对抗攻击可能会对安全关键领域的人工智能系统造成严重威胁,如自动驾驶汽车、人脸识别系统等。 模型窃取和知识产权问题: 攻击者可以通过逆向工程等手段窃取人工智能模型的参数和结构,从而复制或改进该模型。这不仅会侵犯知识产权,还可能导致商业机密泄露。 此外,攻击者还可以利用窃取的模型进行恶意攻击,如生成虚假数据来欺骗其他人工智能系统。 恶意使用人工智能: 攻击者可以利用人工智能技术来发动更复杂、更难以检测的网络攻击。例如,使用人工智能生成的恶意软件可以自动适应不同的环境和防御机制,提高攻击的成功率。 人工智能还可以被用于自动化的网络钓鱼、垃圾邮件发送等恶意活动。
三、人工智能学习路径和方法
学习基础知识: 掌握数学基础知识,如线性代数、概率论、统计学等。这些知识对于理解人工智能算法和模型非常重要。 学习编程语言,如Python。Python 是人工智能领域最常用的编程语言之一,有丰富的库和工具可供使用。 了解机器学习和深度学习的基本概念,包括监督学习、无监督学习、神经网络等。 在线课程和教程: 利用在线学习平台,如Coursera、Udemy、edX 等,参加人工智能相关的课程。这些课程通常由知名大学或专业机构提供,内容丰富,教学质量高。 阅读相关的书籍和博客,如《深度学习》《机器学习实战》等书籍,以及一些知名的人工智能博客,如Medium上的人工智能专栏。 实践项目: 参与开源项目或自己动手实践人工智能项目。可以从一些简单的项目开始,如手写数字识别、图像分类等,逐渐提高难度。 参加人工智能竞赛,如Kaggle 上的各种竞赛。这些竞赛可以让你接触到真实的数据集和问题,提高你的实践能力和竞争力。 持续学习和交流: 关注人工智能领域的最新研究进展和技术趋势,可以通过阅读学术论文、参加学术会议、关注行业新闻等方式实现。 加入人工智能社区或论坛,与其他学习者和专业人士交流经验、分享知识、解决问题。
对称信息博弈
双方都知道任何信息,人工智能能够获取最优解
非对称信息博弈
有未知的地方,信息并不完全
标签:操作系统,Windows,人工智能,系统,安全,注册表,见闻,驱动程序 From: https://blog.csdn.net/2302_81027474/article/details/143098760