密码编码学与网络安全(第五版)课件:软件开发安全之道(全).ppt

上传人(卖家):罗嗣辉 文档编号:2048276 上传时间:2022-01-22 格式:PPT 页数:235 大小:14.18MB
下载 相关 举报
密码编码学与网络安全(第五版)课件:软件开发安全之道(全).ppt_第1页
第1页 / 共235页
密码编码学与网络安全(第五版)课件:软件开发安全之道(全).ppt_第2页
第2页 / 共235页
密码编码学与网络安全(第五版)课件:软件开发安全之道(全).ppt_第3页
第3页 / 共235页
密码编码学与网络安全(第五版)课件:软件开发安全之道(全).ppt_第4页
第4页 / 共235页
密码编码学与网络安全(第五版)课件:软件开发安全之道(全).ppt_第5页
第5页 / 共235页
点击查看更多>>
资源描述

1、1软件开发安全性设计软件开发安全性设计王宝会王宝会2引言引言硬件是躯体,软件是灵魂!硬件是躯体,软件是灵魂!软件是信息化的灵魂!软件是信息化的灵魂!软件是各国、尤其是发达国家争夺科技主导权的制软件是各国、尤其是发达国家争夺科技主导权的制高点。高点。软件是一种产品,软件是一种武器!软件是一种产品,软件是一种武器!软件产业是知识经济的核心。软件产业是知识经济的核心。软件既可以用来攻击别人,也可以用来保护自己。软件既可以用来攻击别人,也可以用来保护自己。软件主要指计算机系统中的程序软件主要指计算机系统中的程序(源程序和执行程序源程序和执行程序)以及程序运行所必须的数据和文档。以及程序运行所必须的数据

2、和文档。34现实中的一些安全问题现实中的一些安全问题我的口令就是我的用户名后加上123我的口令是Q47pY!3,每隔90天就更换一次5黑客攻击清华网站黑客攻击清华网站 捏造校捏造校长批评教育制度新闻长批评教育制度新闻6被入侵站点的截图被入侵站点的截图7首页被篡改的网站首页被篡改的网站8部分国外网站被黑截图部分国外网站被黑截图9网站网站“挂马式挂马式”攻击攻击中国招商引资网中国招商引资网 http:/ 站点最下站点最下方被填加恶意连接,是一次典型的挂方被填加恶意连接,是一次典型的挂马式攻击。马式攻击。http:/ 12在浏览器框中输入在浏览器框中输入:javascript:aviod(docum

3、ent.cookie=uc1=12345zzlsecuritytest ) 13Cookie 捕获攻击捕获攻击14Web欺诈的实施过程欺诈的实施过程非法网站151617Skulls.D手机病毒手机病毒来源来源: TUOMAS TONTERI18程序师的软件后门程序师的软件后门著名的郑金龙利用职务之便,盗取金融卡的资料,并自己制作金融卡偷取客户的存款。这个问题的根本不单是个人遵守的问题,而在于并未确实执行文件存取的规范,让程序设计师有权限阅读到他不该看的资料19另类的一些事件另类的一些事件2006年南航登记牌系统出现问题,导致2000多架飞机延误2007年奥运门票购买系统出现崩溃2008年伦敦证

4、券系统出现崩溃20软件信息安全体系SSL, IPtable( Firewall) , TAR, Squid ( Proxy ).Tivoli, Backup,GuardApache, Sendmail, MySQL.DB2, SBS, Domino, WebSphereOracle, MQ, Weblogic, 21程序里面的安全漏洞程序里面的安全漏洞 漏洞是指硬件、软件或策略上的缺陷,从而可漏洞是指硬件、软件或策略上的缺陷,从而可使攻击者能够在未经授权的情况下访问系统。使攻击者能够在未经授权的情况下访问系统。软件漏洞是指在计算机程序、系统或协议中存软件漏洞是指在计算机程序、系统或协议中存在的

5、安全漏洞,它已成为被攻击者用来非法侵在的安全漏洞,它已成为被攻击者用来非法侵入他人系统的主要渠道。入他人系统的主要渠道。 程序中存在的危害本地安全策略的问题或弱点程序中存在的危害本地安全策略的问题或弱点 大多数是指那些会导致程序强制执行一些不同大多数是指那些会导致程序强制执行一些不同于作者本来意图的行为于作者本来意图的行为 通常情况下通常情况下99.99% 无错的程序很少会出问题,无错的程序很少会出问题,利用那利用那0.01% 的错误导致的错误导致100% 的失败的失败22基于软件的漏洞包括故意错误、意外包含和基于软件的漏洞包括故意错误、意外包含和拙劣设计拙劣设计,从黑客攻击的角度:利用软件漏

6、从黑客攻击的角度:利用软件漏洞的攻击软件,如隐藏代码、逻辑炸弹、检洞的攻击软件,如隐藏代码、逻辑炸弹、检查时间(查时间(Time of Check)到使用时间)到使用时间(Time of Use)()(TOC/TOU)木马、病)木马、病毒、逻辑炸弹、后门程序、毒、逻辑炸弹、后门程序、NAK攻击或中攻击或中断、伪出错等。断、伪出错等。程序里面的安全漏洞程序里面的安全漏洞23常见安全漏洞类型常见安全漏洞类型缓冲区溢出缓冲区溢出竞争条件竞争条件输入检查错误输入检查错误访问控制错误访问控制错误设计错误设计错误24WindowsWindows的输入法漏洞的输入法漏洞25攻击性软件攻击性软件DDoS软件软

7、件病毒病毒木马木马后门后门暴力破解软件暴力破解软件流氓软件流氓软件26TCP SYN AttackPing of Deathq 消耗系统资源(带宽、内存、队列、CPU)q 当机q 阻止授权用户正常访问服务(慢、不能连接、没有响应)CPU拒绝服务拒绝服务DOS27分布式拒绝服务分布式拒绝服务DDOS攻击者攻击者主控端主控端主控端代理端代理端代理端代理端代理端代理端攻击目标28常见的分布式拒绝常见的分布式拒绝服务服务DDOSTrinoo TFN2KTFNstacheldraht 客户端、主控端和代理端主机相互间通讯时使用如下端口: 1524 tcp 27665 tcp 27444 udp 3133

8、5 udp 客户端、主控端和代理端主机相互间通讯时使用ICMP ECHO和ICMP ECHO REPLY数据包。 客户端、主控端和代理端主机相互间通讯时并没有使用任何指定端口(在运行时指定或由 程序随机选择),但结合了UDP、ICMP和TCP数据包进行通讯。 16660 tcp65000 tcpICMP ECHOICMP ECHO REPLY 探测漏洞、入侵系统、安装后门和rootkit 大量的常规拒绝服务工具的混合执行29病毒泄露信息病毒泄露信息30Slammer软件在全球的软件在全球的11分钟分钟268110 Infections doubled every 8.5 seconds Inf

9、ected 75,000 hosts in first 11 minutes Caused network outages, cancelled airline flights and ATM failures Cisco Responded in 10At Peak,Scanned 55 Million Hosts per SecondMinutes after Release31Code Red v 1扩展速扩展速度(度(7.19-7.20)32计算机病毒编制技术的新计算机病毒编制技术的新迹象迹象操作系统:单一平台操作系统:单一平台-跨平台跨平台(Winux)人员:单兵作战人员:单兵作战-

10、团队协作(团队协作(Matrix、29a)区域:地区化区域:地区化-国际化、全球化国际化、全球化(Email)技术:单一技术:单一-全面(全面(Magistr)危害:恶作剧危害:恶作剧-危及国家、信息安全危及国家、信息安全(BO、冰河)、冰河)速度:小时内感染全球速度:小时内感染全球33Unix/Linux后门后门常用帐号后门常用帐号后门 检查检查 /etc/passwd 查看查看 UID=0 查看查看 shell 字段字段rhosts+ 后门后门 检查检查 /etc/hosts.equiv 查看每个用户的查看每个用户的$HOME/.rhosts 查看是否增加了查看是否增加了“信任信任”主机主

11、机34Unix/Linux后门后门二进制木马后门二进制木马后门 将可执行文件替换将可执行文件替换 检查时间戳检查时间戳 检查校验和检查校验和 strings 输出可打印字符串输出可打印字符串 如果如果 “strings /bin/login | grep crypt” 有输有输出,一定是出,一定是 trojan 了的了的 login 如果如果 strings ls | grep “/dev/pty” 有输出,或有输出,或者直接者直接 strings ls 发现可疑路径和文件名,说发现可疑路径和文件名,说明已经明已经 trojan 了。对了。对 dir、vdir 也一样也一样 如果如果 stri

12、ngs du | grep “/dev/pty” 有输出,或有输出,或者直接者直接 strings du 发现可疑路径和文件名,说发现可疑路径和文件名,说明已经中了明已经中了 trojan35Unix/Linux后门后门二进制木马后门(续)二进制木马后门(续) ifconfig 后门就是把下面一行代码注释掉后门就是把下面一行代码注释掉 if (ptr-flags & IFF_PROMISC) printf(PROMISC ); 以去掉网卡混杂模式显示。以去掉网卡混杂模式显示。 如果如果 “strings /sbin/ifconfig | grep PROMISC” 没有输出,肯定没有输出,肯定

13、 ifconfig 已被中了已被中了trojan36Unix/Linux后门后门二进制木马后门(续)二进制木马后门(续) netstat 木马程序的不支持木马程序的不支持 “-p” 选项,选项,而系统自身的而系统自身的 netstat 支持支持 “-p” 选项。选项。因此如果发现因此如果发现 netstat 不支持不支持 “-p” 选选项,肯定项,肯定 netstat 被换成木马程序被换成木马程序 Linux 系统的系统的 “-p” 选项表示打印出进选项表示打印出进程号程号(pid)和程序名和程序名(program name)信信息,而息,而 Solaris 系统上系统上 “-p” 表示打印表

14、示打印出网络接口的协议信息。如果发现与这出网络接口的协议信息。如果发现与这一点不符,一点不符,netstat 就被换成木马程序就被换成木马程序37Unix/Linux后门后门二进制木马后门(续)二进制木马后门(续) tcpd 中有一段代码,这段代码对远程主中有一段代码,这段代码对远程主机名进行查询和双重检查,拒绝可疑连机名进行查询和双重检查,拒绝可疑连接。接。trojan 的目的是使这段代码失效的目的是使这段代码失效 sshd 后门把后门把 ssh 发行包里的发行包里的 login.c 作作了修改,加入了内置的用户名和口令。了修改,加入了内置的用户名和口令。执行执行 “strings sshd

15、”,发现诸如,发现诸如 “hax0r3d” 串,说明串,说明 sshd 已被已被 trojan38Unix/Linux后门后门daemon 服务后门服务后门 UDP 后门。启动一个后门。启动一个 daemon 进程,侦听某进程,侦听某个个 UDP 端口,收到端口,收到 UDP 包后启动一个包后启动一个 shell。例如例如 udp-backdoor-v2.0.tgz 就是这类后门的就是这类后门的安装包。可用安装包。可用“ netstat -l -p -na | grep udp” 查看这类后门是否在活动查看这类后门是否在活动 TCP 后门。诸如后门。诸如 bdoor.c 之类的小程序。执行之类

16、的小程序。执行 “netstat -l -p -na | grep tcp” 查看这类后门是查看这类后门是否在活动否在活动 Raw socket 后门。这类后门打开一个后门。这类后门打开一个 raw socket,通过发,通过发 ICMP 包来进行网络通讯包来进行网络通讯39通过通过RC检测后门检测后门Solaris。在 /etc 目录下,有这样一些 rc 脚本:rcS、rc0、rc1、rc2、rc3、rc5、rc6Linux。rc 脚本在 /etc/rc.d 目录下,它们是:rc、rc.local、rc.sysinit对 Solaris 系统,rcS-6 脚本名最后一个数字或字母表示运行级别

17、 /etc 目录下另有 rc0.d、rc1.d、rc2.d、rc3.d、rcS.d 五个目录,目录名中.前面的数字 或字母同样是表示运行级别 rcS-6 脚本的作用是:按运行级别,对相应的 rcS-6 目录下文件名以S打头的脚本文件,赋给参数 start,启动相应的服务守护进程;以K打头的脚本文件,赋给参数 stop,关闭相应的服务守护进程 其中的例外是,rc5 和 rc6 脚本启动或关闭的是 rc0.d 中的服务守护进程 rcS、rc0、rc1、rc5、rc6 脚本还进行文件系统安装或拆卸工作。特别是 rcS,它是系统启动时必须执行的,它对文件系统进行检查和安装,进行各项系统配置40通过通过

18、RC检测后门检测后门对对 Linux 系统,系统,/etc/rc.d 目录下有目录下有 rc0、rc1、rc2、rc3、rc4、rc5、rc6 这七这七个目录个目录 /etc/rc.d/rc 脚本依据运行级别象脚本依据运行级别象 Solaris 上一样按上一样按 rc0-6 目录中的脚本目录中的脚本启动或关闭服务守护进程启动或关闭服务守护进程 同时,对每个运行级别,同时,对每个运行级别,rc.local 脚本脚本都将执行。都将执行。rc.sysinit 脚本系统启动时必脚本系统启动时必须执行,它检查和安装文件系统,进行须执行,它检查和安装文件系统,进行各项系统配置各项系统配置41通过通过RC检

19、测后门检测后门仔细检查这些 rc?.d 目录,如果发现某个脚本文件不是到 /etc/rc.d/init.d 或 /etc/init.d 目录中某个脚本文件的符号连接,或者出现与上面文件名规则不相符的脚本文件,或者增加了某个脚本文件,它很可能是用来启动后门进程的,必须仔细检查这些脚本启动的程序确信 rc?.d 目录中脚本文件都是到 /etc/rc.d/init.d 或 /etc/init.d 目录中某个脚本文件的符号连接后,再 cd 到 /etc/rc.d/init.d 或 /etc/init.d 目录下。检查 init.d 目录下的脚本文件,如果某个脚本启动的服务进程与名称不符,或者脚本文件的

20、内容被修改,加有别的什么东西启动了别的进程,必须仔细检查,极可能是被用来启动后门进程了除此之外,与二进制木马后门相交叉,对 init.d 目录下脚本文件启动的每一个程序本身,都要仔细检查,运行起来看看有没有什么不正常的现象,防止它有可能被换成 trojan 木马了。对于 init.d 目录中的脚本文件启动的程序,它们的二进制文件大都在/usr/bin、/usr/local/bin、/sbin、/usr/sbin 目录下42通过通过 /etc/inetd.conf 检测后门检测后门注意注意 /etc/inetd.conf 中如下的语法:中如下的语法: # telnet stream tcp no

21、wait root /usr/sbin/tcpd in.telnetd 特别是最后两个字段,特别是最后两个字段,和和检查检查 /etc/inetd.conf,特别是最后两个字段,查看是否除通常,特别是最后两个字段,查看是否除通常的服务外新加有一行启动了别的服务。如果有的话,仔细检的服务外新加有一行启动了别的服务。如果有的话,仔细检查这项服务,很可能是在启动后门程序查这项服务,很可能是在启动后门程序同样,与二进制木马后门相交叉,对同样,与二进制木马后门相交叉,对 inetd.conf 所列的每项服所列的每项服务,都要对程序的二进制文件进行检查,很有可能它们被换务,都要对程序的二进制文件进行检查,

22、很有可能它们被换成木马程序作为后门成木马程序作为后门43使用使用 netstat 和和 lsof 命命令检测后门令检测后门如果后门程序作为守护进程启动,通常如果后门程序作为守护进程启动,通常它侦听某个端口,通过该端口与外部它侦听某个端口,通过该端口与外部网连接。攻击者借此获取对系统的访网连接。攻击者借此获取对系统的访问问对对 Linux 系统,用系统,用 netstat -pna 列出列出网络状态信息,特别注意网络状态信息,特别注意 和和 这两栏这两栏44Cronjob 后门后门除了除了“daemon 服务后门服务后门”一节中所述的启动后门的方法一节中所述的启动后门的方法外,还可以在系统中置入

23、后门程序,通过系统的外,还可以在系统中置入后门程序,通过系统的 cron 守护进程启动它守护进程启动它检测后门时,相应地就是检查检测后门时,相应地就是检查 /var/spool/cron/crontabs 或或 /var/spool/cron 目录中的目录中的 crontab 文件。查看是否文件。查看是否有可疑程序被作为任务执行了,如果有,仔细检查它是有可疑程序被作为任务执行了,如果有,仔细检查它是否是后门程序。与否是后门程序。与“二进制木马后门二进制木马后门”相交叉,还要仔相交叉,还要仔细检查原有的任务,防止有可能它们被换成木马程序作细检查原有的任务,防止有可能它们被换成木马程序作为后门了为

24、后门了如果如果 cronjob 后门有网络通讯,与守护进程后门一样,可后门有网络通讯,与守护进程后门一样,可以结合以结合 netstat 和和 lsof 命令来检测命令来检测45LKM 后门后门修改系统调用修改系统调用chkrootkitkstat46基于内核的基于内核的rootkitAdore 核心部分就是做核心部分就是做adore.o的的LKM,还有一个用于隐藏,还有一个用于隐藏 adore.o的模块的模块cleaner.o,一个控制工具,一个控制工具ava,以及一个启动,以及一个启动脚本脚本startadore ava是是adore rootkit的控制程序的控制程序 Usage: ./

25、ava h,u,r,R,i,v,U file, PID or dummy (for U) h 隐藏文件隐藏文件(hide file) u 重现文件重现文件(hide file) r 以以root的权限运行一个程序的权限运行一个程序(execute as root) R 永远删除一个进程永远删除一个进程(remove PID forever) U 卸载卸载adore模块模块(uninstall adore) i 隐藏一个进程隐藏一个进程(make PID invisible) v 让一个进程重现让一个进程重现(make PID visible)47利用利用kstat检测检测LKM使用使用/dev

26、/kmem文件获得信息文件获得信息安装与使用安装与使用 tar ;make kstat;make install Usage: kstat -i iff -P -p pid -M -m addr -s -i iff may be specified as all or as name (e.g. eth0) displays info about the queried interface -P displays all processes -p pid is the process id of the queried task -M displays the kernels LKMs lin

27、ked list -m addr is the hex address of the queried module displays info about the module to be found at addr -s displays info about the system calls table 48Kstat s的正常输出的正常输出SysCall Address sys_exit 0 xc0117ce4 sys_fork 0 xc0108ebcsys_read 0 xc012604c sys_write 0 xc0126110sys_open 0 xc0125c10 sys_cl

28、ose 0 xc0125d60 sys_waitpid 0 xc0117ff8 sys_creat 0 xc0125ca4 sys_link 0 xc012de60 sys_unlink 0 xc012dc90 sys_execve 0 xc0108f18 sys_chdir 0 xc01254a0sys_time 0 xc01184b4 sys_mknod 0 xc012d77c sys_chmod 0 xc01256e449运行过运行过adore之后的之后的kstat s输出输出sys_fork 0 xc4051428 WARNING! Should be at 0 xc0108c88 s

29、ys_write 0 xc4051590 WARNING! Should be at 0 xc01269b8sys_close 0 xc405163c WARNING! Should be at 0 xc01264a4 sys_kill 0 xc40514d0 WARNING! Should be at 0 xc011060c sys_mkdir 0 xc405172cWARNING! Should be at 0 xc012e540 sys_clone 0 xc405147c WARNING! Should be at 0 xc0108ca4 sys_getdents 0 xc40512a4

30、 WARNING! Should be at 0 xc013022c50Sniffer 后门后门Sniffer 后门用来监听主机或网络,以获取敏感数据,后门用来监听主机或网络,以获取敏感数据,比如说用户名和口令。对于网络监听,可以通过查比如说用户名和口令。对于网络监听,可以通过查看网络接口是否处于混杂看网络接口是否处于混杂(promisc)模式来查看是模式来查看是否有否有 Sniffer 后门存在后门存在对对 Linux 系统,在命令行执行系统,在命令行执行 ifconfig 命令,如果命令,如果发现发现 PROMISC 这个字符串标志,说明网络接口这个字符串标志,说明网络接口处于混杂处于混杂

31、(promisc)模式,排除合法用户运行模式,排除合法用户运行 Sniffer 程序后,意味着有程序后,意味着有 Sniffer 后门程序在运行。后门程序在运行。如果是这样,立即执行命令如果是这样,立即执行命令 lsof | grep sock,对,对第五列第五列 TYPE 字段为字段为 sock 那些输出行仔细检查,那些输出行仔细检查,定出哪一个程序在定出哪一个程序在 Sniffer。删除该程序消除后门。删除该程序消除后门51常见的常见的Trojans软件软件52木马木马一种未经授权的程序,或在合法程序中有一段未经授权的程一种未经授权的程序,或在合法程序中有一段未经授权的程序代码,或在合法程

32、序中包含有一段用户不了解的程序功序代码,或在合法程序中包含有一段用户不了解的程序功能。能。TrojanTrojan对用户来说具有恶意的行为。对用户来说具有恶意的行为。Client/ServerClient/Server程序程序控制系统控制系统ServerServer端一般安装在被控主机上,字节较小,常使用较让人端一般安装在被控主机上,字节较小,常使用较让人迷惑的名字,如迷惑的名字,如patch.exepatch.exeClientClient端一般是图形化界面;端一般是图形化界面;常存在配置程序,可以按需要生成常存在配置程序,可以按需要生成serverserver程序。程序。53常见的木马程序

33、常见的木马程序Back OrificeBack Orifice(2K2K)平台平台:9x9x最新版本:最新版本:BO2kBO2k名称名称: : . .exe;boserver.exeexe;boserver.exe; ; bo2k.exe;UMGR32.exebo2k.exe;UMGR32.exe缺省端口缺省端口 31337(UDP)31337(UDP) 5432054320、5432154321(BO2K)BO2K)54常见的木马程序常见的木马程序NetbusNetbus常见版本:常见版本:1.71.7; 2.01pro2.01pro名称名称: : Path.exe Path.exe NBS

34、vr.exeNBSvr.exe 缺省端口缺省端口 1234512345(TCPTCP) 2003420034(TCPTCP)55常见的木马程序常见的木马程序冰河冰河名称名称: : G_clindG_clind G_serverG_server缺省端口缺省端口 76267626(TCPTCP)56阻击一个木马的全过程阻击一个木马的全过程第一步:发现可疑现象 RUNDLL32 不会连接网络57分析网络地址分析网络地址 注册信息表明这是一个非法网站!58网络访问验证网络访问验证 网站没有公开的网页,更加可疑59 根据进程利用冰剑来看分析分析RUNDLL32.EXE60分析可疑线程分析可疑线程61分析

35、启动服务分析启动服务62注册表验证注册表验证63存在系统调用,还有编码数据,解码后,为加密数据,说明病毒保护措施分析病毒体分析病毒体IRJIT.dll64拒绝服务软件拒绝服务软件65数据库数据库发布系统发布系统财务系统财务系统定制开发的代码定制开发的代码应用层应用层应用层攻击软件直接跨越跨应用层攻击软件直接跨越跨越防火墙越防火墙攻击者攻击者防火墙、入侵检测、主机安全加固可以有效防御针对主机和网络的攻击,防火墙、入侵检测、主机安全加固可以有效防御针对主机和网络的攻击,但是对应用层却几乎束手无策但是对应用层却几乎束手无策应用层直接暴露在威胁之下应用层直接暴露在威胁之下防火墙防火墙加固过的操作系统加

36、固过的操作系统Web服务器服务器应用服务器应用服务器防火墙防火墙网络层网络层主机层主机层66流氓软件流氓软件“流氓软件”是介于病毒和正规软件之间的软件。计算机病毒指的是:自身具有、或使其它程序具有破坏系统功能、危害用户数据或其它恶意行为的一类程序。这类程序往往影响计算机使用,并能够自我复制。正规软件指的是:为方便用户使用计算机工作、娱乐而开发,面向社会公开发布的软件。“流氓软件”介于两者之间,同时具备正常功能(下载、媒体播放等)和恶意行为(弹广告、开后门),给用户带来实质危害。67流氓软件流氓软件-1、广告软件、广告软件(Adware)定义:广告软件是指未经用户允许,下载并安装在用户电脑上;或

37、与其他软件捆绑,通过弹出式广告等形式牟取商业利益的程序。危害:此类软件往往会强制安装并无法卸载;在后台收集用户信息牟利,危及用户隐私;频繁弹出广告,消耗系统资源,使其运行变慢等。例如:用户安装了某下载软件后,会一直弹出带有广告内容的窗口,干扰正常使用。还有一些软件安装后,会在IE浏览器的工具栏位置添加与其功能不相干的广告图标,普通用户很难清除。68流氓软件流氓软件-2、间谍软件间谍软件(Spyware)定义:间谍软件是一种能够在用户不知情的情况下,在其电脑上安装后门、收集用户信息的软件。危害:用户的隐私数据和重要信息会被“后门程序”捕获,并被发送给黑客、商业公司等。这些“后门程序”甚至能使用户

38、的电脑被远程操纵,组成庞大的“僵尸网络”,这是目前网络安全的重要隐患之一。例如:某些软件会获取用户的软硬件配置,并发送出去用于商业目的。69流氓软件流氓软件-3、浏览器劫持、浏览器劫持定义:浏览器劫持是一种恶意程序,通过浏览器插件、BHO(浏览器辅助对象)、Winsock LSP等形式对用户的浏览器进行篡改,使用户的浏览器配置不正常,被强行引导到商业网站。危害:用户在浏览网站时会被强行安装此类插件,普通用户根本无法将其卸载,被劫持后,用户只要上网就会被强行引导到其指定的网站,严重影响正常上网浏览。例如:一些不良站点会频繁弹出安装窗口,迫使用户安装某浏览器插件,甚至根本不征求用户意见,利用系统漏

39、洞在后台强制安装到用户电脑中。这种插件还采用了不规范的软件编写技术(此技术通常被病毒使用)来逃避用户卸载,往往会造成浏览器错误、系统异常重启等。70流氓软件流氓软件-4、行为记录软、行为记录软件(件(Track Ware)定义:行为记录软件是指未经用户许可,窃取并分析用户隐私数据,记录用户电脑使用习惯、网络浏览习惯等个人行为的软件。危害:危及用户隐私,可能被黑客利用来进行网络诈骗。例如:一些软件会在后台记录用户访问过的网站并加以分析,有的甚至会发送给专门的商业公司或机构,此类机构会据此窥测用户的爱好,并进行相应的广告推广或商业活动。71流氓软件流氓软件-5、恶意共享软恶意共享软件件(malic

40、ious shareware)定义:恶意共享软件是指某些共享软件为了获取利益,采用诱骗手段、试用陷阱等方式强迫用户注册,或在软件体内捆绑各类恶意插件,未经允许即将其安装到用户机器里。危害:使用“试用陷阱”强迫用户进行注册,否则可能会丢失个人资料等数据。软件集成的插件可能会造成用户浏览器被劫持、隐私被窃取等。例如:用户安装某款媒体播放软件后,会被强迫安装与播放功能毫不相干的软件(搜索插件、下载软件)而不给出明确提示;并且用户卸载播放器软件时不会自动卸载这些附加安装的软件。又比如某加密软件,试用期过后所有被加密的资料都会丢失,只有交费购买该软件才能找回丢失的数据。72反流氓软件联盟反流氓软件联盟7

41、3在一个经核准的软件程序中插入代码。代码管理如果不完善,在一个经核准的软件程序中插入代码。代码管理如果不完善,代码复查就不严格,开发组的成员就很容易实施这种手段。代码复查就不严格,开发组的成员就很容易实施这种手段。此外,还可以使用某些特别技术。此外,还可以使用某些特别技术。一种是一种是NT文件系统(文件系统(NTFS)或其它使用文件流的文件系统。)或其它使用文件流的文件系统。这是一种众所周知的技术,它可以很容易地被用来隐藏代这是一种众所周知的技术,它可以很容易地被用来隐藏代码。尽管很容易被发现,只要你知道它在哪里码。尽管很容易被发现,只要你知道它在哪里,但要找到哪但要找到哪个文件使用了文件流的

42、却不是很容易的事情。个文件使用了文件流的却不是很容易的事情。另一种技术是病毒的开发和使用,它可以在现有代码中隐藏另一种技术是病毒的开发和使用,它可以在现有代码中隐藏代码。典型的病毒可以将自己附着在现有代码中以便隐藏。代码。典型的病毒可以将自己附着在现有代码中以便隐藏。为此,应该诊断核查可信性、应用程序开发组并审计他们为此,应该诊断核查可信性、应用程序开发组并审计他们的工作,扫描那些使用了文件流的代码、病毒等。的工作,扫描那些使用了文件流的代码、病毒等。软件中隐藏代码软件中隐藏代码74这是一种处于休眠状态的程序,它可以被某种事件这是一种处于休眠状态的程序,它可以被某种事件激活,例如时间或者一个特

43、殊程序的使用,通常激活,例如时间或者一个特殊程序的使用,通常都是被病毒植入到计算机中的。当然,更常见的都是被病毒植入到计算机中的。当然,更常见的情况是某些心怀不满的职员在经核准的程序中隐情况是某些心怀不满的职员在经核准的程序中隐藏代码,该炸带被设置成一旦职员(或前职员)藏代码,该炸带被设置成一旦职员(或前职员)离开就离开就“爆炸爆炸”或让软件失效。代码维护、生产或让软件失效。代码维护、生产和服务器访问要有审计活动的参与,为了发现逻和服务器访问要有审计活动的参与,为了发现逻辑炸弹,可以使用病毒检查程序。(此类程序对辑炸弹,可以使用病毒检查程序。(此类程序对已知病毒代码有效,可以延迟已知病毒代码有

44、效,可以延迟“逻辑炸弹逻辑炸弹”的行的行动。病毒检查程序并不能防止职员编写自己代码动。病毒检查程序并不能防止职员编写自己代码的活动)的活动)软件中的逻辑炸弹软件中的逻辑炸弹75在程序开发期间,程序员经常要通过编程来访问操作系统的在程序开发期间,程序员经常要通过编程来访问操作系统的调试设施(程序的断点调试)。当程序转入生产使用时或调试设施(程序的断点调试)。当程序转入生产使用时或商业销售时,这些商业销售时,这些“trap door”或入口会规避系统的保护或入口会规避系统的保护机制,应该被去除。某些陷门可以通过敲击键盘而激活。机制,应该被去除。某些陷门可以通过敲击键盘而激活。这种概念很像后门(这种

45、概念很像后门(back door)或者取得系统未授权入)或者取得系统未授权入口的方式。如果编程调试工具不被去除,就可能被利用来口的方式。如果编程调试工具不被去除,就可能被利用来危害系统。在生产性代码中仍然存在突破点,这或者是有危害系统。在生产性代码中仍然存在突破点,这或者是有意为之,或者是不谨慎的开发惯例造成的结果。为了防止意为之,或者是不谨慎的开发惯例造成的结果。为了防止由于陷门可能引起的危害,一定要进行插入代码复查,力由于陷门可能引起的危害,一定要进行插入代码复查,力求去除突破点和其他编程调试技术,也包括那些异常的代求去除突破点和其他编程调试技术,也包括那些异常的代码。函数组装之前也应该进

46、行测试。码。函数组装之前也应该进行测试。软件陷门软件陷门76如果指令执行需要多步,在执行步之间实施攻击就可能危害如果指令执行需要多步,在执行步之间实施攻击就可能危害到系统安全。到系统安全。TOC/TOU是一种特殊的条件竞争(是一种特殊的条件竞争(race condition)的名字,它的脆弱性可被某种攻击利用。)的名字,它的脆弱性可被某种攻击利用。IBM的的OS 360(一种老式的主机系统)对文件施行访问控制,(一种老式的主机系统)对文件施行访问控制,它首先读取并检查许可权限,如果许可权限正确,再去读它首先读取并检查许可权限,如果许可权限正确,再去读取文件。如果许可权限不正确,用户的访问请求会

47、被拒绝。取文件。如果许可权限不正确,用户的访问请求会被拒绝。不过,如果再返回拒绝之前能够中断系统,文件就有可能不过,如果再返回拒绝之前能够中断系统,文件就有可能被读取甚至被修改。最近的条件竞争(因为软件时钟问题被读取甚至被修改。最近的条件竞争(因为软件时钟问题而存在)包括而存在)包括Linux中中rm命令的漏洞。因为该命令编写方命令的漏洞。因为该命令编写方式的问题,它可能会在完成之前被再次发出,对非特权用式的问题,它可能会在完成之前被再次发出,对非特权用户来说,这会引起户来说,这会引起DoS,如果是,如果是root用户,就可能移动整用户,就可能移动整个文件系统。这种错误在最新版的操作系统中已经

48、没有了。个文件系统。这种错误在最新版的操作系统中已经没有了。检查时间(检查时间(Time of Check)到使用时间(到使用时间(Time of Use)(TOC/TOU)77中断是设备用来提醒操作系统注意其需求的中断是设备用来提醒操作系统注意其需求的方式。例如按下键盘上的一个键,或者方式。例如按下键盘上的一个键,或者modem端口有数据到达。软件中断也经常端口有数据到达。软件中断也经常被使用。当请求某服务时,典型的响应是带被使用。当请求某服务时,典型的响应是带一个确认应答(一个确认应答(acknowledgement,ACK)或者一个否定应答(或者一个否定应答(negative ackno

49、wledgement,NAK)。如果系统没)。如果系统没有很好地编程处理这些中断,系统就可能处有很好地编程处理这些中断,系统就可能处于曝光的状态,于曝光的状态,NAK攻击利用的就是这一攻击利用的就是这一点。点。软件中软件中NAK攻击或中断攻击或中断78你曾经努力在你曾经努力在Internet上做些什么但失败了吗?你被上做些什么但失败了吗?你被告知再试一次。如果你这样做了,你成功了吗?告知再试一次。如果你这样做了,你成功了吗?你可能会成为伪出错的牺牲者。这种攻击可能在你可能会成为伪出错的牺牲者。这种攻击可能在真实代码之前或周围插入自己的代码。在一次登真实代码之前或周围插入自己的代码。在一次登陆伪

50、出错(陆伪出错(logon pseudoflaw)中,受害者输入)中,受害者输入自己的自己的ID和口令,但得到的提示是输入错误,如和口令,但得到的提示是输入错误,如果再输入一次,他成功了,他可能认为这只是简果再输入一次,他成功了,他可能认为这只是简单的拼写错误,但事实上伪出错记录了他的用户单的拼写错误,但事实上伪出错记录了他的用户ID和口令,然后向他返回了合法的登陆屏幕。和口令,然后向他返回了合法的登陆屏幕。 软件伪出错软件伪出错79为什么存在诸多软件安全问题?为什么存在诸多软件安全问题? 现代软件开发周期短,工作量大,无暇顾及安全现代软件开发周期短,工作量大,无暇顾及安全 从认识论的高度看,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(密码编码学与网络安全(第五版)课件:软件开发安全之道(全).ppt)为本站会员(罗嗣辉)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|