信息安全专业知识点大提纲

来源:互联网 发布:mysql配置要求 编辑:程序博客网 时间:2024/04/27 21:14
原创作品:转载请注明出处http://blog.csdn.net/a369414641 作者:王勤为

一、信息安全的保障标准(主体是信息,从各种方面保证信息的安全)
      (1)保密性
               网络安全解决措施网络安全解决措施信息不泄露给非授权用户、实体或过程,或供其利用的特性。
      (2)完整性
               数据未经授权不能进行改变的特性。即信息在存储或传输过程中保持不被修改、不被破坏和丢失的特性。
      (3)可用性
               可被授权实体访问并按需求使用的特性。即当需要时能否存取所需的信息。例如网络环境下拒绝服务、破坏网络和有关系统的正常运行等都属于对可用性的攻击;
      (4)可控性
               对信息的传播及内容具有控制能力。
       (5)可审查性
              出现安全问题时提供依据与手段
二、安全服务
        对等实体认证服务、访问控制服务、数据保密服务、数据完整性服务、数据源点认证服务、禁止否认服务、安全机制。

三、 加密机制
        数字签名机制、访问控制机制、数据完整性机制、认证机制、信息流填充机制、路由控制机制、公证机制

四、主要的加密算法(对称加密速度快,灵活)
       (1)非对称加密:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法);
       (2)对称加密:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK、AES;
       (3)不可逆加密(摘要算法):MD5;

五、密钥管理技术
       (1)密钥分发:a.证书中心  b.密钥分发协议(Diffie-Hellman)

五、常见的攻击方式(并不局限于网络安全领域)
       (1)重放攻击:黑客截取到信息,并发送一个主机接受过的包来达到欺骗的目的,比如模拟登录。在没有一个动态验证登录或者动态强度不够大(信息熵不够大)的系统中,这类攻击很容易生效。
       (2)Dos洪水攻击:不停的发送请求,耗尽目标系统的处理能力,达到无法为正常请求服务的目的。
       (3)缓冲区溢出攻击:不详细解释了,百度自行寻找。
       (4)整数溢出攻击:程序员没有考虑到输入数据的范围和长度,造成整数溢出(低位截取),这种错很有可能改变程序的执行流程,比如你根据数据的大小进入不同的分支。严重时可能造成程序崩溃。
       (5)Url攻击:Web开发用Get方式传值(甚至是明文)的时候容易遭受这类攻击,和SQL注入攻击一起用很容易会造成信息泄漏后果。
       (6)SQL注入攻击:解释性语言都可能遭受这类攻击,具体请百度。
       (7)ARP欺骗攻击:伪装网关或某台主机
       (8)木马病毒:现在这类型已经不太流行。
       (9)钓鱼网站

六、操作系统安全
       1.定义:安全操作系统是指计算机信息系统在自主访问控制、强制访问控制、标记、身份鉴别、客体重用、审计、数据完整性、隐蔽信道分析、可信路径、可信恢复等十个方面满足相应的安全技术要求。 
       2.安全操作系统主要特征: (1 )最小特权原则,即每个特权用户只拥有能进行他工作的权力;( 2)自主访问控制;强制访问控制,包括保密性访问控制和完整性访问控制; (3 )安全审计; (4 )安全域隔离。只要有了这些最底层的安全功能,各种混为“ 应用软件 ” 的病毒、木马程序、网络入侵和人为非法操作才能被真正抵制,因为它们违背了操作系统的安全规则,也就失去了运行的基础。

七、信息隐藏
      把信息隐藏在各种介质中,比如图像的像素低位

八、常见的安全平台设计实践建议
       (1)最小特权原则(2)强力的备份机制(3)加密原则(利用硬件辅助加密)(4)隐藏原则,比如数据库尽量对非必要人员隐藏,对一些运维人员只提供一些管理软件操作数据库完成运维工作。

六、具体到Android的安全思考
       (1)信息的保密性:所有的数据都需要加密,这些数据有哪些呢? a.sharePreference   b.sqlite    c. 网络上传播的信息
       (2)对等实体的验证: 验证是否是服务器,验证是否是客户端,其实就是应抗重放攻击,怎么验证?证书机制(非对称加密)
       (3)对外接口的安全:各种输入信息,要验证其合法性 ,总之对外接口越少越好,比如activity的action的设置,无非必要不要设置,直接用显示意图调用,免得被人盗用。
       (6)输入法安全:如果有重要信息,调用自己的输入法控件输入。
       (7)密钥的管理:用来进行加密的密钥  Key保存在本地是不行的,只能保存在服务器上的KMC(密钥管理中心),客户端每次需要从服务器上获取Key,当然在网络传输的肯定不是key明文。
       (8)ContentProvider的使用是有风险的,如果你的数据保存在数据库中,那么有可能产生SQL注入。

           



0 0