信息安全基础;Web安全理论和定义;机密性、完整性和可用性;漏洞;威胁 - Threats;安全控制 - Security Controls;TCP/IP 安全

Web安全理论和定义

机密性、完整性和可用性

描述了信息安全的基本目标,是理解信息安全的基础。

机密性

机密性指信息指在未验证状态下信息不能被用户获取。也就是说,只有被验证过的用户才能获得敏感数据。联想下你的银行卡,你是授权可以访问的,但是,银行的雇员们也可以访问,其他人不行。机密性不高也就意味着原本不能访问这些信息的人却能够获取到这些信息,不管是有意为之还是由于突发事故。保密失败,也就是通常所说的泄密,通常是很难被根治的。一旦秘密被泄露了,就不能重新加密它。如果你的银行账号被贴到了一个公共的网站上,每一个人就都能知道你的银行账号,收入等,而且这些信息并不会从他们的心里,纸上,电脑或者其他地方清除。今天几乎凡是媒体上报道的安全事故,都涉及到重大的机密损失。

总的来说,机密信息的泄露指的就是本不能访问它的人却获得了这些信息。

完整性

完整性表示,经过验证的用户访问数据时,数据没有发生过任何改动,是原生的数据。想象下你有一个网站,并在上面出售商品。这时一个黑客在浏览你的网站,并恶意的修改了你产品的价格,这样一来,他就能够以任意的价格购买任何东西。这就是一个保护完整性的反面案例。因为你的信息–这个场景下,就是商品的价格–被修改了,而且你没有授权这一次变更。另一个反面案例,当你在连接一个网站的时候,攻击者重定向了你的传输到另外一个网站。在这种情况下,你被指向的网站并不是真实可靠的。

可用性

可用性指被验证过的用户可以轻易获得信息。

漏洞

明确主要漏洞策略以及讨论在所有软件中的存在的所有漏洞。

漏洞是系统中的一个弱点,可被利用来对机密性,完整性和可用性产生负面影响。 可以通过多种方式对漏洞进行分类。 本文使用三个高级漏洞类别:软件缺陷,安全配置问题和软件功能滥用。 这些类别如下所述。

漏洞级别

软件缺陷是由软件设计或编码中的意外错误引起的。比如输入验证错误,假如用户提供的输入未正确评估恶意字符串和与已知攻击相关的过长值。另一个示例是竞争条件错误,允许攻击者使用提升的权限执行特定操作。

安全配置设置是软件安全性的一个元素,可以通过软件本身进行更改。设置的示例是提供对控制列表的访问的操作系统,该控制列表设置用户对文件的特权,以及提供用于启用或禁用由应用程序存储的敏感数据的加密的设置的应用程序。安全配置问题漏洞涉及使用对软件安全性产生负面影响的安全配置设置。

软件功能是由软件提供的功能功能。软件功能滥用漏洞是一种漏洞,其中该功能还提供了破坏系统安全性的途径。这些漏洞是由软件设计者做出的信任假设允许软件提供有益的功能,同时也引入某人违反信任假设以破坏安全性的可能性引起的。例如,电子邮件客户端软件可能包含在电子邮件消息中呈现HTML内容的功能。攻击者可以制作包含超链接的欺诈性电子邮件,这些超链接在以HTML格式呈现时对收件人来说是良性的,但实际上在收件人点击时会将收件人带到恶意网站。 HTML内容呈现功能设计中的一个信任假设是用户不会收到恶意超链接并点击它们。

在软件设计或软件组件(例如,软件实现的协议)期间引入软件特征滥用漏洞。信任假设可能是明确的 - 例如,设计者意识到安全漏洞并确定单独的安全控制会对其进行补偿。但是,信任假设通常是隐含的,例如创建特征而不首先评估它将引入的风险。威胁也可能在软件的生命周期或软件中使用的协议中发生变化。例如,地址解析协议(ARP)信任ARP回复包含媒体访问控制(MAC)和Internet协议(IP)地址之间的正确映射。 ARP缓存使用该信息提供有用的服务 - 以便在本地网络内的设备之间发送数据。但是,攻击者可能会生成错误的ARP消息来中毒系统的ARP表,从而发起拒绝服务或中间人攻击。 ARP协议在25年前已经标准化,从那时起威胁发生了很大的变化,因此其设计中固有的信任假设今天不太可能合理。

可能很难将软件功能滥用漏洞与其他两个类别区分开来。例如,软件设计过程中的缺陷可能导致软件缺陷和滥用漏洞。但是,软件缺陷纯粹是消极的 - 它们对安全性或功能没有任何积极的好处 - 而软件特性由于提供额外的功能而导致滥用漏洞。

对于可以启用或禁用的功能的滥用漏洞,可能存在混淆 - 在某种程度上,配置与安全配置问题。关键的区别在于,对于滥用漏洞,配置设置启用或禁用整个功能,并不特别改变其安全性;对于安全配置问题漏洞,配置设置仅更改软件的安全性。例如,禁用电子邮件中所有HTML使用的设置会对安全性和功能产生重大影响,因此与此设置相关的漏洞将是滥用漏洞。禁用电子邮件客户端中使用反网络钓鱼功能的设置仅对安全性有重大影响,因此具有该设置的漏洞将被视为安全配置问题漏洞。

The Presence of Vulnerabilities

No system is 100% secure: every system has vulnerabilities. At any given time, a system may not have any known software flaws, but security configuration issues and software feature misuse vulnerabilities are always present. Misuse vulnerabilities are inherent in software features because each feature must be based on trust assumptions—and those assumptions can be broken, albeit involving significant cost and effort in some cases. Security configuration issues are also unavoidable for two reasons. First, many configuration settings increase security at the expense of reducing functionality, so using the most secure settings could make the software useless or unusable. Second, many security settings have both positive and negative consequences for security. An example is the number of consecutive failed authentication attempts to permit before locking out a user account. Setting this to 1 would be the most secure setting against password guessing attacks, but it would also cause legitimate users to be locked out after mistyping a password once, and it would also permit attackers to perform denial-of-service attacks against users more easily by generating a single failed login attempt for each user account.

Because of the number of vulnerabilities inherent in security configuration settings and software feature misuse possibilities, plus the number of software flaw vulnerabilities on a system at any given time, there may be dozens or hundreds of vulnerabilities on a single system. These vulnerabilities are likely to have a wide variety of characteristics. Some will be very easy to exploit, while others will only be exploitable under a combination of highly unlikely conditions. One vulnerability might provide root-level access to a system, while another vulnerability might only permit read access to an insignificant file. Ultimately, organizations need to know how difficult it is for someone to exploit each vulnerability and, if a vulnerability is exploited, what the possible impact would be.

威胁 - Threats

对主要威胁概念的简单介绍。

A threat is any circumstance or event with the potential to adversely
impact data or systems via unauthorized access, destruction,
disclosure, or modification of information, and/or denial of service.
Threats may involve intentional actors (e.g., attacker who wants to
access information on a server) or unintentional actors (e.g.,
administrator who forgets to disable user accounts of a former
employee.) Threats can be local, such as a disgruntled employee, or
remote, such as an attacker in another geographical area.

A threat source is the cause of a threat, such as a hostile cyber or
physical attack, a human error of omission or commission, a failure of
organization-controlled hardware or software, or other failure beyond
the control of the organization. A threat event is an event or
situation initiated or caused by a threat source that has the
potential for causing adverse impact.

Many threats against data and resources are possible because of
mistakes—either bugs in operating system and applications that create
exploitable vulnerabilities, or errors made by end users and
administrators.

Network traffic typically passes through intermediate computers, such
as routers, or is carried over unsecured networks, such as wireless
hotspots. Because of this, it can be intercepted by a third party.
Threats against network traffic include the following:

Eavesdropping. Information remains intact, but its privacy is compromised. For example, someone could learn your credit card number,
record a sensitive conversation, or intercept classified information.
Tampering. Information in transit is changed or replaced and then sent on to the recipient. For example, someone could alter an order
for goods or change a person’s resume.
Impersonation. Information passes to a person who poses as the intended recipient. Impersonation can take two forms:
Spoofing. A person can pretend to be someone else. For example, a person can pretend to have the email address
jdoe@example.net, or a computer can identify itself as a site called
www.example.net when it is not. This type of impersonation is known as
spoofing.
Misrepresentation. A person or organization can misrepresent itself. For example, suppose the site www.example.net pretends to be a
furniture store when it is really just a site that takes credit-card
payments but never sends any goods.
Malware. Website malware is a growing problem. Business needs have changed the way websites store sensistive data, with more usage of
cloud services. But hackers may make out money, data and confidential
information from your website by infecting website with malware. For
example, Site can be infected with a malware redirect hack in which a
legitimate redirects to spam site or a phishing page. This kind of
malware is widespread on wordpress websites. For more detailed look on
this you can refer to this detailed post on wordpress malware
redirect.
Phishing. Phishing is a method of a social engineering with the goal of obtaining sensitive data such as passwords, usernames, credit
card numbers. The attacks often comes in form of instant messages or
phishing emails which appear to be legitimate but they are used to
obtain personal information. For example, a mail which appears to be
to be sent from a bank, asking to verify your identity by giving away
your private information.
DDOS Network attack. The volume and strength of DDoS attacks are growing as hackers try to bring organizations offline or steal their
data by flooding websites and networks with spurious traffic.

安全控制 - Security Controls

明确主要安全控制策略以及它们潜在的缺点。

Sensitive data should be protected based on the potential impact of a loss of confidentiality, integrity, or availability. Protection
measures (otherwise known as security controls) tend to fall into two
categories. First, security weaknesses in the system need to be
resolved. For example, if a system has a known vulnerability that
attackers could exploit, the system should be patched so that the
vulnerability is removed or mitigated. Second, the system should offer
only the required functionality to each authorized user, so that no
one can use functions that are not necessary. This principle is known
as least privilege. Limiting functionality and resolving security
weaknesses have a common goal: give attackers as few opportunities as
possible to breach a system.

There are three types of security controls, as follows:

Management controls: The security controls that focus on the management of risk and the management of information system security.
Operational controls: The security controls that are primarily implemented and executed by people (as opposed to systems).
Technical controls: The security controls that are primarily implemented and executed by the system through the system’s hardware,
software, or firmware.

All three types of controls are necessary for robust security. For
example, a security policy is a management control, but its security
requirements are implemented by people (operational controls) and
systems (technical controls). Think of phishing attacks. An
organization may have an acceptable use policy that specifies the
conduct of users, including not visiting malicious websites. Security
controls to help thwart phishing, besides the management control of
the acceptable use policy itself, include operational controls, such
as training users not to fall for phishing scams, and technical
controls that monitor emails and web site usage for signs of phishing
activity.

A common problem with security controls is that they often make
systems less convenient or more difficult to use. When usability is
an issue, many users will attempt to circumvent security controls; for
example, if passwords must be long and complex, users may write them
down. Balancing security, functionality, and usability is often a
challenge. The goal should be to strike a proper balance: provide a
reasonably secure solution while offering the functionality and
usability that users require.

Another fundamental principle with security controls is using multiple
layers of security—defense in depth. For example, sensitive data on a
server may be protected from external attack by several controls,
including a network-based firewall, a host-based firewall, and OS
patching. The motivation for having multiple layers is that if one
layer fails or otherwise cannot counteract a certain threat, other
layers might prevent the threat from successfully breaching the
system. A combination of network-based and host-based controls is
generally most effective at providing consistent protection.

TCP/IP 安全

TCP/IP模型的介绍,还有SSL的教程。 

(未完善)

TCP/IP 在全世界被广泛应用于提供网络通信。 TCP/IP 通信由四个工作层组成。当用户想要通过网络传输数据时,数据就会从更高层通过中间层逐渐传递到最底层,每层都会添加对应的信息。在每一层, 逻辑单元通常由标头和有效载荷组成。有效载荷由上一层传递下来的信息组成,而头部包含特定于层的信息,例如地址。在应用程序层,有效负载是实际的应用程序数据。最底层通过物理网络发送累积数据;然后,数据通过层向上传递到目的地。基本上,由层生成的数据通过其下面的层封装在更大的容器中。从最高到最低的四个TCP / IP层如下所示。

应用层 。 该层发送和接收特定应用程序的数据,例如域名系统(DNS),超文本传输​​协议(HTTP)和简单邮件传输协议(SMTP)。
传输层。  该层提供面向连接或无连接的服务,用于在网络之间传输应用层服务。传输层可以任选地确保通信的可靠性。传输控制协议(TCP)和用户数据报协议(UDP)是常用的传输层协议。
网络层。  该层通过网络根据特定路由发送数据包。 Internet协议(IP)是TCP / IP的基本网络层协议。网络层上的其他常用协议是因特网控制消息协议(ICMP)和因特网组管理协议(IGMP)。
数据链路层。 该层处理物理网络组件上的通信。最着名的数据链路层协议是以太网。

存在用于TCP / IP模型的每一层的网络通信的安全控制。如前所述,数据从最高层传递到最低层,每层添加更多信息。因此,较高层的安全控制不能为较低层提供保护,因为较低层执行较高层不知道的功能。每层可用的安全控制包括:

应用层。 必须为每个应用程序建立单独的控制。例如,如果应用程序需要保护跨网络发送的敏感数据,则可能需要修改应用程序以提供此保护。虽然这为应用程序的安全性提供了非常高的控制和灵活性,但可能需要大量资源投入才能为每个应用程序正确添加和配置控件。设计一个密码健全的应用程序协议是非常困难的,正确实现它更具挑战性,因此创建新的应用程序层安全控制可能会产生漏洞。此外,某些应用程序,尤其是现成的软件,可能无法提供此类保护。虽然应用程序层控件可以保护应用程序数据,但它们无法保护TCP / IP信息(如IP地址),因为此信息存在于较低层。只要有可能,用于保护网络通信的应用层控制应该是基于标准的解决方案,这些解决方案已经使用了一段时间。一个例子是安全的多用途互联网邮件扩展(S / MIME),它通常用于加密电子邮件消息。
传输层。此层的控件可用于保护两台主机之间的单个通信会话中的数据。由于IP信息是在网络层添加的,因此传输层控件无法保护它。传输层协议的最常见用途是保护HTTP流量;通常使用传输层安全性(TLS)协议。 (TLS是SSL版本3的基于标准的版本。有关TLS的更多信息,请参阅RFC 4346,TLS协议版本1.1,可从https://www.ietf.org/rfc/rfc4346.txt 获得。另一个很好的来源信息是NIST SP 800-52,传输层安全的选择和使用指南,可从https://csrc.nist.gov/publications/nistpubs/ )。TLS的使用通常要求每个应用程序支持TLS;但是,与通常涉及应用程序的广泛定制的应用程序层控件不同,传输层控件(如TLS)的干扰要小得多,因为它们不需要了解应用程序的功能或特性。尽管使用TLS可能需要修改某些应用程序,但TLS是经过充分测试的协议,其中有多个实现已添加到许多应用程序中,因此与在应用程序层添加保护相比,它是一种风险相对较低的选项。传统上,TLS已用于保护基于HTTP的通信,并可与SSL门户VPN一起使用。
网络层。此层的控件可应用于所有应用程序;因此,它们不是特定于应用程序的。例如,可以在该层保护两个主机或网络之间的所有网络通信,而无需修改客户端或服务器上的任何应用程序。在某些环境中,网络层控制(如互联网协议安全性(IPsec))提供了比传输或应用程序层控制更好的解决方案,因为向单个应用程序添加控件存在困难。网络层控制还为网络管理员提供了一种强制执行某些安全策略的方法。网络层控制的另一个优点是,由于在该层添加了IP信息(例如,IP地址),所以控制可以保护分组内的数据和每个分组的IP信息。但是,与传输和应用程序层控制相比,网络层控制提供的保护特定应用程序的控制和灵活性较低SSL隧道VPN提供了保护TCP和UDP通信(包括客户端/服务器和其他网络流量)的能力,因此可用作网络层VPN。
数据链路层。 数据链路层控制应用于特定物理链路上的所有通信,例如两个建筑物之间的专用电路或连接到Internet服务提供商(ISP)的拨号调制解调器连接。专用电路的数据链路层控制通常由称为数据链路加密器的专用硬件设备提供;用于其他类型连接的数据链路层控制,例如拨号调制解调器通信,通常通过软件提供。由于数据链路层位于网络层之下,因此该层的控制可以保护数据和IP信息。与其他层的控件相比,数据链路层控件相对简单,这使得它们更容易实现;此外,它们还支持IP以外的其他网络层协议。由于数据链路层控制特定于特定物理链路,因此它们无法保护与多个链路的连接,例如通过Internet建立VPN。基于互联网的连接通常由链接在一起的若干物理链路组成;保护与数据链路层控制的这种连接将需要为每个链路部署单独的控制,这是不可行的。数据链路层协议已经使用多年,主要是为不应信任的特定物理链路提供额外保护。

由于它们可以同时为许多应用程序提供保护而无需对其进行修改,因此经常使用网络层安全控制来保护通信,尤其是在诸如因特网的共享网络上。网络层安全控制提供单一解决方案,用于保护所有应用程序的数据,以及保护IP信息。然而,在许多情况下,另一层的控制比网络层控制更适合提供保护。例如,如果只有一个或两个应用程序需要保护,则网络层控制可能过多。 SSL等传输层协议最常用于为与各个基于HTTP的应用程序进行通信提供安全性,但它们也用于为其他类型的应用程序(如SMTP,存在点(POP),Internet)的通信会话提供保护。消息访问协议(IMAP)和文件传输协议(FTP)。由于所有主要的Web浏览器都包含对TLS的支持,因此希望使用受TLS保护的基于Web的应用程序的用户通常不需要安装任何客户端软件或重新配置其系统。传输层安全协议的较新应用程序保护HTTP和非HTTP应用程序通信,包括客户端/服务器应用程序和其他网络流量。每一层的控件都提供了其他层控件的优点和功能。

SSL是最常用的传输层安全控制。根据SSL的实现和配置方式,它可以提供以下类型的保护的任意组合:

机密性。  SSL可以确保未授权方无法读取数据。这是通过使用加密算法和秘密密钥加密数据来实现的 - 秘密密钥是仅为双方交换数据所知的值。数据只能由拥有密钥的人解密。
完整性。 SSL可以确定数据是否在传输过程中(有意或无意)更改。通过生成消息认证码(MAC)值可以确保数据的完整性,MAC值是数据的密钥加密校验和。如果更改数据并重新计算MAC,则旧MAC和新MAC将不同。
对等实体认证。  每个SSL端点都可以确认其希望与之通信的另一个SSL端点的标识,从而确保从预期的主机发送网络流量和数据。 SSL身份验证通常是单向执行的,向客户端验证服务器,但可以相互执行。
重发保护。  相同的数据不会多次传送,并且数据不会严重无序传送。

参考内容来源于 https://developer.mozilla.org/en-US/docs/

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网络虚拟化(NFV)的安全威胁类别主要包括以下几种: 1. 虚拟化层的攻击威胁:攻击者可以通过虚拟化层的漏洞或者恶意软件进入虚拟机内部进行攻击,从而获取重要信息或者控制虚拟机。 2. 虚拟网络的攻击威胁:攻击者可以利用虚拟网络漏洞或者恶意软件对虚拟网络进行攻击,从而破坏虚拟网络的功能或者获取虚拟网络内部的敏感信息。 3. 虚拟化环境的攻击威胁:攻击者可以通过攻击虚拟化环境中的组件,例如虚拟化管理器、虚拟化网络控制器、虚拟存储等,从而获取管理员权限、控制虚拟化环境或者破坏虚拟化环境的功能。 4. 服务链的攻击威胁:攻击者可以通过攻击服务链中的某个组件,例如防火墙、入侵检测系统、负载均衡器等,从而破坏服务链的功能或者获取服务链内部的敏感信息。 参考文献: 1. S. A. Hassan, S. Qaisar, and O. A. Mohammed, “Security Threats and Solutions in Network Function Virtualization: A Survey,” IEEE Communications Surveys & Tutorials, vol. 21, no. 3, pp. 2881-2904, 2019. 2. X. Sun, X. Wang, W. Wang, and C. P. Hu, “A Survey on Security Threats and Defense Mechanisms in Network Function Virtualization,” Journal of Network and Computer Applications, vol. 131, pp. 67-83, 2019. 3. Y. Zhang, J. Liu, X. Liu, and J. Zhang, “Security Threats and Countermeasures in Network Function Virtualization,” Security and Communication Networks, vol. 2017, pp. 1-11, 2017.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值