网络安全 核心基础篇总结

news2024/11/26 13:36:50

目录

前言

网络安全三大要素

CIA含义

1. Confidentiality(机密性)

1.1 机密性主要三个解决方法

    1.1.1 加密

    1.1.2 权限管理

    1.1.3 敏感信息暴露

2. Integrity(完整性)

3. Availabitity(可用性)

威胁分析Threat   微软 STRIDE模型

Spoofing(伪装)

Tampering(篡改)

Repudiaton(抵赖)

Information Disclosure(信息暴露)

Denial of Service Dos(DOS)

Elevation of Privilege(提升权限)

解决网络安全的常用五种实战方法

1、黑名单、白名单

2、最小权限原则

3、纵深防御

4、数据和代码分离

5、不可预测性


前言

    在本文发布前已有文章介绍有安全测试相关的文章,随着时间的推移无论是什么攻击工具或手段其内在的本质无非是围绕网路安全的核心基础点来逐一开展并深入研究,通过网络安全核心点发散开并在不同的领域点去寻找突破点而诞生出不同的攻击手段。温顾而知新巩固核心基础知识


网络安全三大要素

CIA含义

Confidentiality、Integrity、Availabitity

1. Confidentiality(机密性)

    保密性涉及到在网络传输的时,传输的信息或数据存储场景下的信息安全问题。比如一些秘密数据不会被人直接以明文方式阅读,防止被人看到这些保密信息数据,所以保密性非常重要,因此也保密性排第一位。

1.1 机密性主要三个解决方法

    1.1.1 加密

第一个就是加密,网络传输时利用加密算法加密,保存数据的时候需要用加密。

    1.1.2 权限管理

第二个是权限管理,设置不同的权限能访问到的信息不一样,权限管理也是非常重要。

    1.1.3 敏感信息暴露

第三个是铭感信息暴露,对于任何一些敏感的信息,比如密码或一些数字签名等均属于敏感信息,其次电子邮箱Email、生日等信息在很多地方也都是敏感信息。敏感信息在进行数据传输、保存、写日志的各个层面都需要对铭感信息进行一个保护。

2. Integrity(完整性)

    数据内容是完整的没有被篡改,尤其是在数据传输的过程中是非常重要的。比如数据中一端传递到另一个端,也就是客户端传递到服务端信息的时候怎么保障在传输数据的时候被传递的数据没有被篡改过。涉及到的很重要的点就是在于数字签名的校验,需要理解其机制是怎么回事。

    数据内容完整、没有被篡改,SignaTure数字签名校验,数据传递前先进行数据签名,数据接收时需要对签名做一些算法去校验被传递数据的签名,只要文本被修改过签名就会出现对不上则校验不通过。

3. Availabitity(可用性)

    在网络安全中经常遇到的一个问题,比如攻击者一直Call调用被攻击的服务,一直Call直到服务器被搞挂机。在网络安全中也会考虑这个问题不能让攻击者无限制的去调用服务,需要有一些限制这就是可用性。


威胁分析Threat   微软 STRIDE模型

Spoofing(伪装)

    攻击者传递过来的信息是一个假信息,这就是spoofing伪装,需要对传递的信息进行认证。

Tampering(篡改)

    攻击者传递数据前进行了篡改,篡改就涉及到数据完整性,需要对其数据签名进行校验。

Repudiaton(抵赖)

    攻击者发送一段数据后,然后告诉服务没有发过该段数据,简单而言就是耍赖、抵赖,也就是用户做的事情进行否认,这也是签名校验的一个作用。电子签名,签名校验记录用户发送过的数据,

Information Disclosure(信息暴露)

    信息被暴露出去了,敏感信息无论在数据传输,或打日志、保存等各个环节都得贵铭感信息进行一个保护。这也是网络安全中非常重要的内容。

Denial of Service Dos(DOS)

    攻击者对服务网站的可用性进行摧毁,不停的对被攻击的网站进行攻击直至网站被搞挂为止。尽最大可能做到网站不会被搞挂,网站总是可用的

Elevation of Privilege(提升权限)

    一个普通用户不应该有命令权限,不应该有管理员权限。比如一个黑客想要攻击服务网站,就要想办法提升自己的权限,让自己作为一个管理员方便来操作一些事。


解决网络安全的常用五种实战方法

1、黑名单、白名单

    用户被加入黑名单则不能访问,添加白名单用户即所有不在白名单列表的用户均不能访问,黑名单和白名单的作用是相反的。白名单比黑名单更安全,如果能用白名单尽量使用白名单,假如提供的服务实在太多了也就只能用黑名单。

2、最小权限原则

    比如某用户在系统中是一个样什么角色,需要什么样的权限就给予相应权限。就好比Linux的一个权限安排的原装类似,也就是说设定的用户需要用到什么权限就给什么权限,不要再给他额外的多余的权限,没有必要就不要给他设定,直接设定最小给定权限数。

    实战中可能很多人会偷懒,因为设了一个最小权限的话,以后需要加一个权限又的重新加很麻烦,很多人就是为了怕麻烦就给他权限开的很大,什么东西都是用admin操作,用管理员权限去操作,偷懒是不行的随之时间的推移还是有很多坑要踩。麻烦是没有办法避免需接受现实,权限配置本身也是软件工程里面最基本需要考虑的功能。

3、纵深防御

    在网络传输或是某个具体数据操作时,他其实是拥有不同的层面需要去考虑,比如Web应用层,网络层,用户的请求到了数据库层面等需要做安全配置,甚至操作系统也需要做安全配置。不同的层面都需要全面考虑安全策略,不同的层面都需要有些了解,并且不同层面都需要有相应的安全权限配置,所以这就是纵深防御。

4、数据和代码分离

    数据和代码分离的原则也是非常重要,相比大家对网络安全稍微也有写了解应该知道各种注入攻击(SQL注入、XSS攻击等),还有缓存区溢出的问题,都是因为没有把数据跟代码分离开来。程序是程序,数据是数据,不要把用户的输入作为程序命令的一部分这是很容易出现问题点,有兴趣的小伙伴可以单独去详细了解注入攻击,为什么数据跟代码一定要完全分离。

5、不可预测性

    在设计代码或设计程序时,比如ID的设定,用户ID、网站页面ID,ID等标识最好是一个随机变化,无法让人猜不出来的值。如果ID以数字递增的方式会很容易被攻击者一眼就看出其可能的含义,可以直接根据设置的ID去猜测某一个页面或某一个接口数据直接在浏览器上去尝试,以上这种情况均需要去避免,有时候可能前端的问题较少,设计的重点用户ID或交易号不能让攻击者很容易猜出来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/68242.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于51单片机水塔水箱液水位WIFI监控报警设计proteus仿真原理图PCB

功能: 0.本项目采用STC89C52作为单片机系统的控制MCU 1.WIFI实时上传当前水位状态 2.通过液位传感器检测液位,检测到最低液位和最高液位时,超过设定阈值将声光报警 3.通过状态指示灯显示当前液位情况,三种颜色,红色代表…

快来给你的宠物视频加个表情特效吧

摘要:我们将给猫贴一张卡通脸,给 Elon Musk 贴上小胡子,给小狗贴上驯鹿角!本文分享自华为云社区《视频AI,给你的宠物加个表情特效!》,作者:HWCloudAI。 GAN 监督学习是一种联合端到…

Android适配【入坑指南+解决痛点】

Android适配是一个大坑,你可能早有耳闻。适配问题到底有多坑?为什么坑?以及如何从坑里爬出来? 概述 Android屏幕尺寸各异,而我们不可能根据各种尺寸都设计一套原型图去匹配,我们需要利用适配这一个过程把…

冷热电气多能互补的微能源网鲁棒优化调度附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

基于Session的认证与授权实践

Spring Security系列文章 认证与授权之Cookie、Session、Token、JWT基于Session的认证与授权实践 基于Session的认证方式 基于 session 的认证方式如下图: 基于 Session 的认证机制由 Servlet 规范定制,Servlet 容器已实现,用户通过 HttpSes…

Matplotlib入门[05]——注释与标签

Matplotlib入门[05]——注释与标签 参考: https://ailearning.apachecn.org/ Matplotlib官网 plt.legend参数 使用Jupyter进行练习 注释 使用文本框进行注释 import numpy.random import matplotlib.pyplot as pltfig plt.figure(1, figsize(5,5)) # plt.clf…

ag-Grid Enterprise v28.2.1 企业版注册版

世界上最好的 JavaScript 网格 ag-Grid Enterprise v28.2.1 功能丰富 ag-Grid Enterprise v28.2.1 的性能、功能集和质量在 JavaScript 数据网格中前所未见。AG Grid 中的许多功能都是 AG Grid 独有的,并且只是将 AG Grid 归为一类,而不会影响质量或性能…

(详解错误情况,及解决方法)Vue 数据更新了但页面没有更新的情况

点个关注,赞一下栓Q 背景 在vue项目中,有些我们会遇到修改完数据,但是视图却没有更新的情况。具体的场景不一样,解决问题的方法也不一样。在网上看了很多文章,在此总结汇总一下。针对,数据更新视图没有更…

你知道哪些常用快捷键?电脑快捷键大全,打工人必备!

所谓的电脑快捷键,就是利用电脑键盘上的一个或几个按键组合完成一个功能命令,从而提高电脑的操作速度,带给我们更便捷的操作方式。电脑常用的快捷键是什么?以下是一些常用电脑快捷键的使用和功能的简要介绍。希望电脑快捷键大全能…

演讲实录 | OpenMLDB 整合自动特征工程

本文整理自 OpenMLDB 社区开发者、伊利诺伊大学 徐鹏程 在 OpenMLDB Meetup No.7 中的分享——《OpenMLDB 整合自动特征工程》。 大家好,我是来自伊利诺伊大学的硕士在读学生,也是 OpenMLDB 开源社区的贡献者——徐鹏程。我参与开发的项目,也…

RabbitMQ——RabbitMQ的六种工作模式详解

RabbitMQ 是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,RabbitMQ是使用Erlang(高并发语言)语言来编写的,并且RabbitMQ是基于AMQP协议的 AMQP协议 Advanced Message Queuing Protocol(高级消…

JVM之垃圾回收器一

如何判断对象是否存活 引用计数器 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器都为0的对象就是不可能再被使用的。 Java语言中没有选用引用计数算法…

对比分析小游戏引擎孰优孰劣

随着微信生态中,小程序应用指数级的增长,许多休闲游戏变成为了众多游戏厂商流量变现的新手段。以近期很火的“羊了个羊”为例,它便是我们常常所说的小游戏。 游戏和小游戏的区别 要盘点小游戏开发引擎之前,我们得先来了解下游戏…

leetcode 638. 大礼包-思路整理

题目 在 LeetCode 商店中, 有n件在售的物品。每件物品都有对应的价格。然而,也有一些大礼包,每个大礼包以优惠的价格捆绑销售一组物品。 给你一个整数数组price表示物品价格,其中price[i]是第i件物品的价格。另有一个整数数组nee…

扩散模型(Diffusion)最新综述+GitHub论文汇总-A Survey On Generative Diffusion

扩散模型(Diffusion Model)最新综述GitHub论文汇总-A Survey On Generative Diffusion 本综述来自香港中文大学Pheng-Ann Heng、西湖大学李子青实验室和浙江大学陈广勇团队,对现有的扩散生成模型进行了全面的回顾。本文首先提出了diffusion model改进算法的细化分类…

Thread类及常见方法

文章目录一、Thread常见构造方法二、Thread常见属性三、Thread常见方法start()获取当前线程休眠当前线程中断线程join()一、Thread常见构造方法 Thread类是JVM用来管理线程的一个类,每个线程都有唯一一个Thread对象与之对应,JVM会将这些对象组织起来&am…

世界杯征文活动 | 神奇!一段JavaScript代码生成会动的足球

世界杯征文活动 | 神奇!一段JavaScript代码生成会动的足球 文章目录前言一、效果展示二、代码解析1.把足球图片转换为base64格式2.根据base64格式的字符串,创建img标签图片对象3.创建存放图片img的div标签对象4.使div旋转起来总结前言 花有重开日&#…

python中的import详解

0. 什么是导入? 导入从本质上讲,就是载入另一个文件,并能够读取那个文件的内容 0.1 模块和属性 模块往往就是变量名的封装,被认作是命名空间属性就是绑定在特定对象上的变量名 0.2 from和import 通过import得到了具有属性的模…

697226-52-1, 细胞穿膜肽TAT-amide

TAT-amide 是一种细胞穿透肽。细胞穿透肽 (CPPs) 是能够进入不同细胞的短氨基酸序列,用于细胞的物质细胞递送。TAT-amide is a cell penetrating peptide. Cell-penetrating peptides (CPPs) are short amino acid sequences able to enter different cells[1][2]. …

软件测试工程师应该学Python还是学Java?

前言 对于一个软件测试工程师来说,选哪一门语言来入手编程一直是件非常纠结的事情,当然立志做一辈子功能测试的人除外。 当你学完软件测试基本理论,掌握业务测试流程,功能测试可以搞定,数据库和linux玩的也很溜时&am…