应用安全

Awesome AppSec Awesome

用于了解应用程序安全性的精选资源列表. 包含书籍, 网站,博客文章和自我评估测验.

由...维护 Paragon Initiative Enterprises 同 应用程序安全性和开发人员社区的贡献. 我们也 have other community projects 可能是 对明天的应用安全专家有用.

如果您是软件安全主题的绝对新手,您可能会受益 从阅读 A Gentle Introduction to Application Security.

Contributing

Please refer to the contributing guide for details.

Application Security Learning Resources

  * [How to Safely Generate a Random Number](#how-to-safely-generate-a-random-number-2014) (2014)
  * [Salted Password Hashing - Doing it Right](#salted-password-hashing-doing-it-right-2014) (2014)
  * [A good idea with bad usage: /dev/urandom](#a-good-idea-with-bad-usage-devurandom-2014) (2014)
  * [Why Invest in Application Security?](#why-invest-in-application-security-2015) (2015)
  * [Be wary of one-time pads and other crypto unicorns](#be-wary-of-one-time-pads-and-other-crypto-unicorns-2015) (2015)
  * [Web Application Hacker's Handbook](https://github.com/paragonie/awesome-appsec/blob/master/#-web-application-hackers-handbook-2011) (2011) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [Cryptography Engineering](https://github.com/paragonie/awesome-appsec/blob/master/#-cryptography-engineering-2010) (2010) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [Securing DevOps](https://github.com/paragonie/awesome-appsec/blob/master/#-securing-devops-2018) (2018) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [Gray Hat Python: Programming for Hackers and Reverse Engineers](https://github.com/paragonie/awesome-appsec/blob/master/#-gray-hat-python-programming-for-hackers-and-reverse-engineers-2009) (2009) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities](https://github.com/paragonie/awesome-appsec/blob/master/#-the-art-of-software-security-assessment-identifying-and-preventing-software-vulnerabilities-2006) (2006) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [C Interfaces and Implementations: Techniques for Creating Reusable Software](https://github.com/paragonie/awesome-appsec/blob/master/#-c-interfaces-and-implementations-techniques-for-creating-reusable-software-1996) (1996) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [Reversing: Secrets of Reverse Engineering](https://github.com/paragonie/awesome-appsec/blob/master/#-reversing-secrets-of-reverse-engineering-2005) (2005) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [JavaScript: The Good parts](https://github.com/paragonie/awesome-appsec/blob/master/#-javascript-the-good-parts-2008) (2008) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [Windows Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition ](https://github.com/paragonie/awesome-appsec/blob/master/#-windows-internals-including-windows-server-2008-and-windows-vista-fifth-edition-2007) (2007) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [The Mac Hacker's Handbook](https://github.com/paragonie/awesome-appsec/blob/master/#-the-mac-hackers-handbook-2009) (2009) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [The IDA Pro Book: The Unofficial Guide to the World's Most Popular Disassembler](https://github.com/paragonie/awesome-appsec/blob/master/#-the-ida-pro-book-the-unofficial-guide-to-the-worlds-most-popular-disassembler-2008) (2008) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [Internetworking with TCP/IP Vol. II: ANSI C Version: Design, Implementation, and Internals (3rd Edition)](https://github.com/paragonie/awesome-appsec/blob/master/#-internetworking-with-tcpip-vol-ii-ansi-c-version-design-implementation-and-internals-3rd-edition-1998) (1998) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [Network Algorithmics,: An Interdisciplinary Approach to Designing Fast Networked Devices](https://github.com/paragonie/awesome-appsec/blob/master/#-network-algorithmics-an-interdisciplinary-approach-to-designing-fast-networked-devices-2004) (2004) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [Computation Structures (MIT Electrical Engineering and Computer Science)](https://github.com/paragonie/awesome-appsec/blob/master/#-computation-structures-mit-electrical-engineering-and-computer-science-1989) (1989) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [Surreptitious Software: Obfuscation, Watermarking, and Tamperproofing for Software Protection](https://github.com/paragonie/awesome-appsec/blob/master/#-surreptitious-software-obfuscation-watermarking-and-tamperproofing-for-software-protection-2009) (2009) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [Secure Programming HOWTO](#secure-programming-howto-2015) (2015)
  * [Security Engineering - Second Edition](#security-engineering-second-edition-2008) (2008)
  * [Bulletproof SSL and TLS](https://github.com/paragonie/awesome-appsec/blob/master/#-bulletproof-ssl-and-tls-2014) (2014) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [Holistic Info-Sec for Web Developers (Fascicle 0)](#holistic-info-sec-for-web-developers-fascicle-0-2016) (2016)
    * [Cossack Labs blog](#cossack-labs-blog-2018) (2018)
  * [SEI CERT Android Secure Coding Standard](#sei-cert-android-secure-coding-standard-2015) (2015)
  * [SEI CERT C Coding Standard](#sei-cert-c-coding-standard-2006) (2006)
  * [Defensive Coding: A Guide to Improving Software Security by the Fedora Security Team](#defensive-coding-a-guide-to-improving-software-security-by-the-fedora-security-team-2018) (2018)
  * [SEI CERT C++ Coding Standard](#sei-cert-c-coding-standard-2006-1) (2006)
  * [Security Driven .NET](https://github.com/paragonie/awesome-appsec/blob/master/#-security-driven-net-2015) (2015) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [Memory Security in Go - cryptolosophy.io](#memory-security-in-go-cryptolosophy-io-2017) (2017)
  * [SEI CERT Java Coding Standard](#sei-cert-java-coding-standard-2007) (2007)
  * [Secure Coding Guidelines for Java SE](#secure-coding-guidelines-for-java-se-2014) (2014)
  * [Node.js Security Checklist - Rising Stack Blog](#node-js-security-checklist-rising-stack-blog-2015) (2015)
  * [Essential Node.js Security](https://github.com/paragonie/awesome-appsec/blob/master/#-essential-node-js-security-2017) (2017) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [Security Training by ^Lift Security](https://github.com/paragonie/awesome-appsec/blob/master/#-security-training-by-lift-security) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [Security Training from BinaryMist](https://github.com/paragonie/awesome-appsec/blob/master/#-security-training-from-binarymist) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [It's All About Time](#its-all-about-time-2014) (2014)
  * [Secure Authentication in PHP with Long-Term Persistence](#secure-authentication-in-php-with-long-term-persistence-2015) (2015)
  * [20 Point List For Preventing Cross-Site Scripting In PHP](#20-point-list-for-preventing-cross-site-scripting-in-php-2013) (2013)
  * [25 PHP Security Best Practices For Sys Admins](#25-php-security-best-practices-for-sys-admins-2011) (2011)
  * [PHP data encryption primer](#php-data-encryption-primer-2014) (2014)
  * [Preventing SQL Injection in PHP Applications - the Easy and Definitive Guide](#preventing-sql-injection-in-php-applications-the-easy-and-definitive-guide-2014) (2014)
  * [You Wouldn't Base64 a Password - Cryptography Decoded](#you-wouldnt-base64-a-password-cryptography-decoded-2015) (2015)
  * [A Guide to Secure Data Encryption in PHP Applications](#a-guide-to-secure-data-encryption-in-php-applications-2015) (2015)
  * [The 2018 Guide to Building Secure PHP Software](#the-2018-guide-to-building-secure-php-software-2017) (2017)
  * [Securing PHP: Core Concepts](https://github.com/paragonie/awesome-appsec/blob/master/#-securing-php-core-concepts) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [SEI CERT Perl Coding Standard](#sei-cert-perl-coding-standard-2011) (2011)
  * [Black Hat Python: Python Programming for Hackers and Pentesters](https://github.com/paragonie/awesome-appsec/blob/master/#-black-hat-python-python-programming-for-hackers-and-pentesters) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [Violent Python](https://github.com/paragonie/awesome-appsec/blob/master/#-violent-python) ![nonfree](https://raw.githubusercontent.com/paragonie/awesome-appsec/master/img/nonfree.png)
  * [OWASP Python Security Wiki](#owasp-python-security-wiki-2014) (2014)
  * [Secure Ruby Development Guide](#secure-ruby-development-guide-2014) (2014)

General

Articles

How to Safely Generate a Random Number (2014)

发布:2014年2月25日

关于加密安全伪随机数生成器的建议.

Salted Password Hashing - Doing it Right (2014)

发布:2014年8月6日

一篇文章 Crackstation,一个项目 Defuse Security

A good idea with bad usage: /dev/urandom (2014)

发布:2014年5月3日

提到了很多方法可以使Linux / BSD上的/ dev / urandom失败.

Why Invest in Application Security? (2015)

发布:2015年6月21日

经营企业需要注重成本并尽量减少不必要的支出. 确保应用程序安全的好处对于大多数公司来说是不可见的,因此他们经常忽视投资安全软件开发作为节省成本的措施. 这些公司没有意识到的是可预防的数据泄露可能产生的潜在成本(包括财务和品牌声誉).

平均数据泄露造成数百万美元的损失.

对大多数公司而言,投入更多时间和人员来开发安全软件是值得的,以最大限度地减少这种不必要的风险.

Be wary of one-time pads and other crypto unicorns (2015)

发布:2015年3月25日

对于任何想要构建自己的加密功能的人来说,必须阅读.

Books

发布:2011年9月27日

Web应用程序安全性的精彩介绍; 虽然有点过时了.

发布:2010年3月15日

在展示加密设计技巧的同时,培养一种专业的偏执感.

发布:2018年3月1日

保护DevOps探索如何应用DevOps和Security技术以使云服务更安全. 这本介绍性书籍回顾了保护Web应用程序及其基础结构所使用的最新实践,并教您如何将安全性直接集成到您的产品中.

发布:2009年5月3日

发布:2006年11月30日

发布:1996年8月30日

发布:2005年4月15日

发布:2008年5月1日

发布:2007年6月17日

发布:2009年3月3日

发布:2008年8月22日

发布:1998年6月25日

发布:2004年12月29日

Released: December 13, 1989

发布:2009年8月3日

Secure Programming HOWTO (2015)

发布:2015年3月1日

Security Engineering - Second Edition (2008)

发布:2008年4月14日

发布:2014年8月1日

Holistic Info-Sec for Web Developers (Fascicle 0) (2016)

发布:2016年9月17日

三部分系列丛书的第一部分,广泛而深入地介绍了Web开发人员和架构师需要了解的内容,以便创建稳定,可靠,可维护和安全的软件,网络和其他,按时交付,没有令人讨厌的惊喜.

Holistic Info-Sec for Web Developers (Fascicle 1)

三部分系列丛书的第二部分,对Web开发人员和架构师需要了解的内容进行广泛而深入的介绍,以便创建可靠,可靠,可维护且安全的软件,VPS,网络,云和Web应用程序.持续,准时,没有令人讨厌的惊喜.

Classes

Offensive Computer Security (CIS 4930) FSU

佛罗里达州立大学Owen Redwood的漏洞研究和开发课程.

一定要看看 lectures!

Hack Night

Hack New是从纽约大学保利公司旧的渗透测试和漏洞分析课程的材料开发而来,是对进攻性安全的清醒介绍. 随着学生在十三周内被介绍到各种复杂且沉浸式的主题,很快就会涵盖很多复杂的技术内容.

Websites

Hack This Site!

试图破解这个网站,了解应用程序安全性.

Enigma Group

黑客和安全专家前来培训.

Web App Sec Quiz

Web应用程序安全性的自我评估测验

SecurePasswords.info

使用多种语言/框架保护密码.

Security News Feeds Cheat-Sheet

安全新闻来源列表.

Open Security Training

关于低级x86编程,黑客攻击和取证的视频课程.

MicroCorruption

捕获标志 - 学习组装和嵌入式设备安全

The Matasano Crypto Challenges

一系列用于自学密码学的程序设计练习 Matasano Security. The introduction 由Maciej Ceglowski解释得很好.

PentesterLab

PentesterLab提供 free Hands-On exercises 和a bootcamp 开始.

Juice Shop

故意不安全的Javascript Web应用程序.

Supercar Showdown

如何在网络攻击者之前继续进攻.

OWASP NodeGoat

最容易受到OWASP Top 10 Node.JS Web应用程序的攻击 tutorials, security regression testing with the OWASP Zap API, docker image . 有几个选项可以快速启动和运行.

Blogs

Crypto Fails

展示糟糕的加密技术

NCC Group - Blog

NCC集团的博客,前身为Matasano,iSEC Partners和NGS Secure.

Scott Helme

了解安全性和性能.

Cossack Labs blog (2018)

发布:2018年7月30日

加密公司的博客,它提供开源库和工具,并描述了应用程序和基础架构的实用数据安全方法.

Wiki pages

OWASP Top Ten Project

Web应用程序中发现的十大最常见和最重要的安全漏洞.

Tools

Qualys SSL Labs

臭名昭着的SSL和TLS工具套件.

securityheaders.io

快速轻松地评估HTTP响应标头的安全性.

report-uri.io

免费的CSP和HPKP报告服务.

Android

Books and ebooks

SEI CERT Android Secure Coding Standard (2015)

发布:2015年2月24日

由社区维护的Wiki,详细说明了Android开发的安全编码标准.

C

Books and ebooks

SEI CERT C Coding Standard (2006)

发布:2006年5月24日

由社区维护的Wiki,详细说明了C编程的安全编码标准.

Defensive Coding: A Guide to Improving Software Security by the Fedora Security Team (2018)

发布:2018年7月30日

提供通过安全编码提高软件安全性的指南. 涵盖常见的编程语言和库,并侧重于具体的建议.

C++

Books and ebooks

SEI CERT C++ Coding Standard (2006)

发布:2006年7月18日

社区维护的Wiki,详细说明了C ++编程的安全编码标准.

C Sharp

Books and ebooks

发布:2015年7月14日

介绍开发面向.NET Framework 4.5版的安全应用程序,特别是涵盖加密和安全工程主题.

Go

Articles

Memory Security in Go - cryptolosophy.io (2017)

发布:2017年8月3日

管理内存中敏感数据的指南.

Java

Books and ebooks

SEI CERT Java Coding Standard (2007)

发布:2007年1月12日

由社区维护的Wiki,详细说明了Java编程的安全编码标准.

Secure Coding Guidelines for Java SE (2014)

发布:2014年4月2日

直接来自Oracle的安全Java编程指南.

Node.js

Articles

Node.js Security Checklist - Rising Stack Blog (2015)

发布:2015年10月13日

涵盖了许多有用的信息,用于开发安全的Node.js应用程序.

Books and ebooks

发布:2017年7月19日

实践和丰富的源代码,以获得Securing Node.js Web应用程序的实用指南.

Training

向领导该团队的团队学习 Node Security Project

我们运行多种类型的info-sec安全培训,涵盖物理,人员,VPS,网络,云,Web应用程序. 大多数内容来自于 book series Kim已经工作了几年. 可以找到更多信息 here

PHP

Articles

It's All About Time (2014)

发布:2014年11月28日

简要介绍PHP应用程序中的计时攻击

Secure Authentication in PHP with Long-Term Persistence (2015)

发布:2015年4月21日

讨论密码策略,密码存储,“记住我”cookie和帐户恢复.

20 Point List For Preventing Cross-Site Scripting In PHP (2013)

发布:2013年4月22日

Padriac Brady关于构建不易受XSS攻击的软件的建议

25 PHP Security Best Practices For Sys Admins (2011)

发布:2011年11月23日

尽管这篇文章已有几年历史,但随着我们转向PHP 7,它的大部分建议仍然具有相关性.

PHP data encryption primer (2014)

发布:2014年6月16日

@ timoh6解释了在PHP中实现数据加密

Preventing SQL Injection in PHP Applications - the Easy and Definitive Guide (2014)

发布:2014年5月26日

TL; DR - 不要逃避,而是使用准备好的语句!

You Wouldn't Base64 a Password - Cryptography Decoded (2015)

发布:2015年8月7日

人工可读的常见误用加密术语和基本概念概述,PHP中的示例代码.

如果您对加密术语感到困惑,请从此处开始.

A Guide to Secure Data Encryption in PHP Applications (2015)

发布:2015年8月2日

讨论了端到端网络层加密(HTTPS)的重要性以及静态数据的安全加密,然后介绍了开发人员应该针对特定用例使用的特定加密工具,无论他们是否使用 libsodium, Defuse Security's secure PHP encryption library或OpenSSL.

The 2018 Guide to Building Secure PHP Software (2017)

发布:2017年12月12日

本指南应作为电子书的补充, PHP: The Right Way,强调安全性,而不是一般的PHP程序员主题(例如代码风格).

Books and ebooks

保护PHP:核心概念作为一些最常见的安全术语的指南,并在每天PHP中提供它们的一些示例.

Using Libsodium in PHP Projects

您不应该需要应用密码学博士来构建安全的Web应用程序. 输入libsodium,它允许开发人员开发快速,安全和可靠的应用程序,而无需知道流密码甚至是什么.

Useful libraries

defuse/php-encryption

用于PHP应用程序的对称密钥加密库. (推荐滚动自己!)

ircmaxell/password_compat

如果您使用的是PHP 5.3.7+或5.4,请使用此方法来哈希密码

ircmaxell/RandomLib

用于生成随机字符串或数字

thephpleague/oauth2-server

安全的OAuth2服务器实现

paragonie/random_compat

PHP 7提供了一组新的CSPRNG函数:random_bytes()random_int(). 这是在PHP 5项目(前向兼容层)中公开相同API的社区工作. 允许MIT许可.

psecio/gatekeeper

一个安全的身份验证和授权库,用于实现基于角色的访问控制和Paragon Initiative Enterprises的推荐 secure "remember me" checkboxes.

openwall/phpass

用于PHP应用程序的可移植公共域密码哈希框架.

Websites

websec.io

websec.io 致力于通过与一般安全基础,新兴技术和PHP特定信息相关的主题向开发人员提供有关安全性的培训

Blogs

Paragon Initiative Enterprises Blog

我们位于佛罗里达州奥兰多的技术和安全咨询公司的博客

ircmaxell's blog

关于PHP,安全性,性能和一般Web应用程序开发的博客.

Pádraic Brady's Blog

PádraicBrady是Zend Framework安全专家

Mailing lists

Securing PHP Weekly

关于PHP,安全性和社区的每周简报.

Perl

Books and ebooks

SEI CERT Perl Coding Standard (2011)

发布:2011年1月10日

社区维护的Wiki,详细说明了Perl编程的安全编码标准.

Python

Books and ebooks

Python chapter of Fedora Defensive Coding Guide

列出应避免使用的标准库功能,并引用其他特定于Python的章节.

来自NoStarch Press的Justin Seitz的Black Hat Python是一本出色的攻击性安全思想书

Violent Python向您展示了如何从对攻击性计算概念的理论理解转变为实际实现.

Websites

OWASP Python Security Wiki (2014)

发布:2014年6月21日

由OWASP Python Security项目维护的wiki.

Ruby

Books and ebooks

Secure Ruby Development Guide (2014)

发布:2014年3月10日

Fedora安全团队保护Ruby开发的指南. 也可用 Github.