OWASP(Open Web Application Security Project)(読み方:オワスプ)とは、ソフトウェアやWebアプリケーションのセキュリティ分野の研究やガイドラインの作成、脆弱性診断ツールの開発、イベント開催など多岐にわたる活動をしているオープンソース・ソフトウェアコミュニティです。アメリカ合衆国メリーランド州に本部が存在しNPO(非営利)団体である、The OWASP Foundationが全世界のOWASPの活動を支えています。 世界各地に支部(チャプター)があり日本にも存在します。
「OWASP Japan」は日本の支部(チャプター)であり国内全域における、数々のプロジェクトへの参画による貢献や設立、日本語への翻訳など全国でのセキュリティ啓発活動を行なっています。OWASP Japanが主催する「OWASP Night/Day」はローカルチャプターミーティングとして2〜3ヶ月に一度開催されるイベントです。
その他に、関西地域は「OWASP Kansai」、愛媛県名古屋市では「OWASP Nagoya」、沖縄県では「OWASP Okinawa」などが存在し各地域で活動を行っております。
OWASP ZAP(オワスプ・ザップ)とは、OWASPが提供しているオープンソースのWebアプリケーション脆弱性診断ツールです。無料で利用できるオープンソースソフトウェア(OSS)としてGithub(リポジトリ名:zaproxy)にソースコードが公開されています。クライアントソフトとしても提供されており以下の手順でサイトからダウンロードをしパソコンにインストールをして利用できます。
OWASP ZAPの公式サイトにアクセスをしダウンロードが出来ます。クライアントソフトは利用しているOSによってWindowsOS、MacOS、LinuxOS、などクロスプラットフォームで利用可能です。サーバの場合は仮想サーバのDockerに対応しておりCUI(コマンドプロンプト、PowerShellなどを利用しコマンド入力による操作の画面)でDocker専用のコマンドを入力しインストールをして起動し利用します。
MacOSの場合は.dmgファイルを開いてアプリケーションフォルダにインストールをし通常のアプリケーション同様に起動し利用します。インストール画面が終了したら下の図の画面を開くことが出来ます。WindowsOSでも環境は異なりますが通常のインストール方法と同じ流れで実行し同様の画面を開くことが出来ます。
簡易スキャンは対象のWebサイトのURLを入力エリアに入れて「攻撃」ボタンを押すだけで脆弱性診断が始まります。対象のWebサイト/Webアプリケーションに大量のリクエスト(コンピュータ同士の通信における要求やメッセージ)を送信し結果をアラート(警告)画面で確認することが出来ます。脆弱性が見つかった場合は画面一番左下の「アラート」のフラグアイコンの数値が変わるので赤色に近い色の数値が多ければ、深刻な脆弱性が発見されたことが多く確認できます。詳細はアラート画面でリスト化されて見ることができるため見つかった脆弱性と内容を確認することが出来ます。
動的スキャンは対象のWebサイトのURLを入力エリアに入れて検証したいブラウザを選択し「Launch Browser」を押すとインストールされているブラウザが立ち上がり脆弱性診断が始まります。実際にブラウザで操作をしながら機能が動作した際の診断などが可能で動的なWebアプリケーションの脆弱性診断で利用します。
動的スキャンは簡易スキャンで検査をしたところに対して静的スキャンで大量のリクエストを送り込み攻撃をします。サイトの部分的(ページやディレクトリ単位)に過剰な負荷をかけることで静的スキャンで発見できなかった脆弱性を顕在化させるために実施します。
OWASPから提供されているサンプルサイトで意図的に脆弱性を入れている練習用のWebアプリケーションがあります。脆弱性診断をすると脆弱性が検知されOWASP ZAPのアラートリストに結果が表示されます。以下に具体的なWebアプリケーションをご紹介します。
OWASPが提供している脆弱性診断練習用サイトです。意図的に脆弱性を存在させているので、脆弱性ツール診断をすると脆弱性が発見された結果が出てきます。OWASP ZAPをインストールしこのサイトを診断することで手軽に脆弱性診断が可能です。実際の診断結果を見たことはない方は、この方法をお試しいただくと脆弱性診断のイメージが湧いてくると思います。
OWASP BWAとは仮想マシン上で動作する、意図的に脆弱性が存在するWebアプリケーションを多数稼働させるために、クライアントマシンにインストールをして環境を構築するものです。仮想マシンとはパソコン内に仮想環境(擬似的に複数のパソコンのイメージ⇒今回の場合は1つ)を作成し、その環境内でインストールをしたアプリケーションを稼働させることです。OWASP BWAはVMwareイメージで配布されているが、VirtualBoxでも使用可能です。従ってパソコン内で仮想環境構築のためにホスト型のVirtualBoxもインストールする必要があり、VirtualBoxとOWASP BWAのファイル容量も非常に大きくダウンロードに時間がかかります。また仮想環境構築からOWASP BWAインストールするまでに長い工程がありますので、脆弱性診断をする環境構築までにかなりの時間がかかります。
しかし時間をかけて行うだけのことはあり、OWASP BWAの特徴は、様々なWebアプリケーションのカテゴリに分類され、それに伴い脆弱性診断のトレーニングをより詳しく実施でき、それぞれのカテゴリに合わせたセキュリティに対して学ぶことやテストをすることが可能です。
具体的なカテゴリは以下のように分類されます。
カテゴリ | 内容 |
---|---|
トレーニング・アプリケーション | 特定の脆弱性ごとに学べるようガイダンスがある |
現実的で意図的に脆弱なアプリケーション | 危険性が無く一見、安全に見えても実は幅広く脆弱性を持っている |
実際のアプリケーションの古いバージョン | 旧バージョンのオープンソースなど、既知の脆弱性が発見される |
ツールテストのためのアプリケーション | ツール診断のテストをするためのサイト |
ページもしくは小さなアプリケーションのデモ | 特定の脆弱性をピックアップした小規模サイト |
OWASPデモ・アプリケーション | OWASPのデモサイトで脆弱性は無い |
The OWASP Foundationにより、世界中の利用実態に基づいて悪用のしやすさ、検知のしやすさ、および影響についての共通認識の推計を組み合わせた上で、選択し、優先順位付けされたセキュリティ脅威のTop10となります。OWASP Top10の主要な目的は、開発者、デザイナー、アーキテクト、マネージャ、組織に、最も一般的かつ最も重要なWebアプリケーションセキュリティの弱点の影響について様々なガイダンスを提供することで、Webアプリケーション、モバイルアプリケーション、WebAPI、IoT向けなどのガイダンスが提供されています。その他にも非常に参考になる情報が豊富で、これから重要なテーマとなるAutomated Threat Handbookも公開されています。昨年、OWASPの成果物はGithub(The OWASP Foundation)で積極的に公開されるようになり、便利なサイトと変わっています。
Webアプリケーション向けTop10のリスク要素となります。このTop10はこれだけ守れば良いというものではなく特に注意を要するリスクとして示されています。下の表の記号は脅威の順位と追加・変更があった西暦年を意味し、項目はセキュリティ脅威の内容となります。
記号 | 項目 | 備考 |
---|---|---|
A1:2017 | インジェクション | |
A2:2017 | 認証の不備 | |
A3:2017 | 機微な情報の露出 | |
A4:2017 | XML 外部エンティティ参照 (XXE) | 新たに2017で追加された項目 |
A5:2017 | アクセス制御の不備 | |
A6:2017 | 不適切なセキュリティ設定 | |
A7:2017 | クロスサイトスクリプティング (XSS) | |
A8:2017 | 安全でないデシリアライゼーション | 新たに2017で追加された項目 |
A9:2017 | 既知の脆弱性のあるコンポーネントの使用 | |
A10:2017 | 不十分なロギングとモニタリング |
新たに2017で追加された項目 不十分なロギングとモニタリングは、 脆弱性診断では検査出来ない項目であるため 多くのシステムで実践されていないケースを良く見かけます。 |
Top 10以外に考慮すべきリスク要素は他に数多くあり、WebアプリケーションおよびAPIの脆弱性を効果的に見つける方法に関するガイダンスは、OWASP ASVS、OWASP TestingGuideに記載されています。
モバイルアプリケーション向けTop 10リスク要素となります。このTop10はこれだけ守れば良いというものではなく特に注意を要するリスクとして示されています。記号はモバイルアプリケーションのセキュリティリスクの順位を意味します。
記号 | 英語表記 | 翻訳 |
---|---|---|
M1 | Improper Platform Usage | プラットフォームの不適切な利用 |
M2 | Insecure Data Storage | 安全でないデータストレージ |
M3 | Insecure Communication | 安全でない通信 |
M4 | Insecure Authentication | 安全でない認証 |
M5 | Insufficient Cryptography | 不十分な暗号化 |
M6 | Insecure Authorization | 安全でない認可制御 |
M7 | Client Code Quality | クライアントコードの品質 |
M8 | Code Tampering | コード改ざん |
M9 | Reverse Engineering | リバースエンジニアリング |
M10 | Extraneous Functionality | 余計な機能 |
Top 10以外に考慮すべきリスク要素は他に数多くあり、モバイルアプリケーションの脆弱性を効果的に見つける方法に関するガイダンスは、OWASP Mobile ApplicationSecurity Verification Standard、OWASP Mobile Security Testing Guide (MSTG)に記載されています。
Web API向けTop 10リスク要素となります。このTop10はこれだけ守れば良いというものではなく特に注意を要するリスクとして示されています。記号はAPIセキュリティリスクの順位と策定された西暦年数の数値を意味します。
記号 | 英語表記 | 翻訳 |
---|---|---|
API1:2019 | Broken Object Level Authorization | オブジェクトレベルの認証の不備 |
API2:2019 | Broken User Authentication | ユーザ認可制御の不備 |
API3:2019 | Excessive Data Exposure | 過度なデータの露出 |
API4:2019 | Lack of Resources & Rate Limiting | リソースの不足とレート制限 |
API5:2019 | Broken Function Level Authorization | 機能レレベルの認証の不備 |
API6:2019 | Mass Assignment | 大量な割当 |
API7:2019 | Security Misconfiguration | セキュリティの設定ミス |
API8:2019 | Injection | インジェクション |
API9:2019 | Improper Assets Management | 不十分なアセットの管理 |
API10:2019 | Insufficient Logging & Monitoring | 不十分なロギングとモニタリング |
Top 10以外に考慮すべきリスク要素は他に数多くあり、WebアプリケーションおよびAPIの脆弱性を効果的に見つける方法に関するガイダンスは、OWASP ASVS、OWASP TestingGuideに記載されています。
OWASP Testing Guideは、The OWASP Testing Projectの長年の活動を通じて開発された世界的にも評価されている包括的なテスティング・フレームワークです。このガイドは、Webアプリケーションのテストにおいて"何を"、"何故"、"いつ"、"どこで"、"どうやって"を理解することを助けることを目指した内容となっています。
現代社会は、ソフトウェアが社会経済に多くの利益と影響を及ぼしています。ソフトウェアは、ただ動くソフトウェアではなく、より信頼されるソフトウェアでなければなりません。ソフトウェアのセキュリティは、その開発者に委ねられており、ソフトウェア開発ライフサイクル全体を通して、マネジメントされる必要があります。残念ながら日本語訳はまだ存在しませんが、本ガイドには、その実践的な考え方が詳しく解説してあり一読に値します。
OWASP Testing Guide v4では下記の項目のテスト手法について説明しています。
「情報収集」「コンフィグとデプロイの管理」「ID管理」「認証」「許可」「セッション管理」「入力値検証」「エラーハンドリング」「弱い暗号」「ビジネスロジック」「クライアントテスト」に大きく分類されます。
【参考】OWASP Testing Guide v4 Table of Contents
独立行政法人 情報処理推進機構(IPA)から安全なWebサイトの作り方の資料が公開されております。Webアプリケーションのセキュリティ実装、Webサイトの安全性向上のための取り組み、失敗例などについて書かれており、セキュアなWebアプリケーションを開発する際には目を通しておくべきドキュメントです。
【出典】安全なウェブサイトの作り方:独立行政法人 情報処理推進機構(IPA)セキュリティセンター
ASVS(Application Security Verification Standard/ASVS:アプリケーションセキュリティ検証標準)はOWASP ASVS Projectの活動を通じて開発された、最新のWebアプリケーションとWebサービスの設計、開発、テストに必要な機能的および非機能的なセキュリティコントロールの定義に焦点を当てたセキュリティ要件とコントロールのフレームワークとなります。特に、モダンなWebアプリケーション(HTML5,JavaScript,CSS,DOM,SPA,PWA)の設計、開発、テストをする方には一読の価値が御座います。最新版は、他のガイドラインやフレームワーク(CWE※1, NIST※2)との関連も示されており、より深く理解するのに大変便利な内容に構成されております。
またWebアプリケーションだけでなく、モバイル向けのセキュリティ検証標準も公開されております。(OWASP Mobile ApplicationSecurity Verification Standard)
※1:CWE(Common Weakness Enumeration)とは共通脆弱性タイプ一覧のことです。ソフトウェアにおけるセキュリティ上の弱点(脆弱性)の種類を識別するための共通の基準を目指しています。(【参考】共通脆弱性タイプ一覧CWE概説:独立行政法人 情報処理推進機構(IPA))
※2:NIST(National Institute of Standards and Technology)とは、政府や企業の経営者、セキュリティ担当者などが、自組織の情報セキュリティ対策を向上させることに役立つ資料として、世界的に評価の高い海外の情報セキュリティ関連文書等の翻訳・調査研究の成果を一般に公開していることです。(【参考】セキュリティ関連NIST文書:独立行政法人 情報処理推進機構(IPA))
ASVSには以下3つのセキュリティレベルを定義しています。国内では、医療系データの取り扱いに関する具体的なガイドラインがありませんが、欧米では人権に関わるデータが含まれることから、ASVS Level 3のセキュリティレベルが求められます。
検証レベル | 内容 | 説明 |
---|---|---|
ASVS Level 1 | 最低保障レベル | 機密データを取り扱わないようなアプリケーション |
ASVS Level 2 | 推奨保障レベル | 機密データの扱いがあり、保護が求められる、多くのアプリケーションに該当 |
ASVS Level 3 | 最高保障レベル | もっとも重要なアプリケーションで、高機密トランザクションが含まれる |
ASVSは、アーキテクチャ、設計、脅威モデリングにはじまり、全部で14の検証項目から構成されます。セキュリティの原理原則は、脅威に対しどう対抗(防御)するかであり、設計段階でどんな脅威が該当するか理解し、評価することは、その後の防御の検討に重要な指針をもたらします。
記号 | 要件(英語表記) | 翻訳 |
---|---|---|
V1 | Architecture, Design and Threat Modeling Requirements | アーキテクチャ、設計、脅威モデリングに関する要件 |
V2 | Authentication Verification Requirements | 認証に関する検証要件 |
V3 | Session Management Verification Requirements | セッション管理に関する要件 |
V4 | Access Control Verification Requirements | アクセス制御に関する要件 |
V5 | Validation, Sanitization and Encoding Verification Requirements | バリデーション、サニタイジング(エスケープ)、 エンコーディングに関する要件 |
V6 | Stored Cryptography Verification Requirements | 保存時の暗号化に関する検証要件 |
V7 | Error Handling and Logging Verification Requirements | エラー処理、ログ記録に関する要件 |
V8 | Data Protection Verification Requirements | データの保護に関する要件 |
V9 | Communications Verification Requirements | 通信(コミュニケーション)に関する要件 |
V10 | Malicious Code Verification Requirements | 悪意のあるコードに関する要件 |
V11 | Business Logic Verification Requirements | ビジネスロジックに関する要件 |
V12 | File and Resources Verification Requirements | ファイル、リソースに関する要件 |
V13 | API and Web Service Verification Requirements | API、Webサービスに関する要件 |
V14 | Configuration Verification Requirements | 構成に関する要件 |
アイティーエムの脆弱性診断サービスは、OWASP Top 10, OWASP Mobile Top 10, OWASP Testing Guideに則り自社オリジナルの診断項目を加え、これらを組み合わせた診断項目により提供しております。
特に脆弱性手動診断サービス、モバイルアプリ向け脆弱性手動診断サービスに関しては、OWASP ZAPのようなツール診断ではカバーできない箇所まで診断範囲を広げ、セキュリティエンジニアが柔軟に対応することでツールでは発見できなかった脆弱性の対策も可能です。
アプリケーションエンジニアが考えるセキュリティ対策は、アジャイル開発プロセスにセキュリティタスクを組み込むことにより、価値のあるソフトウェアを早く継続的に提供できると考えています。「DevSecOps」は顧客の満足度が高く、安全に利用できるソフトウェアを継続的に提供できる有効的な方法です。
Webアプリケーション脆弱性診断は、自社オリジナルとOWASP Top 10, OWASP Testing Guideを採用し、モバイルアプリケーションの脆弱性診断はOWASP Mobile Top 10, OWASP Mobile Security Testing Guideを採用しております。各アプリケーションの分類に関する検証基準と診断項目は下の表をご覧下さい。
アプリケーション分類 | 検証標準 | 診断項目 |
---|---|---|
Webアプリケーション/サーバ | OWASP ASVS |
OWASP Top 10 OWASP Testing Guide 自社オリジナル |
Webアプリケーション/クライアント | OWASP ASVS | OWASP Testing Guide |
WebAPI | OWASP ASVS |
OWASP Top 10/OWASP API Top 10 OWASP Testing Guide 自社オリジナル |
モバイルアプリケーション | OWASP MASVS |
OWASP Mobile Top 10 OWASP Mobile Security Testing Guide |
Webアプリケーション脆弱性診断(ツール診断)(WebSiteScan)は、SaaS型の為、パソコンにインストール作業や診断用のサーバ(プロキシサーバ)構築、設定などが不要です。(一般的に無料の脆弱性診断ツールはインストールやプロキシ設定などが必要になります)また、診断内容も詳細な項目まで検出するため、無料の脆弱性診断ツールと比較しても精度が高いことが特徴です。診断結果はPDFファイルで報告書としてダウンロードできる点も便利です。専用のサポート窓口も存在しますので、過検知した際の診断結果項目の精査やツールの利用方法についても、ご不明な点に関しては質問できる点もメリットです。
項目 | WebSiteScan | 無料の脆弱性診断ツール |
---|---|---|
設定 |
・SaaS型なのでインストール不要 ・プロキシ設定も不要 |
・インストール作業が必要 ・プロキシ設定などの作業が発生 |
診断 |
・代表的な脆弱性検出の他に、細かな診断項目まで検出可能 ・診断結果をWebブラウザで確認可能であるとともに、 PDFの報告書としてダウンロード可能 |
・SQLインジェクション、クロスサイトスクリプティング等の 代表的な脆弱性は検出可能だが、 それ以外の診断項目は省略されてしまう事がある |
その他 |
・過検知した際も専用のサポート窓口が存在する為、 ツールの操作や診断結果に対し、不明な点を回答することができる。 |
・過検知する場合があり精査する必要がある為、 詳細な判断が出来ない時がある |
Webアプリケーション脆弱性診断のWebSiteScanは、お客さまのWebサイトをリモートで診断を行うサービスです。SaaS型サービスなので、お客さまはソフトウェアやハードをご購入いただく必要はございません。オンデマンドによるご提供となっているため、お客さまのご利用されたいタイミングに合わせてスケジュール設定も可能、診断終了後に即時診断レポートを発行いたします。 「コーポレートサイトを費用を抑えて診断したい」「開発時に手早く検査したい」などのお客さまにおすすめです。
セキュリティエンジニア手動によるOWASP-Web-Testing Guide/OWASP Top 10に基づくWebアプリケーション/Web APIの脆弱性診断サービスです。自社保有の脆弱性診断方法論による実施と管理を徹底し、お客様のご要望に応じてIPA診断項目やクライアントサイド診断などにも柔軟に対応可能です。
脆弱性手動診断サービスのWebSiteScan Proは、ツール診断と併せて専門のエンジニアの手動診断により、ツール診断ではカバーしきれないセッション管理系の脆弱性診断も行います。 「ECサイトのセキュリティを対策したい」「大量の個人情報を扱っている」などのお客さまにおすすめのセキュリティ診断サービスです。
当社で提供する脆弱性診断サービスの具体例の一部で、様々なWebサイト/WebアプリケーションのタイプやWeb/APIやシステム構成に分けて考え実施します。
ツール診断によるOWASP Mobile Top10に基づくモバイルアプリ向け脆弱性診断サービスです。模擬ハッキング手法に基づく実用的な診断で、金融アプリなど多くのプロジェクトで蓄積された独自のチェックリストは14分類51項目があり綿密な診断を実施します。また、自動診断ツールを使用した静的と動的解析で、エンジニアによる診断結果の分析によるレポートは最短5営業日で作成可能です。
AppCheckerは、手間がかからないツール診断でありながら、より安全なモバイルアプリの実現のために2つのタイプの分析を行います。自動化分析ツールによって静的解析と基本的な動的分析を行った後、専門家による手動分析を行います。模擬ハッキングの手法に基づく実用的な分析や、OWASP Mobile Top 10と金融レベルのセキュリティ基準を中心にした分析により、本当に危険な要素は何かを把握できます。しかも分析レポートはすばやく、最短5営業日でご提供いたします。
診断項目にOWASP Mobile Top10を採用したモバイルアプリ向け脆弱性手動診断サービスです。セキュリティエンジニア手動による静的と動的解析による診断で実際のハッキング手法を用いた診断で攻撃の成功の可否まで確認をします。また、わかりやすく実用性の高いレポートと、診断結果に対する対応ガイドだけではなく、指摘した脆弱性が正しく直っているかまで再度診断でフォローします。
ハッキングコンテストで優秀な成績を持つ企業との協業によりモバイルアプリに対する高い技術力をベースにしたワールドクラスの脆弱性手動診断を提供します。国内外での豊富な実績と金融向けアプリを想定した診断作業における高い信頼性が評価をいただいています。また、わかりやすく、実用性の高いレポートと、診断結果に対する対応ガイドだけではなく、指摘した脆弱性が正しく直っているかまで再度診断でフォローします。
当社で提供する脆弱性診断サービスの具体例の一部で、様々なWebサイト/WebアプリケーションのタイプやWeb/APIやシステム構成に分けて考え実施します。
セキュリティ運用サービスは、お客様と予め設定したスケジュールに沿って、当社が定期的な脆弱性診断を実施し、その結果をご報告いたします。また、お客様側でのシステムの構成変更等があった際には、ご要望に応じて都度診断も承ります。診断結果レポートに基づく対策支援や運用代行も当社エンジニアが対応いたしますので、安心・安全なシステム運用が効率的に実施可能です。また、他のセキュリティサービスと組み合わせ、年間を通してセキュリティコンサルやアセスメントも承ります。
システム運用の大まかな定義は24時間365日、問題なくシステムを稼働させるための業務です。システムを構成しているサーバやネットワーク機器はコンピュータで精密機器のため、突然故障する可能性もあります。それがシステム障害の原因になるため、エンジニアが障害を未然に防止するような対策や業務を行ったりバックアップをとるようなシステム構成を考えたり、様々な知識や技術を用いながらシステム運用の業務に取り組んでいます。従ってシステム運用とは、システムの正常状態を維持し、状況に合わせて変化、拡張させることを意味します。
アイティーエムはシステムマネジメント事業を主軸とするMSP事業者です。当社が考えるMSPは「MCSSP」と呼び、新しいシステムマネジメントサービスの形態です。
MCSSP = 「MSP(Managed Service Provider)」+「CS(Cloud & Security)」
従来から存在するMSP(Managed Service Provider)事業をベースとして、昨今のIT環境にて特に注目されている「クラウド利用」と「セキュリティ対策」をより強化したサービスでお客様の安心・安全で、快適なシステム運用をご支援します。
詳しくは下の画像をクリックしサービスサイトをご覧ください。