디지털 공급망은 하나의 사슬이 아닙니다. 그것은 세상의 모든 기술 스택을 동시에 관통하며 겹쳐 있고 서로 의존하는 사슬의 집합입니다. 각 계층은 기술적 성격에서 서로 구별되고 의존 관계에서 긴밀하게 결합되어 있으며, 어느 한 계층에서 일어난 변화는 그 위에 구축된 모든 것을 거쳐 앞으로 이동합니다.
발견 사항이 어느 계층에 놓여 있는지가 그것에 대해 무엇을 할 수 있는지를 결정합니다. 계층들이 어떻게 상호작용하는지가 애초에 그 발견 사항을 만들어낸 것입니다.
스택

각 계층을 누가 소유하는가

디지털 공급망의 여덟 개 계층으로 이루어진 매트릭스입니다. 각 계층에 대해 누가 책임을 지는지, 어떤 증거가 존재하는지, 그리고 그것이 정기적으로 검토되는지를 보여줍니다. 검토 열은 드물게, 거의 없음, 부분적으로, 연동 시점에, 연동 시점에, 드물게, 아니요, 아니요로 읽힙니다.
구조

요청과 사람이 보는 것 사이에 여덟 개의 계층이 있습니다

땅속의 케이블에서 화면 위의 그림까지입니다. 각 계층은 그 아래의 계층에 의존하며, 각 계층은 서로 다른 당사자 집합의 책임이고, 서로 다른 주기로, 좀처럼 서로 이야기하지 않는 사람들에 의해 검토됩니다.

01

네트워크와 인프라
케이블, 광섬유, 주파수, 위성, 라우팅 장비, 그리고 나머지 모든 것을 담고 있는 데이터 센터입니다. 물리적인 것 위에는 논리적인 것이 놓입니다. 주소를 목적지로 바꾸는 이름 체계, 경로를 결정하는 라우팅 프로토콜, 그리고 모든 안전한 연결이 얹혀 있는 인증 기관입니다. 탈취된 경로나 부정하게 발급된 인증서는 그 위의 애플리케이션이 탐지할 방법이 없는 당사자를 경로 안에 놓습니다. 자물쇠 아이콘은 여전히 나타납니다.

02

소프트웨어와 펌웨어
하드웨어가 어떻게 동작하는지를 제어하는 내장 소프트웨어이며, 네트워크 장비, 서버, 최종 사용자 기기, 산업용 하드웨어에서 운영체제 아래에 놓입니다. 그것은 제조업체가 작성하고, 애플리케이션 코드에 적용되는 검토를 좀처럼 받지 않으며, 대부분의 조직이 지켜보지 않는 경로를 통해 갱신됩니다. 또한 그 위의 계층에 행해지는 거의 모든 일을 견디고 살아남습니다.

03

하드웨어와 기기
사람이 실제로 바라보고 있는 기계, 사슬에 있는 모든 제공업체 배후의 서버, 그 사이의 어플라이언스, 그리고 이제 브라우저 기반 운용자 인터페이스를 제시하는 산업, 건물, 의료, 공공설비 시스템의 늘어나는 집합입니다. 그러한 인터페이스는 다른 어떤 웹 애플리케이션과도 같은 공급망에서 조립되며, 그것이 표시하는 것을 근거로 내려지는 판단에는 물리적인 결과가 따릅니다.

04

서비스와 개발 키트
조직이 직접 구축하지 않고 연동하는 상용 API와 개발 키트입니다. SDK는 수동적인 데이터 연결이 아닙니다. 그것을 담고 있는 애플리케이션의 권한으로 실행되는 실행 가능한 코드입니다. 조직은 연동 시점에 버전 1을 검토했습니다. 제공업체는 어느 버전이든 한 번 연동한 모든 곳에 실질적으로 훨씬 넓은 기능을 갖춘 버전 14를 배포하고 있습니다.

05

코드와 소프트웨어 라이브러리
퍼스트파티 코드와, 외부에서 들여온 훨씬 더 큰 규모의 서드파티 코드입니다. 그 일부는 애플리케이션에 컴파일되어 선택한 버전으로 고정됩니다. 상당 부분은 그렇지 않습니다. 그것은 다른 당사자가 보유하며 애플리케이션이 실행될 때 그들의 시스템에서 불러와지므로, 부품표는 무엇이 조립되었는지에 대한 기록인 만큼 그것을 기술하지 못합니다.

06

데이터, 모델, 정보
애플리케이션은 코드만 불러오지 않습니다. 설정, 기능 플래그, 콘텐츠 피드, 현지화 문자열, API 응답, 그리고 점점 더 서드파티가 호스팅하는 모델의 산출물을 불러옵니다. 그 하나하나가 애플리케이션이 처리하고 대부분의 경우 화면에 올리는 공급망 투입물입니다. 또한 스택에서 가장 문서화되지 않은 계층입니다. 애플리케이션이 어느 엔드포인트를 참조하는지에 대한 기록은 좀처럼 없고, 누가 그것을 보유하는지에 대한 기록은 더욱 없으며, 모델 제공업체는 공시 관행이 그에 맞추어 조정되는 속도보다 빠르게 재수탁자의 한 부류로 등장했습니다.

07

리소스와 파일
이미지, 폰트, 스타일시트, 동영상, 오디오, 문서입니다. 실행 가능하지도 않지만 수동적이지도 않습니다. 스타일시트는 무엇이 보이고 무엇이 가려지는지를 결정하고, 폰트는 어느 문자가 그려지는지를 결정하며, 이미지는 정보를 사람의 판단에 곧바로 실어 보내고, 애플리케이션을 통해 제공되는 문서는 페이지의 어느 것도 다르게 시사하지 않기 때문에 원본으로 읽힙니다.

08

인터페이스
아래의 모든 계층이 여기에서 모여, 사람이 읽고 그것을 근거로 행동하는 하나의 그림이 됩니다. 조립된 사슬이 전체로서 보이는 유일한 곳이며, 널리 쓰이는 어떤 프레임워크도 보지 않는 곳입니다. 각 프레임워크는 개별 구성 요소가 규정된 대로 기능하는지 확인하기 위해 만들어졌고, 조립물은 구성 요소가 아닙니다.
체계로서

노출은 계층 사이의 상호작용에서 옵니다

코드는 데이터에 의존합니다. 데이터는 네트워크를 타고 이동합니다. 네트워크는 하드웨어를 거쳐 경로를 정합니다. 하드웨어는 펌웨어를 실행합니다. 서비스는 코드가 근거로 삼는 데이터를 소비하고 생산합니다. 리소스는 그 자체가 펌웨어를 실행하는 하드웨어의 네트워크인 제공업체가 배포합니다. 어느 계층에서 일어난 변화든 그것에 의존하는 위의 모든 계층으로 전파됩니다.
그러므로 공격 표면은 각 계층을 따로 떼어 본 약점의 합이 아닙니다. 그것은 한 계층에서 일어난 변화가 다른 여러 계층을 거쳐 인터페이스에 도달하는 경로의 집합입니다. 그것이 바로 구성 요소 수준의 도구가 놓치도록 만들어진 것입니다. 변화는 분산되어 있고, 증거는 서로 다른 당사자가 소유한 여러 계층에 걸쳐 조각나 있으며, 조립된 결과는 그것들이 모이는 곳에서만 보입니다.
하나의 소스 도메인이 단일 세션에서 관측된 100개가 넘는 서드파티 도메인과 호스트로 바깥쪽으로 연결된 모습을 보여주는 공급망 그래프입니다.
아키텍처 도면이 아니라 관측된 한 세션에 나타난 대로의 여러 계층입니다. 매핑 방법론 읽기.
증거

기록을 남기는 계층도 있습니다. 거의 남기지 않는 계층도 몇 개 있습니다.

어느 하나의 출처도 스택 전체를 다루지 않습니다. 네 가지 증거 묶음이 합쳐지면 거기에 가까워지며, 각각은 서로 다른 사람이 서로 다른 이유로 모은 것입니다. 가치의 대부분은 그것들이 서로 어긋나는 곳에 놓여 있습니다.
관측된 동작
애플리케이션이 실제로 한 일입니다. 그것이 보낸 요청, 실행한 코드, 전송한 페이로드, 기록한 저장 내용입니다. 코드, 데이터, 리소스, 서비스 계층에 대한 일차 증거이며, 부품이 아니라 조립물을 반영하는 유일한 출처입니다.
기술 레지스트리
도메인 등록, 주소 할당, 경로 공표, 인증서 투명성, 호스팅 기록입니다. 이것들은 관측된 호스트를 이름이 있는 운영자로 바꾸며, 네트워크 계층이 사람이 헤아릴 수 있는 것이 되는 경로입니다.
선언과 계약
재수탁자 목록, 데이터 처리 계약, 감사 보고서, 부품표, 조달 기록입니다. 실제 사실이 아니라 검증 대상인 주장입니다. 공시가 의무화된 곳에서는 누락 자체가 신고 대상이 됩니다.
기업 기록
등기, 공시, 자금조달 기록, 제재와 집행 데이터입니다. 이것들은 운영자를 회사, 그 소유자, 그리고 그 회사가 고객사의 데이터로 하는 일을 자신의 법으로 규율하는 관할권까지 이어 줍니다. 거기에서부터는 소유권 사슬 매핑이 이어받습니다.

한 세션이 여덟 개의 계층을 한꺼번에 가로지릅니다

어떤 조직도 수백 개의 당사자에게 속한 여덟 개의 계층을 감사할 수 없으며, 그럴 필요도 없습니다. 캡처한 한 세션이 조립된 애플리케이션이 실제로 접촉한 모든 당사자를 여덟 개의 계층 전부에 걸쳐 동시에 기록하며, 그 가운데 누구에게도 목록을 요청하지 않습니다. 그 당사자를 그 배후의 기업으로 해석하고 그 결과를 선언된 내용과 맞대어 놓는 것이 이 방법론입니다.