セキュアプログラミング開発セミナーみてみた
内容的にはコレ。
http://secure-app-group.connpass.com/event/14083/
はじめに
SQL Injection で個人情報が漏れた。WebShop がベンダーを提訴、2200万の損害賠償を支払うことに…。
しかも判例が公開されている。
XSS 問題とか、パスワードが admin/password とか、ログにカード情報が保存されてたとか、DBにカード情報が入ってた(ハァ!?)
非機能要件に入っていなかったとしてもこのセキュリティ意識はクソすぎた。
つーかDBにカード情報とか Shop 側の要求だった(ベンダーは危険と説明してた)とか…馬鹿だろうよ。
IPA のガイドラインをきちんと調べずに作ったのが賠償の決め手の一つだったらしい。
OWASP
有名どころ OWASP (OpenWebApplicationSecurityProject)の話。
聞いたことないキーワードがぽろぽろ。
ドキュメントとか、最近の有名な攻撃とかは結構見て追いかけたつもりなんだけどなぁ。
168 Project もあるのか…そりゃ追いかけきれんわ。
OWASP TOP10
最新が 2013 が最新、2007 までは攻撃危険性が評価基準だったが、2010 以降は突きやすさや、ダメージなど総合評価してる。
https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
日本語もあるでよ
https://www.owasp.org/images/7/79/OWASP_Top_10_2013_JPN.pdf
これらは、組織に対してセキュリティ計画の策定を、検証者にレビューやテストの実施を、開発者には開発の初期段階からセキュリティを意識するようにと指摘している。
また、OWASP は下記のようなドキュメントも書いている。
- SAMM
- Testing guide
- Code Review Guide
- Development Guide
キーワード
EnterpriseSecurityAPI とか初めて見たわ。
公式でなんだかんだと書いてるけど、日本語で
http://deferloader.blog.uhuru.co.jp/?p=1623
なんてのもある。ライブラリ集だね。
OWASP TOP10 2010 をベースに作ってるらしい。
フルスクラッチよりかはかなり短く実装できるとのこと。
Application Security Verification Standard も初めて聞いた。
こっちはセキュリティガイドライン(ドキュメント)。
市場に提供できるような厳密性、検査範囲に標準を提供する目的に作成された アプリケーションテストにおける網羅の為
用途的には
- 信頼度などの指標
- セキュリティ説明の資料
- 契約文書の要件定義
として使えるとかなんとか
アプリケーションセキュリティ検査レベル
- 自動検査
セキュリティ対策の適正な運用を「ある程度」確認するアプリに有効
脅威は、ウィルス・ワーム。これに対する基本的な対策。
適用範囲は動的解析ツールを使用と、静的解析ツールの使用で対処。つまり、ソース全部 - 手動検査
クレジットカードなど、個人情報を扱うアプリに適したレベル
ツールを使用した攻撃ツール使用者(ツールを使い熟すスクリプトキディ?)を脅威としてみなす
kali linux 使ってテストしよーぜ。セキュリティテストとコードレビューで対応。 - 設計に関する検査
法人間で取引を行うアプリケーションに適切なレベル。保険情報とか
脅威は、標的型攻撃などのハッカー直接攻撃
セキュリティ対策が正しく動作するかどうかのチェック、アプリケーション固有のポリシー実施に最適な箇所で使われてるかどうか
適用範囲:ライブラリ/フレームワークを含めた全コード(ちょwwwww) - 内部検査
対象は人命や社会インフラに関わるアプリ
脅威は攻撃者全般(それもモチベーションの高い連中)
適用範囲、セキュアコーディングが実際されているかどうかまで確認
ランタイム実行環境、開発ツール、ビルドツール、デプロイツール含む
検査の詳細要件
関連エリアにグループされた検査に関する詳細要件、全 14 件。
検査報告書に記載する内容の要件
ASVS 要件で解析されたアプリケーションに関して
- イントロダクション
- リスク、制約など
- 運用内容、運用環境
- セキュリティ設計
- 解析の背景、状況、レベル
- 検査結果
- 検査要件の章に則って実施された解析
- 結果と検出内容への対処の記載
続く