SOUP (Software of Unknown Provenance)

出自不明ソフトウェア — 自分の(医療)機器のために開発したのでない、または十分な開発記録が手に入らないソフトウェア部品。IEC 62304 の用語で、OS・OSS ライブラリ・サードパーティのネットワークスタック・クラウド API などが該当する。「使う部品の信頼を外注できない」ことを制度化した概念。

定義の2条件

どちらかに当てはまれば SOUP:

→ 自社で安全臨界プロセスに沿って作ったコード以外はほぼ SOUP になる。現代のソフトは大半が SOUP(自分で書くのは数%、残りは依存)という現実が、この概念の重さの源。

IEC 62304 が SOUP に課すこと

「使うな」ではなく「正当化して管理せよ」。

要求内容
同定SOUP の名称・製造元・バージョンを特定・記録
要求の明示その SOUP に期待する機能・性能要求(5.3.3)、必要な動作環境(5.3.4)
既知不具合の評価SOUP の公開アノマリリスト(既知バグ/CVE)を入手し、安全に影響するものが無いか評価(7.1.3)
リスク制御SOUP 起因のリスクを残存リスクとして管理。テスト要求を定める

特に既知不具合の継続評価が肝 — 採用時に問題なくても、後から見つかった CVE が安全に効くなら対処が要る。実質的に継続的な CVE トリアージであり、現代の SBOM(部品表)/サプライチェーンセキュリティの先取り。

なぜ重要か(エンジニアリングの含意)

他標準での対応物

SOUP は医療の呼び名で、同じ「既製・外部ソフトをどう扱うか」は各基準にある。

標準対応概念
IEC 62304(医療)SOUP
[do-178c|DO-178C]COTS / PDS(Previously Developed Software)、ツールは DO-330 で認定
[iso-26262]ソフトウェアコンポーネントの qualification / SEooC

関連

Graph