정체성이 다른 정체성에 의해 언급되지 않고 존재할 수 있을까요? 우리는 어떻게 알 수 있을까요?
보안 기술 기사에서는 다소 철학적으로 들릴 수 있지만, 비인간 정체성 주제를 다룰 때 염두에 두어야 할 중요한 포인트입니다. 보안에 대한 더 나은 질문은 사실 “정체성이 존재해야 할까요?“입니다. 만약 정체성과 상호작용할 수 없다면 존재할 필요가 있을까요? 첫 번째 질문의 답에 도달하는 것은 어려울 수 있으며, 현실의 본질을 증명하는 것은 컴퓨터 과학의 범위를 벗어나기 때문입니다. 그러나 많은 사람들이 기계 정체성이 존재하는지, 왜 존재하는지, 그리고 그것이 존재해야 하는지에 대한 질문에 답하기 위해 NHI 거버넌스 도구를 구축하는 데 열심히 노력해 왔습니다.
비밀의 확산을 없애는 미래는 비밀에 의존하는 비인간 정체성의 생애주기와 상호 의존성을 파악하는 것을 의미합니다. 하지만 왜 지금일까요? 잠시 물러나서 NHI와 그 존재에 대한 우리의 가정을 재검토해 보겠습니다.
비인간 정체성이란 무엇일까요?
진행하기에 앞서, 이 대화의 맥락에서 NHI를 정의해 보겠습니다.
In the simplest terms, a non-human identity, also commonly referred to as a machine identity or a workload identity, is any entity that is not human and can perform an action within your system, most commonly interacting exclusively with other non-humans.
이는 데이터 소스와 상호작용하고 처리된 데이터를 보고 시스템에 전송해야 하는 Kubernetes 포드가 될 수 있습니다. 이는 중앙 서버에 데이터를 제공하는 사물인터넷 (IoT) 센서일 수 있습니다. 이는 Slack 기반의 챗봇일 수 있습니다. 만약 개체가 작업을 수행하기 위해 초기 생성 이후 직접적인 인간 입력이 필요하지 않다면, 우리는 그 정체성을 ‘비인간’으로 간주해야 합니다.
모든 이러한 예들이 공통적으로 가지고 있는 한 가지는 다른 시스템과 상호작용한다는 점입니다. 만약 우리가 이들이 전 세계와 통신하도록 하고 싶다면, 이는 간단합니다. 우리는 다른 비인간 정체성을 가리키고 이들이 어떻게 상호작용해야 하는지를 프로그래밍적으로 설명하면 됩니다. 그러나 우리는 이러한 시스템이 특정 상황에서 특정 정체성만을 인증하여 안전하게 통신하기를 원할 가능성이 높습니다. 이는 액세스 관리에 대한 비밀의 진화를 이끌어 왔으며, 단순한 사용자 이름/비밀번호 쌍에서 API 키, 인증서로 발전해왔습니다.
확실히, 이는 NHI에 대한 광범위한 정의입니다. 그러나 우리는 기계 정체성과 관련하여 우리가 중요하게 여기는 것을 좁힐 수 있습니다. 이는 이들 엔티티가 비밀을 통해 서로 어떻게 관련되는지를 고려함으로써 가능합니다. 이를 통해 접근과 통신이 이루어집니다.
모든 NHI는 다른 시스템에 연결됩니다
입력을 받지 않고, 출력을 생성하지 않으며, 주소 지정 가능한 인터페이스가 없는 독립 실행형 애플리케이션을 만들 수 있습니까? 이러한 애플리케이션이 사고 실험 외에 존재합니까? 생각해보는 것은 재미있지만, 우리가 관심 있는 모든 NHI는 다른 정체성과 통신하기 위해 존재합니다.
NHI는 본질적으로 그 목적을 달성하기 위해 다른 시스템 및 서비스와의 연결을 요구합니다. 이러한 상호 연결성은 모든 NHI가 상호 의존성의 웹에서 노드가 된다는 것을 의미합니다. NHI 거버넌스 관점에서 이는 관련된 위험을 관리하기 위해 이러한 연결의 정확하고 동적인 목록을 유지해야 함을 필요로 합니다. 예를 들어, 단일 NHI가 침해된다면, 그것이 연결된 것은 무엇이며, 공격자가 수평 이동을 위해 접근할 수 있는 것은 무엇인지에 대한 질문이 제기됩니다.
적절한 NHI 거버넌스는 이러한 관계를 매핑하고 모니터링하는 도구를 포함해야 합니다. 수동으로 이를 수행하는 방법은 여러 가지가 있지만, 우리가 실제로 원하는 것은 무엇이 서로 연결되어 있는지, 무엇이 무엇에 사용되는지, 그리고 누가 사용하는지를 자동으로 알 수 있는 방법입니다. 시스템 보안을 생각할 때, 우리는 모든 NHI가 보안 애플리케이션에서 그 지도를 구축하기 위해 반드시 비밀을 가지고 있다는 또 다른 중요한 사실을 활용할 수 있습니다.

모든 보안 NHI는 비밀을 가져야 합니다
두 개의 NHI 간에 신뢰할 수 있는 통신을 설정하기 위해서는, 해당 엔티티가 인증할 수 있도록 고유한 비밀(API 키, 토큰 또는 인증서 등)이 존재해야 합니다. 우리는 이 비밀을 사용하여 NHI의 신원을 입증하고 생태계에서 매핑할 수 있습니다. 질문은, 이러한 비밀을 어디서 찾아야 하는가입니다?
현대 기업, 특히 대기업에서는 비밀이 존재할 수 있는 장소가 본질적으로 두 곳뿐입니다. 첫 번째 옵션은 모범 사례이자 가장 안전한 옵션: CyberArk의 Conjur, HashiCorp의 Vault 또는 AWS Secrets Manager와 같은 비밀 관리 시스템입니다. 다른 옵션은 훨씬 덜 안전하지만 불행히도 너무 흔한 경우입니다: 금고 밖에서, 코드 내에서 또는 평문으로 구성되어 있습니다.
기업 비밀 관리 플랫폼, 종종 금고라고 불리는 이들은 NHI가 사용하는 비밀을 저장하고 보호하는 데 필수적입니다. 금고는 모든 비밀에 대한 단일 진실의 출처를 제공하여, 비밀이 저장 시 암호화되고, 접근이 엄격히 통제되며, 무단 접근 시도가 모니터링되도록 보장합니다. 이는 단일 기업 비밀 관리 플랫폼에 표준화되어 있다고 가정합니다. 대부분의 조직은 실제로 동시에 여러 개의 금고를 사용하고 있어 모든 금고 간의 동기화가 추가적인 도전 과제가 됩니다.
팀은 이러한 비밀의 존재를 기반으로 모든 기존 기계 신원을 매핑할 수 있습니다. 여러 비밀 관리 솔루션이 있는 기업의 경우, 어떤 금고에 비밀이 있는지 없는지를 알고, 여러 금고에 동일한 키를 중복 저장하는 오버헤드를 줄여야 합니다.
모든 NHI 비밀은 기원 이야기를 가지고 있다
기계는 스스로 권한과 접근을 부여할 수 없습니다. 모든 기계 신원은 인간 신원에 의해 생성되었거나 이를 나타냅니다. NHI의 거버넌스는 모든 비밀이 기원에 추적 가능하고, 안전하게 배포되며, 합법적인 신원에 연결되도록 비밀 생성 추적을 포함해야 합니다. 이 측면은 비밀 관리 플랫폼을 적절히 사용하여 관리할 수 있지만, 우리의 데이터는 매년 일정 비율의 비밀이 유출되고 있다는 것을 계속해서 알려줍니다 이는 우리가 이러한 금고 솔루션을 일관되게 사용하지 않기 때문입니다.
우리는 팀이 사건을 해결하는 데 도움을 주면서 수년간의 경험을 통해 비밀의 생성자는 거의 항상 자격 증명을 생태계에 처음 도입한 사람이라는 것을 알고 있습니다. 또한 코드 이력이나 기타 시스템 타임스탬프 정보를 통해 이 비밀이 처음으로 나타난 시점을 알 수 있으며, 이는 생성되었거나 최소한 의미 있는 방식으로 존재하게 된 가장 가능성이 높은 시점입니다.
이것은 다른 곳에 제대로 기록되거나 문서화되지 않았을 수 있는 중요한 세부사항입니다. NHI를 활용할 수 있도록 비밀을 생성한 사람이 누구인지 이해하면, 우리는 NHI 생애 주기의 시작을 진정으로 이해하게 됩니다.
모든 NHI 비밀은 특정 권한 세트를 부여해야 합니다
생성될 때마다 모든 NHI 비밀은 특정 권한 세트를 부여받아야 합니다. 범위는 신원이 수행할 수 있는 작업과 시스템을 결정합니다. 이는 권한 범위 설정 및 시행이 거버넌스의 중요한 요소임을 의미합니다.
본질적으로, 두 가지 위험이 비밀의 범위를 이해하는 것을 기업 보안에 있어 중요하게 만듭니다. 첫 번째는 잘못 구성되거나 과도한 권한을 가진 비밀이 민감한 데이터나 중요한 시스템에 대한 접근을 우연히 허용하여 공격 표면을 상당히 증가시킬 수 있다는 것입니다. 고객의 PII에 접근할 수 있는 시스템에 쓰기 권한을 우연히 부여하는 상황을 상상해 보십시오. 이는 위협 행위자가 이를 찾아서 악용하기를 기다리는 ticking clock입니다.
또한, 비밀이 유출되거나 손상될 경우, 팀은 해당 권한이 어떻게 구성되었는지를 이해한 후에야 교체할 수 있다는 점도 문제입니다. 예를 들어, 임무에 중요한 마이크로서비스의 비밀이 실수로 공개 GitHub 레포지토리에 푸시되었다고 가정해 보십시오. 그런 경우, 그것이 발견되어 조직 외부의 누군가에 의해 사용되는 것은 시간 문제일 뿐입니다. 최근 발표된 ‘실무자의 목소리’ 보고서에서 IT 의사결정자들은 이러한 중요한 비밀을 교체하는 데 평균 27일이 걸렸다고 인정했습니다. 팀은 며칠이 아닌 몇 초 또는 몇 분 안에 행동할 수 있어야 합니다.
탐지된 비밀에 대한 추가 컨텍스트, 역할 및 권한을 제공하는 도구가 필요합니다. 유출이 발생했을 때 어떤 자산이 노출되는지 신속하게 이해하고 위협 행위자가 초래할 수 있는 잠재적 피해를 파악하는 것은 사건 대응에 큰 도움이 됩니다. 대시보드 뷰나 API 호출을 통해 정확히 어떻게 교체할 수 있는지를 아는 것은 침해와 유효하지 않은 키를 찾고 있는 공격자의 좌절 사이의 차이를 의미할 수 있습니다.
모든 NHI 비밀은 교체해야 합니다.
기계의 정체성은 평생 동안 많은 비밀을 가질 수 있으며, 실제로 그렇게 하는 것이 바람직합니다. 자격 증명이 몇 달 또는 몇 년 동안 남아 있거나 최악의 경우 영원히 남아 있다면, NHI 비밀의 노출이나 손상이 점점 더 가능성이 높아집니다. 수동 회전은 오류가 발생하기 쉽고 운영적으로 부담이 되며, 특히 수천 개의 NHI가 있는 환경에서는 더욱 그렇습니다. 비밀 회전 프로세스를 자동화하는 것은 NHI 거버넌스의 핵심 요소로, 비밀이 만료되거나 유출되기 전에 새로 고쳐지도록 보장합니다.
귀하의 금고에 있는 비밀에 대해 회전은 스크립팅의 간단한 문제여야 합니다. 대부분의 비밀 관리 플랫폼은 스크립트 또는 기타 메커니즘을 제공하여 오래된 비밀을 안전하게 교체하고 철회하는 섬세한 과정을 처리합니다.
하지만 이러한 금고 외부에 있는 NHI 비밀이나 여러 금고에 분산된 동일한 비밀은 어떻게 될까요? 좋은 비밀 스캔 플랫폼은 귀하의 팀이 이러한 비밀을 보다 쉽게 찾고 안전하게 비밀 관리기에 저장할 수 있도록 이러한 금고와 매끄럽게 통합되어야 하며, 자동 회전을 위한 길을 준비해야 합니다. GitGuardian의 CyberArk의 Conjur에 대한 참조 구현은 전체 저장 및 회전 프로세스를 완전히 자동화하는 방법에 대해 더 자세히 설명합니다.
모든 NHI를 식별하고 언제 생성되었는지를 알면, 교체해야 하는 시기도 예측할 수 있습니다. 각 팀이 각 비밀이 얼마나 오래 살아야 하는지 정확히 판단하겠지만, 생성 이후 한 번도 교체되지 않은 비밀은 교체할 준비가 된 것입니다. 1년 이상 된 비밀이나 일부 미션 크리티컬 시스템의 경우 며칠 이상 된 비밀도 가능한 한 빨리 교체 우선순위를 두어야 합니다.
모든 NHI는 수명이 있습니다
NHI는 인간의 동료와 마찬가지로 유한한 생애 주기를 가집니다. 서비스가 종료되거나 교체되거나 더 이상 필요하지 않을 때 NHI는 사용 중지될 수 있습니다. 사용되지 않는 비밀이나 오래된 연결의 지속성을 방지하기 위해 NHI의 비활성화 및 정리 작업을 해결하지 않으면 보안 맹점을 만들게 됩니다. 그러나 NHI의 비밀이 유효할 때, NHI의 끝에 도달했는지 어떻게 알 수 있을까요?
하나의 대답은 NHI가 다른 활성 시스템과 더 이상 연결되지 않을 때 더 이상 존재하지 않아야 한다는 것입니다. 이는 공격자가 불필요한 NHI 비밀을 악용하여 귀하의 환경에 침투할 수 없도록 보장합니다. 공격자는 비밀이 적절히 사용되어야 하는지에 대해 신경 쓰지 않습니다; 그들이 그것으로 무엇을 할 수 있는지에 대해서만 신경 씁니다.
NHI의 비밀이 허용하는 모든 관계를 매핑함으로써, 시스템이 더 이상 다른 신원과 연결되지 않을 때를 식별할 수 있습니다. 신원이 통신할 수 있는 방법이 더 이상 없으면, 그것과 그 비밀은 더 이상 존재하지 않아야 합니다. 이는 또한 비밀이 귀하의 비밀 관리기에 저장될 필요가 없음을 의미하며, 저장하고 관리해야 할 사항이 하나 줄어듭니다.
귀하의 NHI 주변 세계를 이해하는 것은 보안에 매우 중요합니다.
2022년, 사이버아크의 연구에 따르면, 환경 내의 각 인간 정체성에 대해 최소 45개의 비인간 정체성을 관리해야 한다고 합니다. 오늘날 그 비율은 1대 100에 가까워지고 있으며 점점 증가하고 있습니다. NHI 거버넌스 및 생애 주기 관리를 이해할 수 있는 가장 좋은 시기는 몇 년 전이었습니다. 다음으로 좋은 시기는 바로 지금입니다.
비인간 정체성 보안에 대한 전주기 접근 방식을 취할 때입니다. NHI 비밀이 어디에 있는지 뿐만 아니라, 다른 NHI가 무엇과 연결되어 있는지 또한 중요하게 파악해야 합니다. 모든 산업에서 대규모로 NHI 거버넌스를 구현할 때가 지났습니다. 비밀을 찾고 적절히 저장하는 것은 이야기의 시작일 뿐입니다. 우리는 NHI 비밀의 범위, 연령, 누가 구현했는지, 그리고 언제 교체해야 하는지와 같은 기타 맥락 정보에 대해 더 잘 문서화하고 이해해야 합니다.
비록 기계 정체성이 인간보다 많지만, 이 문제를 혼자 해결할 이유는 없습니다; 우리는 모두 함께 이 문제를 해결해야 합니다.
Source:
https://dzone.com/articles/understanding-non-human-identities-governance