2018.08.07

서드파티 액세스와 관련한 위험을 방지하기 위한 두가지 전략

Joe Campbell | CSO
전문가들은 내부자 위협이 조직이 처리해야 할 가장 큰 도전이라는 것을 잘 알고 있다. 최근 역사상 가장 악명높은 위반 사례 중에는 신뢰할 수 있는 내부자의 어두운 면에서 비롯된 것이 많다.

또 다른 확실한 위협은 명성, 돈, 여러가지 이유로 조직의 환경을 조사해 약점을 찾고 악용하려는 알려지지 않은 공격자들이다.

이 두 가지 위협은 나쁜 사람을 착한 사람으로 쉽게 오인하게 만든다. 실제, 필자는 종종 착한 사람을 좋게 유지하고 나쁜 사람만 퇴출하는 IAM(Identity and Access Management)을 언급하는 사람들을 보게 된다. 이는 자사의 네트워크 내에 있는 사람과 악의적인 행위자로 구분한다.

보안 전문가가 알아야 할 것은 중간 지점에 있는 이들이 있는데, 바로 서드파티다. 서드파티는 신뢰할 수 있는 내부자도 아니며, 외부의 위협도 아니므로 필자의 경험상 가장 큰 과제가 될 수 있다.

또한 이는 새로운 개념이 아니다. 아주 옛날에는 사람들은 단순히 마을이라고 부르는 신뢰할 수 있는 사람들의 집합체인 소규모 네트워크를 만들었다. 이 마을 사람들은 적군이 누군지 알고 있고, 외부 공격으로부터 자신을 보호할 준비가 되어 있었다.

그러나 지금은 멀리서 여행 온 이들이나 상인들이 드나들면서 즐기고 교역한다. 이는 필요악(necessary evil)이며, 외부인은 항상 주의깊게 관찰하지만, 때로는 마을의 신뢰를 악용한다.

그렇다면 자사는 어떻게 해야할까. 이런 사람들의 위협은 무엇이며, 자사가 위협에 드러나는 것을 어떻게 막을 수 있을까. 상당히 일반적인 시나리오를 살펴 본 다음, 외부인이 마을의 신뢰를 악용하는 것을 방지하기 위해 취해야 하는 두 가지 중요한 조치에 대해 집중하자.

기업에 대한 외부 협력업체 액세스는 다양한 형태와 형식으로 제공된다. 필자가 일하던 기업에서는 극장 박스오피스 데이터를 수집하는 시스템이 있었다. 직원이 아닌 사람들이 매주 로그인해 관객 수를 극장에서 업로드하도록 설정했다.

당시 외부인 액세스를 관리하는데 현대적인 방식을 사용하지 않았으며, 그 결과는 매우 엉망이었다. 좀 더 일반적인 시나리오는 외부 해운 기업이다. 현재 인벤토리 레벨에서 로그인하고 살펴 볼 필요가 있는, 또는 다음 작업을 위해 작업 주문을 로그인하거나 다운로드할 필요가 있는 외부 HVAC 공급업체다.

이 모든 예시에서 공급업체는 자사의 업무를 행함에 있어 서로 연결해 실시간 정보를 얻을 필요가 있다. 그러나 준비가 됐고 실제 연결할 때, 그 사람이 실제 누구인지 확실할 수 있는가. 이 질문은 우리의 첫번째 중요한 보안 전략으로 이어진다.

협력업체 액세스를 묶어라
이런 과제에 직면한 회사 수는 너무 많다. 이들 대부분 내부 LDAP 디렉터리, 데이터베이스 또는 액티브디렉터리에서 외부 공급업체의 액세스를 관리한다.

이 접근 방식에는 의미가 있다. 계정을 만들고, 로그인할 때 추적하고, 비밀번호 등을 관리할 수 있다. 왜 이렇게 하지 않을까. 이 방식이 실패하는 가장 쉬운 예는 로그인하는 사람을 진정으로 보증할 수 없다는 단순한 사실이다.

물론 "밥"이 애크미(Acme)에서 근무했고, 환경에 대한 액세스는 합법적이었다. 그러나 애크미는 밥이 회사의 자산을 훔친 것을 발견해 해고하면서 즉시 전화를 했었을까.

사실 밥은 해고된 이후에도 애크미의 출하 및 운송 시스템에 큰 타격을 입히기 위해 환경에 액세스할 수 있다. 솔직히 말하면 외부 협력업체의 합법성을 보증할 책임을 지지 않는다. 오히려 공급업체가 환경에 도달하기 전에 해당 사용자를 인증해야 한다.
이는 SAML 또는 WS-Federation과 같은 간단한 표준 연합과 때로는 오쓰(OAuth)를 사용해 수행할 수 있다.

홈-렐름 페더레이션(Home-realm federation)이란 인증을 시도하는 사람이 실제 자신의 회사 네트워크(Home-realm)로 리디렉션되어 공급업체 자체의 내부 디렉터리에 로그인하는 프로세스를 설명하기 위해 사용하는 용어다.

해당 사람이 오늘 해고됐다면, 그들 자사의 네트워크에서는 로그인할 수 없을 것이다. 그리고 액세스 시도가 멈춰야 하는 곳이다. 그러나 공급업체가 사용자의 로그인을 허용하면 보안토큰을 사용해 보안 계층에 회신한다. 이 토큰은 사용자가 여전히 신뢰할 수 있는 협력업체임을 증명할 뿐만 아니라 사용자가 이행중인 프로젝트나 역할에도 같은 속성이 주어진다.

이 방법이 효과가 없을 수도 있지만, 많은 공급업체는 단순히 직원 액세스 권한을 사용자 환경에 통합할 수 있는 능력이 없다. 하지만 이를 보안 상태의 핵심 목표로 추구해야 한다.

VPN 액세스를 제거하라
이제 상인이 벽에 다가설 경우, 시민이 성으로 다시 돌아올 때는 생각해보자. 이 사람이 정말 누군지 모른다. 하지만 상인은 언덕 위에 있는 다음 왕국의 신분 증명서를 소지하고 있다. 우리 성은 다소 요새화되어 있고, 높고 두꺼운 벽과 방어적인 성벽은 고도의 공격자를 제외한 모든 것으로부터 안전하다.

무역상은 희귀한 커피를 제공하고자 오렌지 바구니에 담아왔다고 말한다. 그래서 도개교를 내리고 이 상인에게 성의 운영권한을 제공하는가, 아니면 단순히 그의 바구니를 통과할 수 있는 무역 포털을 열어주는가.

이 무역상을 성 안으로 들여보내지 않고 성 내에 커피를 전달할 수 있을까. 가능한 한 위험을 최소화하면서 비즈니스를 안전하게 수행할 수 있는 포털을 만드는 것이 가장 좋은 방법이다. 정확이 어떻게 해야 할까, 바로 리버스 프록시(Reverse proxy)다.

시간이 지나면서 더 유명한 침해 사고를 추적한다면, 이들 가운데 많은 공격자가 정확한 공격 방법인 VPN을 사용한다는 것을 알 수 있을 것이다. 사실 협력업체가 공격 주체가 아니라 협력업체를 공격한 다른 공격자가 VPN을 통해 네트워크에 자유롭게 액세스할 수 있었다.

대부분의 공급업체 액세스가 웹 페이지 또는 REST API 엔드포인트에만 부여되어야 한다고 가정하면 이는 리버스 프록시가 빛을 발하는 순간이다.

프록시는 사내 네트워크를 통해 사용자를 인증하고 위험 및 액세스 규칙을 계산해야 한다. 그런 다음, 방화벽 뒤에서 데이터를 가져와 해당 정보를 파트너에게 "프록시"한다. 이 협력업체는 언제, 어디서나 자사의 네트워크에 있을 수 있지만 취약한 포트, 데이터베이스 또는 관리 자격증명을 검색할 수 없다.

올바르게 보안할 수 있다
필자는 이전에 서드파티 액세스를 허용하는 것을 "필요 악"이라고 부른다. 협력업체에게 액세스 권한을 부여할 수 밖에 없다. 그렇다고 단순하게 무작정 부여할 수는 없다. 현대적인 보안 프로세스로 접근해야 하며, 앞서 언급한 두 가지 방법은 열쇠를 주지 않고 필요한 액세스 권한을 부여해야 하는데 큰 도움이 된다. editor@itworld.co.kr  


2018.08.07

서드파티 액세스와 관련한 위험을 방지하기 위한 두가지 전략

Joe Campbell | CSO
전문가들은 내부자 위협이 조직이 처리해야 할 가장 큰 도전이라는 것을 잘 알고 있다. 최근 역사상 가장 악명높은 위반 사례 중에는 신뢰할 수 있는 내부자의 어두운 면에서 비롯된 것이 많다.

또 다른 확실한 위협은 명성, 돈, 여러가지 이유로 조직의 환경을 조사해 약점을 찾고 악용하려는 알려지지 않은 공격자들이다.

이 두 가지 위협은 나쁜 사람을 착한 사람으로 쉽게 오인하게 만든다. 실제, 필자는 종종 착한 사람을 좋게 유지하고 나쁜 사람만 퇴출하는 IAM(Identity and Access Management)을 언급하는 사람들을 보게 된다. 이는 자사의 네트워크 내에 있는 사람과 악의적인 행위자로 구분한다.

보안 전문가가 알아야 할 것은 중간 지점에 있는 이들이 있는데, 바로 서드파티다. 서드파티는 신뢰할 수 있는 내부자도 아니며, 외부의 위협도 아니므로 필자의 경험상 가장 큰 과제가 될 수 있다.

또한 이는 새로운 개념이 아니다. 아주 옛날에는 사람들은 단순히 마을이라고 부르는 신뢰할 수 있는 사람들의 집합체인 소규모 네트워크를 만들었다. 이 마을 사람들은 적군이 누군지 알고 있고, 외부 공격으로부터 자신을 보호할 준비가 되어 있었다.

그러나 지금은 멀리서 여행 온 이들이나 상인들이 드나들면서 즐기고 교역한다. 이는 필요악(necessary evil)이며, 외부인은 항상 주의깊게 관찰하지만, 때로는 마을의 신뢰를 악용한다.

그렇다면 자사는 어떻게 해야할까. 이런 사람들의 위협은 무엇이며, 자사가 위협에 드러나는 것을 어떻게 막을 수 있을까. 상당히 일반적인 시나리오를 살펴 본 다음, 외부인이 마을의 신뢰를 악용하는 것을 방지하기 위해 취해야 하는 두 가지 중요한 조치에 대해 집중하자.

기업에 대한 외부 협력업체 액세스는 다양한 형태와 형식으로 제공된다. 필자가 일하던 기업에서는 극장 박스오피스 데이터를 수집하는 시스템이 있었다. 직원이 아닌 사람들이 매주 로그인해 관객 수를 극장에서 업로드하도록 설정했다.

당시 외부인 액세스를 관리하는데 현대적인 방식을 사용하지 않았으며, 그 결과는 매우 엉망이었다. 좀 더 일반적인 시나리오는 외부 해운 기업이다. 현재 인벤토리 레벨에서 로그인하고 살펴 볼 필요가 있는, 또는 다음 작업을 위해 작업 주문을 로그인하거나 다운로드할 필요가 있는 외부 HVAC 공급업체다.

이 모든 예시에서 공급업체는 자사의 업무를 행함에 있어 서로 연결해 실시간 정보를 얻을 필요가 있다. 그러나 준비가 됐고 실제 연결할 때, 그 사람이 실제 누구인지 확실할 수 있는가. 이 질문은 우리의 첫번째 중요한 보안 전략으로 이어진다.

협력업체 액세스를 묶어라
이런 과제에 직면한 회사 수는 너무 많다. 이들 대부분 내부 LDAP 디렉터리, 데이터베이스 또는 액티브디렉터리에서 외부 공급업체의 액세스를 관리한다.

이 접근 방식에는 의미가 있다. 계정을 만들고, 로그인할 때 추적하고, 비밀번호 등을 관리할 수 있다. 왜 이렇게 하지 않을까. 이 방식이 실패하는 가장 쉬운 예는 로그인하는 사람을 진정으로 보증할 수 없다는 단순한 사실이다.

물론 "밥"이 애크미(Acme)에서 근무했고, 환경에 대한 액세스는 합법적이었다. 그러나 애크미는 밥이 회사의 자산을 훔친 것을 발견해 해고하면서 즉시 전화를 했었을까.

사실 밥은 해고된 이후에도 애크미의 출하 및 운송 시스템에 큰 타격을 입히기 위해 환경에 액세스할 수 있다. 솔직히 말하면 외부 협력업체의 합법성을 보증할 책임을 지지 않는다. 오히려 공급업체가 환경에 도달하기 전에 해당 사용자를 인증해야 한다.
이는 SAML 또는 WS-Federation과 같은 간단한 표준 연합과 때로는 오쓰(OAuth)를 사용해 수행할 수 있다.

홈-렐름 페더레이션(Home-realm federation)이란 인증을 시도하는 사람이 실제 자신의 회사 네트워크(Home-realm)로 리디렉션되어 공급업체 자체의 내부 디렉터리에 로그인하는 프로세스를 설명하기 위해 사용하는 용어다.

해당 사람이 오늘 해고됐다면, 그들 자사의 네트워크에서는 로그인할 수 없을 것이다. 그리고 액세스 시도가 멈춰야 하는 곳이다. 그러나 공급업체가 사용자의 로그인을 허용하면 보안토큰을 사용해 보안 계층에 회신한다. 이 토큰은 사용자가 여전히 신뢰할 수 있는 협력업체임을 증명할 뿐만 아니라 사용자가 이행중인 프로젝트나 역할에도 같은 속성이 주어진다.

이 방법이 효과가 없을 수도 있지만, 많은 공급업체는 단순히 직원 액세스 권한을 사용자 환경에 통합할 수 있는 능력이 없다. 하지만 이를 보안 상태의 핵심 목표로 추구해야 한다.

VPN 액세스를 제거하라
이제 상인이 벽에 다가설 경우, 시민이 성으로 다시 돌아올 때는 생각해보자. 이 사람이 정말 누군지 모른다. 하지만 상인은 언덕 위에 있는 다음 왕국의 신분 증명서를 소지하고 있다. 우리 성은 다소 요새화되어 있고, 높고 두꺼운 벽과 방어적인 성벽은 고도의 공격자를 제외한 모든 것으로부터 안전하다.

무역상은 희귀한 커피를 제공하고자 오렌지 바구니에 담아왔다고 말한다. 그래서 도개교를 내리고 이 상인에게 성의 운영권한을 제공하는가, 아니면 단순히 그의 바구니를 통과할 수 있는 무역 포털을 열어주는가.

이 무역상을 성 안으로 들여보내지 않고 성 내에 커피를 전달할 수 있을까. 가능한 한 위험을 최소화하면서 비즈니스를 안전하게 수행할 수 있는 포털을 만드는 것이 가장 좋은 방법이다. 정확이 어떻게 해야 할까, 바로 리버스 프록시(Reverse proxy)다.

시간이 지나면서 더 유명한 침해 사고를 추적한다면, 이들 가운데 많은 공격자가 정확한 공격 방법인 VPN을 사용한다는 것을 알 수 있을 것이다. 사실 협력업체가 공격 주체가 아니라 협력업체를 공격한 다른 공격자가 VPN을 통해 네트워크에 자유롭게 액세스할 수 있었다.

대부분의 공급업체 액세스가 웹 페이지 또는 REST API 엔드포인트에만 부여되어야 한다고 가정하면 이는 리버스 프록시가 빛을 발하는 순간이다.

프록시는 사내 네트워크를 통해 사용자를 인증하고 위험 및 액세스 규칙을 계산해야 한다. 그런 다음, 방화벽 뒤에서 데이터를 가져와 해당 정보를 파트너에게 "프록시"한다. 이 협력업체는 언제, 어디서나 자사의 네트워크에 있을 수 있지만 취약한 포트, 데이터베이스 또는 관리 자격증명을 검색할 수 없다.

올바르게 보안할 수 있다
필자는 이전에 서드파티 액세스를 허용하는 것을 "필요 악"이라고 부른다. 협력업체에게 액세스 권한을 부여할 수 밖에 없다. 그렇다고 단순하게 무작정 부여할 수는 없다. 현대적인 보안 프로세스로 접근해야 하며, 앞서 언급한 두 가지 방법은 열쇠를 주지 않고 필요한 액세스 권한을 부여해야 하는데 큰 도움이 된다. editor@itworld.co.kr  


X