アプリケーションセキュリティを学ぶための厳選されたリソースのリストです。書籍、ウェブサイト、ブログ記事、自己評価クイズが含まれています。
Paragon Initiative Enterprises によって管理されており、アプリケーションセキュリティおよび開発者コミュニティからの貢献により成り立っています。また、将来のアプリケーションセキュリティ専門家に役立つ可能性がある他のコミュニティプロジェクトも提供しています。
ソフトウェアセキュリティのトピックについてまったくの初心者であれば、A Gentle Introduction to Application Security を読むことをお勧めします。









公開日: 2014年2月25日
暗号学的に安全な疑似乱数生成器に関するアドバイス。
公開日: 2014年8月6日
Defuse Security によるプロジェクト Crackstation の記事。
公開日: 2014年5月3日
Linux/BSDで /dev/urandom を失敗させる多くの方法について言及。
公開日: 2015年6月21日
ビジネスを運営するには、コスト意識を持ち、不必要な支出を最小限に抑えることが求められます。アプリケーションの安全性を確保することの利点はほとんどの企業にとって目に見えないため、コスト削減策として安全なソフトウェア開発に投資しないことがよくあります。これらの企業が気づいていないのは、防ぐことができたデータ侵害が引き起こす可能性のある潜在的なコスト(金銭的にもブランドの評判にも)です。
平均的なデータ侵害は数百万ドルの損害をもたらします。
より多くの時間と人員を投入して安全なソフトウェアを開発することは、ほとんどの企業にとって、収益に対する不必要なリスクを最小限に抑えるために価値があります。
公開日: 2015年3月25日
独自の暗号機能を構築しようと考えている人は必読。
Web Application Hacker's Handbook (2011)公開日: 2011年9月27日
Webアプリケーションセキュリティへの優れた入門書。ただしやや古くなっています。
暗号技術工学 (Cryptography Engineering) (2010)公開日: 2010年3月15日
プロフェッショナルなパラノイア感覚を養いながら、暗号設計技法を提示します。
Securing DevOps (2018)公開日: 2018年3月1日
『Securing DevOps』では、DevOpsとセキュリティの手法をどのように組み合わせてクラウドサービスをより安全にするかを探求します。この入門書は、Webアプリケーションとそのインフラストラクチャを保護するために使用される最新の実践をレビューし、セキュリティを製品に直接統合するテクニックを教えます。
Gray Hat Python: ハッカーとリバースエンジニアのためのプログラミング (2009)公開日: 2009年5月3日
ソフトウェアセキュリティ評価の技術: ソフトウェア脆弱性の特定と防止 (2006)公開日: 2006年11月30日
C Interfaces and Implementations: 再利用可能なソフトウェアを作成するためのテクニック (1996)公開日: 1996年8月30日
リバーシング: リバースエンジニアリングの秘密 (2005)公開日: 2005年4月15日
JavaScript: The Good Parts (2008)公開日: 2008年5月1日
Windows Internals: Windows Server 2008 および Windows Vista を含む、第5版 (2007)公開日: 2007年6月17日
Mac Hacker's Handbook (2009)公開日: 2009年3月3日
IDA Pro Book: 世界で最も人気のある逆アセンブラの非公式ガイド (2008)公開日: 2008年8月22日
Internetworking with TCP/IP 第II巻: ANSI C版: 設計、実装、内部構造 (第3版) (1998)公開日: 1998年6月25日
ネットワークアルゴリズム: 高速ネットワーク機器設計への学際的アプローチ (2004)公開日: 2004年12月29日
計算構造 (MIT電気工学およびコンピュータサイエンス) (1989)公開日: 1989年12月13日
秘密のソフトウェア: ソフトウェア保護のための難読化、透かし、改ざん防止 (2009)公開日: 2009年8月3日
公開日: 2015年3月1日
公開日: 2020年11月1日
防弾SSL/TLS (2014)公開日: 2014年8月1日
公開日: 2016年9月17日
3部構成の本シリーズの第1部。Web開発者やアーキテクトが、堅牢で信頼性が高く、保守可能で安全なソフトウェア、ネットワークなどを継続的にタイムリーに、不意の驚きなく納品するために知っておくべきことについて、幅広く深くカバーしています。
3部構成の本シリーズの第2部。Web開発者やアーキテクトが、堅牢で信頼性が高く、保守可能で安全なソフトウェア、VPS、ネットワーク、クラウド、Webアプリケーションを継続的にタイムリーに、不意の驚きなく納品するために知っておくべきことについて、幅広く深くカバーしています。
フロリダ州立大学のOwen Redwoodによる脆弱性研究とエクスプロイト開発のクラス。
講義もお見逃しなく!
NYUポリテクニックの旧ペネトレーションテストおよび脆弱性分析コースの教材から開発されたHack Nightは、攻撃的セキュリティへの冷静な入門です。13週間にわたって、学生は多種多様な複雑で没入型のトピックに触れながら、多くの複雑な技術的内容が非常に迅速にカバーされます。
このウェブサイトをハッキングして、アプリケーションセキュリティを学びましょう。
ハッカーとセキュリティ専門家がトレーニングを行う場所。
Webアプリケーションセキュリティの自己評価クイズ
複数の言語/フレームワークでの安全なパスワード。
セキュリティニュースソースのリスト。
低レベルのx86プログラミング、ハッキング、フォレンジックに関するビデオコース。
Capture The Flag - アセンブリと組み込み機器セキュリティを学ぶ
Matasano Security による、暗号を独学するための一連のプログラミング演習。Maciej Ceglowski による紹介がよく説明しています。
意図的に脆弱性を持たせたJavascript Webアプリケーション。
オンライン攻撃者が攻撃する前に、攻撃側に回る方法。
OWASP Top 10のNode.JS Webアプリケーションに対して意図的に脆弱であり、チュートリアル、OWASP Zap APIを使用したセキュリティリグレッションテスト、Dockerイメージを備えています。素早く起動して実行するためのいくつかのオプションがあります。
隔週のAppsecチュートリアル
OWASP ServerlessGoatは、OWASPがメンテナンスし、PureSecが作成した、意図的に脆弱性を持たせた現実的なAWS Lambdaサーバーレスアプリケーションです。WebGoatをインストールし、脆弱性、その悪用方法、および各問題の修復方法を学ぶことができます。このプロジェクトには、問題を説明し、ベストプラクティスで修復する方法を解説するドキュメントも含まれています。
SecDimはappsecのエデュテインメントプラットフォームです。Learnで無料のgitベースのラボを使ってappsecを学びましょう。安全なアプリを構築するスキルがあると思いますか? Challenge yourselfでappsecゲームに挑戦! バグを修正し、スコアを獲得してリーダーボードに名前を刻みましょう。
悪い暗号を紹介
NCC Group(旧Matasano、iSEC Partners、NGS Secure)のブログ。
セキュリティとパフォーマンスについて学ぶ。
リリース: 2018年7月30日
オープンソースのライブラリやツールを提供する暗号企業のブログ。アプリケーションやインフラストラクチャ向けの実践的なデータセキュリティへのアプローチを説明しています。
Webアプリケーションで最も一般的で重大なセキュリティ脆弱性トップ10。
SSLおよびTLSツールの有名なスイート。
HTTPレスポンスヘッダーのセキュリティを迅速かつ簡単に評価します。
無料のCSPおよびHPKPレポートサービス。
クリックジャッキングをテストして学びます。クリックジャッキングのPoCを作成し、スクリーンショットを撮り、リンクを共有します。HTTPS、HTTP、イントラネット、内部サイトをテストできます。
FunctionShieldは、100%無料のAWS LambdaセキュリティおよびGoogle Cloud Functionsセキュリティライブラリで、開発者がサーバーレスランタイムに厳格なセキュリティ制御を簡単に適用できるようにします。
リリース: 2015年2月24日
Android開発におけるセキュアコーディング標準を詳述したコミュニティ管理のWiki。
リリース: 2006年5月24日
Cプログラミングにおけるセキュアコーディング標準を詳述したコミュニティ管理のWiki。
リリース: 2025年2月22日
セキュアコーディングを通じてソフトウェアセキュリティを向上させるためのガイドラインを提供します。一般的なプログラミング言語とライブラリをカバーし、具体的な推奨事項に焦点を当てています。
リリース: 2006年7月18日
C++プログラミングにおけるセキュアコーディング標準を詳述したコミュニティ管理のWiki。
Security Driven .NET (2015)リリース: 2015年7月14日
.NET Framework 4.5を対象としたセキュアなアプリケーション開発の入門書で、特に暗号化とセキュリティエンジニアリングのトピックをカバーしています。
リリース: 2020年5月5日
OWASP Top 10脆弱性のClojure例を含むリポジトリ。
リリース: 2017年8月3日
メモリ内の機密データ管理ガイド。
リリース: 2007年1月12日
Javaプログラミングにおけるセキュアコーディング標準を詳述したコミュニティ管理のWiki。
リリース: 2014年4月2日
OracleによるJavaのセキュアプログラミングガイドライン。
リリース: 2015年10月13日
セキュアなNode.jsアプリケーション開発に役立つ多くの情報をカバーしています。
リリース: 2020年6月17日
Electron.jsベースのアプリケーションをセキュアにするための厳選されたリソースリスト。
Essential Node.js Security (2017)リリース: 2017年7月19日
Node.js Webアプリケーションのセキュリティ確保のための実践的なガイド。ソースコードが豊富で実践的です。
Security Training by ^Lift SecurityNode Security Projectを先導したチームから学ぶ。
Security Training from BinaryMist物理、人、VPS、ネットワーク、クラウド、Webアプリケーションをカバーする様々なタイプの情報セキュリティトレーニングを実施しています。コンテンツの大部分は、Kimが数年間取り組んできた書籍シリーズから引用されています。詳細はこちらをご覧ください。
リリース: 2014年11月28日
PHPアプリケーションにおけるタイミング攻撃の優しい入門。
リリース: 2015年4月21日
パスワードポリシー、パスワードストレージ、「ログイン状態を保持する」クッキー、アカウント復旧について説明。
リリース: 2013年4月22日
Padriac Bradyによる、XSSに対して脆弱でないソフトウェアを構築するためのアドバイス。
リリース: 2011年11月23日
この記事は数年前のものですが、PHP 7に向かう中で、そのアドバイスの多くは今でも有効です。
リリース: 2014年6月16日
@timoh6がPHPでのデータ暗号化の実装を説明。
リリース: 2014年5月26日
TL;DR - エスケープではなく、プリペアドステートメントを使いましょう!
リリース: 2015年8月7日
一般的に誤用される暗号用語と基本概念の人間が読める概要。PHPのサンプルコード付き。
暗号用語に混乱しているなら、ここから始めましょう。
リリース: 2015年8月2日
エンドツーエンドのネットワーク層暗号化(HTTPS)と保存データの安全な暗号化の重要性について説明し、次に開発者が特定のユースケースに使用すべき具体的な暗号ツール(libsodium、Defuse Securityの安全なPHP暗号化ライブラリ、OpenSSLのいずれか)を紹介。
リリース: 2017年12月12日
このガイドは、電子書籍PHP: The Right Wayを補完するものであり、一般的なPHPプログラマーのトピック(例:コードスタイル)ではなく、セキュリティに重点を置いています。
Securing PHP: Core ConceptsSecuring PHP: Core Conceptsは、最も一般的なセキュリティ用語のガイドとして機能し、日常的なPHPでの例をいくつか提供します。
安全なWebアプリケーションを構築するために応用暗号学の博士号は必要ありません。libsodiumを使用すると、ストリーム暗号が何かを知らなくても、高速で安全で信頼性の高いアプリケーションを開発できます。
PHPアプリケーション向けの対称鍵暗号化ライブラリ。(独自実装よりも推奨!)
PHP 5.3.7以上または5.4を使用している場合、パスワードのハッシュ化にこれを使用してください。
ランダムな文字列や数値の生成に便利。
安全なOAuth2サーバー実装。
PHP 7では新しいCSPRNG関数random_bytes()とrandom_int()が提供されています。これは、PHP 5プロジェクトで同じAPIを公開するためのコミュニティの取り組みです(前方互換性レイヤー)。寛容なMITライセンス。
ロールベースアクセス制御とParagon Initiative Enterprisesの推奨する安全な「ログイン状態を保持する」チェックボックスを実装した、安全な認証・認可ライブラリ。
PHPアプリケーションで使用するためのポータブルなパブリックドメインのパスワードハッシュ化フレームワーク。
websec.ioは、一般的なセキュリティ基礎、新興技術、PHP固有の情報に関するトピックを通じて、開発者にセキュリティ教育を提供することに専念しています。
フロリダ州オーランドを拠点とするテクノロジーおよびセキュリティコンサルティング企業のブログ。
PHP、セキュリティ、パフォーマンス、および一般的なWebアプリケーション開発に関するブログ。
Pádraic BradyはZend Frameworkのセキュリティ専門家です。
PHP、セキュリティ、コミュニティに関する週刊ニュースレター。
リリース: 2011年1月10日
Perlプログラミングにおけるセキュアコーディング標準を詳述したコミュニティ管理のWiki。
避けるべき標準ライブラリの機能をリストし、他の章のPython固有のセクションを参照しています。
Black Hat Python: Python Programming for Hackers and PentestersNoStarch Pressから出版されたJustin Seitz著の『Black Hat Python』は、攻撃的セキュリティを考える人にとって素晴らしい本です。
Violent Python『Violent Python』は、攻撃的コンピューティング概念の理論的理解から実践的な実装へと移行する方法を示しています。
リリース: 2014年6月21日
OWASP Python Securityプロジェクトが管理するWiki。
リリース: 2014年3月10日
Fedora Security TeamによるセキュアなRuby開発ガイド。Githubでも入手可能。

