AppScan and the OWASP Top 10: A Focus on SQL Injection の翻訳版です。
AppScan と OWASP Top 10: SQLインジェクションに焦点を当てた考察
2020年11月2日
著者: Rob Cuddy / Global Application Security Evangelist 共著: Neil Jones / Senior Product Marketing Manager for HCL Software's AppScan solution
もし、あなたがアプリケーションセキュリティに長く携わってきたならば、OWASP Top 10 のことを聞いたことがあるでしょう。OWASP Top 10 は、2010 年に開始され、2013 年と 2017 年に更新されました。今日では、アプリケーション開発者や Web アプリケーションセキュリティの専門家が注意しなければならない最も一般的な脆弱性のタイプの「デファクトスタンダードなリスト」であると広く考えられています。実際には、API や IoT に特化した OWASP Top 10 リストがあるほどの標準となっています。
この定期的なブログシリーズでは、OWASP Top 10 リストの中で最も広まっている脆弱性を見ていきます。今回の記事では、OWASP Top 10 の脆弱性の中で最も普及しているタイプである SQL インジェクションを検証します。また、効果的なアプリケーション・セキュリティ・プログラムがどのようにしてこの脅威に対処できるかを検討します。
SQL インジェクションの定義
OWASP によると、「SQL、NoSQL、OS、LDAP インジェクションなどのインジェクションの欠陥は、信頼されていないデータがコマンドやクエリの一部としてインタプリタに送られたときに発生します。攻撃者の敵対的なデータは、インタープリタを騙して意図しないコマンドを実行したり、適切な権限なしにデータにアクセスしたりすることができます。" インジェクションとは、データフローを利用して、意図しないことをするためにデータフローを利用することです。 誰もが耳にしたことのある一般的な例としては、Web ページのフィールドでシングルクォートを使用して SQL クエリを悪用しようとすることがあります。
SQL インジェクションの影響
最近の Ponemon Institute の「DevOps 環境におけるアプリケーションセキュリティ」調査では、回答した組織のビジネスクリティカルなアプリケーションの 67%が、継続的に脆弱性のテストを行っていないことがわかりました。そのため、SQL インジェクションのような脆弱性の潜在的な影響は計り知れません。そのため、著者の Pallavi Dutta 氏による最近の SecurityBoulevard.com の記事では、大規模な SQL インジェクション攻撃が、英国の通信会社、多数の大学や政府機関、さらには E コマース企業など、幅広い業界の組織に影響を与えていることを指摘しています。
しかし、なぜ SQL インジェクションはまだ存在するのでしょうか?
実際のところ、SQL インジェクションは文字通り何十年も前から公に議論されてきましたが、なぜこれほど多くの組織にとって未だに問題となっているのでしょうか? 現実には、SQLインジェクションを防止することはそれほど難しいことではありませんが、ソフトウェアがデータベースと通信し、ユーザーが提供した入力を使用している場所の数は膨大なものです。
「アプリケーション・パラノイア」ポッドキャスト・シリーズのシーズン 1、エピソード 10 では、アプリケーション・セキュリティの専門家で影響力のある Tanya Janca 氏に、誰もが二度と書いてはいけない脆弱性について尋ねたときに、この重要性を再認識しました。 Tanya は言いました。
「OK、それで、私のお気に入りの脆弱性で、私が修正しようと思っているもの。私はこの質問をひっくり返してみたいと思います。 なぜなら、すべてのプログラマが入力の検証をあるべき場所に配置し、入力の検証をきちんと行っていれば...それは膨大で膨大で膨大な量の脆弱性を修正することになり、この世のものとは思えないほどのものになるからです」。
インジェクション攻撃への対処
インジェクション攻撃の潜在的な影響を考えると、HCL AppScan はどのようにしてインジェクションを見つけ、それに対処しているのでしょうか?アプリケーションをスキャンする際には、あらゆる種類の可能な構成を試し、インジェクション攻撃が可能であることを示すものを探して出力を検査します。例えば、どのような種類のエラーメッセージが表示されているか、また、これらのメッセージがアプリケーションがどのように動作するかについての洞察を提供しているかどうかを調べます。私たちは良性のインジェクションを試してみて、それが「うまくいく」かどうかを確認し、開発チームがその存在に気づくことができるように、それらの試みの成功を報告します。また、発見された脆弱性の種類と、なぜそれが問題なのかについての情報を提供し、理解を助けます。
上図1は、HCL AppScan のスキャン設定パネルを示しています。 ここでは、ユーザーはテストしたい問題の種類を正確にカスタマイズすることができます。この例では、「Developer Essentials」プロファイルを選択することから始めました。これは、開発者が潜在的な問題について迅速にフィードバックを得ることができるように、成功する確率の高い多くの一般的なテストで構成されています。次に「インジェクション」という単語を検索して、選択されていない可能性のある他の関連テストを探し出し、それらを含めることができるようにしました。このような柔軟性により、テストに磨きをかけることができます。
インジェクションの問題が見つかったら、どのように対処すればいいのでしょうか? ポッドキャストシリーズ「アプリケーションパラノイア」のシーズン1、エピソード 9 では、「クリスに聞く」のセクションで、クリス・デュアーが素晴らしい洞察を提供してくれました。彼が与えた強力なアドバイスは以下の通りです。
"ベストプラクティス 1: 準備された文を使うこと。 実行クエリを使うのをやめろ...実行クエリや実行文を見るたびに、私の魂の一部が死んでしまう。 パラメータがなくても気にしない...パラメータを持たせて、それを持たせて、絶対にステートメントを使わない。 常に準備された文を使う。 常に準備されたクエリを使用する.... それは文字通りただの
"ベストプラクティス 1: 準備された文を使用する。 クエリを実行するのをやめてください... クエリの実行や文の実行を見るたびに、私の魂の一部が死んでしまいます。 パラメータがなくても気にしません... パラメータを持たせて、ステートメントを使わないようにします。 常に準備された文を使う。 常に準備されたクエリを使え.... 文字列を連結するクエリを書くのをやめろ。 SQL インジェクションの問題の 99.9%はそれで解決する.... 動的な SQL を使うのはやめて、動的な SQL でなければならない場合は、準備された文を使うようにしましょう。
要約すると、脆弱性が特定されたら、それに対処するには、通常、以下の2つのカテゴリーのいずれかに分類されます。
ユーザーからの入力を利用した動的なクエリの記述を排除する
ユーザーが提供した入力が利用される場合、"悪い" SQL がクエリの残りの部分に影響を与えるのを防ぎます。
これら 2 つのカテゴリーに対処するには、パラメータ化されたクエリ、ストアドプロシージャ、許容される入力のリストの 定義、ユーザーが入力した入力のエスケープなどを使用する必要がある。 図 2 で示されているように、HCL AppScan は、発見された脆弱性に関する具体的な情報を、潜在的な修正案の中でこれらの戦略を使用して提供しています。さらに、OWASP は、これらの様々な方法をどのように使用するかを例示する素晴らしいリソースを提供しています。
詳細
潜在的な SQL インジェクション攻撃に対抗する最善の方法は、効果的なアプリケーション・セキュリティ・テスト・プログラムを利用することです。アプリケーション・セキュリティ・テクノロジーをご自身でテストしたい場合は、HCL AppScan の 30日間の無料トライアルにご登録ください。
The Benefits of Hybrid Cloud and Why it’s a Big Deal の翻訳版です。
ハイブリッド・クラウドのメリットと、それが重要である理由
2020年10月31日
著者: Jason Cornell / Principal Offering Manager, HCL Digital Experience
クラウドベースの導入に移行するエンタープライズ・テクノロジーが増加する中、企業にとって、現在のデジタル・エクスペリエンスの導入状況を慎重に評価し、クラウド戦略とロードマップを策定して、変革と差別化を推進し、最終的には競争上の優位性を獲得するためのクラウドのビジネス・メリットを享受することがますます重要になってきています。
クラウドへの移行によるメリットは説得力がありますが、ミッションクリティカルなワークロードをクラウドに移行する際の課題を最小限に抑えるために、企業はクラウドへの移行に柔軟性を求めています。パブリッククラウドやプライベートクラウドへの移行には、多くの時間、費用、開発リソースが必要となります。HCL Digital Experience の新しいハイブリッド・クラウド・サポートを利用することで、企業はクラウドのメリットを最大限に活用し、既存のオンプレミスの導入から得られる価値を最大化し、デジタル・エクスペリエンスへの投資を将来に向けて実証することができます。
HCL Digital Experience の新しいハイブリッド・クラウド・サポートにより、顧客は何も移行することなく、既存のオンプレミスのコンテンツ管理機能を、画期的なクラウドベースのコンテンツ管理機能と一緒に利用することが可能になります。魔法のような?いいえ。はい。Kubernetes を使用することで、クラウドに何も移行することなく、オンプレミス環境に未来を見据えた新しいクラウド機能を追加することができます。
この新しいハイブリッドクラウドオプションは、オンプレミスのDX環境に3つの大きな改善をもたらします。
1. コンテンツ・コンポーザー:半分の時間でコンテンツを作成
劇的に改善されたコンテンツ作成ツールと再設計された Content Composer により、ビジネス・ユーザーは、最新の直感的なドラッグ・アンド・ドロップ・インターフェースを使用して、新しいコンテンツのモデル化と作成を半分の時間で行うことができます。
2. DAM: 新しい (無料の) クラウドネイティブデジタルアセットマネージャー
新しいクラウドネイティブのデジタル資産管理システム (DAM) は、メディアの追加と整理を迅速かつシームレスに行うことができます。そして、市場のいくつかの?他のデジタル体験?プラットフォームとは異なり、この DAM は追加料金なしで含まれています。
3. エクスペリエンスAPI: 適応可能なオープン API
新しいオープン API に準拠したヘッドレス REST サービスのセットにより、開発者は最新のフロントエンド JavaScript フレームワーク(Angular、React、Vueなど)を使用してエクスペリエンスを提供することができます。これにより、コンテンツ、データ、アプリケーションをブレンドする際の俊敏性が向上します。
今すぐアップグレードすることで、DX がこれまで以上に迅速かつ容易になり、ビジネスに不可欠なデジタル体験をこれまで以上に価値あるものにすることができます。今後開催されるカンファレンス「DX Inspire」で詳細をご確認ください。
詳細はこちらをご覧ください: https://hclsw.co/dx-inspire-2020
BigFix Days Virtual User Conference の翻訳版です。
HCL BigFix Days バーチャルユーザーカンファレンスを開催します
2020年11月2日
著者: Ben Dixon / HCL
HCL BigFix は、11月10日と11日にバーチャルユーザーカンファレンスを開催します。
2日間で 14のセッションが行われる BigFix Daysバーチャル・ユーザー・カンファレンスは、BigFix ユーザーの皆様に、活発でインタラクティブな環境 でHCL BigFixチームとつながる機会を提供します。新機能、プラットフォーム構成のヒントやテクニック、BigFix のベスト・プラクティス・コンテンツを共有するために、私たちのホーム・オフィスからあなたのオフィスまで、ライブであなたのところにお邪魔します。
カンファレンス全体に参加するもよし、半日参加するもよし、興味のあるセッションだけ参加するもよし。いずれにしても、皆様のご参加をお待ちしております。コラボレーション、情報やアイデアの共有、新しい人脈作り、新しい学びの場として、ぜひご参加ください。
日時
カンファレンスは以下の時間帯に実施されます。
詳細
イベントのアジェンダと登録リンクについては、www.hcltechsw.com/wps/portal/products/bigfix/events/bigfix-days をご覧ください。
HCL Ambassadors Program for BigFix is live and nominations are now OPEN! の翻訳版
HCL BigFix の HCL Ambassador プログラムが始動し、ノミネートが開始されました
2020年10月30日
著者: Lisa Towles / BigFix Client Advocacy Manager
共著: Rhonda Studnick Kaiser / Director - Customer Experience BigFix
HCL Ambassador とは?
HCL Ambassador プログラムとは、HCL Software 製品のプロモーション、コミュニティーへの参加、そして他の人々を支援するために、その枠を超えた活動を行っているお客様やパートナーを表彰するプログラムです。HCL Ambassador に推薦することで、これらの方々を表彰し、促進することができます。
ノミネーション
このプログラムへのアクセスは、毎年、公募推薦、HCL審査、選考プロセスを経て決定されます。推薦は 2020年11月26日まで公募され、その後、社内選考が行われます。BigFix の新しい HCL Ambassador は 12月に発表され、任期は 2021年1月1日から開始されます。
ユーザーグループのイベントを企画したり、ブログ記事やフォーラムの記事を書いたり、トレーニングを作成したり、他のお客様が BigFix を最適に利用できるようサポートしたりした BigFix のお客様やパートナーをご存知ですか? 私たちは幸運にも、外部の顧客エコシステムの中に素晴らしい BigFix エバンジェリストがいます。そして今、あなたには、現在の役割を超えて他のお客様を支援・サポートしている個人を認識し、促進する力があります。
是非、BigFix の HCL Ambassador に推薦してください。BigFix ユーザーは、自薦もできます。
詳細はこちら
詳しくは、HCL Ambassador プログラムの Web サイトをご覧ください。
よくある質問
HCL Ambassador とは、企業ではなく個人を表彰するプログラムで、HCL 製品の販売促進、地域社会との連携、他者への支援など、HCL の活動に貢献した人を表彰するものです。
Ambassador になれるのは誰ですか?
BigFix の顧客またはパートナーです。
どのようにして候補者を推薦するのですか?
お客様やパートナーの方は、ご自身で推薦することも、他の方を推薦することもできます。
このプログラムは北米のみを対象としていますか、それとも全世界を対象としていますか?
ワールドワイドが対象です。
Ambassador プログラムの期間は?
2021年1月1日~12月31日
指名プロセスとは何ですか?
オンラインのノミネーションフォームを使用して、推薦する個人についての情報を入力し、過去12ヶ月間にどのように HCL BigFix を広報しているかを示す3つの「証拠」を提出してください。
Ambassador になると、どのようなメリットがありますか?
HCL Ambassador として認められることは、技術的な証明になるのでしょうか?
HCL Ambassador プログラムは、技術的な認定ではなく、営業やマーケティングのツールではなく、過去 12ヶ月間に「本業以上の仕事をしてくれた人」にお返しをするための表彰プログラムであり、地域社会の発展のためのものです。
HCL Ambassador になると、毎年表彰されるのですか?
HCL Ambassador には 2つのタイプがあります。
さらなる詳細、ご不明点は BigFix チームの以下のメンバーにお問い合わせください。
Lisa Towles: Lisa.Towles@hcl.com Rhonda Studnick Kaiser: Rhonda.Studn@hcl.com
Accelerating Testing at Reduced Costs の翻訳版です。
より低コストでテストを加速させる
2020年10月29日
著者: Navnit Kumar Singh / Software Test Architect 共著: Shivi Sivasubramanian / Technical Lead
多くの組織にとって、アジャイルおよび継続的なソフトウェアデリバリのトレンドに追いつくためのテストプロセスを定義することは、大きな課題です。
そして、この課題を克服するために、多くのソフトウェアチームは通常、テストの自動化や追加のスクリプトを導入しています。しかし、より自動化された UI テストが必ずしも効率的なプロセスとは限りません。
テストの実行時間は、テストスイートのサイズに正比例します。特にこのようなシナリオでは、テストを自動化する目的は達成されません。この記事では、HCL OneTest UI (HOT UI) が、テストの自動化に関連する最も一般的な問題を克服するのにどのように役立つかを概説します。
このブログ記事では、以下の用語を使用しています。
スピードを上げる、遅くするのではなく
テストを高速化する最も強力な方法は、テストを並列に実行することです。すべてのテストスクリプトを単一のノードで実行するのではなく、多くのノードに分散して実行します。例えば、100個のテストを 10個以上のノードで並列に実行すると、実行時間は実際の実行時間のわずか10分の1にまで短縮されます。
時間を節約できるだけでなく、テストの実行を並列化することで、テストカバレッジを大幅に向上させることができます。
自動化されたテストを並行して実行するための準備をする際には、以下の要件を考慮してください。
テスト実行の高速化
HCL Software は、HCL OneTest UI と呼ばれるGUI自動化機能テストツールを提供しており、記録することで自動テスト用のテストスクリプトを素早く生成することができます。これらのテストスクリプトは、逐次的にも並列的にも実行することができます。そのシンプルなUIを使用して、並列テスト実行用のアトミック・スクリプトを生成したり (「記録中にテストを分割する」を参照) 、並列テスト実行のためのさまざまな機能を活用したり、テスト・データを自動管理したりすることができます。
HCL OneTest UI は、複数のブラウザーと複数のノードに同時にテスト実行を分散させる方法を提供することで、テストを高速化するのに役立ちます (「分散テストによるテスト作業の高速化」を参照してください)。HOTUI で並列テストを実行するには、加速機能テストアセット (AFT) を設定する必要があります。AFT は、複数の接続されたノードと利用可能なブラウザー上で並列テストを実行するために必要なすべての情報を含む XML ファイルです。
典型的なAFTテストスイートは次のようになります。
増速機能テストの設定方法の詳細は、「増速機能テスト・アセットの作成」を参照してください。
テスト実行の分散を制御する
AFT テストスイートを実行すると、そのテストスイートの一部である WebUI テストが複数の接続されたノードに分散され、テストを並行して実行するための複数のチャネル (またはストリーム) が容易になります。ノード上で並列に実行できるテストの数は、Web UI Playback (Desktop) 環境設定 (Window > Preferences > Test > Test Execution > Web UI Playback (Desktop) ) で「配布用エージェントごとの並列チャンネル数」を整数値に設定することで、HOTUI 環境設定で定義したチャンネル数に依存します。
というわけで、並列チャンネル数を決定する際には、接続されているノードの構成も考慮する必要があります。
HOTUI では、以下の方法で並列テストの実行を配布することができます。
選択されたテストの数、または AFT テストスイートの一部であるテストの数が、利用可能なチャンネルの数よりも多い場合、各チャンネルは複数の Web UI テストを収容するように構成できます。Web UI テストは、チャンネル間で並行して実行され、チャンネル内では順次実行されます。
並列実行可能なテストの最大数=(配信用のノードごとの並列チャンネル数)×(接続されたノード数)
注: 複合テストを実行する場合、複合テストの数に選択したブラウザの数を乗じた数がチャンネル数を超えないようにしてください。
レポートの表示
テスト実行の終了時には、テストの詳細、実行環境、状態、場所(ノードの詳細)など、実行の詳細と概要をまとめたレポートが生成されます(スクリーンショット参照)。
データ駆動型テストをいかに簡単に加速させるかの詳細についてはこちらをご覧ください。
Data-driven Test Acceleration Made Easy の翻訳版です。
データ駆動型テストの高速化による改善
2020年10月29日
著者: Navnit Kumar Singh / Software Test Architect 共著: Shivi Sivasubramanian / Technical Lead
ディストリビューションテストの大きな課題のひとつは、データ駆動型のテストです。同時に実行されているすべてのテストは、データにアクセスできるはずです。
しかし、いくつかのシナリオでは、複数のテストが同じデータにアクセスできるようにすることはできません。HCL OneTest UI (HOT UI) が提供するデータセットを使用することで、分散テストを実行しながらこの課題に簡単に取り組むことができるようになりました。
この記事では以下の用語を使用しています。
データセットの作成
e コマースのWebサイトで一般的に起こるシナリオを考えてみましょう。ユーザーがログインし、カートに商品を追加し、注文をします。 したがって、以下の手順で自動テストを行う必要があります。
テストを高速化するために、サポートされているすべてのブラウザーで 3つのテストを並行して実行することを計画してください。しかし、アプリケーションは同じユーザーログインで 3つのセッションを同時に実行することはできません。そのため、各実行ではユーザー ID とパスワードの異なる組み合わせを使用する必要があります。
上記のシナリオのために、HCL HOTUI で以下のデータセットを必要な行データと共に作成します。
DS_Login データセットをログインテストに関連付け、テストの入力値をデータセットの列に関連付けます。同様に、DS_Product データセットを addToCart テストに関連付け、入力値をそれぞれのデータセット列に関連付けます。詳細については、「テスト値をデータセット列に関連付ける」を参照してください。
複合テストの作成
3 つのテストをシナリオとしてまとめて実行するには、HCL OneTest で TC_PlaceOrder という名前の複合テストを作成し、3 つのテストを予想される実行順序で追加します。複合テストの中にループを挿入し、addToCart テストをその中に移動します。これは、実行中に対応するデータセットの行から値(この場合は、商品の詳細)を取得するために必要です。
TC_PlaceOrder という複合テストを実行すると、まずアプリケーションにログインするためにログインテストが実行され、次に addToCart テストがカートに商品を追加します。カートに追加された商品の数は、ループ内で指定された反復回数に等しくなります。最後に、placeOrder テストは、カートに追加された商品の注文を行います。
テストの配布
複数のブラウザーで同時にテストシナリオを実行するには、Distribute_TC_PlaceOrder という AFT テストスイートを作成します。
Distribute_TC_PlaceOrder と呼ばれる AFT テストスイートを実行すると、TC_PlaceOrder テストは Chrome と Firefox で並行して実行されますが、複合テスト TC_PlaceOrder の一部であるテストは順次実行されます。
異なるブラウザーでの実行の各ステップで、ログイン・テストは、DS_Login データセットの異なる行から必要なログイン詳細を取得します。このようにして、各並列テストの実行において、単一のユーザー・ログイン・セッションが保証されます。 ログインテストが完了すると、addToCart テストはループ内で(指定された回数分)、異なるブラウザー上で同時に実行されます。addToCart テストの各実行は、DS_Productdataset にアクセスし、データセットにアクセスする1つのテストであるかのように、カートに商品を追加します。
まとめると、HOTUI は、必要に応じてデータへのアクセスを制限しながら、データへの同時アクセスを可能にすることで、テストの並列実行を容易にします。
コストを削減しながらテストを高速化する方法の詳細はこちらをご覧ください。
?AST - The Who, What, Why and Where of Application Security Testing の翻訳版です。
AST - アプリケーションセキュリティテストの疑問: 「誰が」「何を」「なぜ」「どこで」?
2020年10月28日
著者: Shahar Sperling / Chief Architect at HCL AppScan
アプリケーションのセキュリティテスト技術を選ぶことは、単純な作業ではありません。直感的に、あなたは自分自身に尋ねるでしょう、 "最高の技術は何ですか?" その答えを見つけたら、あとは自分が一番気に入った製品を選ぶだけの簡単な作業です。
私は直感の大ファンなのですが、この場合、検討範囲を完全に理解していないと直感が誤解を招くことになります。上の質問は基本的に "DAST vs. SAST vs. IAST" という考え方をしていますが、本来は "DAST & SAST & IAST" であるべきなのです。AppScan の世界では、DAST から SAST、そして IAST へと拡大していく中で、私たちは10年以上前にこの結論に達しました。この拡大は、単にお客様に多くのオプションを提供するだけの問題ではないということに気付いたからです。スキャン範囲を改善してリスクを低減し、DevOps ライフサイクルのより多くの場所でセキュリティテストを適用し、適切な仕事に適切な技術を使用し、適切な人に適切なツールを提供することが重要なのです。テクノロジーは互いに置き換えられるものではなく、互いに補完し合い、隣り合わせに存在します。
なぜ、みなさまは単一のテクノロジーを求めているのでしょうか
技術には長所と短所があり、対象者も違えば、さまざまな種類の結果をもたらし、さまざまな条件のもとで活躍する技術もあります。開発とリリースのライフサイクルには、多くの段階があり、様々なスキルや専門分野を持つ多くの参加者がいます。可能な限り最も効果的なセキュリティテストを実施するために、ライフサイクルの異なるポイントで技術を導入することができますし、導入すべきです。
単一の技術の探索は、通常、次の3つの理由に起因します。
それぞれの技術の使用状況をフレーム化するために、さらにいくつかの質問をしてみましょう。これらの質問はプログラムを設計するのに役立ちますが、それでも一つの技術を選択することが目的であるならば、決定するのに役立つはずです。
誰がスキャンを実行するのですか
この質問は、厳密には誰がスキャンの設定や設定を行うかということではありません。誰が実行するかという質問でもあります。特別な制限があるわけではありませんが、技術には、他の技術よりもはるかに適した特定のユーザータイプが存在することがよくあります。
開発者: 開発者は SAST スキャンを実行することで最も恩恵を受けることができますが、IAST も活用することができます。
QA エンジニア: QA エンジニアは、特別な相互作用がないため、IAST スキャンの実行に最も適している可能性が高いです。スキャンは、彼らが通常のQA作業(手動または自動化されたテスト)を行っているときに起こります。QAエンジニアは、DASTスキャンを実行することはほとんどなく、通常、SASTの開発環境にアクセスすることはありません。
セキュリティの専門家とペンテスター: セキュリティの専門家とペンテスターは、SAST と DAST が相性が良いと考えていますが、ほとんどの場合、IAST を使用することはありません。
結果を誰が受け止めるのか
これは、アウトプットが可能な限り実行可能なものになるようにしたいので、重要です。最終的には、開発者がすべてのスキャン結果を受け取り、それに基づいて行動する必要があります(つまり、修正する必要があります)。しかし、追加のキャッチャー(オペレーションやITなど)や中間処理者がいるかもしれません。
SAST と IAST の結果は、開発者にとって最も直接的に消費可能なものです。これらの結果は、開発者にとって最も直接的な情報(特定のコードの位置など)を保持しています。しかし、コードロケーションよりもレクリエーションシナリオを好む開発者は、DAST の方がより多くの利益を得られるかもしれません(これは、ユーザーが何に慣れるかの問題です)。
DAST の結果は、専門家やペンテスター、あるいは運用/IT (インフラストラクチャーの問題を修正するための) にとって、より意味があります。コードは、ほとんどの場合、彼らにとってはアクセスできないか、無関係なものです。
スキャンはいつ実行すべきでしょうか
スキャンには時間がかかります。コードレビュー、ユニットテスト、自動化された機能テストなど、開発ライフサイクルに別のタスクを導入する場合は、注意して行わなければなりません。セキュリティテストはそのようなタスクの一つに過ぎませんが、通常は無視されています。何が最も重要なのかを考える必要があります。
できるだけ早期に問題を発見することが最重要であるならば、SAST を使ってセキュリティテストを開発者に導入することは素晴らしい選択です。また、開発者は、特定の DAST テストアプローチが非常に有用であることに気づくことができます。
主な目的が既存のワークフローへの混乱を最小限に抑え、その影響を気づかれないようにすることであるならば、IASTはおそらくあなたの選択するテクノロジーです。アプリケーションと一緒にデプロイするために IAST を設定することは、一度だけの操作であり、一度それが行われると、アプリケーションは常に監視されます。アプリケーションとのインタラクション(自動機能テスト、手動テスト、統合テスト)があるたびに、アプリケーションはセキュリティの問題がないか監視されます。
あなたは、既存のチームの外部にテスト専門の新しいチームを作りたいと考えているかもしれません。そのような場合、DAST のテクノロジーは、彼らが選択するツールとなるでしょう。DAST は、テスターに、基礎となるコードや実行中のアプリケーションから最大限の分離を提供します。
スキャンの期待される結果は何ですか? 何を達成しようとしているのでしょうか?
これらは愚かな質問のように聞こえます。これらの質問は愚かな質問のように聞こえますが、その答えは、「アプリケーションをより安全にしたい!」ということです。しかし、使用する技術の種類を制限することは、ある種の節約を達成することを意味します。あなたは、金銭的にも、時間的にも、あるいは他のどんな条件でも、費用対効果を得ようとしています。そのためには、これらの質問に正直に答える必要があります。
例えば、サーバサイドのコードの安全性をより重視したり、優先順位を高くしたりしているかもしれませんし、開発者に開発ライフサイクルの可能な限り早い段階で問題に対処してもらいたいのであれば、SAST は正しい判断かもしれません。
もう一つの例としては、開発者の気が散るのを避け、時間の節約を促すことを優先することが挙げられます。これらの優先順位を満たすためには、IAST が適切でしょう。この技術は、あなたが何か他のことをしている間に欠陥を特定します。問題点を特定するのに必要な労力はほとんどありません。その「他のこと」をしている間に実行されているコードに限定されますが、基準セットの中では非常に安価です。
オーバーレイと外挿
これを読むと、誰がいつ何を使うべきかという明確な線引きがあると思うかもしれません。現実はもちろんもっと複雑で、重要なのは、それぞれの技術の長所と適合性を見極め、そのラインに沿って最適化することです。
そのラインを表すパラメータには、スキャニングの強さ、限界、リスク、想定ターゲットユーザー(ベンダーが想定)の 4つがあります。
SAST SAST は、サーバサイドの脆弱性(Webアプリケーションでは、モバイルとデスクトップアプリケーションのすべての側面をカバーしています)を特定するのに適しています。クライアント側の脆弱性も、特定の状況下では検出することができますが、SAST が得意とするところではありません。SAST の結果は、かなりの量のトリアージとクリーンアップを必要とする可能性があります。このプロセスは些細なものではなく、数回のサイクルを必要とすることもありますが、コード指向の結果は開発者にとって理想的であり、迅速な修正のターンアラウンドを得るために非常に効果的です。
DAST DAST はサーバサイドの脆弱性に対しても非常に良い仕事をしますが、3つの技術の中ではクライアントサイドの脆弱性に対して最も良い仕事をします。また、その能動的な性質により、はるかに正確な検証が可能となり、誤報告を減らすことができます。コードの位置がわからない一方で、テストペイロードはデバッグに役立ち、これは実行可能な代替手段として役立つかもしれません。DAST には、ある種の盲点があります。DAST が依存している、外部から見える副作用を発生させない問題を特定することはできません。DAST は、アプリケーションの入手困難な部分を見逃してしまう可能性があるため、カバレッジも問題となります。ユーザーがコードや実行中のアプリケーションと対話する必要がないため、DAST は、ペンテスターや帯域外のテストサイクルに最も適したツールです。
IAST IAST の強みは、サーバサイドの脆弱性検出にもあります。多くの点で SAST と多くの特長を共有していますが、結果の質がアプリケーションの機能のカバレッジの質に直接依存するという重大な制限があります。SAST の利点の一つは、内部コードの表現とともにリクエストデータを提示することです。これは、そうでなければ SAST にはない再現性とデバッグ機能を可能にします。第二の利点は、提案されたサニテーションとバリデーションコードの実行時検証です。サニテーションとバリデーションコードの信頼は、(よく知られたライブラリー関数が使用されていない限り)ヒューリスティックに行われるか、設定によって行われます。これはIASTでは要求されない。意図されたユーザーは、組織内で機能テストに従事している人なら誰でもよい。これにより、テストへの投資の可能性が大幅に高まり、以前は不可能であった、ビジネス的に意味をなさなかった開発フェーズでのテストが可能になります。
では、ギャップについてどう思いますか?また、そのギャップに耐えられるものなのでしょうか?
HCL AppScan では、どのような技術もあきらめるべきではない、というのが私たちの当たり前の結論です。諦めてはいけないというのが私たちの結論です。
詳細はこちら
ご自身でアプリケーションセキュリティテスト技術をテストするには、今すぐ AppScan の 30日間の無料トライアルをお申し込みください。
The 3 Capabilities Your Digital Experience Needs to Offer の翻訳版です。
Digital Experience に必要な3つの機能
2020年10月28日
著者: HCL Digital Experience Team
今日、企業が競争に勝つためには、目まぐるしく変化するビジネスニーズに対応するために、スタッフや顧客に迅速かつ安全で柔軟なエクスペリエンスを提供しなければなりません。トレンドや市場のニーズは、気象システムのように急速に変化する可能性があるため、企業がビジネスクリティカルな要求に対応するためには、アジャイルなプラットフォームが不可欠となります。
ビジネスクリティカルなプロセスとは、請求書の支払い、アポイントメントの作成、タイムシートの記入、許可証の申請、クレームの申請など、組織のミッションを満たすために不可欠な中核的な活動のことです。
営業とマーケティング、会計と財務、人事、または顧客サービスを中心とするかどうかにかかわらず、これらの事業活動は、それらが置かれているプラットフォームによって最適化されるかどうかが決まります。業界を問わず、企業のビジネスに不可欠なニーズに対応できるダイナミックパブリッシングプラットフォームは、競争の激しい市場にある企業にとって明確なアドバンテージとなります。
データセキュリティとプライバシー
バンドはドラマーと同じくらいの腕前しかないということわざがありますが、デジタル体験やプラットフォームの技術やセキュリティも同じです。世界で最も優れたユーザーインターフェースも、デジタルの脅威から守られていなければ意味がありません。
安全なプラットフォームを確保するには、業界のコンプライアンス要件を満たしつつ、いつでもどこでもユーザーを接続できる柔軟性のある暗号化を用いて、現場や輸送中の個人データを保護することが含まれます。
バランスを取るのが難しいと思われるかもしれませんが、美しいギターのソロが乱暴な一貫性のないドラムビートにかき消されてしまうのは嫌なので、業務を守るために必要なセキュリティ対策に投資する価値はあります。
強力なコンテンツ作成
一流のセキュリティがパブリッシングプラットフォームの必須のドラマーでありながら見落とされがちなものだとしたら、コンテンツこそが名人ギタリストです。コンテンツは、ユーザーにとって最も目立つものであり、ユーザーの心を掴み、ユーザーを体験へと誘います。
効果的なブランドメッセージを作成し、それを効率的に伝えるには、企業がどのようにコンテンツ作成をプラットフォームに組み込むかに大きく依存します。Webコンテンツ管理プラットフォームは、完全に応答性のある Web とアプリの機能を持ち、拡張性があり、簡単に組織化されている必要があります。また、関連するすべてのデータを単一のビューに集め、従業員やスタッフにシームレスで透明性のある体験を提供する必要があります。
HCL Digital Experience の新しい軽快なコンテンツツールは、ビジネスユーザーが開発者を引き入れることなく、コンテンツや体験を作成することを可能にします。また、インサイトとアナリティクスが「すぐに使える」ようになったことで、マーケティング担当者はカスタマージャーニーを改善し、コンバージョン率を劇的に向上させることができるようになりました。
コンテンツの重要性はこれまで以上に高まっており、顧客のためにパーソナライズされたキャンペーンのジャーニーを迅速に構築して立ち上げる能力は、現代のエンタープライズビジネスにおける真の差別化要因の1つとなっています。
サービスとデバイス間の統合
クリエイティブなアウトプットを後押しし、配信するセキュアなプラットフォームを持つことは、チャネルやデバイスを横断して統合する必要があります。組織の静脈を流れる重要な情報を必要とする人が共有し、閲覧し、アクセスすることができなければ、貴重な時間を無駄にしてしまいます。
これは、すでに導入されているレガシーシステムや、プラットフォームが連携しなければならないアプリケーションに接続する機能から始まります。HCL Digital Experience (DX) は、データと複雑なバックエンドを簡単に統合し、ビジネスに不可欠なプロセスのための統一されたエクスペリエンスを作成します。
堅牢なプラットフォームには、ドラッグ&ドロップによる統合ツール、セルフサービス・オプション、自動データ更新、シームレスな API マネージャーなどの機能があり、IT 部門に技術サポートを求めるのではなく、自分の仕事に集中する必要があるユーザーのために首尾一貫して機能します。
ソフトウェアとツールの健全な統合とともに、デバイスや場所へのアクセス性も重要です。現代のワークスペースはモバイル化されており、午後5時にドアを閉めることはありません。従業員は、どこにいても必要なすべてのデータを指先に持っている必要があり、そのデータは、どのようなデバイスでもチームメンバーや顧客に転送可能でなければなりません。
企業に最適なコンテンツ管理プラットフォームは、統合された環境で信頼できるセキュリティと優れたコンテンツ作成能力を提供する必要があります。
タイミングの悪いドラマーやキーから外れた演奏をするギタリストと一緒にならないようにしましょう。最高の要素を一つの場所に組み合わせれば、満足のいくオーディエンスに演奏してもらうことができます。