블로그 | CTO 사무실

제로 트러스트: Assume Breach의 세 가지 핵심 전략적 구성 요소

켄 아로라 썸네일
켄 아로라
2023년 4월 13일 게시

요즘 사이버보안 분야에서는 제로 트러스트가 인기 있는 주제이지만, 제로 트러스트 사고방식의 핵심 부분으로 침해를 가정한다는 개념을 언급할 때마다 여전히 이상한 시선을 받습니다. 나는 이런 반응의 이유가 두 가지 가능한 우려 중 하나에서 비롯된 것으로 추정한다. 첫째, 일부 보안 실무자는 이를 세상에 대한 몹시 비관적인 관점으로 해석할 수 있습니다.그들이 "침해를 가정한다"는 것을 내면화하는 것은 "그러니까, 우리 모두가 망할 거라고 말하는 거군요. 그럼, 그냥 손을 들어 올리고 시도조차 멈추자. 다른 사람들, 아마도 더 자존심이 강한 사람들은 "글쎄요, 당신의 자료는 침해당할 수도 있지만, 보안은 엄청 튼튼해서 나쁜 놈들이 제 방어선을 뚫고 들어올 리가 없습니다 ." 라는 태도를 가질 수도 있습니다.

제 의도는 이러한 극단 중 어느 것도 아니며 디지털 세계에서 운영되는 현실을 내면화하는 데 중점을 두고 있습니다. 즉, 침해는 발생할 수 있으므로 보안 시스템 설계에 이를 반영할 수 있고 반영해야 한다는 것입니다. 이는 새로운 개념이 아니며, 이를 수용한 여러 세대의 장인과 무역 종사자로부터 얻은 지혜에서 영감을 얻어야 합니다.

물리적 세계에서 일하는 배관공, 전기 기술자 및 기타 전문가는 오랫동안 "침해 가정"의 진정한 본질을 내면화했습니다. 그들은 구체적인 환경에서 견고한 솔루션을 만들어야 하는 업무를 맡고 있기 때문에 자신의 업무 범위 내에서 실패가 발생한다는 간단한 사실을 암묵적으로 받아들이고 수용합니다. 또한 그들은 실패가 자신의 기술에 대한 비난이 아니며, 서비스를 포기할 이유가 아니라는 것을 알고 있습니다. 오히려 가장 숙련된 사람만이 자신의 창작물이 결국 실패할 것이라는 사실을 알고, 과거의 실패로부터 교훈을 얻고, 앞으로 일어날 수 있는 실패를 예측할 수 있습니다. 

저는 최근에 이런 문제를 겪었습니다. 저희 집의 하수관이 배수로 중앙에서 막혔거든요. 이 집은 지은 지 30년이 넘었기 때문에, 붕괴나 침입이 일어날 가능성은 놀랄 일이 아닙니다. 결국, 장기간에 걸쳐 모든 시스템이 침해될 가능성은 100%에 가깝습니다.  

바로 그것이 요점이에요. 시간이 지남에 따라 장애가 발생할 것으로 예상하는 것은 배관 시스템과 마찬가지로 애플리케이션 보안 솔루션에도 마찬가지입니다. 또한 "내 배관 시스템은 절대 고장나지 않을 것"이라고 가정하는 것은 "내 사이버 방어 시스템은 절대 침해되지 않을 것"이라고 가정하는 것과 마찬가지로 가정 유지 관리 전략으로 적합하지 않습니다. 

따라서 배관공과 사이버 보안 실무자의 사고방식에는 결국 발생할 실패, 즉 침해를 처리하는 방법이 포함되어야 합니다.

Assume Breach의 세 가지 핵심 전략적 구성 요소

물리적 시스템이나 사이버 시스템 장애를 처리하는 효과적인 전략은 일반적으로 세 가지 요소로 구성됩니다.

  1. 시계. 가능한 한 빨리 장애를 감지할 수 있도록 충분한 가시성을 확보하세요. 욕실 배수구의 배관 누수를 확인하지 않고 방치하면 아래 바닥에 썩음과 곰팡이가 생기며, 이를 알아차리기까지 몇 달 또는 몇 년이 걸릴 수 있습니다. 또는 바닥 아래 물받이가 넘치고 건식벽체가 물에 젖어서 2층 욕실 아래 공간의 천장에서 물이 떨어지는 것을 볼 수도 있습니다. 두 시나리오 모두, 문제가 처음 감지되는 것은 초기 장애가 발생한 후, 추가적인 2차 피해가 발생한 이후입니다.

    실패/침해를 가정하는 첫 번째 원칙은 가능한 한 빨리 실패 직후에 잠재적인 손상에 대한 명확한 지표를 제공하는 것이며, 이상적으로는 가능성 있는 실패에 대한 적극적인 알림을 제공하는 것입니다. 예를 들어, 물을 제거하기 위해 섬프 펌프에 의존하는 지하실에는 일반적으로 수위가 사전 설정된 임계값을 초과하면 경보를 울리는 센서가 있습니다. 모든 발생 가능한 고장 모드에 대해 사전 경고가 불가능한 상황에서는 정기적인 유지 관리 점검을 수행합니다. 예를 들어, 반기별로 온수기를 검사합니다.

    사이버 보안에서 이는 애플리케이션 보안 아키텍처에 가장 중요한 장애 모드를 고려하여 신중하게 검토되고 검증된 원격 측정 전략이 포함되어야 함을 의미하며, 이는 잠재적 침해에 대한 적시 가시성을 제공합니다. 실제로, 원격 측정 정보는 AISecOps 방식을 사용하여 분석 및 알림 도구로 스트리밍되어야 하며, 동시에 나중에 사용하기 위해 데이터 저장소에 영구적으로 저장되어야 합니다. AI와 알림 도구를 사용하면 효능을 높이고 사람에게 상황을 전달하며 시기적절한 대응을 보장할 수 있습니다. 지속적으로 수집된 데이터는 향후 더욱 견고한 시스템을 구축하는 데 도움이 되는 학습 자료로 활용되어야 합니다.

     

  2. 견고성. 해결책에는 장애 발생 기간을 단축하거나 우회할 수 있는 수단이 포함되어야 합니다. 이 맥락에서 견고성에 대한 일반적인 패턴은 (a) 우아한 저하 또는 (b) 중복성이며, 선택은 저하된 구성 요소로 작동하는 것의 실행 가능성에 따라 달라집니다. 온수기와 같은 일부 시스템은 두 가지 모두를 가질 수 있습니다. 예를 들어, 제 온수기는 펌프식 재순환 시스템을 사용하여 항상 뜨거운 물을 사용할 수 있도록 준비합니다. 하지만 펌프가 고장나면 여전히 뜨거운 물은 나올 것이지만, 좀 더 기다려야 할 겁니다. 반면, 가열 코일 센서가 고장나면(가열 소자가 꺼지지 않는 경우) 치명적인 고장 으로 이어질 수 있으므로 압력 방출 밸브 형태의 중복성이 사용됩니다.

    견고성은 여러 시스템 범위에서 고려되어야 합니다. 예를 들어, 배수관의 경우 상업용 솔루션을 작업하는 배관공이 한 쌍의 중복 폐기물 라인을 설치하여 두 라인 중 하나가 고장나도 배수관을 사용할 수 없게 되지 않도록 할 수 있습니다. 반면, 시스템 수준의 추상화를 운영하는 건축가는 근처에 두 번째 세면대나 변기를 추가하는 등 시스템 수준에서 중복성을 설계할 수 있으며, 이를 통해 막힌 배수관 문제뿐만 아니라 더 많은 오류 모드를 해결할 수 있는 이점도 얻을 수 있습니다.

    물론, 사이버 보안에서는 중복성이 일반적인 관행인데, 많은 보안 장치가 활성/대기(완전 중복성) 또는 활성/활성(우아한 성능 저하) 모드로 배포되기 때문입니다. 그러나 사이버보안 세계는 물리적 세계와 약간 다릅니다. 첫째, 사이버 보안 분야에는 의도와 지능을 갖춘 적극적인 공격자가 있기 때문에 자연적인 원인으로 인해 실패가 발생하는 경우가 거의 없습니다. 두 번째로 더 중요한 차이점은 규모의 차이입니다. 소프트웨어는 물리적인 것이 아니라 가상이기 때문에 "한 번 작성하여 여러 번 배포" 패러다임을 따릅니다. 이는 확장성을 위해 매우 유용한 속성이지만, 동시에 핵심 소프트웨어 구성 요소의 코드 취약성이 시스템에서 해당 코드의 모든 인스턴스에 영향을 미칠 가능성이 있음을 의미합니다. 따라서 견고성을 위한 사이버보안 솔루션은 단일 실패 지점과 단일 요소 클래스를 피하는 것에 기반을 둡니다. 이 전략은 때때로 "심층 방어"라고도 합니다. 다중 요소 인증은 이 아이디어가 실제로 적용된 좋은 예입니다. 각 요인의 실패 모드(타협을 위한 수단)는 다르며, 두 요인 중 하나만이 타협하더라도 전체 시스템은 타협되지 않습니다.

     

  3. 방지. 고장의 영향, 즉 폭발 구역을 제한하는 것이 중요합니다. 실패나 침해가 발생할 수 있다는 사실을 받아들이는 것과 마찬가지로, 단일 실패 지점을 완전히 피하거나 각 기능적 요구 사항에 대한 중복성을 구축할 수 없다는 사실도 받아들여야 합니다. 따라서 건축가는 노력과 결과라는 두 가지 중요한 척도를 사용하여 실패의 영향을 최소화하는 방법도 고려해야 합니다. 예를 들어, 배관공은 수리 시간을 줄이기 위해 배수관에 전략적으로 위치한 청소구를 추가할 수 있습니다. 더 심각한 결함이 있는 경우, 계약자는 누수를 패치하기 쉽도록 아연 도금 배수관 대신 PVC를 선택하여 수리 작업을 줄일 수 있습니다. 일반적인 가정 배관 관행에는 감지된 고장의 결과를 제한하기 위해 차단 밸브를 설치하여 세면대와 바닥의 2차 피해를 방지하는 것이 있습니다.

    사이버보안 분야에서 유사한 개념으로는 격리성, 유지 관리성, 모듈성 등이 있습니다. 격리는 부수적 피해를 최소화하거나 출혈을 멈추는 것을 의미합니다. 마이크로세그먼테이션과 같은 기술을 사용하여 회로 차단기 역할을 할 수 있는 인프라를 보유하는 것이 좋은 방법입니다. 유지보수성이란 , 가능한 경우 손상된 시스템에서 손상되지 않은 시스템으로 빠르고 손쉽게 복구할 수 있는 경로를 마련하는 것을 의미합니다. 예를 들어, 메모리 오버플로 공격으로 손상된 작업 부하를 다시 시작하는 것은 효과적인(비록 불완전할지라도) 완화 방법이 될 수 있습니다. 모듈식은 비교 가능한 기능적 구성요소를 쉽게 교체할 수 있는 시스템을 구축하는 방식으로, 유지 보수가 불가능하거나 충분하지 않은 경우 복구에 필요한 노력을 최소화할 수 있습니다.

다음은 제가 침해 사고를 처리하는 데 있어 배운 몇 가지 모범 사례입니다. 물론 다른 모범 사례가 없다고 주장하는 것은 아닙니다. 더 중요한 것은 애플리케이션을 보호하는 업무를 맡은 개발자와 보안 전문가가 유출이 발생할 수 있으며 침해는 불가피하게 일어날 수 있다는 사실을 이해하는 것입니다. 그런 관점에서, 실패에 대비하고 대처하는 방법은 실패의 빈도를 최소화하기 위해 하는 일만큼이나 중요하며 신중하게 생각할 필요가 있습니다.  

결국 우리는 침해가 얼마나 자주 발생하느냐에 따라 평가받을 뿐만 아니라, 침해가 불가피하게 발생할 때 얼마나 잘 대응하느냐에 따라서도 평가받게 될 것입니다.