网络安全内容整理一

news/2024/11/30 4:01:39/

前言

整理博客,统一到常用的站点。

基础知识

安全的三个基本属性cia三元组">网络安全的三个基本属性:CIA三元组
  • 机密性 Confidentiality
  • 完整性 Integrity
  • 可用性 Availability
安全的基本需求">网络安全的基本需求

可靠性、可用性、机密性、完整性、不可抵赖性、可控性、可审查性、真实性

安全主要威胁来源">网络安全主要威胁来源

安全保护">计算机信息系统安全保护

1.我国:1999年发布计算机信息系统安全保护等级划分准则(Classified Criteria for Security Protection of Computer Information System)—GB17859-1999

GB17859-1999各等级安全保护能力(5个安全保护级别)

2.TCSEC(Trusted Computer Evaluation Criteria,可信计算机系统评估准则,美国国防部标准(1983);4类7级)

  • D级 :安全保护欠缺级
  • C1级:自主安全保护级
  • C2级:受控存取保护级
  • B1级:标记安全保护级
  • B2级:结构化保护级
  • B3级:安全域保护级
  • A级 :验证设计级
公布漏洞的权威机构

1.CVE(Common Vulnerability and Exposures):对每个漏洞进行编号、审查。CVE编号通常也是应用漏洞的标准方式;已成为安全漏洞命名索引的业界事实标准
2.CERT(Computer Emergency Response Team,计算机应急响应中心)
3.微软的安全中心

网络攻击分类

1.从安全属性上分,可分为5类

  • 阻断攻击
  • 截取攻击
  • 篡改攻击
  • 伪造攻击
  • 重放攻击

2.从攻击方式上可分为

  • 主动攻击
  • 被动攻击
安全策略">安全策略

1.定义:安全策略是赋予了组织机构技术和信息资源使用权的人员必须遵守的准则的正规陈述,即安全策略是一套含有组织机构计算机安全规则细节的文档

2.安全策略用作网络中安全系统设计和运行的指导方针,安全策略也可用作衡量组织安全的尺度

安全体系结构">OSI安全体系结构

主要考虑信息安全的三个方面:

1.安全服务(RFC 2828定义): 一种由系统提供的对系统资源进行特殊保护的处理或通信服务

2.安全机制:保护信息安全所采用的手段。用来保护系统免受侦听、阻止安全攻击及恢复系统的机制

3.安全攻击

安全体系结构的5类安全服务">OSI安全体系结构的5类安全服务

1.机密性
2.完整性
3.不可否认性
4.访问控制
5.鉴别

安全体系结构的8种安全机制">OSI安全体系结构的8种安全机制

加密、访问控制、公证、路由控制、流量填充、身份认证交换、数字签名、信息完整性


攻击流程

黑客攻击的流程

1.踩点(Footprinting):确定目标地址范围、查询名字空间、并收集信息;关键在于不要漏掉任何细节
2.扫描(Scaning):评估目标系统,识别监听业务,使攻击者将精力集中于最有希望攻克的途径
3.查点(Enumeration):识别目标系统上合法用户账户和保护力不够的共享资源
4.获取访问权限(Gaining Access):利用收集的足够数据,尝试访问目标系统
5.提权(Escalating privilege):如果上步只是普通用户访问权限,则寻找系统的完全控制,提升用户权限以实现对系统的完全控制
6.窃取信息(Pilfering):再次进行信息获取,以确定目标系统的入侵机制和途径
7.掩踪灭迹(Covering Tracks):为避免被系统管理员发现,当务之急是掩盖来访踪迹
8.创建后门(Create backdoor):在系统中留下后门和陷阱,为下次入侵创造条件
9.拒接服务:如果无法取得特权,但又志在必得,那就最后一招—使用准备好的漏洞代码来使目标系统瘫痪

具体分析

踩点(footprinting):收集目标信息的技巧

1.从公开渠道查出该组织使用的域名、网络地址块、与因特网相联的系统的IP地址以及与信息安防现状有关的其他细节等

2.途径:

  • 公开渠道获取信息
  • WHOIS查询:域名,IP地址查询
  • DNS查询:nslookup, dig, fierce
  • 网络侦查:尝试确定网络的拓扑结构和可能存在的网络访问路径
区域传送(zone transfer)

1.后备服务器使用主服务器的数据刷新自己的数据库,以防止主域名服务器因意外故障变得不可用时影响到全局

2.允许不受信任的因特网用户执行DNS区域传送是最严重的错误配置之一

3.安全问题:在没有使用公用/私用DNS机制来分割外部公用/内部私用DNS信息时,内部主机名和IP地址都暴露给了攻击者

扫描

1.对比
踩点⟺在一个区域内寻找有用信息
扫描⟺逐寸敲打墙壁以期找出所有门窗

2.扫描的基本步骤:
确定目标系统是否真实存在->确定目标系统上哪些服务正在运行或监听->探查操作系统

3.目标系统扫描

  • 基本的ping:向目标发ICMP ECHO(类型8)数据包,如返回 ICMP ECHO_REPLY数据包(类型0),说明目标系统真实存在
  • nmap –sP 适用于windows和linux
    若目标系统阻断了ICMP数据包,可尝试通过-PT选项指定的端口(通常是80端口)进行TCP ping扫描; 该选项向目标网络发出TCP ACK数据包并根据返回的RST数据包判断活跃主机

4.端口扫描:

主动连接目标系统的TCP和UDP端口以确定哪些服务正在运行或处于LISTENING(监听)状态

主要目的:

  • 确定运行的TCP/UDP服务
  • 确定操作系统的具体类型
  • 确定提供服务的应用程序名称和版本

5.探查操作系统

主要技术:

  • 旗标抓取技术
  • 协议栈指纹分析技术(更准确),可分为:
    主动式协议栈指纹分析技术和被动式协议栈指纹分析技术

协议栈指纹分析技术的工作原理:

  • 不同厂家的IP协议栈实现存在着许多细微的差别
  • 探查这些差异,就能对目标系统做出有依据的判断
扫描类型

1.TCP连接扫描(TCP Connect()扫描;nmap -sT): 连接目标端口并完成一次完整的三次握手过程;

缺点:很容易被目标系统觉察

2.TCP SYN扫描(半开扫描;nmap -sS):向目标端口送SYN数据包
若返回SYN/ACK数据包,可以断定该端口处于监听状态
若返回RST/ACK数据包,通常表明该端口不在监听状态
然后,扫描者送出一个RST/ACK数据包(使通信双方永远不会建立一条完整连接)

优点:更隐秘,目标系统一般不会将其记入日志
缺点:半开连接过多时,会形成一种“拒绝服务”条件而引起对方的警觉

3.TCP FIN扫描(秘密扫描;nmap -sF): 向目标端口发送FIN数据包

  • 如果目标端口关闭,目标系统应该返回一个RST数据包,否则丢弃该包。通常只对UNIX系统的TCP/IP栈有效(Window平台总是返回RST包)
  • 由于不包含TCP三次握手协议的任何部分,所以无法被记录下来,从而比SYN扫描隐蔽
  • FIN数据包能通过监测SYN包的包过滤器(秘密扫描)

秘密扫描的两个变体:

  • TCP Xmas扫描(圣诞树扫描;nmap -sX): TCP包包头设置所有标志位,若目标端口关闭,目标系统应该返回一个RST数据包
  • TCP Null扫描(空扫描;nmap -sN): 关掉所有的标志,若目标端口关闭,目标系统应该返回一个RST数据包

4.TCP ACK扫描(nmap -sA):测试防火墙的规则集。判断防火墙是简单的包过滤防火墙;还是高级的、具备数据包过滤功能的状态(stateful)防火墙
注:不能用来确定端口是否开放或者关闭

5.TCP窗口扫描(nmap -sW): 测试特定目标系统(如AIX和FreeBSD系统)上的端口是否开放、被过滤——会导致目标系统返回不同的TCP窗口长度值

6.TCP Maimon扫描(nmap -sM) :探测报文改为FIN/ACK外,其原理与TCP FIN扫描一样

7.UDP扫描(nmap -sU) :向目标端口发出UDP数据包

  • 如果返回“ICMP port unreachable” 出错消息,表明端口关闭
  • 如果没有收到该消息,端口可能开放

注意:UDP不要求必须建立一条连接,所以扫描的准确性取决于与目标网络的使用情况和过滤机制有关的许多因素(扫描结果不可靠)

查点

1.查点技术——旗标抓取:可用telnet, netcat, FirefoxFirebug
2.综合智能信息收集:maltego
3.漏洞扫描:分析确认目标主机中可以被利用的漏洞

  • 手动分析:过程复杂、技术含量高、效率较低
  • 自动分析:人为干预过程少,效率高。如Nessus、OpenVAS、X-Scan等综合型漏洞检测工具及专用扫描工具
常用扫描工具比较

扫描的防御

1.端口扫描监测:

  • 在某个不常用的端口进行监听:如发现对该端口的连接请求,就认为有端口扫描。一般这些工具都会对连接请求的来源进行反探测,同时弹出提示窗口
  • 混杂模式下抓包(wireshark)并进一步分析判断
  • 蜜罐系统(Honeypot)

2.审计技术(Auditing)

  • 使用系统记录下的使用时间、敏感操作和违纪操作等,为系统进行事故原因查询、事故发生后的实时处理提供详细可靠的依据或支持

  • 记录网络连接的请求、返回等信息,从中识别出扫描行为

  • IIS服务器的日志记录:
    “%SystemRoot%/System32/LogFiles”目录存放关于WWW、FTP、SMTP等服务的日志目录

  • Apache会使用两个标准的日志文件:
    access_log:所有对Apache Web服务器访问的活动记录
    error_log:运行期间所有的状态诊断信息,包括对Web服务器的错误访问记录
    一般在/usr/local/apache/logs目录下

攻击的善后阶段

攻击者为了自身的隐蔽性,须隐藏踪迹:

  • 获得系统最高管理员权限后就可以任意修改文件,最简单的方法就是删除日志文件——明确告诉管理员系统已经被入侵
  • 更常用的办法是只对日志文件中有关自己的部分作修改,修改方法根据不同的操作系统有所区别
  • 更高级的方法:替换系统程序(用来替换正常系统程序的黑客程序称为rootkit)
    如Linux-RootKit:可以替换系统的ls,ps,netstat,inetd等系统程序

渗透测试

1.渗透测试(Penetration Testing):一种通过模拟攻击者的技术与方法,挫败目标系统的安全控制措施并取得访问控制权的安全测试方法

2.渗透测试的分类

  • 白盒测试(White-box Testing,内部测试):拥有组织机构的内部知识的情况下进行的渗透测试
  • 黑盒测试(Black-box Testing,外部测试):模拟一个对组织机构一无所知的攻击者所进行的渗透攻击
  • 灰盒测试(Gray-box Testing)介于白盒测试与黑盒测试的一种渗透测试,多用于集成测试阶段

3.渗透测试执行标准(PTES:Penetration Testing Execution Standard)将渗透测试过程分为七个阶段:

  • 前期交互阶段(Pre-Engagement Interaction)
  • 情报搜集阶段(Information Gathering)
  • 威胁建模阶段(Threat Modeling)
  • 漏洞分析阶段(Vulnerability Analysis)
  • 渗透攻击阶段(Exploitation)
  • 后渗透攻击阶段(Post Exploitation)
  • 报告阶段(Reporting)


http://www.ppmy.cn/news/1551089.html

相关文章

小游戏聚合SDK的工具类封装

文章目录 前言工具类单例日志打印输入框的封装前言 之前的文章写了如何开发小游戏聚合SDK,既然是聚合SDK,工具类的封装也比较重要,做好基础搭建后续在接入其他渠道的时候能大大减少工作量。 工具类 单例 初始化的配置信息,比如应用ID 、渠道ID等需要全局使用,而且初始…

2024下半年——【寒假】自学黑客计划(网络安全)

CSDN大礼包:👉基于入门网络安全/黑客打造的:👉黑客&网络安全入门&进阶学习资源包 前言 什么是网络安全 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&a…

金铲铲S13双城之战自动拿牌助手

金铲铲S13双城之战自动拿牌助手 基于python,pyautogui和金铲铲自带备战助手实现 B站视频演示效果 shuangcheng.py import timeimport pyautogui import datetimeprint(请关注您的分辨率,此程序需要配合thumbs_x_y.txt文件同时使用) print(简介&#x…

【C++】数据类型(上)

C规定在创建一个变量或一个常量时,必须要指定出相应的数据类型,否则无法给变量分配内存 数据类型存在意义:给变量分配合适的内存空间。 1.1 整型 整型作用:整型变量表示的整数类型的数据。 C中能够表示整型类型的有以下几种…

android bindService打开失败

在写demo验证SurfaceControlViewHost的时候,bindService提示 Unable to start service Intent U0: not found 在源代码里搜了下,找到是在如下方法里面里面打印出来的 // frameworks/base/services/core/java/com/android/server/am/ActiveServices.java…

使用docker搭建hysteria2服务端

原链接:https://github.com/apernet/hysteria/discussions/1248 官网地址:https://v2.hysteria.network/zh/docs/getting-started/Installation/ 首选需要安装docker和docker compose 切换到合适的目录 cd /home创建文件夹 mkdir hysteria创建docke…

【C语言】指针2

1、数组名的理解 在上一章节我们在使用指针访问数组的内容的时候,我们有下面这样的代码 在上述的代码中我们使用&arr[0]来取得数组首元素的地址,但是我们前面也说过,数组名字 其实也就是数组的地址,而且还是首元素…

用 llama.cpp 体验 Meta 的 Llama AI 模型

继续体验 Meta 开源的 Llama 模型,前篇 试用 Llama-3.1-8B-Instruct AI 模型 直接用 Python 的 Tranformers 和 PyTorch 库加载 Llama 模型进行推理。模型训练出来的精度是 float32, 加载时采用的精度是 torch.bfloat16。 注:数据类型 torch.float32, t…