博文

[介绍]加密安全工具包CryptLib(2010-12-18 17:06:00)

摘要: CryptLib   CRYPTLIB 是新西兰奥克兰大学的Peter Gutmann先生花费了将近五年时间开发而成的一个加密安全工具包,它基于传统的计算机安全模型,并涉及到一个安全核心,各种抽象化了的对象位于核心之上。利用此加密库不同   层次的接口,可以很容易地为各种应用系统提供安全服务,如加/解密、 数字签名、 认证等。       百度文库 Cryptlib文档链接 http://wenku.baidu.com/view/ff79c5254b35eefdc8d333ad.html......

阅读全文(1413) | 评论:0 | 复制链接

一些超级有用的链接(不看肯定后悔!)(2010-10-26 11:20:00)

摘要:我常去的编程技术网站[最近更新:2010.09.29][更新总次数:27] 收藏
[序言]
其实大家都可以成为一个厉害的软件开发人员,希望大家通过了解我提供的这些网站找到自己的兴趣爱好,以增强自己的信心。 [建议]
为了能让更多的朋友看到此链接,如果大家是csdn用户,那么请选择[收藏]来收录本文章,以获得csdn的收藏排名.那么就会有更多的朋友看到了.知识是分享的...... [宣传]
80x86汇编小站站长:猪头三(Code_GodFather)
独立开发磁盘性能优化工具: Real-depth Defragmenter(磁盘深度整理者)
软件下载:http://www.x86asm.com/RDD/Index.html [常用搜索引擎]
http://www.google.com/
http://www.bing.com/
http://www.kngine.com/ [汇编语言]
http://www.asmcommunity.net/
http://www.masm32.com/ [Win32 Asm]
http://www.cs.cmu.edu/~ralf/files.html [x86中断列表]
http://www.nasm.us/ [NASM]
http://www.winasm.net/ [Winasm汇编编辑器]
http://x86asm.net/index.html
http://flatassembler.net/ [FASM]
http://www.wasm.ru/ [Windows驱动开发]
http://www.osronline.com [Windows驱动开发新闻组]
http://www.driverdevelop.com [Windows驱动开发论坛]
http://www.microsoft.com/whdc/default.mspx [Windows硬件开发中心]
http://kernelmu......

阅读全文(1478) | 评论:1 | 复制链接

一个高性能的服务器应当具备哪些功能呢?(2010-07-26 19:32:00)

摘要:一个高性能的服务器应当具备哪些功能呢? 1、高并发? 2、高效的内存管理? 3、高度的可扩展? 4、随硬件配置的提升,性能亦高效的提升? 等等   欢迎大家留言 。 。 。 。......

阅读全文(1080) | 评论:0 | 复制链接

推荐  林锐 的几本书给大家(2010-05-22 14:56:00)

摘要:大家根据书名在google、baidu自行搜索咯 (1)《高质量程序设计指南-C++/C语言》,林锐等,电子工业出版社,2002 (2)《CMMI 3级软件过程改进方法与规范》,林锐等,电子工业出版社,2003 (3)《软件工程与项目管理解析》,林锐,电子工业出版社,2003 (4)《面向企业的软件研发管理解决方案》,林锐等,电子工业出版社,2004 (5)《Web软件用户界面设计指南》,林锐等,电子工业出版社,2005 (6)《IT企业项目管理:问题、方法和工具》,林锐等,电子工业出版社,2006 (7)《IT企业研发管理:问题、方法和工具》,林锐等,电子工业出版社,2007 (8)《CMMI和集成化软件研发管理》,林锐等,电子工业出版社,2008 (9)《如何管理软件企业》,林锐著,机械工业出版社,2009 ......

阅读全文(1332) | 评论:0 | 复制链接

【Z】15 个用户体验设计剖析(2010-05-12 12:06:00)

摘要:由于无法粘贴图片 所以就简单的把链接贴上了。。 很不错的东东 http://blog.csdn.net/comsharp/archive/2010/05/11/5577020.aspx......

阅读全文(1210) | 评论:0 | 复制链接

VC/C++ STL资料共享(推荐)(2009-05-18 01:16:00)

摘要:欢迎大家来到我的blog 前段时间,我在http://groups.google.com/group/vc-stl上传了一些VC/C++  STL已经windows核心开发方面的资料 欢迎大家下载和提建议 大家需要什么资料都可以留言,资料来源:从网络下载。。。。 另外,欢迎大家加入我的技术群76844929和39808296 谢谢 O(∩_∩)O哈哈~
......

阅读全文(1321) | 评论:0 | 复制链接

[转]冷眼看PHP(2009-03-05 17:09:00)

摘要:What's Cool About PHP May 26, 2008 PHP给人印象最深的莫过于:你不必因为想要用好它就去深入了解这种语言。想一想,在你所知道的语言中有多少能做到这一点呢?其中比较明显的一个就是java了,仅编一个hello world就需要了解不少的知识,更别提创建一个web应用程序了。但对PHP,这些都不在话下。 应该说PHP在访问Bad Behavior时比Perl还是强一点点的。记得在Web刚兴起的那段日子,听到人们常说他们将用Perl创建大型程序,虽然也知道(没有办法说服他们)最终会失败。 另一方面,PHP确实具有创建一些较大程序的能力,比如Drupal。我的朋友Nancy Nicolaisen(也是这里的Blogger)说她想建立一个旅游网站,我建议她看看Drupal。她照做了,并最终选择了它。因为在她看来Drupal的用户社区太优秀了,为她在建立站点并顺利上线提供了大量的帮助。 PHP让菜鸟快速上手并直接去做他们感兴趣的东西,而无须关心那些繁杂的编程理论和实践。你只要去做就可以在网页上得到想要的。 然而这也是这个语言的问题所在。你会发现存在许多完全错误的PHP实现的例子,这一般是都由那些互相copy的人写的,因为没有人知道问题到底是怎样的。我最先用到的例子之一就是PHP的文件锁。结果是找到很多,但没有正确的。事实上,PHP主要用在可以处理所有一致性问题的数据库上面,这样人们就不必考虑一些底层问题了。但是程序语言在与数据库的高层交互和文件系统的底层交互上的处理方式是一样的,所以这里不存在初学者所需的“龙来了”的标志。我感觉社区里有太多“坐享其成”的人,而真正了解并理解基本原理的人却寥寥无几。所以就出现了在无知的状态下闯入了这片少有人问津的领域而进行滥用的情形。 之后,PHP5出现了,其为集C++和Java之大成者。它的这个强大特性着实令人振奋,而我的忧虑感却开始加重了:人们看来随便就可以拥有所有特性而不去仔细考虑各个细节和对语言产生的方方面面的影响。相反,在过去的十多年来我关注着Python语言所做的每一个谨慎的抉择。时间会证明,或许PHP社区将会解决如何将所有这些特性都派上用场的问题,但我对此疑虑重重。 与此同时,在我更新缓慢的新站点上我使用了PHP。关键是,我只在很小的范围内用......

阅读全文(1246) | 评论:0 | 复制链接

[转]安全编程: 最小化特权--根除缺陷(2009-03-04 15:12:00)

摘要: 安全的程序必须最小化特权,以降低 bug 转化为安全缺陷的可能性。本文讨论了如何通过最小化有特权的模块、授与的特权以及特权的有效时间来最小化特权。文章不仅讨论了一些传统的类 UNIX 特权机制,还讨论了较新的机制,如 FreeBSD 的 jail(),Linux 安全模块(Linux Security Modules,LSM)框架,以及 Security-Enhanced Linux(SELinux)。 2003 年 3 月 3 日,Internet Security Systems 对 Sendmail 中的一个严重的漏洞提出了警告。所有的电子邮件都通过邮件传输代理(mail transfer agent,MTA)来传输,Sendmail 则是最流行的 MTA,所以这个警告影响了世界范围内的很多组织。问题在于,按通常的配置,精心设置了“from”、 “to”或者“cc”域的电子邮件消息可以让发送者完全(root)控制任何一台运行着 Sendmail 的机器。更严重的是,一般的防火墙将 不能保护其内部的机器免受这种攻击。 造成这一漏洞的直接原因是,Sendmail 的一个安全检测是有缺陷的,可以发生缓冲区溢出。不过,一个重要的作用因素是,Sendmail 经常被安装为一个单一的“setuid root”程序,对运行它的系统有完全的控制权限。这样,Sendmail 中的任何缺陷都可以让攻击者直接控制整个系统。 这个设计是必须的吗?不是;Wietse Venema 的 Postfix 是一个常见的可以与之匹敌的 MTA。类似于 Sendmail,Postfix 会去做很多安全检测,不过,为了 最小化特权,Postfix 设计为一组模块。结果,Postfix 通常被认为是比 Sendmail 更安全的程序。本文讨论了如何最小化特权,您可以将同样的思想应用到您的程序中。 最小化特权的基础 实际应用的程序会有缺陷。不是我们希望那样,但是确实是有。复杂的需求、日程的压力和环境的变化使得不太可能得到实用的无缺陷的程序。甚至那些通过复杂而且精确的技术正式地证明是正确的程序,也会有缺陷。为什么?其中一个原因是,验证必须做很多假设,而且通常这些假设并不是完全正确。无论如何,出于种种原因,大部分程序没有得到严格的检验。而且,即使今天没有任何缺陷(不太......

阅读全文(1069) | 评论:0 | 复制链接

[转]安全编程: 防止缓冲区溢出--防止如今最常见的程序缺陷(2009-03-04 15:10:00)

摘要: 本文讨论 Linux/UNIX 系统中最常见的缺陷:缓冲区溢出。本文首先解释什么是缓冲区溢出,以及它们为何如此常见和如此危险。然后讨论广泛用于解决缓冲区溢出的新 Linux 和 UNIX 方法 ―― 以及为什么这些方法还不足够。随后将展示 C/C++ 程序中防止缓冲区溢出的各种方法,同时包括静态调整大小的方法(比如标准的 C 库和 OpenBSD/strlcpy 解决方案)和动态调整大小的解决方案,以及一些将为您提供帮助的工具。最后,本文以一些关于缓冲区溢出缺陷的未来发展形势的预测来结束全文的讨论。 1988 年 11 月,许多组织不得不因为“Morris 蠕虫”而切断 Internet 连接,“Morris 蠕虫”是 23 岁的程序员 Robert Tappan Morris 编写的用于攻击 VAX 和 Sun 机器的程序。 据有关方面估计,这个程序大约使得整个 Internet 的 10% 崩溃。 2001 年 7 月,另一个名为“Code Red”的蠕虫病毒最终导致了全球运行微软的 IIS Web Server 的 300,000 多台计算机受到攻击。2003 年 1 月,“Slammer”(也称为“Sapphire”)蠕虫利用 Microsoft SQL Server 2000 中的一个缺陷,使得南韩和日本的部分 Internet 崩溃,中断了芬兰的电话服务,并且使得美国航空订票系统、信用卡网络和自动出纳机运行缓慢。所有这些攻击 ―― 以及其他许多攻击,都利用了一个称做为 缓冲区溢出 的程序缺陷。 1999 年 Bugtraq(一个讨论安全缺陷的邮件列表)进行的一次非正式调查发现,三分之二的参与者认为第一号的缺陷就是缓冲区溢出(要了解相关背景,请参阅本文后面 参考资料部分列出的“Buffer Overflows: Attacks and Defenses for the Vulnerability of the Decade”一文)。从 1997 年到 2002 年 3 月,CERT/CC 发出的半数安全警报都基于缓冲区缺陷。 如果希望自己的程序是安全的,您需要知道什么是缓冲区溢出,如何防止它们,可以采用哪些最新的自动化工具来防止它们(以及为什么这些工具还不足够),还有如何在您自己的程序中防止它们。 什么是缓冲区溢出? ......

阅读全文(1181) | 评论:0 | 复制链接

[转]安全编程: 警惕输入--找出并保护程序的入口(2009-03-04 14:57:00)

摘要: 本文论述了数据进入您的程序的各种途径,重点是如何适当地对它们进行处理;您甚至可能还没有了解它们全部!本文首先论述了如何设计程序来限制数据可以进入您的程序的途径,以及您的设计会如何影响哪些可以成为输入。然后论述了各种不同的输入通道以及如何使用这些通道,包括环境变量、文件、文件描述符、命令行、图形用户界面(GUI)、网络数据以及其他的输入。 早在 2001 年,许多大公司安装了应用程序“SAP R/3 Web Application Server demo”,却没有发现它有一个致命的漏洞。这个应用程序中有一个名为 saposcol 的程序,没有能保护自己免受恶意输入值的攻击。攻击者可以通过设置 PATH 环境变量来改变 saposcol 寻找其他程序的位置,然后为 saposcol 创建一个恶意的“扩展”程序来运行。由于 saposcol 具有 setuid root 权限,这就意味着因为这一个编程上的失误,本地用户可以(作为 root)很快地获得整个计算机系统的控制权(参阅 参考资料 中的链接,以深入了解这一点及本文中提到的其他相关内容)。 本专栏的前一期文章 指出了一些常见的输入数据类型以及检查它们的方法。但是如果您不知道所有的数据自何处而来,那么,只是知道如何检查数据类型是不够的。本文讨论了数据进入您的程序的各种不同途径 —— 有一些并不是显而易见的 —— 并着重讨论了如何适当地去处理它们。 如果您不控制,攻击者就会来控制 安全的程序中第一道防线是检查每一个不可信的输入。但是这是什么意思呢?可以归结为以下三点: 1. 限制程序暴露的部分。如果您的程序分为若干块 —— 这通常是一个好主意 —— 那么尽量设计得让攻击者根本不能与大多数块通信。这包括不能让他们利用各块之间的通信路径。如果攻击者不能查看、修改或者插入他们自己的数据到那些通信路径中(包括作为块间的中间人潜入),那是最好了。如果那不可能 —— 比如当块之间使用网络通信时 —— 那么使用加密等机制来防范攻击者。后续的文章将更深入地讨论这一问题。 2. 限制暴露部分所允许的输入类型。有时您可以修改设计以使只有少数的输入可以接受 —— 如果可以,那么就这样做吧。 3. 严格检查不可信的输入。真正“安全”的程序应该没有任何输入,但那种程序是没有用处的。因而,......

阅读全文(1051) | 评论:0 | 复制链接