열람을 금지합니다... 금지하겠습니다.... 안되잖아?

보안 때문에... 모든 HTML 열람을 금지한다구요?

Jun Noh

아침에 주주 인스타 계정 댓글을 확인하고, 릴스를 좀 넘기다가 조금 웃긴… 스레드 글이 보이길래 오늘은 이거다!!

하고 냉큼 가져왔다.

내용은 대충 요즘 AI로 보고서를 뽑는 사람들이 많아지고, 그게 대부분의 경우는 PPT보다는 HTML 형식으로 뽑는게 동적으로 차트 보여주기도 편하고 해서 많이들 HTML 형식을 사용을 하니… 어느 대기업 회사 보안 부서가 아래와 같은 내용의 지침을 만들었다고 한다.


첫째, HTML 파일을 여는 것 자체를 막겠다.

둘째, 그래도 열면 경영진에 보고하겠다.

셋째, 회사가 인증한 파일은 허용해주겠다.


…예? HTML 열람 금지면 브라우저를 쓰지말라는 거 아닌가요..? 싶기도 하고, 우회할 방법은 얼마든지 있는거고…

사실 외부에서 메일 등으로 받은 파일이 아니라면야 저런 식의 눈 가리고 아웅하는 식의 보안 지침이 얼마나 쓸모 없는 이야기인지 좀 다뤄보려고 한다.

맞는 말이긴 함. (부분적으로…)

먼저 이 얘기부터 해야 저 보안팀도 덜 억울할 거 같다.

공지 자체가 그렇게 잘못됐다고는 할 수 없다. 출발점 자체는 틀리지 않았다.

국내 대기업 문서보안은 대부분 DRM 솔루션이다. docx, pptx, xlsx, pdf, hwp… 지정된 확장자를 생성 시점에 자동으로 암호화하고, 누가 열람하고 인쇄하고 복사할 수 있는지 통제하는 방식.

그러니까 이 체계는 “확장자 목록” 위에 서 있는 셈인데, HTML은 그 목록에 없는 경우가 많다.

그러면 무슨 일이 벌어지나?

직원이 AI한테 내부 데이터를 넣고 보고서를 뽑는다.

결과물은 회사 매출이랑 고객 정보가 잔뜩 담긴, 암호화도 추적도 안 되는 평문 텍스트 파일이다.

메일에 첨부하면 그대로 나간다. 카톡으로 보내도 그대로 나간다. DRM이 몇 년을 지켜온 성벽에 구멍이 뚫린 거다.

그러니까 보안팀이 반응한 것 자체는 정상이다.

반응해야 하는 상황이 맞다. 문제는 그 다음부터다.


첫째 지침: 막을 수 없는 걸 막겠다는 선언

“HTML 파일을 여는 것을 막겠다”는 게 기술적으로 뭘 의미할까.

웹은 열어야 하니 브라우저를 지울 수는 없고, 결국 로컬 파일의 file:// 접근이나 .html 확장자 실행을 엔드포인트 에이전트로 차단하는 방식일 거다.

이거… 확장자 이름 바꾸면 뚫린다. zip에 넣으면 뚫린다. 개인 클라우드에 올려서 http로 열면 뚫린다.

확장자 기반 차단은 통제라기보다는 “하지 말라”는 시그널에 가깝다. 그리고 정작 근본 문제인 암호화 안 된 내부 데이터가 돌아다닌다는 문제는 그대로 남는다.

둘째 지침: 공포는 보안이 아니다

“누군가 파일을 열면 경영진에 보고하겠다.”

오해하면 안 되는 게, 로깅이랑 모니터링 자체는 아주 정상적인 보안 통제다.

오히려 필수다. 그런데 그걸 “너 열면 위에 이른다”는 협박의 형태로 공지하는 순간 성격이 완전히 달라진다.

이건 보안이 아니라 security theater, 보안처럼 보이는 연극이다.

공포로 통제하면 직원들이 순응할 것 같지만, 안 그런다.

숨는다. 확장자를 바꾸고, 개인 메일로 보내고, 집 노트북에서 작업한다. 그러면 보안팀 입장에서 가시성은 오히려 떨어진다.

보안 정책 설계에서 하지 말라는 짓의 교과서 예시가 있다면 아마 이런 모양일 거다.

셋째 지침, 그리고 진짜 문제: “쓰지 마”만 있고 “이렇게 써”가 없다

셋째 지침인 “인증한 파일은 허용”은 사실 방향 자체는 맞다.

화이트리스트는 보안의 표준 접근이니까. 문제는 그 앞에 놓여야 할 게 빠져 있다는 거다.

위협을 쪼개보면 답은 자명하다.

외부에서 받은 HTML은 피싱이랑 멀웨어의 문제다. HTML smuggling. 악성 페이로드를 HTML 안에 숨겨서 메일 필터를 우회하는 기법이 실제로 유행했고, 그래서 외부 수신 HTML 첨부를 차단하는 건 이미 업계 표준이다.

여기까지는 백번 정당하다.

근데 내부에서 생성한 HTML은 데이터 유출의 문제고, 이건 금지가 아니라 경로로 풀어야 한다.

HTML을 PDF로 자동 변환해주는 파이프라인을 깔아주거나, DRM 적용되는 사내 공유 포털을 열어주거나, DRM 벤더한테 HTML 커버리지를 요구하거나. 셋 다 그렇게 어려운 일이 아니다.

경로 없이 금지만 하면? 직원들은 어차피 쓴다.

다만 안 보이는 데서 쓴다. 원래 사람이라는게 그렇다.

마무리

저런 식의 “하지 마!” 보안이 정말 무서운 건, 막는 데 실패한다는 게 아니다.

다음 구멍이 보안팀이 전혀 모르는 곳에 뚫린다는 거다.

실제로 어느 회사가 사내에서 카카오톡을 막겠다고 사내망에서 카톡 서버로 나가는 연결을 전부 차단해놨다.

그랬더니 어떤 신입이 라즈베리파이에 프록시를 하나 올려서, 사내망 트래픽을 외부 IP 경유로 카톡 서버까지 이어주는 우회로를 만들어놓고 카톡을 했다. (ㅎㅎ…ㅈㅅ;;;)

여기서 웃긴 지점은, 이 우회로가 원래 막으려던 카톡보다 훨씬 위험한 물건이라는 거다.

사내망과 외부망을 잇는 비인가 브릿지가 하나 생긴 거니까.

카톡 메시지 몇 개 새는 것과는 차원이 다른 구멍인데, 보안팀 관제 화면에는 안 잡힌다. 애초에 존재하는지도 모르니까.

금지가 만든 결과가 이거다.

위험은 사라진 게 아니라, 보이는 곳에서 안 보이는 곳으로 이사 갔을 뿐이다.

그래서 나는 보안 지침이라는 건 결국 이렇게 쓰여야 한다고 생각한다.

“이게 왜 위험하고, 어떤 사고가 날 수 있고, 사고 나면 회사가 책임 못 져주니까, 대신 이 경로로 이렇게 해라.”

막는 게 아니라 알려주고 길을 내주는 것.

그게 진짜 먹히는 보안이라고 생각한다.

마침.

다른 글 보기