セキュリティが組み込まれたセキュアコーディングライブラリとソフトウェアフレームワークにより、ソフトウェア開発者がセキュリティに関わる設計と実装の欠陥を作りこんでしまうことを防ぐことができます。アプリケーションをスクラッチで作成する開発者は、セキュリティ機能を適切に実装または維持するための十分な知識、時間、また予算を持っていないことでしょう。セキュリティフレームワークを活用することで、より効率よくかつ正確にセキュリティの目標を達成できます。
サードパーティのライブラリやフレームワークをソフトウェアに組み込む場合は、以下に示すベストプラクティスを検討することが重要です。
- 多くのアプリケーションで幅広く利用され、頻繁に更新されている信頼できるソースのライブラリとフレームワークを使用してください。
- すべてのサードパーティライブラリの在庫カタログを作成し、管理してください。
- ライブラリとコンポーネントを積極的に最新の状態に保ってください。OWASP Dependency CheckおよびRetire.JSのようなツールを使用して、プロジェクトの依存関係を特定し、すべてのサードパーティのコードに既知の公開されている脆弱性が存在するかどうかを確認します。
- ライブラリをカプセル化することでアタックサーフィスすなわち攻撃面を減らし、ライブラリがそのソフトウェアにおいて求められる範囲でのみ動作するようにしてください。
セキュアなフレームワークとライブラリは、幅広いWebアプリケーションの脆弱性を防ぐのに役立ちます。ただし、これらのフレームワークおよびライブラリは、既知の脆弱性を持つコンポーネントの使用(OWASP Top Ten 2017)のリスクに記述されているように最新の状態に保つことが重要です。
- OWASP Dependency Check - プロジェクトの依存関係を特定し、公開されている脆弱性をチェックする
- Retire.JS - JavaScript librariesのスキャナ