精华内容
下载资源
问答
  • 展开全部举个简单易懂例子...线程是指进程中一个执行流程,一个进程中可以运行1-n个线程。也可以说是在同一个进程内又可以执行多个任务,而每一个任务我们就可以看成是一个线程。是程序执行单元,执行路径。是...

    展开全部

    举个简单易懂的例子,多线程相当于e69da5e6ba9062616964757a686964616f31333365666163一条马路上的多条车道,单车道行驶车辆速度较慢,且可能产生拥堵,多车道可缓解车速、拥堵情况。

    线程是指进程中的一个执行流程,一个进程中可以运行1-n个线程。也可以说是在同一个进程内又可以执行多个任务,而每一个任务我们就可以看成是一个线程。

    是程序的执行单元,执行路径。是程序使用CPU的最基本的单位

    如果程序只有一条执行路径,那么该程序就是单线程程序

    如果程序有多条执行路径,那么该程序就是多线程程序

    2、多线程的意义:

    多线程不是为了提高程序的执行速度,而是为了提高程序的使用率。

    多线程的执行都是为了抢占CPU的使用率。

    不能保证多线程程序会在什么时候优先抢到使用权,所以线程的执行具有随机性

    3、多线程的优点:

    充分利用硬件资源。由于线程是cpu的基本调度单位,所以如果是单线程,那么最多只能同时在一个处理器上运行,意味着其他的CPU资源都将被浪费。而多线程可以同时在多个处理器上运行,只要各个线程间的通信设计正确,那么多线程将能充分利用处理器的资源。

    多线程程序能将代码量巨大,复杂的程序分成一个个简单的功能模块,每块实现复杂程序的一部分单一功能,这将会使得程序的建模,测试更加方便,结构更加清晰,更加优雅

    为了避免阻塞,单线程应用程序必须使用非阻塞I/O,这样的I/O复杂性远远高于同步I/O,并且容易出错。

    4、多线程的缺点:

    线程安全:由于统一进程下的多个线程是共享同样的地址空间和数据的,又由于线程执行顺序的不可预知性,一个线程可能会修改其他线程正在使用的变量,这一方面是给数据共享带来了便利;另一方面,如果处理不当,会产生脏读,幻读等问题,好在Java提供了一系列的同步机制来帮助解决这一问题,例如内置锁。

    展开全文
  • 但是线程安全的定义并不是统一的,也有一些定义描述认为线程安全的主题一段代码或者一个方法,也就是我们也可以说同步方法或同步代码块中的线程安全的。其实这两种说法都没有问题,为什么这样说呢?我们来

    线程安全是并发编程很重要的概念,那么什么是线程安全呢?
    线程安全其实并不是指线程是否是安全的,线程本身是没有思想的,它是由我们的业务逻辑来决定它的行为的。《Java并发编程实践》和《深入了解Java虚拟机》的作者认为线程安全的主体是对象,也就是说我们可以说hashtable是线程安全的,hashmap是线程不安全的。但是线程安全的定义并不是统一的,也有一些定义描述认为线程安全的主题是一段代码或者一个方法,也就是我们也可以说同步方法或同步代码块中的线程是安全的。其实这两种说法都没有问题,为什么这样说呢?我们来了解下线程安全的本质。
    我们知道现在主流的操作系统都是多进程的,它可以支持多个任务同时进行,同个进程的多个线程共享同一片内存区域,而有些区域比如堆是共享的,且绝大多数对象都是在堆中创建的,那当多个线程去访问堆中的对象时,就会产生问题。
    举例:线程a要去操作堆中一个对象完成累加操作,当进行到一半时,cpu被线程b调度,它要对这个对象进行删除操作,当线程a再去执行时,这个对象已被删除,那么对线程a来说,它的行为与运行结果不符,则是线程不安全的
    我们可以看出线程安全的本质一定涉及到共享变量,如果不是设计到多个线程访问同一个对象或访问同一个对象的方法,就不会存在线程安全的问题了。
    总结:多个线程访问共享变量产生的线程执行结果混乱的行为就是线程不安全的,那么线程安全就是反过来说,即多个线程访问共享变量都能按照自己的行为执行正确的逻辑得到正确的结果,这是《Java并发编程实践》对于线程安全的描述

    当多个线程访问同一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,即是线程安全的

    我们上面讨论的线程安全其实是相对的线程安全,为什么这么说呢?这里引入Vector的例子
    Vector其实就是动态数组,和ArrayList用法上区别不大,只是前者是线程相对安全的,后者为绝对的线程安全。我们来看vector的几个内部方法
    在这里插入图片描述
    在这里插入图片描述
    其余方法大家自己看即可,我们可以得出为什么说vector是线程安全的呢?因为官方在可能发生线程安全问题的地方都加了一把同步锁,那为什么又说vector是线程不安全的呢?虽然同步锁的加入可以让一个线程操作同一个方法,但不能避免多个线程操作多个方法,在这里remove方法和add方法可以同时进行。删除元素方法分两步,先找到需要删除元素下标再将其删除,同样增加方法需要先找到添加的下标再传入参数,这样就可能存在add方法需要找的的下标已经被删除的问题,代码如下

     public static void main(String[] args)
        {
            Vector vector = new Vector();
            new Thread(()->
            {
                for (int i = 0; i < 100 ; i++)
                {
                    vector.add(i);
                    vector.remove(i);
                }
            }).start();
            new Thread(()->
            {
                for (int i = 0; i < 100 ; i++)
                {
                    vector.add(i);
                    vector.remove(i);
                }
            }).start();
    
        }
    

    运行后报错
    在这里插入图片描述
    为了解决这种问题需要在调用方加锁,这种方式称为绝对的线程安全。
    怎么使对象的行为线程安全呢?
    最简单的方式是让对象不可变,即创建对象时用final和private修饰且不提供set访问器。
    第二种方式是给每一个线程都拷贝一份数据,解决资源冲突问题,我们在这里消除了同一资源的概念来保证线程安全问题。
    第三种方式是加上互斥锁,保证同一个时间只有一个线程可以拿到锁,synchronized,ReentrantLock都可以实现互斥锁。
    第四种方式称为乐观锁,就是通过不加锁的方式来实现线程安全,认为当前线程操作的数据不会被其他线程修改,当前线程处理数据时对数据进行标记,当回来继续执行时如果数据被修改就放弃这次操作,可以对当前操作进行回滚然后重试,重试的次数和逻辑需要用户根据实际情况自己判定。

    展开全文
  • 比如在Intel Pentium芯片中存在逻辑错误,在Sendmail早期版本中编程错误,在NFS协议中认证方式上弱点,在Unix系统管理员设置匿名Ftp服务时配置不当问题都可能被***者使用漏洞是指一个系统存在弱点或缺陷,...

    什么是安全漏洞?

    漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使***者能够在未授权的情况下访问或破坏系统。具体举例来说,比如在Intel Pentium芯片中存在的逻辑错误,在Sendmail早期版本中的编程错误,在NFS协议中认证方式上的弱点,在Unix系统管理员设置匿名Ftp服务时配置不当的问题都可能被***者使用漏洞是指一个系统存在的弱点或缺陷,系统对特定威胁***或危险事件的敏感性,或进行***的威胁作用的可能性。漏洞可能来自应用软件或操作系统设计时的缺陷或编码时产生的错误,也可能来自业务在交互处理过程中的设计缺陷或逻辑流程上的不合理之处。这些缺陷、错误或不合理之处可能被有意或无意地利用,从而对一个组织的资产或运行造成不利影响,如信息系统被***或控制,重要资料被窃取,用户数据被篡改,系统被作为***其他主机系统的跳板。从目前发现的漏洞来看,应用软件中的漏洞远远多于操作系统中的漏洞,特别是WEB应用系统中的漏洞更是占信息系统漏洞中的绝大多数。

    分类

    苍蝇不盯无缝的蛋,***者只要找到复杂的计算机网络中的一个缝,就能轻而易举地闯入系统。所以了解这些缝都有可能在哪里,对于修补它们至关重要。通常裂缝主要表现在软件编写存在bug、系统配置不当、口令失窃、明文通讯信息被监听以及初始设计存在缺陷等方面。

    软件编写存在bug

    无论是服务器程序、客户端软件还是操作系统,只要是用代码编写的东西,都会存在不同程度的bug。Bug主要分为以下几类:

    (1) 、缓冲区溢出:指***者在程序的有关输入项目中了输入了超过规定长度的字符串,超过的部分通常就是***者想要执行的***代码,而程序编写者又没有进行输入长度的检查,最终导致多出的***代码占据了输入缓冲区后的内存而执行。别以为为登录用户名留出了200个字符就够了而不再做长度检查,所谓防小人不防君子,***者会想尽一切办法尝试***的途径的。

    (2)、意料外的联合使用问题:一个程序经常由功能不同的多层代码组成,甚至会涉及到最底层的操作系统级别。***者通常会利用这个特点为不同的层输入不同的内容,以达到窃取信息的目的。例如:对于由Perl编写的程序,***者可以在程序的输入项目中输入类似“mail</etc/passwd”的字符串,从而使perl让操作系统调用邮件程序,并发送出重要的密码文件给***者。借刀杀人、借Mail送“信”,实在是高!

    (3) 、不对输入内容进行预期检查:有些编程人员怕麻烦,对输入内容不进行预期的匹配检查,使***者输送×××的工作轻松简单。

    (4)Raceconditions:多任务多线程的程序越来越多,在提高运行效率的同时,也要注意Raceconditions的问题。比如说:程序A和程序B都按照“读/改/写”的顺序操作一个文件,当A进行完读和改的工作时,B启动立即执行完“读/改/写”的全部工作,这时A继续执行写工作,结果是B的操作没有了表现!***者就可能利用这个处理顺序上的漏洞改写某些重要文件从而达到闯入系统的目的,所以,编程人员要注意文件操作的顺序以及锁定等问题。

    系统配置不当

    (1) 、默认配置的不足:许多系统安装后都有默认的安全配置信息,通常被称为easy to use。但遗憾的是,easy to use还意味着easy to break in。所以,一定对默认配置进行扬弃的工作。

    (2)、 管理员懒散:懒散的表现之一就是系统安装后保持管理员口令的空值,而且随后不进行修改。要知道,***者首先要做的事情就是搜索网络上是否有这样的管理员为空口令的机器。

    (3) 、临时端口:有时候为了测试之用,管理员会在机器上打开一个临时端口,但测试完后却忘记了禁止它,这样就会给***者有洞可寻、有漏可钻。通常的解决策略是:除非一个端口是必须使用的,否则禁止它!一般情况下,安全审计数据包可用于发现这样的端口并通知管理者。

    (4) 、信任关系:网络间的系统经常建立信任关系以方便资源共享,但这也给***者带来隔山打牛、间接***的可能,例如,只要攻破信任群中的一个机器,就有可能进一步***其他的机器。所以,要对信任关系严格审核、确保真正的安全联盟。

    口令失窃

    (1) 、弱不禁破的口令:就是说虽然设置了口令,但却简单得再简单不过,狡猾的***者只需吹灰之力就可破解。

    (2) 、字典***:就是指***者使用一个程序,该程序借助一个包含用户名和口令的字典数据库,不断地尝试登录系统,直到成功进入。毋庸置疑,这种方式的关键在于有一个好的字典。

    (3) 、暴力***:与字典***类似,但这个字典却是动态的,就是说,字典包含了所有可能的字符组合。例如,一个包含大小写的4字符口令大约有50万个组合,1个包含大小写且标点符号的7字符口令大约有10万亿组合。对于后者,一般的计算机要花费大约几个月的时间才能试验一遍。看到了长口令的好处了吧,真正是一两拨千斤啊!

    嗅探未加密通讯数据

    (1)、共享介质:传统的以太网结构很便于***者在网络上放置一个嗅探器就可以查看该网段上的通讯数据,但是如果采用交换型以太网结构,嗅探行为将变得非常困难。

    (2)、服务器嗅探:交换型网络也有一个明显的不足,***者可以在服务器上特别是充当路由功能的服务器上安装一个嗅探器软件,然后就可以通过它收集到的信息闯进客户端机器以及信任的机器。例如,虽然不知道用户的口令,但当用户使用Telnet软件登录时就可以嗅探到他输入的口令了。

    (3)、 远程嗅探:许多设备都具有RMON(Remotemonitor,远程监控)功能以便管理者使用公共体字符串(publiccommunitystrings)进行远程调试。随着宽带的不断普及,***者对这个后门越来越感兴趣了。

    设计存在缺陷

    TCP/IP协议的缺陷:TCP/IP协议现在已经广为应用、但是它设计时却是在***者猖狂肆虐的今天之很早以前设计出来的。因此,存在许多不足造成安全漏洞在所难免,例如smurf***、ICMPUnreachable数据包断开、IP地址欺骗以及SYNflood。然而,最大的问题在于IP协议是非常容易“轻信”的,就是说***者可以随意地伪造及修改IP数据包而不被发现。现在Ipsec协议已经开发出来以克服这个不足,但还没有得到广泛的应用。

    系统***

    系统***是指某人非法使用或破坏某一信息系统中的资源,以及非授权使系统丧失部分或全部服务功能的行为。

    通常可以把***活动大致分为远程***和内部***两种。现在随着互联网络的进步,其中的远程***技术得到很大发展,威胁也越来越大,而其中涉及的系统漏洞以及相关的知识也较多,因此有重要的研究价值。

    转载于:https://blog.51cto.com/13931430/2368844

    展开全文
  • 什么是安全上下文

    千次阅读 2017-03-30 11:55:26
    安全上下文指的是一类定义某个进程允许做什么的许可和权限集合。Windows中的安全上下文通过登录会话(Logon Session)定义的,并通过访问令牌维护。顾名思义,登录会话表示某个用户在某台计算机上某次会话过程...

    安全上下文指的是一类定义某个进程允许做什么的许可和权限的集合。Windows中的安全上下文是通过登录会话(Logon Session)定义的,并通过访问令牌维护。顾名思义,登录会话表示某个用户在某台计算机上的某次会话过程。开发者可以通过访问令牌与登录会话进行交互。访问令牌所有用的许可和权限可以与登录会话的不同,但始终是它的一个子集。
    安全上下文的概念范围是很广的,权限、特权、访问令牌、完整性等级等等都包含在其中。
    这就是软件限制策略和UAC工作原理中的最核心部分。
    所以在这里讨论的内容,都是属于安全上下文的范畴。

    有不少人问过这样的问题:仅仅一条软件限制策略规则——IE基本用户,安全么?
    那么我可以有点遗憾地告诉你,不安全,至少不能做到很安全,但仍然很强大

    现在再介绍一下基本用户:

    基本用户实质上是一个安全等级(SAFER LEVEL),当然除了基本用户外还有其它的安全等级,以下一一列出
    SAFER_LEVELID_DISALLOWED   不允许的 ,对应值 0x00000 (0x代表16进制)
    SAFER_LEVELID_UNTRUSTED    不信任的 ,对应值 0x01000
    SAFER_LEVELID_CONSTRAINED  受限的   ,对应值 0x10000
    SAFER_LEVELID_NORMALUSER   基本用户 ,对应值 0x20000
    SAFER_LEVELID_FULLYTRUSTED 不受限的 ,对应值 0x40000

    其中不受限的和不允许的默认就是开启的,也就是DefaultLevel的值为 0x40000 + 0x00000 = 0x40000
    到这里大家应该明白为什么我们把Levels的值设为0x31000能打开其它安全等级了吧
    ——0x01000 + 0x10000 + 0x20000 正好等于 0x31000,而 Levels + DefaultLevel = 0x71000 ,正好可以打开所有的安全等级

    现在我们只关心基本用户的情况,基本用户到底是一种怎样的限制?

    微软的简单说明是:Allows programs to execute as a user that does not have Administrator or Power User access rights. Software can access resources accessible by normal users.

    也就是说基本用户相当于一个普通用户(Users组的帐户)的权限
    运行在该等级下的程序,被排除了本地管理员组的成员关系,同时还排除了仅分配给管理员的特权。运行在该安全上下文中的进程,拥有标准用户的特权和访问权限,防止该进程修改系统文件和注册表键值,同时防止该进程使用只有管理员才能拥有的特权,例如“加载和卸载设备驱动程序”特权。
    顺带补充一下,绝大部分的程序在基本用户都是能正常运行的,即使是杀软的GUI。

    事实上,我们可以看到,基本用户令牌中把Administrators的SID标记为“拒绝”,同时它只有一个特权——“跳过遍历检查”,这其实只是一个很卑微的特权

    基本用户与受限帐户的不同
    主要有三点
    1.基本用户没有“关闭系统”和“从插接工作站中取出计算机”特权。这意味着基本用户下的程序无法关闭或重启计算机了。如果使用策略规则Explorer基本用户的话,你就会发现“关闭系统”的按钮直接消失了。不过要实现关机还是有方法的,例如同时按Ctrl+Alt+Del呼出任务管理器来关机,或者曲线救国,先注销,然后再关机 =_= 不过也并不麻烦

    2.基本用户把Administrators组标记为“拒绝”,而不是从Administrators组中除去
    图:



    标记为拒绝(deny only)的意思是,在形式上,基本用户下的程序仍然属于Admin组,但实际上却没有管理员被允许的权限,只有被拒绝的权限。而受限用户是不属于Administrators组的,但却可以通过一些途径使之隶属于该组,这个就是帐户提权了。




    3.基本用户是内置安全等级,而受限帐户却不是。受限帐户的特权可以任意指派,但基本用户却无法这样做。因此基本用户的特权提升也是不允许的。
    不过大体来说,受限帐户登陆“相当于”Shell基本用户。另外值得一提的就是,无论受限帐户还是基本用户,都可以利用Runas(或者右键里的“运行方式”)来以其它帐户身份临时运行一个程序,关于这点在下文会再提及。


    那为什么说基本用户其实并非十分安全?
    那是因为基本用户并没有定义足够安全的安全边界

    什么是安全边界?安全边界就是一道隔离墙,如果没有通过安全策略的验证,代码和数据就不能打破这道隔离墙。举个例子,在不同的会话中运行的用户帐户,会通过Windows安全边界进行分隔。如果没有其他用户的允许,一个用户不能读取或者修改其他用户的数据,也不能让其他用户执行代码。如果由于某些原因而可以绕过安全策略,这就意味着Windows系统存在bug(或者是第三方代码的原因)。


    在基本用户等级所形成的隔离沙盒中,唯一的缺陷是:在隔离沙盒中的进程是以当前用户的受限形式运行的,所以只要受限用户(Users组)有权读写的文件、注册表键值、甚至别的进程的权限,该进程都能访问。这样就能打穿隔离沙盒的墙壁,如果恶意代码是专门为这种受限环境而编写的,那么它就可以利用这种手段,绕过隔离沙盒的限制。

        例如基本用户下的程序可以通过注入或发送消息的方法控制高等级的进程,如Shell。不过具有System权限的进程仍然无法访问(需要DEBUG特权)。
    当然基本用户不会因此而变得没有实用价值。因为基本用户可以配合NTFS权限和注册表权限的调整而增加安全性。
    前面说过,基本用户没有管理员的权限,但属于Users组,那么我们可以通过设置NTFS权限来限制基本用户

    至于NTFS权限如何设置,这里提供一个基本的思路:
    1.下载区(数据区,例如Documents and Settings下的大部分位置,IE缓存等)允许读写、创建、删除,即开放NTFS的FD权限,但不允许运行程序(这点可以用软件限制策略的“不允许”来实现)
    2.程序区,包括系统目录,Program Files和其它程序目录,允许Users读取和运行,但不允许写。必要时可以设为允许创建和写新文件,但对已存在的文件保持只读,但工作量会稍大一点
    3.想BT点的,可以对Windows等关键目录实行白名单策略

    如此设置后,使用基本用户的安全性就会大大提高。
    理论上,凡是会外联的程序都应以低权限运行,而且这些程序往往不需要任何管理员权限就能正常运行。典型的例子就是浏览器和下载工具。而对于外来的不信任数据源,如可移动设备,可以直接不允许运行,这样,简单的安全策略就能应付大部分的安全危险了。
    还有就是有人问到的ARP问题。基本用户是不能阻止ARP攻击的,但却可以在ARP攻击下保你安然无恙。例如ARP挂马,受攻击的还是浏览器,浏览器基本用户依然能防,只是掉线问题无法解决罢了。

    事实上在降权后,还能感染破坏系统的病毒已经是极少数了,如果权限设置得当的话,病毒甚至无法进入本地或者根本无法运行,例如针对病毒的入口封锁战术。
    至于这种降权能达到怎样的安全效果之前已经讨论过了,当然是可以很强大,这里就不再赘述

    降权与提权:
    目前实现软件降权运行的有这么几种方法:
    1.软件限制策略
    2.Runas
    3.Vista的UAC
    4.使用DropMyRights、PsExec和Proccess Explorer的“以受限用户运行”
    5.使用受限用户登陆

    软件限制策略的规则适合作为静态防御,Runas、DropMyRights等可以作为动态的补充
    至于1和5,我更推荐1,因为受限用户的环境完全可以用基本用户来模仿,只要Shell基本用户就可以了,而且比受限用户更安全。

    值得一说的是Vista的UAC,UAC工作时,默认让Shell运行在类似基本用户的环境中,这点与基本用户还是很相似的,而它与静态规则相比的优势是:它能够即时更改进程的安全上下文,提供了降权与提权的快捷通道,因此是使管理员帐户脱离高权限的最好方法。
    所以在这里提出一个建议,千万不要轻易关闭你的UAC,除非它真的让你无法忍受或者你有更好防御方案。



           与降权相对应的是提权,简单的例子就是右键里的“运行方式”,它可以让你在使用受限用户(Users)登陆系统时,使用其它帐户的权限运行程序,例如Administrator。不过它需要额外的用户名和对应的密码,而且它依赖于服务“Secondary Logon”。
    受限用户登陆时,系统服务仍然是处于不受限状态,而且是以System权限运行,真正受限的只是Shell。所以这里就存在利用服务来进行提权的可能。
    事实上,“运行方式”的提权原理是利用svchost.exe(服务宿主)创建属于某帐户的令牌,并以该令牌启动程序。因此,运行程序的父进程是svchost。所以严格来说,这还不算是提权,它只是以另一个帐户的身份来执行程序罢了
    另外,如果对一个已经在软件限制策略中设定为基本用户的程序使用Runas的话,最终还是会提权失败

    另一种提权是为帐户提权。其实,只要通过更改帐户的特权和组的隶属关系,完全可以把一个名为Guest的帐户(来宾用户)提升至具有完全的管理员权限。简单的做法就是通过“用户权利指派”和计算机管理中的“本地用户和组”。

    需要指出的是,在正常情况下,无论是降权或者是提权,权限的继承总是存在的,子进程不能超越父进程。
    而例外的情况是什么?
    有两种:
    一是父进程拥有“创建记号对象”特权,这时允许父进程以任何令牌启动子进程
    二是程序本地即时提权,而通常的方式是利用系统漏洞或者Hook API、注入系统进程、注册服务等等,这里就不介绍了
    展开全文
  • 什么是网络安全

    千次阅读 2019-05-01 06:12:23
    网络安全的定义 网络安全 是指一组用于保护网络,程序和数据完整性免受攻击,破坏或未经授权访问的技术。 据福布斯报道,全球网络安全市场预计到2020年将达到1700亿。这一快速的市场增长受到一系列技术趋势的推动,...
  • 订单缺陷率,简称ODR,卖家在相关时间内产生1星或者2星差评(Negative Feedback)和索赔(Claim)纠纷订单在所有订单中比例。计算方式如下:订单缺陷率=相关时间内产生缺陷订单总量/订单总数乘以100%。 ...
  • 成员变量和局部变量:java中 变量分成员变量 和局部变量 成员变量是指这个类变量,局部变量是类中方法体内定义的变量。 记住一个原则即可:方法体中引用变量和基本类型变量都在栈上,其他都在堆上。 所以B...
  • (1)XML 可扩展标记语言(EXtensible Markup Language) (2)XML 一种标记语言,很类似 HTML (3)XML 设计宗旨传输数据,而非显示数据 (4)XML 标签没有被预定义。您需要自行定义标签。 (5)XML 被...
  • 监管信息系统则是指以满足监管需求为目的开发建设,具有数据采集、处理、存储等功能信息系统。目前主要包括非现场监管信息系统(1104)、现场检查分析系统(EAST)、客户风险统计系统等,其中定期上班数据...
  • 渗透测试 (penetration test)并没有一个标准的定义,国外一些安全组织达成共识的通用说法:渗透测试通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术...
  • 原文链接 1计算机科学和软件工程...形式化是指分析、研究思维形式结构方法。它把各种具有不同内容思维形式(主要是命题和推理)加以比较,找出其中各个部分相互联结方式,如命题中包含概念彼此间联结,推理中则.
  • 安全上下文指的是一类定义某个进程允许做什么的许可和权限集合。Windows中的安全上下文通过登录会话(Logon Session)定义的,并通过访问令牌维护。顾名思义,登录会话表示某个用户在某台计算机上某次会话过程...
  • 当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些进程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类线程安全的。 三个基本概念 在...
  • 线程是指进程中一个执行流程,一个进程中可以运行1-n个线程。也可以说是在同一个进程内又可以执行多个任务,而每一个任务我们就可以看成是一个线程。是程序执行单元,执行路径。是程序使用CPU最基本单位 ...
  • xss的定义

    2018-04-28 15:25:56
    XSS是指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足缺点,进而添加一些代码,嵌入到web页面中去。使别用户访问都会执行相应嵌入代码。从而盗取用户资料、利用用户身份进行某种动作或者对...
  • SQL注入攻击是指web应用程序对用户输入数据合法性没有判断,攻击者可以在web应用程序中事先定义查询语句结尾上添加额外SQL语句,以此来实现欺骗数据库服务器执行非授权任意查询,从而进一步得到相应...
  • 网络安全  什么是Cookie?...定义于RFC2109(已废弃),最新取代规范RFC2965.  Cookie最早网景公司前雇员Lou Montulli在1993年3月发明。  Cookies就是服务器暂存放在你电脑里
  • String为什么是final

    2019-10-07 20:45:16
    首先需要了解Java中 final的定义  Java的关键字final的含义存在着细微的区别,但是通常它是指"这是无法改变的"。不想做出改变可能出于设计、效率和安全。 final 修饰的类是不被能继承的,所以 final 修饰的...
  • 重新定义混合云

    2017-08-25 15:44:31
    ”ZStack首席执行运营官尤永康在和老孙谈论关于混合云问题时,开门见山就抛出了自己观点,“但什么才是真正混合云,需要重新定义。”尤永康说道。混合云发展三阶段所谓混合云,是指融合了公有云和私有云...
  • 我们总是在说信息安全管理,那么信息安全管理到底在管什么?我们要如何定义信息安全? 这里就要引出信息安全最基本概念:CIA三元组。...为什么说CIA三元组信息安全最基本原则呢?因为我们做...
  • JAVA类封装是什么意思?JAVA类封装就是隐藏对象属性和实现细节,仅对外提供公共访问方式。 主要好处: 将变化隔离。 便于使用 提高重要性。 提高安全性。 封装步骤: 1.首先建立一个类,类名取为Person,...
  • 软件测试目的和意义是什么

    千次阅读 2020-05-08 17:40:59
    我们要知道软件测试是什么,软件测试指的是一种用来促进鉴定软件正确性、完整性、安全性和质量过程。它经典定义是:在规定条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求...
  • 防火墙位于内部网和外部网之间屏障,它按照系统管理员预先定义规则来控制数据包进出 防火墙系统第一道防线,其作用防止非法用户进入 主要作用:保障内网的安全性、保证内外网之间数据流通性 ...
  • 渗透测试是什么--一些简单小术语

    千次阅读 2019-03-25 21:12:21
    渗透测试并没有一个标准的定义,共识的通用说法是,渗透测试是通过模拟恶意的攻击方法,来评估计算机网络安全的一种评估方法,针对于系统的任何弱点,技术缺陷或者漏洞的主动分析。也就是说,渗透测试是指渗透人员在...
  • SDN是什么

    千次阅读 2019-05-25 22:24:29
    SDN(Software Defined Network)即软件定义网络,是一种网络设计理念,或者一种推倒重来设计思想。...狭义SDN是指的“软件定义网络”,广义SDN概念还延伸出了:软件定义安全、软件定义存储等等。...
  • 跨域的更加严格的定义是:只要 协议,域名,端口有任何一个的不同,就被当作是跨域。 2.同源策略 同源策略又分为以下两种 DOM同源策略:禁止对不同源页面DOM进行操作。这里主要场景是iframe跨域的情况,不同域名的...
  • 闭包(closure)是指有权访问另外一个函数作用域中变量函数.可以理解为(能够读取其他函数内部变量函数),从本质上讲,闭包就是将函数内部和函数外部连接起来桥梁。闭包最典型应用是实现回调函数(callback)...
  • 面向对象三大特性 封装,继承,多态 什么是封装? 把客观事物封装成抽象类,并且类可以把自己数据和方法只让可信类或者对象操作...继承指的是建立一个新派生类,从一个或多个先前定义的类中继承数据和...
  •  对于受限空间(confined space),国内通常叫做有限空间,其定义通常封闭或者部分封闭,与外界相对隔离,出入口较为狭窄,自然通风不良,易发生中毒、窒息、淹溺、灼烫伤、触电、坍塌、火灾、等事故空间。...
  • 什么是VLAN

    2013-10-23 09:59:12
     IP 组播实际上也一种VLAN的定义,即认为一个组播组就是一个VLAN,这种划分的方法将VLAN扩大到了广域网,因此这种方法具有更大的灵活性,而且也很容易通过路由器进行扩展,当然这种方法不适合局域网,主要效率...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 543
精华内容 217
关键字:

安全的定义是指什么