Linux 安全编程系列
文章平均质量分 83
leopard_ray
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
安全编程: 安全地调用组件--如何处理调用和返回值与调用哪些组件一样重要
应用程序通常都会调用其他组件,例如底层的操作系统、数据库系统、可重用的库、Internet 服务(例如 DNS)、Web 服务,等等。本文通过讨论只使用安全组件、只传递有效数据,确保数据可以正确进行处理,检查返回值和异常情况,并且当数据在应用程序和组件之间传递时对数 据进行保护,从而解释如何防止攻击者利用对其他组件的调用。 查看 PDF 文件时单击一个超文本链接不应该是什么安全问题,条件是原创 2007-04-12 15:11:00 · 1065 阅读 · 0 评论 -
使用 OpenSSL API 进行安全编程,第 2 部分: 安全握手--防止中间人(MITM)攻击
安全套接字层(Secure Sockets Layer,SSL)会话中的安全握手非常重要,这是因为该连接中的所有安全性都是在握手过程中建立的。本文将介绍如何增强 SSL 握手的安全性,从而防止中间人(MITM)攻击 —— 此时入侵的一方会伪装成另外一个可信源。本文还会介绍数字证书的概念,以及 OpenSSL API 如何处理数字证书。 不久之前,安全握手是双方的业务得以实现的一个标记。毕竟转载 2007-04-12 15:20:00 · 1668 阅读 · 0 评论 -
安全编程: 开发安全的程序--正确的理念是成功的一半
本专栏说明了如何编写安全的应用程序;重点讨论的是 Linux 操作系统,但是其中的许多原则也适用于任何系统。在当今联网的世界中,软件开发人员必须知道如何编写安全的程序,然而人们还未广泛认识到这一信息,也未向 人们广泛讲授过这一信息。本文是安全编程(Secure programmer)专栏的第一篇文章,它介绍了如何编写安全的应用程序的基本思想,并讨论了如何针对特定的应用程序确定安全性需求。以后的几篇转载 2007-04-12 15:04:00 · 1505 阅读 · 0 评论 -
安全编程: 警惕输入--找出并保护程序的入口
本文论述了数据进入您的程序的各种途径,重点是如何适当地对它们进行处理;您甚至可能还没有了解它们全部!本文首先论述了如何设 计程序来限制数据可以进入您的程序的途径,以及您的设计会如何影响哪些可以成为输入。然后论述了各种不同的输入通道以及如何使用这些通道,包括环境变量、 文件、文件描述符、命令行、图形用户界面(GUI)、网络数据以及其他的输入。 早在 2001 年,许多大公司安装了应用程序“SA转载 2007-04-12 15:02:00 · 632 阅读 · 0 评论 -
使用 OpenSSL API 进行安全编程--创建基本的安全连接和非安全连接
学习如何使用 OpenSSL —— 用于安全通信的最著名的开放库 —— 的 API 有些强人所难,因为其文档并不完全。您可以通过本文中的提示补充这方面的知识,并驾驭该 API。在建立基本的连接之后,就可以查看如何使用 OpenSSL 的 BIO 库来建立安全连接和非安全连接。与此同时,您还会学到一些关于错误检测的知识。 OpenSSL API 的文档有些含糊不清。因为还没有多少关于 Ope转载 2007-04-12 15:17:00 · 970 阅读 · 0 评论 -
安全编程: 避免竞争条件--资源争用可能对您不利
了解什么是竞争条件,以及它们为什么会引发安全问题。本文向您展示了如何在类 UNIX® (Unix-like)系统中处理常见的竞争条件,包括如何正确地创建锁文件、锁文件的替代者,如何处理文件系统,以及如何处理共享目录(特别是如何在 /tmp 目录下正确创建临时目录)。需要您对信号处理稍有了解。 通过一个偷窃而来的口令,Mallory 成功地登录到一台运行 Linux 的重要服务器。 其帐号是转载 2007-04-12 15:09:00 · 1334 阅读 · 0 评论 -
安全编程: 防止缓冲区溢出--防止如今最常见的程序缺陷
本文讨论 Linux/UNIX 系统中最常见的缺陷:缓冲区溢出。本文首先解释什么是缓冲区溢出,以及它们为何如此常见和如此危险。然后讨论广泛用于解决缓冲区溢出的新 Linux 和 UNIX 方法 ―― 以及为什么这些方法还不足够。随后将展示 C/C++ 程序中防止缓冲区溢出的各种方法,同时包括静态调整大小的方法(比如标准的 C 库和 OpenBSD/strlcpy 解决方案)和动态调整大小的解决方案转载 2007-04-12 15:01:00 · 1087 阅读 · 0 评论 -
安全编程: 验证输入--接收用户数据的最佳实践
本文介绍了如何验证输入――任何安全程序的首要环节之一。 2003 年 7 月,计算机应急反应小组协调中心报告了 Microsoft Windows 的 DirectX MIDI 库中一组危险的漏洞。DirectXMIDI 库是用于播放 MIDI 格式音乐的底层 Windows 库。不幸的是,这个库没有能力去检查 MIDI 文件中的所有数据值;text、copyright 或者 MThd tr转载 2007-04-12 15:15:00 · 901 阅读 · 0 评论 -
安全编程: 最小化特权--根除缺陷
安全的程序必须最小化特权,以降低 bug 转化为安全缺陷的可能性。本文讨论了如何通过最小化有特权的模块、授与的特权以及特权的有效时间来最小化特权。文章不仅讨论了一些传统的类 UNIX 特权机制,还讨论了较新的机制,如 FreeBSD 的 jail(),Linux 安全模块(Linux Security Modules,LSM)框架,以及 Security-Enhanced Linux(SELinu转载 2007-04-12 15:12:00 · 1317 阅读 · 0 评论 -
使用 OpenSSL API 进行安全编程,第 3 部分: 提供安全--服务
如果没有安全的服务器应用程序,那么也就不需要安全的客户机应用程序。使用 OpenSSL,我们可以创建安全的服务器应用程序,尽管文档让这一切看起来非常复杂,但实际上并非如此。本文中我们将学习如何使用在这个 3 部分系列文章 的 第 1 部分 中学习到的概念来构建安全的服务器应用程序。 本系列文章的前两部分讨论了使用 OpenSSL 来创建客户机端应用程序的内容。第 1 部分 讨论了使用 Ope转载 2007-04-12 15:21:00 · 1867 阅读 · 1 评论
分享