컴플라이언스는 보안이 서류로 번역될 때 일어나는 일이다.

모욕이 아니다. 서류에는 할 일이 있다. 조직은 크고 건망증 있는 동물이다. 통제를 문서화하고, 소유자를 지정하고, 증거를 검토하고, 사람들에게 프로세스를 따랐다고 증명하게 하지 않으면 상당수가 거의 아무것도 안 한다. SOC 2, ISO 27001, PCI DSS 같은 프레임워크가 기준선을 존재하게 끌어올린다.

바닥은 중요하다.

미치게 하는 건 사람들이 바닥을 건물로 착각할 때다.

감사 통과. 침해는 그래도 발생.

회사가 깨끗한 SOC 2 Type II 보고서를 받는다. 3개월 후 공격자가 패치 안 된 VPN 어플라이언스로 들어온다. 80쪽짜리 감사 보고서는 서랍에 있다 — 모든 통제가 기술적으로 “갖춰져” 있었는데 실제 취약점은 범위에 없었다.

끊임없이 일어나는 일이다. 근데 매번 다들 놀란다.

인시던트 대응을 해본 사람이면 패턴을 안다. 완전히 감사받고, 완전히 인증받고, 선반 위의 바인더를 자랑하다가, 완전히 평범한 방법으로 뚫린다. 피싱. 세션 토큰 탈취. 노출된 관리자 패널. 과잉 권한의 클라우드 역할. 사건이 터질 때까지 아무도 “시스템”에 포함된다고 생각하지 않았던 서드파티 의존성.

침해가 컴플라이언스를 반증하는 게 아니다. 컴플라이언스가 다른 질문에 답하고 있었다는 걸 증명한다.

컴플라이언스가 실제로 측정하는 것

컴플라이언스는 통제가 존재하고 자신의 정책을 따르고 있는지 확인한다. SOC 2는 애초에 인증이 아니다 — 감사인이 써주는 검증 보고서다 — 그리고 Type II 보고서는 회사가 설명한 통제가 일정 기간, 흔히 3개월에서 12개월 사이 동안 실제로 돌아갔는지를 본다. 정책이 약하면 약한 보안으로 통과한다. 감사는 정책이 좋은지 평가하지 않는다. 따랐는지만 평가한다.

ISO 27001은 정보보안 관리 시스템이 있음을 인증한다. 시스템이 강한지가 아니다. 위험을 평가했고, 통제를 골랐고, 문서로 남겼고, 주기적으로 검토한다는 것을 본다 — 그 선택이 얼마나 좋았는지는 보지 않는다. 의지 있는 10대가 우회할 수 있는 보안 프로그램으로도 ISO 27001을 통과할 수 있다. 그 뒤의 위험 판단이 문서로 남아 있고 정기적으로 검토되기만 하면.

PCI DSS는 카드 소지자 데이터에 대해 구체적인 기술 통제를 요구하니까 처방형 보안에 가장 가깝다. 그래도 PCI를 준수했다고 안전한 건 아니다. 평가 시점에 표준의 요구사항을 충족했다는 뜻이다. 그 “평가 시점”이라는 부분이 사람들이 인정하는 것보다 훨씬 중요하다.

체크박스 문제

프레임워크가 뭘 확인하는지 정의하면, 조직은 정확히 그것을 최적화한다 — 그리고 그것만.

감사인이 묻는다: “비밀번호 정책이 있나요?” 네, 여기 있습니다. 12자 이상 요구? 네. 직원이 따르나요? 여기 증거. 체크박스: 통과.

감사인이 안 묻는 것: “비밀번호 정책이 실제 직면하는 크리덴셜 공격에 효과적인가요?” 이건 보안 질문이지, 컴플라이언스 질문이 아니다. 감사는 잠금장치가 존재하는지 확인한다. 진짜 도둑이 딸 수 있는지는 아니다.

또 굿하트의 법칙이다 — 보안 점수를 괴롭히는 바로 그 역학. 측정 지표가 목표가 되면 좋은 측정 지표이기를 그만둔다. 조직은 감사인이 확인하는 것에 엄청난 노력을 쓰고 공격자가 악용하는 것에 잔여 노력을 쓴다. 둘은 자주 다른 것이다.

감사 준비를 겪어본 사람이면 본 적이 있다. 팀이 몇 주씩 AWS 설정 화면을 캡처하고 “지속적 모니터링”의 정의를 두고 논쟁하는 동안, 범위 밖이라는 이유로 노출된 관리자 패널은 아무도 손대지 않은 채 그대로 있는 장면을.

벤더 신뢰 체인

컴플라이언스 문화의 가장 부식적인 효과는 조직 간 실제 보안 평가를 대체하는 방식이다.

“안전한가요?” “SOC 2 있습니다.” “좋습니다.”

이 대화가 벤더 평가에서 날마다, 하루 종일 오간다. SOC 2 보고서가 실사의 대리가 된다. 아무도 예외사항을 안 읽는다. 범위 밖이 뭔지 안 묻는다. 보고서에 기술된 통제가 실제로 해당 연동의 관련 리스크를 다루는지 확인하지 않는다.

컴플라이언스 보고서는 신뢰 토큰이 된다 — 벤더에서 고객으로, 고객에서 이사회로 넘어가고, 각자 앞사람이 내용을 검증했으리라 가정한다. 실제로는 아무도 안 한 경우가 많다.

컴플라이언스가 쓸모 있는 곳

반-컴플라이언스가 아니다. 반-안주다.

컴플라이언스는 그렇지 않으면 아무것도 안 할 조직에 기본 통제를 구현하게 강제한다. 감사가 요구하니까 접근 검토가 일어난다. PCI가 요구하니까 저장 시 암호화가 켜진다. SOC 2가 보고 싶어하니까 인시던트 대응 계획이 작성된다.

이 프레임워크들이 없으면 기준선이 더 낮을 것이다. 상당히 더. 프레임워크가 문제가 아니다. 충분하다고 취급하는 게 문제다.

컴플라이언스는 해야 하는 최소한이다. 보안은 해야 하는 것이다. 그 둘 사이의 간극에 대부분의 침해가 산다.

솔직한 대화

벤더가 SOC 2 보고서를 건네면 범위 섹션을 읽어라. 예외사항을 읽어라. 제외된 시스템이 뭔지 물어라. 관찰 기간이 끝난 후 뭐가 바뀌었는지 물어라.

자기 조직이 감사를 방금 통과했으면, 보안 승리라고 부르고 싶은 충동을 참아라. 대신 물어라: 이 감사가 테스트하지 않은 것 중에 공격자가 다음으로 시도할 건 뭔가? 프레임워크가 답할 수 없는 질문. 진짜 작업이 시작되는 곳이다.

벽에 걸린 컴플라이언스 인증서는 누군가 서류 작업을 했다는 뜻이다. 건물이 실제로 안전한지에 대해서는 아무 말도 하지 않는다.