LCNC-SEC-07: 脆弱で信頼できないコンポーネント

リスク評価 *

普及度
検出難易度
悪用難易度
技術的影響

2

2

2

2

要旨

ローコード/ノーコード開発はマーケットプレイスやウェブにある既製のコンポーネントや、開発者が作成したカスタムコネクタに大きく依存しています。 これらのコンポーネントは管理されていないことが多く、可視性に欠け、組織をサプライチェーンベースのリスクにさらしています。

ビジネスユーザーへの説明

ソリューションの構築を加速するために、多くの LCNC プラットフォームは「アプリストア」に相当するものがあり、開発者はサードパーティが作成したソリューションの既成部品を使用できます。これらの既成コンポーネントは悪意もって作成されたものだけでなく、以下のようなリスクを伴う可能性があります。

説明

多くの場合、アプリケーション全体は事前に構築されたコンポーネント、データコネクタ、ウィジェット、サブサービスを活用してベンダーによって構築されています。 サードパーティのコンポーネントやアプリケーションは多くの顧客を危険にさらすことを望む攻撃者のターゲットになることがよくあります。

さらに、ローコード/ノーコード開発は多くの場合カスタムコードによる拡張性を実現しています。 これらのコード片はアプリケーションに組み込まれており、場合によっては専門的に開発された他のアプリケーションと同じレベルのセキュリティ警戒態勢が取られていないことがあります。

攻撃シナリオの例

シナリオ #1

組織全体を通して開発者はマーケットプレイスにある脆弱なコンポーネントを使用しています。 そのコンポーネントを使用するすべてのアプリは悪用される可能性があります。管理者は脆弱なコンポーネントの影響を受けるアプリを特定することが困難となります。

シナリオ #2

ある開発者は別の開発者が内部ビジネス API に接続できるカスタムコネクタを作成しました。 このカスタムコネクタは URL 上で認証トークンを渡すため、アプリのユーザーに認証シークレットを公開してしまいます。

攻撃と悪用のシナリオの例 - ビジネスユーザー

シナリオ #1

あるユーザーは給与情報を更新するために人事システムに接続するアプリケーションを構築しています。そのユーザーはタスクを大幅に簡素化するサードパーティ製の「コネクタ」を見つけて人事システムに追加します。そのコネクタは転送を適切に保護せずに作成されており (LCNC-SEC-04 認証とセキュア通信の不備) 、悪意のあるユーザーが転送中のデータを閲覧できます。悪意のあるユーザーはこれを利用して全従業員の給与を取得し公開できます。

シナリオ #2

あるユーザーはカンファレンスで売り上げを処理できるタブレットベースのアプリケーションを構築しています。クレジットカードデータを処理するコンポーネントを見つけ、ソリューションに追加することにしました。このコンポーネントは悪意を持って設計されており、クレジットカードデータを作成者に送信します。その結果、製品を購入したカンファレンスユーザー全員のクレジットカードデータが盗まれました。

シナリオ #3

ログイン用のサードパーティコンポーネントを使用して新しいアプリケーションが作成されました。サードパーティコンポーネントはデフォルトで admin/admin という認証情報があり、文書化されて公開されています。開発者はこのデフォルト設定に気付かず、変更していません。悪意のあるユーザーはこのデフォルト設定を使用してアプリケーションにアクセスでき、アプリケーションへの不認可アクセスにつながります。

防止方法

  • 使用されていない依存関係、不要な機能、コンポーネント、ファイルを削除する。

  • アプリケーションとそのアプリケーションで使用されるコンポーネントのバージョンを継続的にインベントリに登録し、そのインベントリで廃止されたコンポーネントや脆弱なコンポーネントをスキャンする。

  • 事前承認済みのコンポーネントに使用を制限する。

  • メンテナンスされていないコンポーネントや古いバージョン用のセキュリティパッチを作成していないコンポーネントを監視する。

参考資料

Last updated