超棒应用程序安全清单
超棒应用程序安全清单
0x00 前言
0x01 正文
学习应用程序安全的资源列表,包含书籍,网站,博客文章和自我评估测验等,由Paragon Initiative Enterprises公司维护,由应用安全开发社区贡献,我们其他社区项目可能对未来的应用安全领域也有用哦,如果你是应用安全的小白,那可能会从深入浅出讲应用安全一文中受益。
贡献
目录
- 通用
- 文章
- 如何安全地生成随机数 (2014)
- 加盐哈希密码的正确姿势 (2014)
- /dev/urandom不当的使用 (2014)
- Why Invest in Application Security? (2015)
- 警惕多次使用一次性密钥和其他奇葩的加密方式 (2015)
- 书籍
- 作为一个渗透测试学习者必知必读的好书推荐
- 作为一个二进制安全学习者必知必读的书籍推荐
- Web应用黑客手册 (2011)
- 密码学工程:设计原理与实践应用 (2010)
- Python灰帽子:黑客与逆向工程师的Python编程之道 (2009)
- 软件安全评估的艺术:识别与防范软件 (2006)
- C语言接口与实现:创建可重用软件的技术 (1996)
- 逆向:逆向工程的秘密 (2005)
- JavaScript语言精粹 (2008)
- Windows内部实现:囊括Windows Server 2008和Windows Vista (2007)
- Mac黑客手册 (2009)
- IDA Pro权威指南:世界上最受欢迎反汇编者的非正式指南 (2008)
- 用TCP/IP进行网际互连(第2卷):设计、实现与内核(ANSI C版)(第3版) (1998)
- 网络算法:设计快速网络设备的跨学科方法 (2004)
- 计算机结构 (麻省理工学院电子电气工程与计算机科学系教材) (1989)
- 软件加密与解密 (2009)
- 安全编程:开发安全程序 (2015)
- 安全工程:构建可靠分布式系统指南(第二版) (2008)
- 防弹SSL和TLS:理解和部署SSL/TLS和PKI以保护服务器和Web应用安全 (2014)
- 课程
- 网站
- 文章
- Android
- 书籍
- Android安全编码标准 (2015)
- 书籍
- C
- 书籍
- C安全编码标准 (2006)
- 防御性编码:Fedora安全团队提高软件安全指南 (2016)
- 书籍
- C
- C Sharp
- Java
- 书籍
- Java安全编码标准 (2007)
- Java SE安全编指南 (2014)
- 书籍
- Node.js
- Perl
- 书籍
- Perl安全编码标准 (2011)
- 书籍
- Python
- Ruby
- 书籍
- Ruby安全开发指南 (2014)
- 书籍
- PHP
- 文章
- 关于时间的一切 (2014)
- 实现PHP长期持久性安全认证 (2015)
- PHP中防止跨站脚本攻击20个点子 (2013)
- 针对系统管理员最佳PHP安全配置25点建议 (2011)
- PHP数据加密入门介绍 (2014)
- PHP应用程序防止SQL注入简明指南 (2014)
- 你不该使用Base64密码 (2015)
- PHP应用程序安全数据加密指南 (2015)
- 书籍
- 干货库
- 网站
- 文章
通用
文章
如何安全地生成随机数 (2014)
关于加密安全中的伪随机数生成器的建议。
加盐哈希密码的正确姿势 (2014)
Crackstation上的一篇文章, Defuse Security的一个项目。
/dev/urandom不当使用 (2014)
在Linux/BSD上提及了许多使 /dev/urandom
失效的方法。
Why Invest in Application Security? (2015)
经营业务需要具有成本意识,并尽量减少不必要的支出。确保您的应用程序的安全性的好处对于大多数公司来说是不可见的,因此通常他们忽视投资于安全软件开发作为一种节省成本的措施,然而这些公司并没有意识到的潜在的数据泄露威胁,平均数据泄露造成数百万美元的损失,因此对于大多数公司来说投入更多的时间和人力开发安全软件是值得的,能尽量减少这种风险。
警惕多次使用一次性密钥和其他奇葩的加密方式 (2015)
任何想要够建立加密功能的开发者必读的好文。
书籍
作为一个渗透测试学习者必知必读的好书推荐
作为一个二进制安全学习者必知必读的书籍推荐
Web应用黑客手册 (2011)
密码学工程:设计原理与实践应用 (2010)
Python灰帽子:黑客与逆向工程师的Python编程之道 (2009)
软件安全评估的艺术:识别与防范软件 (2006)
C语言接口与实现:创建可重用软件的技术 (1996)
逆向:逆向工程的秘密 (2005)
JavaScript语言精粹 (2008)
Windows内部实现:囊括Windows Server 2008和Windows Vista (2007)
Mac黑客手册 (2009)
IDA Pro权威指南:世界上最受欢迎反汇编者的非正式指南 (2008)
用TCP/IP进行网际互连(第2卷):设计、实现与内核(ANSI C版)(第3版) (1998)
网络算法:设计快速网络设备的跨学科方法 (2004)
计算机结构 (麻省理工学院电子电气工程与计算机科学系教材) (1989)
软件加密与解密 (2009)
安全编程:开发安全程序 (2015)
安全工程:构建可靠分布式系统指南(第二版) (2008)
防弹SSL和TLS:理解和部署SSL/TLS和PKI以保护服务器和Web应用安全 (2014)
课程
计算机安全攻击(CIS 4930)FSU
佛罗里达州立大学Owen Redwood教授的漏洞研究和攻击课程。
一定要看看讲座!
黑客之夜
由纽约大学理工学院的旧渗透测试和漏洞分析课程发展而来,黑客之夜课程清晰明了地介绍各种安全攻击。
网站
Hack This Site!
通过尝试黑掉网站了解应用程序安全。
Enigma Group
黑客和安全专家训练靶场。
Web App Sec Quiz
自我评估测验Web应用安全。
SecurePasswords.info
在几种语言/框架中安全的密码。
Security News Feeds Cheat-Sheet
有关安全新闻来源列表。
Open Security Training
有关开放的x86编程,黑客和取证培训的视频课程。
MicroCorruption
CTF比赛形式地学习汇编和嵌入式设备安全。
The Matasano Crypto Challenges
由Matasano Security编写的一系列编程练习,Maciej Ceglowski给了详细介绍。
PentesterLab
PentesterLab提供免费的实践练习 和学习规划指南 。
Juice Shop
存在安全隐患的Javascript Web应用程序练习靶场。
Supercar Showdown
通过学习实际的网络攻击来提高自身的安全技能。
博客
Crypto Fails
详解具有安全隐患的加密技术。
NCC Group
国家计算中心(National Computing Centre)博客
Scott Helme
学习有关安全和性能方面的知识。
Wiki
OWASP Top Ten Project
Web应用程序中常见的十大安全漏洞。
工具
Qualys SSL Labs
著名的SSL和TLS攻击工具套件。
securityheaders.io
轻松快速地评估HTTP响应标头的安全性。
report-uri.io
免费的内容安全策略(Content Security Policy,CSP)和HTTP公钥钉扎(HTTP Public Key Pinning,HPKP)报告服务。
Android
书籍
Android安全编码标准 (2015)
由软件工程协会计算机安全应急响应组编写,详细地介绍了Android开发的安全编码标准。
C
书籍
C安全编码标准 (2006)
由软件工程协会计算机安全应急响应组编写,详细地介绍了C开发的安全编码标准。
防御性编码:Fedora安全团队提高软件安全指南 (2016)
通过介绍安全编码来提供提高软件安全的指导。 涵盖常见的编程语言和库,并着重于具体建议。
C++
书籍
C++安全编码标准 (2006)
由软件工程协会计算机安全应急响应组编写,详细地介绍了C++开发的安全编码标准。
C Sharp
书籍
安全驱动.NET (2015)
介绍如何开发基于.NET Framework 4.5 安全的应用程序,具体涵盖加密和安全工程领域。
Java
书籍
Java安全编码标准 (2007)
由软件工程协会计算机安全应急响应组编写,详细地介绍Java开发的安全编码标准。
Java SE安全编指南 (2014)
使用Oracle安全的Java编程指南。
Node.js
文章
Node.js安全检查清单 (2015)
提供了开发安全Node.js应用程序许多有用帮助信息。
培训
Lift Security团队的安全培训
Perl
书籍
Perl安全编码标准 (2011)
由软件工程协会计算机安全应急响应组编写,详细地介绍了C++开发的安全编码标准。
Python
书籍
Fedora防御编码指南中的Python章节
列出应尽量避免的函数,参考其他介绍有关Python编码安全章节。
Violent Python
展示如何从对攻击性计算概念的理论认识转变为实际实现。
网站
开放式Web应用程序安全项目中的Python安全Wiki (2014)
开放式Web应用程序安全项目中的Python安全Wiki。
Ruby
书籍
Ruby安全开发指南 (2014)
Fedora安全团队确保Ruby安全开发的指南,可在Github上获取。
PHP
文章
关于时间的一切 (2014)
深入浅出地介绍PHP应用程序中的有关时序攻击。
实现PHP长期持久性安全认证 (2015)
讨论密码策略,密码存储,“记住我”,Cookie和帐户恢复相关话题。
PHP中防止跨站脚本攻击20个点子 (2013)
Padriac Brady给出的关于构建不易受XSS影响的程序建议
针对系统管理员最佳PHP安全配置25点建议 (2011)
虽然这篇文章有点久了,不过面向PHP 7,其中大部分的建议仍然是极具参考价值的。
PHP数据加密入门介绍 (2014)
@timoh6详细介绍PHP数据加密的实现。
PHP应用程序防止SQL注入简明指南 (2014)
简单明了地介绍如何防止SQL注入。
你不该使用Base64密码 (2015)
通常被误用的加密术语和基本概念的可读概述,以PHP中的代码为示例,如果您对加密术语感到困惑,就从这里开始学习吧。
PHP应用程序安全数据加密指南 (2015)
讨论端到端网络层加密(HTTPS)的重要性以及静态数据的安全加密,然后介绍开发人员应该为特定用例使用的特定加密工具, libsodium、增强防御的安全PHP加密库以及OpenSSL。
书籍
PHP安全:核心理念
介绍了一些最常见的安全性方面知识,并提供PHP其中常见的一些例子。
PHP项目中使用Libsodium
调用libsodium加密库快速开发安全和可靠的应用程序。
干货库
defuse/php-encryption
用于PHP应用程序的对称密钥加密库。
ircmaxell/password_compat
如果你使用PHP 5.3.7+或5.4,可以使用这个库来哈希密码。
ircmaxell/RandomLib
用于生成随机字符串或数字。
thephpleague/oauth2-server
安全的OAuth2服务器实现。
paragonie/random_compat
PHP 7提供了一组新的伪随机数生成器(Cryptographically Secure Pseudo-Random Number Generato,CSPRNG)函数:random_bytes()
和random_int()
, 社区致力于在PHP 5(向前兼容)中提供公开统一的API。
psecio/gatekeeper
一个安全的认证和授权库,基于角色的访问控制实现和Paragon Initiative Enterprise公司给出的安全“记住我”复选框建议。
openwall/phpass
用于PHP应用程序的便携式公有领域密码哈希框架。
网站
websec.io
致力于通过基础安全知识,新兴技术和PHP安全编码相关的主题来提高开发人员有关安全意识。
博客
Paragon Initiative Enterprises Blog
位于佛罗里达州奥兰多安全技术咨询公司博客
ircmaxell’s blog
介绍关于PHP安全和性能以及Web应用程序开发的博客。
Pádraic Brady’s Blog
PádraicBrady是Zend Framework领域的安全专家。
订阅
Securing PHP Weekly
每周更新有关PHP安全知识。