信息安全技术信息安全技术安全编程安全编程中国信息安全产品测评认证中心(中国信息安全产品测评认证中心(CNITSECCNITSEC))www.itsec.gov.cnwww.itsec.gov.cn版本:版本:CISP-2-CISP-2-安全编程(培训样稿)安全编程(培训样稿)cnitseccnitsec前言前言课程目的:课程目的:•了解如何安全编程了解如何安全编程•帮助用户在实际编程中应用上述技术帮助用户在实际编程中应用上述技术为什么要安全编程为什么要安全编程•黑客可利用软件中的安全问题进行攻击,造成经济或者黑客可利用软件中的安全问题进行攻击,造成经济或者名誉损失名誉损失•可能造成产品性能不稳定可能造成产品性能不稳定•软件的安全性不好影响客户信心,销售受挫软件的安全性不好影响客户信心,销售受挫存在诸多安全问题的原因存在诸多安全问题的原因•现代软件开发周期短,工作量大,无暇顾及安全现代软件开发周期短,工作量大,无暇顾及安全•软件开发人员缺乏安全编程经验软件开发人员缺乏安全编程经验cnitseccnitsec课程内容课程内容•通用安全编程原则通用安全编程原则•常见常见WebWeb编程语言的安全编程编程语言的安全编程–CC、、AspAsp、、PerlPerl、、phpphp、、JspJsp•其他应用程序的安全编程其他应用程序的安全编程–缓冲区溢出缓冲区溢出–函数返回值检查函数返回值检查–临时文件安全临时文件安全–竞争条件竞争条件•软件开发过程中的一些安全考虑软件开发过程中的一些安全考虑cnitseccnitsec通用安全编程原则通用安全编程原则什么是一个安全的程序?什么是一个安全的程序?•简单的说,无论使用何种破坏手段,都可以正确执行自己的既定简单的说,无论使用何种破坏手段,都可以正确执行自己的既定任务,这样的程序就是安全的程序。任务,这样的程序就是安全的程序。•安全程序不应当损害它运行系统的本地安全策略。安全程序不应当损害它运行系统的本地安全策略。•程序员职责就是保证程序可以正常执行任务。程序员职责就是保证程序可以正常执行任务。–锁匠与锁,屋主与关门锁匠与锁,屋主与关门–Solaris‘login’Solaris‘login’的安全问题的安全问题什么是安全漏洞?什么是安全漏洞?•程序中存在的危害本地安全策略的问题或弱点程序中存在的危害本地安全策略的问题或弱点•大多数是指那些会导致程序强制执行一些不同于作者本来意图的大多数是指那些会导致程序强制执行一些不同于作者本来意图的行为行为常见安全漏洞类型常见安全漏洞类型•...