コロンビア大学の最近の研究によると、私たちは1日に70件を超える意思決定に追われています。しかも、これは重要な意思決定だけを数えた場合です。コーネル大学の先行研究では、食事に関することだけでも、私たちは1日に200件を超える意思決定をしていることが明らかになっています。
私たちが日々下す決断の多くは、長期的にはほとんど影響を及ぼしません。その影響はごくわずかで、ほとんどは「良い」「悪い」と分類できるものではなく、単にそのとき選んだ結果にすぎません。しかし、中には重大な結果をもたらす選択もあります。熟慮のうえで意図的に行う選択もあれば、意図せず行い、後になって初めてその意味が明らかになる選択もあります。
意図せず生じた結果の中には、振り返ってみれば明らかにアプリケーションのセキュリティに関係しているものもあります。
選択肢:プラットフォーム、フレームワーク、コンポーネント
開発初日から、さまざまな選択が行われます。その多くは、プラットフォームやフレームワーク、ライブラリ、サードパーティ製コンポーネントに関するものです。開発中には、このような選択が数多く行われます。現在、アプリケーションの80~90%は、オープンソースまたはサードパーティ製のコンポーネントで構成されていると推定されています。オープンソースまたはサードパーティ製のコンポーネントを組み込むという選択には、それぞれ潜在的な影響があり、特にアプリケーションセキュリティに関して注意が必要です。Black Duck Softwareの分析によると、市販ソフトウェア製品には平均105個のオープンソースコンポーネントが含まれています。
表面的には、こうした影響はそれほど深刻には見えません。実際、Contrast Securityの調査によると、ソフトウェアライブラリに起因する脆弱性は全体のわずか7%です。Black Duckの調査では、アプリケーション1件あたり平均22.5件のオープンソースの脆弱性が見つかりました。そのうち40%は「深刻」と評価されています。それでも、アプリケーションの残り10~20%を占めるカスタムコードが、アプリケーションに存在する脆弱性の大半の原因であることを考えると、これはごくわずかです。
残念ながら、脆弱性の大半は、CVEや攻撃者が容易に入手できるサンプルエクスプロイトコードを通じて公開されるわけではありません。同じコンポーネントやライブラリが何千、何万ものWebアプリケーションで使用されている環境では、悪意のある攻撃者は標的を見つけるためにそれほど苦労する必要がありません。現在、アプリやWebサイトの構築に使用されているテクノロジーの利用状況を追跡するbuiltwith.comによると、Apache Strutsに依存する稼働中のサイトは約40,000件に上ります。Apache Struts 2で公開された脆弱性が実際に悪用され、インターネット上でちょっとしたパニックを引き起こしたことは、多くの方がご存じでしょう。OpenSSLなど、広く使用されている他のオープンソースライブラリやサードパーティ製ライブラリに関する深刻な脆弱性の公開でも、同様のパニックが起きています。
しかし、問題につながる可能性があるのは、ライブラリやサードパーティ製コンポーネントを組み込むか、オープンソースフレームワーク上でアプリケーションを構築するかという選択だけではありません。開発時のほかの選択も、特に安全でない開発手法につながる場合、深刻な影響を及ぼす可能性があります。
選択:スピードと引き換えにセキュリティを犠牲にする
スピードを優先するためにセキュリティが犠牲になっていると聞いても、驚くことではありません。これは以前から変わりません。504人のセキュリティ専門家を対象とした2014年のMcAfeeの調査では、「調査対象組織のおよそ3分の1で、運用担当者がネットワークパフォーマンスを向上させるため、ファイアウォールのセキュリティ機能を日常的に無効化していると認めた」ことが明らかになりました。
実のところ、開発も例外ではありません。重視されるのは実行速度ではなく、パイプラインの速度です。アプリケーションやアップデートをより迅速に市場へ投入するという要求に応えるため、開発中のセキュリティ対策を完全に省略していると認める人も少なくありません。モバイルおよびIoT開発者を対象とした2017年Arxan | IBM調査では、回答者の26%がモバイルアプリのセキュリティ問題をまったくテストしておらず、半数近く(48%)がIoTアプリをテストしていないことが明らかになりました。セキュリティ対策が省略されることが多い理由として、69%が納期へのプレッシャーを挙げています。
この夏に開催したF5の顧客向けイベント「Agility」の参加者を対象としたアンケートでも、これが現実であることが裏付けられました。半数を超える62%が、自社ではスピードを優先してセキュリティを犠牲にしたことがあると回答しています。
さらに、発見された脆弱性に組織がどう対処するかという判断もあります。Black Duckの分析では、2018年にスキャンされたアプリケーションの10%が、依然として2014年に発見されたHeartbleed脆弱性の影響を受ける状態にあることが明らかになりました。Ponemonが実施したServiceNowの調査では、侵害被害を受けた組織の57%が、提供済みのパッチを適用していれば侵害を防げたと回答しており、憂慮すべき結果となっています。
選択には結果が伴う
開発初日から導入後に至るまで、アプリケーションスタック全体のセキュリティに関する選択は重要です。これは、昼食にハンバーガーかサラダかを選ぶような話ではありません。その影響はIT部門やビジネスだけでなく、アプリプロバイダーがセキュリティに真摯に取り組むことを信頼するお客さまにも及ぶ可能性があります。

データが漏えいしたことを知らせる「アプリユーザーの皆さまへ」という通知を、一度も受け取ったことがないと言える人はごくわずかでしょう。だからといって、セキュリティ対策を怠ってよいわけではありません。むしろ、個人情報やプライバシーに関わる情報を守るために、誰もがお客さまに対してより一層の努力を重ねる必要があります。
そのための最善の方法は、開発初日からの一つひとつの選択が、開発するアプリケーションのセキュリティを向上させる機会だと認識することです。意識的かつ賢明に選択しましょう。
著者について

Lori MacVittieは、F5のOffice of the CTOに所属するDistinguished Engineer兼Chief Evangelistであり、アプリケーションデリバリ、自動化戦略、インフラストラクチャに関する深い専門知識を有しています。AIエージェントのガードレール策定、脆弱なマルチクラウドアーキテクチャの分析、スケーラブルなシステムの限界の検証など、複雑な事柄を明快にすることで知られています。アプリケーション開発、ITアーキテクチャ、ネットワークおよびシステム運用の分野で、30年以上にわたる業界経験を有しています。F5入社前は、受賞歴のあるテクノロジー編集者として活躍していました。 MacVittieはコンピューターサイエンスの修士号を取得しており、セキュリティ、クラウド、エンタープライズアーキテクチャにわたる分野で多数の著作を発表しています。また、テーブルトークゲームとビデオゲームをこよなく愛し、チーズについては遠慮なく強いこだわりを語ります。
Lori Mac Vittieのその他のブログ記事関連するブログ記事

SOAS 2025:足並みの乱れが凡庸さを招く
AI導入における方針の不一致は、非効率を招きます。セキュリティ、自動化、導入の各戦略を整合させ、AIの可能性を最大限に引き出す方法をご紹介します。

WebAssemblyが重要な理由
WebAssembly(Wasm)は、あらゆるプラットフォームで高性能なアプリケーションを実現する、ポータブルで高速かつセキュアなバイナリ命令セットです。
インフラストラクチャは依然として格好の攻撃経路
クラウドコンピューティングでは、APIやドラッグ&ドロップ式の設定ツールを活用し、ネットワークやインフラストラクチャを敬遠する人がそれらを直接扱わずに済むようにすることで、インフラストラクチャへの対応を不要にすることが長年追求されてきました。しかし、インフラストラクチャを無視することも、攻撃の主要な標的であるという事実を見過ごすこともできません。
堅牢なデータアーキテクチャがもたらす戦略的メリット
適切に構築されたデータアーキテクチャがもたらす効果は、業務プロセスの改善にとどまりません。戦略的な業務効率の向上、より深いビジネスインサイトの獲得、隣接するビジネス機会への展開にもつながり、これらすべてをより俊敏に実行できるようになります。
デジタルワークフローにおける不正検知には、データだけでは不十分
2019年には、業界全体でクレジットカード詐欺の試みが約25万件確認されました。これは約2分に1件の割合です。今日、不正を検知するには、デジタルワークフロー上のできるだけ多くのポイントから収集したデータを相互に関連付け、手作業によるデータ処理をはるかに上回る速度で分析する能力が求められます。