精华内容
下载资源
问答
  • 如何提高Android代码的安全性

    千次阅读 2011-05-14 18:42:00
    首先我们思考一个问题,Android中哪些部分需要提高安全性防止被破解,哪些部分无法保证安全? a) 首先,如果你的应用跟其他人竞争的是创意、用户体验、服务等等偏软的东西,同时是免费的,并没有什么技术难点,要...

    Android免费培训QQ群(118949422)第二期专题培训

    (转载请注明出处,商用请与本人联系)

    1. 首先我们思考一个问题,Android中哪些部分需要提高安全性防止被破解,哪些部分无法保证安全?

        a) 首先,如果你的应用跟其他人竞争的是创意、用户体验、服务等等偏软的东西,同时是免费的,并没有什么技术难点,要评估一下是否确实需要提高代码的安全性。

        b) 对于图片、xml文件或者apk文件本身是无法加密的。因为这些文件是由Andriod虚拟机加载和读取,加密后Android虚拟机无法识别,你的应用也无法正常使用了。如果有需要保密的内容,不要放到这些文件里。

        c) 有很多Android应用需要与服务端做数据通信,如果传输的数据做了加密,那么客户端加密或解密可能会使用到密钥,这个密钥最好是动态的。

        d) 关键的业务逻辑、算法和涉及到金融交易的部分,需要极高的安全性,必须多种加密方法并用。

    2. 防止代码被反编译的几种方法:

        a) 尽量减少客户端代码中的敏感内容,例如加密算法的key

            要想完全不被破解是不可能的,微软苹果这样的公司,一样会被破解越狱。我们只能想办法提高被反编译的难度,提高被破解的门槛。

            首先让敏感的内容尽量在服务端,而不是放到客户端,密钥用动态的。不要自己给自己埋下祸根,尽量不要留下会被破解的可能性。墨菲定律说,一件坏事如果可能发生,那么它一定会发生。

        b) 自定义类加载器(Custom ClassLoader)

            通过自定义类加载器,可以加载加密过的.class文件,在加载时使用自定义的类加载器解密的方式提高代码的安全性。

            这种方式在有机会使用自己的类加载器的场景下可以使用,例如C/S架构的程序,客户端是Java编写的(Swing或SWT),这种程序在大公司和国外较常见,国内小公司很少会用Java来写客户端。

            对于Android程序,对于继承Android的Activity、Service等基类的子类,无法使用类加载器,如果要使用,那么需要把关键的代码抽离出来,独立成一个与Android框架无关的类,这样可以使用自定义的类加载器来加载。

            但这里仍然有隐患,因为这个自定义的类加载器也是java编写的,也会被反编译。只不过这样处理后又增加了一道屏障,提高了被破解的难度。

        c) 使用JNI

            用C或C++编写的代码相对于Java来说更难被反编译。但这种方法除非真的有必要,否则不提倡使用。

           因为本地代码很难调试,如果执行异常会导致整个虚拟机异常关闭。同时.so会被加载到虚拟机的内存中,无论是否使用都占用内存空间。

           另外,很多搞Java的人不太熟悉C或C++、如果你的公司有人熟悉还好。

        d) 混淆

            混淆是在不改变代码逻辑的情况下,增加无用代码,或者重命名类名、方法名和变量名,使反编译后的源代码难于看懂,提高被破解的难度。

            本专题重点讲解在Android应用程序如何混淆代码,首先我们先来看一下混淆前后反编译的结果对比。

     

            image

                                                                                       图1 原始代码

     

            image

                                                                                      图2 混淆前反编译

     

            image

                                                                                      图3 混淆后反编译

     

             我们可以看到,类名、方法名和变量名等都会被改掉,方法的含义无法直接看出来,但如果是字符串常量还是会被反编译出来的,所以说关键的key不能放到apk中,它无处遁形。

     

            下面我们来介绍如何使用混淆工具。Android2.3中提供了混淆的功能,跟我们这里介绍的使用的都是proguard混淆器。

            我们介绍的这一个方法,除了混淆之外,还包括程序的签名,安装等功能。它是基于ant编译的,功能更强大。你也可以在整个编译过程插入其他你想要的功能,例如单元测试。

     

            使用方法:

            首先要在你的工程中增加一个配置文件,用来配置环境变量和签名文件,例如build.cfg,在这个文件中需要指定哪些类不需要被混淆。在Android中,所有在配置文件中会使用到类名的类,不应该被混淆。否则程序执行过程中会出现ClassNotFoundException。

            再创建一个build.xml,用于指定ant编译的过程。最后执行build.xml,就完成了代码的混淆、打包、签名整个过程。你可以用反编译工具检测一下是否混淆成功。

     

             image

                                                                                              图4 执行build.xml的方法

     

        请参考工程示例来操作,配置文件中需要修改的地方都已标出,请搜索“这里要修改”关键字,所有查找到的地方都要检查一下,按照自己的环境配置修改。

     

        以上几种方法结合使用,效果倍增。破解你程序的人会说,想不到狮吼功还有一招大喇叭……

        如果你的公司真的需要这么保密,那么,首先要看你的公司是否有严密成熟的信息安全制度,否则一切都徒劳,因为家贼难防,堡垒最容易从内部攻破。

     

        源代码已共享,地址:http://u.115.com/file/bhnchwu6

        答疑在QQ群中。

     

        附:混淆使用的是免费的proguard组件,官网:http://proguard.sourceforge.net/

    隋雨辰

    2011-05-15

    展开全文
  • 按照规定,涉密网络须和国际互联网物理断开,同时也有严格的管理软件和管理制度要求不能...目前有一种使用云桌面的方案进入视野,能否在保持PC使用方便的基础上,更好的提高安全性、降低成本? 一、用户需求 某涉密

    按照规定,涉密网络须和国际互联网物理断开,同时也有严格的管理软件和管理制度要求不能混合使用U盘,不能在一台PC机上同时接入涉密网络和国际互联网,存储在用户涉密PC机上涉密文件要专人保管,开机密码要每月变化,并加装了安全防护软件。然而,在实际使用过程中,仍然有大量的问题出现。目前有一种使用云桌面的方案进入视野,能否在保持PC使用方便的基础上,更好的提高安全性、降低成本?

    一、用户需求

    某涉密网络,需要通过涉密网络来传输涉密信息,部署到相关下属单位,需要实现如下功能为:

    1、物理安全性不低于目前PC机;

    2、管理方便性高于PC机;

    3、更好的涉密介质管理;

    4、更强的访问控制方案,方便的使用性;

    5、占用物理空间更少;

    6、方便的打印功能。


    二、解决方案

    涉密网络云桌面拓扑结构如下图所示,采用了基于虚拟化的云桌面产品,所有访问通过网络完成,在本地可以接入打印机、涉密U盘、指纹识别仪等产品,需求完成及安全分析如下。


    1、         在下属单位部署云桌面,替代PC;可解决的问题为:涉密数据存储在服务和存储中,在下属单位不存储,即便云桌面被盗,也不会造成数据泄密风险,这样,对于安装云桌面场地的物理安全性,可更加宽松,同时安全性不低于PC;

    2、         在管理方便性方面,云桌面的管理为集中式管理,操作系统的管理全部在服务器端,下属单位不需要配备管理人员,管理方便性、远程可维护性比PC大大提高,同时,云桌面硬件的使用寿命比PC长一倍,可大大减少高故障概率时间;

    3、         介质管理方面,可统一管理涉密介质,非法介质可立即知晓,不需要等到安全检查时才知道;

    4、         可加入指纹识别仪等访问控制设备,并集中式管理,提高访问控制安全水平;

    5、         云桌面体积小,一般只有PC机的十分之一大小,可直接放置在显示器背后,减少桌面占用;

    6、         可集中管理打印机,支持方便的本地打印。

    综上所述,采用云桌面的安全性、方便性、可维护性大大优于PC解决方案。

     

    如需要更详细的方案,请加群,并联系我。

     

    欢迎探讨备份/恢复、容灾、虚拟化相关的各种技术、产品、方案。加QQ群:185466074

    或扫描二维码加入。

    展开全文
  • 一些小伙伴为了省手机内存空间,会将照片和视频放在QQ相册、时光相册、网盘等云空间,但也有小伙伴觉得:将自己的照片、视频放在别人的家里不太安全,万一这个家塌了呢?万一它把你赶出家门卖了呢?是吧,都存在一定...

    你的手机照片、视频保存在哪里?

    一些小伙伴为了省手机内存空间,会将照片和视频放在QQ相册、时光相册、网盘等云空间,但也有小伙伴觉得:将自己的照片、视频放在别人的家里不太安全,万一这个家塌了呢?万一它把你赶出家门卖了呢?是吧,都存在一定的风险!

    那今天就教大家一种比较安全的手机数据存储方式,就是保存在U盘。只要你不拿去维修店修,基本上是没什么风险的。

    一、有线传输
    1、OTG数据线传输

    怎么将手机数据传输到U盘呢?最直接的方法,用OTG数据线。OTG是一种传输技术,现在的手机基本都支持,只要用OTG数据线连接手机和U盘,就可以将手机数据传输到U盘了。


    2、OTG其他作用

    除了连接手机与U盘,OTG数据线还有其他的作用:

    连接鼠标键盘
    给另一台手机充电
    连接游戏手柄
    所以,别心疼买数据线的钱啦。还有,大家在买OTG数据线的时候要注意匹配手机接口哦。

    二、无线传输
    1、QQ

    将U盘插到电脑,手机电脑都登录QQ,然后手机文件发送到我的电脑就行了。

    2、微信

    同理,利用微信的文件传输助手,也可以实现手机电脑文件传输。

    3、网盘

    QQ和微信对传输的文件大小都有所限制,网盘则没有,但速度会慢一些。


    三、如何压缩文件?
    将手机照片、视频压缩一下,再传输到U盘也许会更快捷。

    1、图片压缩

    在电脑装一个迅捷压缩软件,选择「图片压缩」,上传图片,设置压缩格式和清晰度、分辨率等参数,点击开始压缩即可。


    2、视频压缩

    压缩视频也是同样的道理,先上传视频文件,然后设置输出格式、宽高比、分辨率、比特率等参数,再进行压缩即可。


    软件还支持批量压缩文件,可以一次性上传多个文件进行压缩。


    以上就是将手机文件保存到U盘的方法,你学会了吗?你还有什么其他方法将手机文件保存到U盘吗?

    展开全文
  • Cookie安全性分析

    千次阅读 2019-04-22 22:49:58
    浅谈cookie安全性 摘要 HTTP State Management Mechanism(HTTP状态管理机制)一文中,定义了HTTP Cookie和Set-Cookie头字段。HTTP服务器利用这种头字段,在HTTP用户代理(浏览器)中存储当前状态,使得在大多数...

    浅谈cookie安全性

     

    摘要

    HTTP State Management Mechanism(HTTP状态管理机制)一文中,定义了HTTP Cookie和Set-Cookie头字段。HTTP服务器利用这种头字段,在HTTP用户代理(浏览器)中存储当前状态,使得在大多数无状态的HTTP协议下,服务器可以维持一个有状态的回话。虽然,在安全性和隐私性上,cookie有许多历史性的不合理处,但是cookie和Set-Cookie头字段仍广泛用在网络中。

    本文将结合具体案例“qqun_sql_step”讨论cookie在连续会话中的应用,同时,将从私密性和安全性两方面来讨论Cookie的安全特性。分析第三方Cookies,生存周期,明文存储,客户端存储带来的安全问题,着重讨论了几种常见的利用cookie的攻击方式,并在最后对cookie可能存在的每个安全漏洞提出几条建议与注意事项,以降低安全风险。

     

    • 什么是cookie

    HTTP State Management Mechanism(HTTP状态管理机制)中定义了HTTP Cookie和Set-Cookie头字段。利用Set-Cookie头字段,HTTP服务器可以向用户代理传输名值对(name/value pair)和关联的元数据(称为cookie)。当用户代理向服务器发送接下来的请求时,用户代理根据元素数据和其他信息来决定是否在Cookie头中返回名值对。一个回话建立过程如图1所示:

    图 1 cookie的使用

    尽管在表面上很简单,cookie有许多复杂特点。例如,服务器在每个cookie发送至用户代理时,会为其指定范围。这个范围包括,用户代理应当返回cookie的最长时间,用户代理应当返回cookie的服务器,以及cookie实用的URI设计。

    基于历史性的原因,cookie包含许多安全和隐私上的不合理处。例如,服务器默认一个提交的cookie是“安全”连接的,但是,在活跃的网络攻击者出现时,并没有安全属性来提供完整性保障。同样的,尽管浏览器通常使用的同源策略(same-origin policy)隔离了不同端口的检索内容,cookie对于其提交主机来说,是在所有端口上共享的。

     

    • cookie在有状态会话中的应用

    Cookie通常存储在客户端,针对一个服务器的cookie文件中可能包含的信息有会话标识符(session-id),域,路径,安全属性(true/false)等。

    分析QQ群检索项目,两个服务器端脚本如图2,3所示:

    图 2-将用户待查询QQ号加入队列

    cookie如果为空,则将其内容设置为两个随机数,以此作为会话标识符。对于两个拼接的随机数,有效地避免了重复以及攻击者遍历所有取值地攻击方式,可以保证cookie的唯一性。但是cookie的明文传输特性,该脚本没有对其有任何加密处理,攻击者通过监听即可获取当前cookie值。

    图 3-将查询结果返回用户

    系统设置每半小时返回一次查询结果,在此期间,如果用户关闭浏览器,且恰好用户设置了立即清除本地cookies文件,那么该用户将丢失回话信息,无法得到查询结果。

    对此较好的解决方式是加入用户登录系统,以用户身份信息标识每一次查询,Cookie作为登录过程中的信息传输方式。

    而Cookie本身存在许多隐私性和安全性问题,我们将在后面详细讨论。

     

    • cookie隐私性考虑

    Cookie通常被用来让服务器追踪用户状态。比如,许多“网页分析”公司利用cookie来识别一个用户是否返回了一个网页地址,或是否浏览了另一个网站。尽管cookie不是唯一可以被用来在HTTP请求中追踪用户的机制,但是,cookie在用户代理会话中的连续性和能在不同主机间共享的特性,让它很容易实现追踪。

    3.1 第三方cookie

    尤其令人担忧的是“第三方”cookie。在客户端递交一个HTML文件时,经常会向其他服务器(比如广告网络)请求资源。第三方服务可以利用cookie追踪用户,尽管用户从来没有直接访问过这个服务器。比如,如果一个用户访问了一个网页,其中有的内容来自一个第三方,随后,用户访问了另外一个网站,该网站中有来自同一个第三方的内容。这种情况下,第三方可以在这两个网站之间追踪用户。第三方cookies如图4所示:

    图 4-第三方cookies

    有的用户限制了第三方cookie的行为。比如,在响应第三方请求时,有的用户拒绝发送cookie头,有的用户拒绝处理Set-Cookie头。客户端在它们的cookie策略中差异很大。我们允许用户代理广泛尝试第三方策略,以平衡用户需要的隐私性和兼容性。但在HTTP State Management Mechanism文中,并没有提出支持任何一个特定的第三方cookie策略。

    如果服务器尝试在限制范围内追踪用户,第三方cookie阻塞策略在实现其私密性上经常是无效的。特别是,两个合作的服务器可以通过在动态URL中注入认证信息,在不使用用任何cookie的情况下,实现追踪用户。

    3.2用户控制

    客户端应该提供用户管理存在cookie内存中cookie的机制。比如,客户端可以让用户在一个特定的时间段内,能够删除所有接受的cookies,或者与特定域名有关的cookies。在此基础上,许多客户端包括用户接口元素允许用户检查存储在cookie内存中的cookies。

    客户端应该提供用户能够让cookie失效的机制。当cookies失效时,用户代理禁止在对外发出的HTTP请求中包含cookie头,紧张对接收的Set-Cookie头进行处理。

    有的客户端为用户提供防止回话中连续存储cookies的机制。当这样配置时,用户代理必须将所有接受到cookies的连续标志(persistent-flag)视为false。一些流行的客户端通过“无痕浏览”模式来展示这个功能。

    有的客户端为用户提供允许个人编辑cookie存储的功能。在许多常用的情景中,这些功能控件会产生大量的提示。然而,一些对隐私性担忧的用户发现这些控件很有用。

    例如,在Chrome浏览器中,提供了如下可供用户操作的Cookies管理选项:

    图 5-Chrome中的Cookies管理

    3.3失效日期

    尽管服务器可以为远距离的cookie设置失效日期,大多数用户代理并没有保存cookies几十年。服务器应当基于cookie的目的,为cookie选择合理的截止日期,以此来保障用户隐私性,而不是选择毫无必要的如此长的生命周期。比如,一个典型的认证回话,设置两周后失效才是合理的。

     

    • cookie安全性考虑

    4.1综述

    cookies有许多安全陷阱。HTTP Statement Management Mechanism主要讨论了几个突出的问题。

    特别的,cookies鼓励开发者依赖环境权限来进行授权,这经常成为被攻击的漏洞,比如CSRF(cross-site request forgery跨站点请求伪造)。并且,开发者经常会在将会话标识符存在cookies中时,创造会话固定漏洞(session fixation vulnerabilities)。

    HTTPs中用到的传输层加密,不足以防止网络攻击者获得或替换一个受害者的cookies,因为cookie协议本身就有各种漏洞。并且,默认情况下,即使与HTTPs一同使用时,cookies不提供网络攻击下的机密性和完整性保护。

    4.2环境权限

    因为一些用户代理允许远程方从用户代理发出HTTP请求(比如,通过HTTP重定向或HTML形式),这使得那些利用cookies来为用户授权的服务器会产生安全漏洞。当发送这些请求时,用户代理甚至可以在远程方根本不知道cookies内容的情况下获得cookies,这很可能让远程方在安全性不严密的服务上行使权限。

    虽然这些安全顾虑有过很多说法(如:跨站点请求伪造,混淆代理confused deputy)这些问题都来源于将cookie作为一种环境权限。cookies鼓励服务器操作者将指定(URLs形式)与授权认证(cookies形式)区分。因此,用户代理为攻击者指定的资源提供权限,可能造成服务器或它的用户执行攻击者指定的操作,就好像这些操作是由用户授权了的一样。

    服务器开发者可能会希望通过将URL视为能够来考虑指定和授权混乱的问题,而不是使用cookies来授权。如果将秘密信息存储在URLs中,而不是cookies中,这要求远程端自身提供机密性,。尽管这个方法不是万能的,但审慎地应用这些规则可以实现更加健壮的安全性。

    4.3明文

    除非在安全信道中传输(如:TLS),Cookie和Set-Cookie头中的信息是以明文形式传输的。

    1. 所有在这些头中传输的敏感信息都暴露在窃听者面前。
    2. 恶意中间人可以在信息向任意方向传输时更改Set-Cookie头,这将导致不可预测的结果。
    3. 恶意用户可以在传输前更改Cookie头,这将导致不可预测的结果。

        服务器应该在传递cookies至客户端时(尽管在加密通道内发送)对其内容加密和签名。然而,对cookies加密和签名并不能够防止攻击者将cookie从一个用户代理移植到另外一个或者在后面的某个时间重放。

        为了对每一个cookie的内容进行加密和签名,对安全性有更高要求的服务器应当只在加密信道中使用Cookie和Set-Cookie头。当在加密信道中使用Cookie和Set-Cookie头时,服务器应当为每一个cookie设置安全属性,否则,安全信道提供的保护很大程度上是无意义的。

    打开Chrome浏览器中任意一个cookie文件,其内容如图所示:

    图 6-cookie内容

    可见google浏览器对其内容进行了加密,从这份cookie文件可用得到该cookie的相关属性设置。

    举例来说,考虑一个在cookie中存储了会话标识符,并且通常通过HTTPs访问的网页邮箱服务器。如果服务器没有在其cookies中设置安全属性,一个活跃的网络攻击者可以拦截窃听任何从客户端发出的HTTP请求,并且通过HTTP将该请求重定向到网页邮箱服务器。尽管服务器没有监听HTTP连接,用户端将仍会在请求中包含cookies。活跃的网络攻击者会拦截这些cookies并在服务器上重放,从中获取用户邮箱。相反,如果服务器在这些cookie中设置了安全属性,用户代理将不会在其明文请求中包含cookie。该攻击过程如下图所示:

    图 7-对没有安全保护的Cookie的攻击

    4.4会话标识符

    服务器大多存储一个nonce(或会话标识符)在cookie中,而不是直接的会话信息。当服务器接收了一个带有nonce的HTTP请求时,cookie中的nonce作为钥匙,服务器可以以此来查看状态信息。

    如果攻击者的到了cookie的内容,会话标识符的使用可以限制攻击者造成的危害,因为nonce只有在和服务器交互中才有用(与无标识符cookies内容不同,无标识符cookies的内容本身很敏感)。进一步说, nonce信号量的使用防止了攻击者将两次服务器的交互连接起来,否则,这会导致一些不可预测的行为。

    使用会话标识符不是没有风险。比如,服务器应该注意“会话固定(session fixation)”漏洞。会话固定攻击分三步进行。第一,攻击者从自己的用户代理移植一个会话标识符到受害者客户端;第二,受害者使用该会话标识符与服务器交互,这可能将会话标识符嵌入到用户的证书或机密信息中;第三,攻击者使用该会话标识符直接与服务器交互,这可能获得用户权限或者机密信息。

    4.4脆弱的机密性

    cookie不提供端口隔离。如果运行在某个端口上的服务,其cookie是可信任的,那么在运行在其他端口的相同服务的cookie也是可信任的。如果cookie对某个端口的服务是可写的,那么对其他端口相同服务也是可写的。基于这个原因,服务器不应当在同一主机不同端口上运行互相不信任的服务,在cookie中存储安全敏感信息。

    cookie不提供协议(scheme)隔离。虽然在最常用的http和https协议中,一个指定主机的cookies也可能对其他协议可用,如:ftp和gopher。尽管这种协议隔离的缺乏在允许存取cookie的非HTTP API中最明显,但它确实存在于处理cookie本身的需求中。

    cookie通常不提供路径隔离。尽管网络层协议不向另一个路径发送存储的cookie,用户代理会通过非HTTP API暴露cookie,如,HTML的document. cookie API。因为这其中有的用户代理(如,网页浏览器)没有对来自不同路径的资源进行隔离,从一个路径检索的资源可能会能够访问另一个路径存储的cookies。

    4.5脆弱的完整性

    cookies不为同胞域(sibling domains)及其子域提供完整性保证。比如,考虑foo.example.com和bar.example.com。这是《HTTP Statement Management Mechanism》举的一个例子。

     foo.example.com服务器设置了一个有域名属性的cookie(可能覆盖了一个已经存在的由bar.example.com设置的”example.com” cookie),并且用户代理会在对bar.example.com的HTTP请求中包含该cookie。最坏的情况,bar.example.com无法将其与自身设置的cookie区分。foo.example.com服务器可能会利用此功能对bar发动攻击。如图8所示:

     

    图 8-同胞域内攻击

    服务器可以通过对其cookies内容的加密和签名部分缓减这个攻击。然而,使用密码学并不能完全解决这个问题,因为从用户会话中真实的example.com服务,攻击者可以拦截来自其中的cookie,这将带来不可预测的结果。

    最后,攻击者能够通过存储大量的cookie,来强制用户代理删除cookies。一旦用户代理达到了其存储限制,它将会删除一些cookies,这样就破坏了服务器的正常服务。

    4.6对DNS的依赖性

    cookie的安全性依赖于域名系统(Domain Name System)。如果DNS部分或完全损害,cookie协议可能无法提供应用要求的安全特性。

     

    • 总结

    Cookie的使用使得用户与服务器可以进行连续有状态的会话,但Cookie的众多安全漏洞让攻击者有可乘之机,尽管人们在不断完善加强Cookie的安全机制,增加许多约束与属性,仍然无法保证Cookie在身份认证,访问控制,数据机密性,完整性上的绝对安全。

    在某种意义上来说,Cookie本身的存在就破坏了用户信息的隐私性,它被用来追踪用户的当前状态。对于第三方Cookie,它能够实现在不同站点之间追踪用户的状态,为此,浏览器提供了一些策略,如,让用户能够禁止第三方Cookie,但这并不能完全阻止服务器对用户的追踪。只要两个合作服务器在URL中包含状态等信息,不需要Cookies也能实现追踪。

    对于用户的隐私性,有的用户代理提供用户对本地Cookies文件的操作权限,服务器合理设置Cookies有效时限,这些都是提高Cookie在安全性上的措施。

    对于用Cookies来进行用户授权而存在的安全漏洞,典型攻击有跨站点请求伪造。开发者应采用加密的URLs来判断用户身份。

    对于Cookies的明文传输特性,服务器需要对其加密和签名,同时在加密信道中传输。这还不够,服务器还要为其设置安全属性,这样客户端才不会在明文请求中包含cookie。

    对于Cookies中的会话标识符,在一定程度上抵抗了攻击者的窃听与攻击。但它同样存在“会话固定”漏洞,攻击者通过监听窃取用户当前的会话标识符可以实现会话劫持。

    Cookies的数据机密性,完整性十分脆弱,这是因为它不提供端口,协议,路径上的隔离,也不提供同胞域及其子域的完整性保障。即使是相互不信任的服务,在同一个主机中的不同端口,协议,路径之间都是信息共享。Cookie注入是常见的攻击手段,破坏数据完整性。

    并且,Cookies脆弱的安全性依赖于DNS的安全性,若系统遭到DNS域名攻击,Cookies的安全性就免谈了。

     

    MEMO

        针对上述分析的cookie安全性问题,为提高用户和服务器的信息安全,这里提出几条相关的建议和注意事项。

    对于服务器开发者:

    1. 根据交互所需的传输范围,设置适当的Cookie有效时间
    2. 对cookie加密以及数字签名,并在安全信道中传输
    3. 用URL参数代替cookie中可能包含的敏感信息
    4. 不要在cookie中设置中文
    5. 合理设置Cookies中的安全属性
    6. 服务器不应该在同一个主机上同时运行相互不信任的服务

    对于普通用户:

    1. 设置浏览器禁止第三方cookie
    2. 定期清除本地存储的cookie
    3. 不使用“自动登录”,因为自动登陆即使将用户名和密码保存在cookie中存在本地,即使加密了,很容易被盗取

     

     

     

    注:文中一,三,四部分参考自《HTTP Statement Management Mechanism》

    展开全文
  • DevEco Studio针对Java语言代码进行安全检查,扫描代码安全问题,并根据扫描结果提示进行修改,有助于开发提高代码的健壮。常见的代码安全问题包括如下几类: 凭据管理 认证问题和会话管理 权限控制 加密问题 ...
  • 安全性错误配置(Security Misconfigurations) 从本质上讲,蛮力是尝试许多可能的组合的行为,但是此攻击有多种变体,可以提高成功率。这是最常见的: 未修补的缺陷 默认配置 未使用的页面 未受保护的文件和目录 ...
  • 对于一些设计硬件通讯协议的安全性问题,也许会有一些解决方法和提醒,或许有好处吧! 因为`MD5`加密是不可逆的,也就是知道加密后的内容但是破解原文难度极大,不是不可能?即使跑字典的方式破解,也要跑二十几年...
  • 提升Java代码性能和安全性

    千次阅读 2019-06-13 23:28:53
    安全嘛,少用反射,尽量用私有成员达到封装,代码尽量不要出现异常,出现异常要及时处理,面向接口编程做到代码通用。 性能嘛。。在达到封装目的后尽量少用对象和类,多用基本数据类型,避免重复调用同一方法...
  • 一提到网络,肯定就有大量和安全性相关的问题出来。所以,对于我们开发者而言,如何打造一个安全的App,是必须面对的问题。前段时间我专门对iOS移动应用安全性方面进行了研究,下面我们分析iOS应用中可能会存在的...
  • 提升安全性---选择一个安全的加密算法 作者Attilax , 1466519819@qq.com 数据加密标准(DES)是一个古老的对称密钥加密算法,目前已经不再使用。它不是一个很安全的算法。 DES 数据加密标准算法由于密钥长度较 ...
  • DevEco Studio针对Java语言代码进行安全检查,扫描代码安全问题,并根据扫描结果提示进行修改,有助于开发提高代码的健壮。常见的代码安全问题包括如下几类: 凭据管理 认证问题和会话管理 权限控制 加密问题 ...
  • 在CES 2017上,黑莓QNX共享有关其安全嵌入式操作系统设计的汽车行业。 这个软件,被称为QNX SDP 7.0是一个64位的操作系统,提高安全性和可靠性的载体。
  • QQ安全问题 (www.team509.com)

    千次阅读 2005-06-24 13:41:00
     本文谈谈QQ安全问题。 QQ具有如此惊人的人气,却有着与之不相称的安全问题。基本上可以说,使用QQ,基本没有任何隐私可言!另外它也为你的电脑带来了诸多附送的安全隐患。有识之士如我都早已不用QQ啦。 QQ的...
  • 提高效率 强大管理QQ登陆过程提高登陆安全性 写的够详细了 大家下载试一下就OK了 很好用 全自动登陆多个QQ省去很多麻烦。提高效率 强大管理QQ登陆过程提高登陆安全性 写的够详细了 大家下载试一下就OK了 很好用 全...
  • 重要的数据,要加密,比如用户名密码,我们需要加密,这样即使被抓包监听,他们也不知道原始数据是什么(如果简单的md5,是可以暴力破解),所以加密方法越复杂越安全,根据需要,常见的是 md5(不可逆),aes(可逆)...
  • 注意这里足够之所以加引号,是因为既然存在本地,就肯定有办法能够通过各种手段获取到,但只要我们能够将安全性提高到一定等级,大部分人有这能力的人不会去做那么费力不讨好的事了。所以我们只需要把安全等级提高到...
  • 在撰写这篇文章之前,我先简单分享下hack the box实验感受。hack the box是一个在线渗透平台,模拟了真实环境且难度较大,而且用户...这是一篇基础文章,将讲述注册过程、遇到的难点及入门案例,希望对您有所帮助。
  • 但是兼容不佳是它的一个问题,特别是在Windows Vista操作系统上,我不能保证它是可用的。不过在可用的情况下,它能记录我所找到的各种带保护的密码框,包括QQ2008的密码框。  在此之前你还可以看看我以前的...
  • 电子邮件是qq邮箱吗

    万次阅读 2019-04-02 11:49:31
    一米软件发现很多刚接触邮件群发的小白甚至都会有这样的疑问:电子邮件是qq邮箱吗,其实这个问题很简单,下面就一起来看看。 总的来说:QQ邮箱是电子邮箱,电子邮件是电子邮箱里面的信件,所有电子邮件是qq...
  • 马化腾-QQ

    万次阅读 2012-08-13 16:12:11
    广东汕头人,腾讯主要创办人之一,现担任公司控股董事会主席兼首席执行官,被称为“QQ之父”,曾在深圳大学主修计算机及应用,于1993年取得深大理学士学位。1998年和好友张志东注册成立"深圳市腾讯计算机系统有限...
  •  公告:“QQ在线状态”V2.0正式发布,解决了QQ2009用户点击“在线状态”后须添加好友才能对话的问题,提高了临时会话使用的安全性, 请您尽快升级。    这倒的确是个好消息,以前以为是QQ刻意这样做的,一方面...
  • QQ红包技术方案全解密

    千次阅读 2017-03-24 16:44:26
    QQ红包技术方案全解密
  • 腾讯qq2010下载

    千次阅读 2010-03-25 17:41:00
    腾讯qq2010下载,我们的软件能在显示HTML邮件漂亮原貌的同时,有效阻止这些控件和代码运行,从而避免自动激活附件病毒或木马,保障用户的邮箱以及电脑的安全。腾讯qq2010下载传统方式的主界面布局中,内容预览窗是...
  •  公告:“QQ在线状态”V2.0正式发布,解决了QQ2009用户点击“在线状态”后须添加好友才能对话的问题,提高了临时会话使用的安全性, 请您尽快升级。  这倒的确是个好消息,以前以为是QQ刻意这样做的,一方面...
  • 友盟第三方登录实现QQ和微信登录

    万次阅读 2017-05-04 10:52:25
    前言市面上的app大部分都可以使用qq,微信这些第三方平台的账号来登录,这样可以提高用户体验,避免手工输入账号和密码的麻烦。那么第三方登录的原理到底是什么,以及使用友盟这个平台怎样实现qq和微信的联合登录?...
  • 作为程序员,此时我们应该更加关注程序的安全性才对,但现实情况是程序员关注的依然是程序功能的实现,仍然忽视了程序的安全性,以至于很多程序都存在安全漏洞。下面是传智播客C/C++学院仅仅学习了5个月C/C++语言的...
  • QQ会员活动运营平台(AMS),是QQ会员增值运营业务的重要载体之一,承担海量活动运营的Web系统。在过去四年的时间里,AMS日请求量从200-500万的阶段,一直增长到日请求3-5亿,最高CGI日请求达到8亿。在这个过程中,...
  • java使用qq发送邮件

    千次阅读 2017-06-12 17:03:32
    某些邮箱服务器要求 SMTP 连接需要使用 SSL 安全认证 (为了提高安全性, 邮箱支持SSL连接),SMTP 服务器的端口。非 SSL 连接的端口一般默认为 25, 可以不添加, 如果开启了SSL 连接需要改为对应邮箱的 SMTP 服务器的...
  • QQ 编辑 腾讯QQ(简称“QQ”)是腾讯公司开发的一款基于Internet的即时通信(IM)软件。腾讯QQ支持在线聊天、视频通话、点对点断点续传文件、共享文件、网络硬盘、自定义面板、QQ邮箱等多种功能,并可与多种通讯...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,818
精华内容 23,127
关键字:

如何提高qq安全性