はじめに
ひとりアドベントカレンダーに初挑戦するエンジニアが、黙々と投稿する記事であり。
プロダクトや個人開発に向けた最低限のセキュリティ知識を広げたり触れる会です。
あたたかく見守っていただけると幸いです。
読者の対象者:
セキュリティの三大要素(CIA)は基本情報で学んだけど再認識したい。
プロダクトに責任を持つ第一歩としてビジネス視点を広げたい
非エンジニアがAI開発駆動する者etc.
言語選定:
Go言語とAWSを採用しております。バックエンドエンジニア視点のため、ご参考までにいただけますと幸いです。
なぜ「今」、セキュリティを知るべきなのか?
プロダクトオーナーやPMとして、あなたのプロダクトはユーザーに価値を提供し、会社に利益をもたらします。しかし、ひとたびセキュリティ事故が起きれば、その信頼、ユーザーデータ、そして事業そのものが大きなダメージを受けます。
セキュリティは、単なる「技術的な問題」ではなく、「ビジネス上のリスク管理」そのものであるため避けては通れないものです。
セキュリティの基本と脅威モデル (OWASP Top 10)
皆さん、OWASP(オワスプ)という名前を聞いたことがありますか?
これは「Open Web Application Security Project」の略で、日本語では「国際ウェブセキュリティ標準機構」とも呼ばれる、ソフトウェアのセキュリティ向上を専門とする非営利財団であります。
どんな活動をしているの?
セキュリティに関する研究・ガイドラインの作成:
最も有名なのは、「OWASP Top 10」です。これは、ウェブアプリケーションにおける最も重大な10個のセキュリティリスクをまとめたもので、開発者やセキュリティ担当者にとっては必須の教科書のようなものです。これを参考にすることで、深刻な脆弱性を未然に防ぐことができます。
脆弱性診断ツールの開発:
誰でも利用できる無料のセキュリティテストツールを開発し、公開しています。これを使えば、自分のアプリケーションに問題がないかチェックできるわけです。
イベント開催・コミュニティ活動:
世界中でセミナーやカンファレンスを開催し、最新のセキュリティ情報を共有したり、知識を持った人たちが交流したりする場を作っています。
OWASPは世界中に支部を持っていて、日本には「OWASP Japan」が存在します。日本のウェブセキュリティレベル向上に向けて、活発に活動してくださっていますよ。
要するにOWASPは、「安全なウェブ」を実現するための、世界中の専門家が集まるオープンな図書館であり、道標(みちしるべ)のような存在だと言えますね。
OWASP Top 10のリリース頻度
OWASP Top 10: 2025(RC1)概要リスト
ウェブアプリケーションにおける最も重大な10個のセキュリティリスクです。
A01: アクセス制御の不備 (Broken Access Control)
認証されたユーザーが、他人のデータや管理機能など、本来アクセスすべきではないリソースにアクセスできてしまう脆弱性。
A02: セキュリティ設定のミス (Security Misconfiguration)
システム、フレームワーク、OSなどのデフォルト設定が不十分であったり、不要な機能が有効になっていたりする設定上の不備。
A03: ソフトウェア・サプライチェーンの不備 (Software Supply Chain Failures)
アプリケーションが利用するサードパーティ製ライブラリ、依存コンポーネント、CI/CDパイプラインなどに潜むセキュリティ上の欠陥。
A04: 暗号化の不備 (Cryptographic Failures)
機密データ(パスワード、個人情報など)の保存や転送において、不十分な暗号化(弱いアルゴリズム、古いプロトコル、暗号化なし)を使用していること。
A05: インジェクション (Injection)
ユーザーからの入力がデータではなく、SQLクエリ、OSコマンド、LDAPクエリなどとして解釈・実行されてしまう脆弱性(例: SQLインジェクション)。
A06: 設計上の欠陥 (Insecure Design)
設計段階で脅威モデリングが行われていないなど、アプリケーションのアーキテクチャや機能の設計自体にセキュリティ上の欠陥があること。
A07: 認証の不備 (Authentication Failures)
ログイン機能やセッション管理に欠陥があり、パスワードの推測やセッショントークンの乗っ取りを許してしまうリスク。
A08: ソフトウェアまたはデータの整合性の不備 (Software or Data Integrity Failures)
コードやデータの信頼性検証が不足しており、改ざんされたコードの実行や、不正確なデータがシステムに取り込まれてしまうリスク。
A09: ログと監視の不備 (Logging & Alerting Failures)
攻撃発生時やセキュリティイベントに関する十分なログが記録されていなかったり、それらを検知・警告する仕組みが不十分であったりすること。
A10: 例外的な状況の誤処理 (Mishandling of Exceptional Conditions)
システムエラーや予期せぬ入力があった際に、スタックトレースや機密情報を公開するなど、安全でない方法で例外処理が行われるリスク。
RC1 の意味: リリース候補 (Release Candidate 1)
「RC1」は、Release Candidate 1 (リリース・キャンディデート 1) の略です。
これは、ソフトウェアやドキュメント(この場合はOWASP Top 10)が正式にリリースされる前の、開発サイクルの最終段階を示すものです。
リリース候補 (RC) の特徴
最終版に近い状態: ソフトウェア(またはドキュメント)として、ほぼ全ての機能が実装され、バグも大部分が修正された状態です。
最終チェック段階: 正式リリース前の最終確認として、一般のユーザーや開発者コミュニティに広く公開されます。
フィードバック収集: コミュニティからの広範なフィードバック(バグ報告や意見)を集め、それに基づいて最終的な修正が行われます。
「1」の意味: 「RC1」の「1」は、これが最初のリリース候補版であることを示します。問題が見つかれば「RC2」「RC3」と続くことがあります。
RC1が公開されたということは、データ収集と分析、カテゴリの決定はほぼ完了していることを意味します。
大きな問題や議論がコミュニティで発生しなければ、RC1公開から数週間〜数ヶ月以内に、RC2を経て、正式版の「OWASP Top 10: 2025」として確定し、公開される可能性が高いです。
OWASP Top 10のリリース頻度
22017年版 $\rightarrow$ 2021年版(約4年間隔)
22021年版 $\rightarrow$ 2025年版(約4年間隔)
OWASP Top 10は、ウェブアプリケーションのセキュリティ脅威の進化に合わせて、およそ4年ごとに更新されるのが通例のようです。
OWASPは、直近で2025年版をリリースしたばかりです(2025年11月にリリース候補版 (RC1)が公開され、現在最新の情報となっています)。
したがって、この4年周期に基づくと、次のメジャーアップデートは2029年頃になる可能性が高いと予想立てできます。
参考
https://www.ipa.go.jp/security/10threats/10threats2025.html
https://owasp.org/www-project-top-ten/