2019년 10월 31일 목요일

보안을 하기 위한 준비

가끔 강의 중 받은 질문에 대해 즉답을 못하고 뒤늦게 블로그 포스트로 대신할 때가 있다. 엘라스틱 keystore 인증도 그렇게 쓰게 된 글.

그런데 keystore를 이용한 인증 체계는 사실 전부터 꽤 궁금한 주제이기도 했다. 공식 매뉴얼만 찾아봐도 그리 어렵지 않게 구현할 수 있는 내용을 왜 질문을 받고 나서야 찾아보게 됐을까?

현장에서 보안 장비의 보안성에 매달리는 경우를 자주 봐왔다. 엘라스틱을 예로 들면 노드 간 통신이나 접속 정보를 암호화하고, 감사 기록을 남기는 등등 장비 자체의 보안성을 확보하는 행위들.

2000년 초까지 원격 작업이 필요할 때는 묻지도 따지지도 않고 telnet을 이용했었는데, 어느 순간 통신 과정을 암호화해주는 ssh가 대세가 되었다. 그 결과는 뭘까? 시스템이나 네트워크 장비가 서비스나 트래픽 처리를 더 잘 하게 되었을까?

아무 상관 없다

물론 누군가 평문 통신을 훔쳐보는 상황이 발생할 수도 있겠지만, 기본적으로 통신 내용을 엿보려면 물리적 접근이 가능해야 한다. 누가 관리하는지 알 수 없는 무료 와이파이를 괜히 조심하라는 게 아님.   

덧붙이자면 SSL이 보안 수준을 엄청 높여주는 것처럼 알려져 있지만 물리 보안이 뚫린 상황에서 도청 가능성을 낮춰주는 정도가 SSL의 최대효용. 그런데 물리 보안이 뚫린 상황이면 사실 도청이 대수인가(..)


그럼에도 보안성은 높이고 보는 게 낫다. 세상 일은 알 수 없으니 대비할 수 있으면 하는 게 낫지.

이때 순서는 

당연히 본연의 기능이 먼저다. 네트워크 장비가 철통보안을 자랑하는데 트래픽 처리를 못하면 사장님이 좋아할까? 그런데 보안 장비들은 대부분 그 순서가 뒤집혔다.
CC(Common Criteria)에 의하면 PP(침입탐지장치 보호 프로파일)는 구현 방법에 관계없이 특정 환경에 존재하는 위협에 대한 보안 요구 사항을 나타낸다... 침입탐지 장치에 대한 PP가 침입을 탐지하기 위한 기능을 전혀 요구하지 않는다 - 네트워크 보안 실무 (394 페이지)

무려 2004년에 쓰여진 책에서 미국 보안 인증의 문제점을 미국 보안 전문가가 꼬집고 있다. 보안 장비 자체의 보안성이 좋아져도 로그나 트래픽을 검사해서 위협을 찾는 본연의 기능이 좋아지지는 않는다는 얘기.

다른 분야는 본연의 기능을 먼저 챙긴 다음에야 보안을 챙기는데 정작 보안 장비는 왜 그러지 않을까? 보안 분야의 두 가지 특수성 때문이라는 게 나름 고민해본 결론이다.

두 가지 특수성
1. 돈 버는 데 도움이 안 된다
보안 회사는 장비를 팔아서 돈을 벌겠지만 그 장비를 산 고객은? 자본주의 사회에서 돈을 벌지 못하는 기술은 자연스럽게 천덕꾸러기 취급을 받게 된다.

결과적으로 금융이나 포털, 게임 등 해킹 피해가 돈 버는 비즈니스에 영향을 줄 수 있는 업계를 제외한 나머지는 컴플라이언스 대응 이상의 기대를 하지 않는다. 그래서 굳이 잘 할 필요가 없음.
기업이 법에서 규정한 수준의 보안대책을 마련하고 시행했다면 과실이 없다

2. 인재풀의 한계
최초의 보안 장비인 방화벽은 네트워크 장비의 성격이 굉장히 짙다. 트래픽을 특정 목적지로 전달해주고, IP/Port 기준 허용/차단을 결정하는 (네트워크 장비의) 기능을 별도 구현한 게 방화벽.

그래서 많은 방화벽 엔지니어들이 네트워크 엔지니어 인재풀에서 유입됐고, 이렇게 만들어진 방화벽 인재풀은 자연스럽게 IDS/IPS 인재풀로 이어졌다. 여기서 문제 발생.

L7 데이터를 기준으로 동작하는 IDS/IPS는 L7 레이어에서 발생하는 문자열 데이터에 대한 패턴 분석을 통해 진짜/가짜를 구분해야 한다.

L3/L4 데이터(IP/Port)를 기준으로 동작하는 방화벽은 허용 정책 걸면 허용 로그, 차단 정책 걸면 차단 로그 나온다. 진짜/가짜 로그를 구분할 필요가 없음. 요즘에야 빅데이터니 뭐니 하면서 분석한다지만 원래 분석에 대한 니즈가 별로 없었다.

두 장비의 성격이 전혀 다르다는 얘기. 이걸 같은 방식으로 운영하면 어떻게 될까? 미국이 2003년, 일찌감치 IDS는 망했다고 선언한 이유가 여기에 있다. IPS 홍보 목적이 더 크지만 방화벽은 쉬웠는데 IDS는 써보니 개어렵더라는 얘기.

이게 다는 아니겠지만

많은 영향을 줬다는 게 개인적인 생각. 이런 이유들로 보안 장비는 성과 만들기 까다로운 애물단지가 됐고, 그 와중에 성과 만들기 쉬운 방법 중 하나가 바로 장비 자체의 보안성을 높이는 것이 되지 않았나 싶다.

다음은 그 결과를 짐작하게 해주는, 인공지능 보안시스템 구축한다는 어느 보안 사업 제안요청서의 일부. 10년 이상 꾸준히 보안(장비)에 투자한 결과, 문제가 해결되기는 커녕 점점 더 커짐. (장비 늘렸더니 보안 이벤트 개수만 늘어남)

실망할 필요는 없다. 우리가 못하는 이유는 미국도 못해서니까. 물론 잘 하는 곳은 잘 한다. 비즈니스를 유지하기 위해서. 그런데 어쩌다 주로 돈 안 벌어도 되는 곳에서 일 하다 보니 장비 보안성은 꼼꼼하게 체크하는데 정작 본연의 기능은 기술자만 신경 쓰는 상황이 너무 잦더라.

그런 경험이 쌓이면서 질려버렸는지, 언제부턴가 장비 자체 보안성에 대한 반감을 갖게 됐다. 궁금했지만 질문을 받기 전까지 keystore 인증 체계를 알아보지 않았던 이유.

솔직히 지금 이 순간에도 노드 간 SSL 통신 등이 궁금하다. 하지만 엘라스틱 쓰는 이유는 데이터 분석 잘 하고 싶어서지, 철통보안 엘라스틱 만들고 싶어서가 아니라는 똥고집 시전 중(..)

나가며

부족한 능력에 대한 변명이 길었지만 공부하는 환경과 성적 사이에 상관관계는 찾을 수 있어도 인과관계는 찾을 수 없다. 공부를 하기 위한 준비를 아무리 열심히 해도 성적을 높이려면 결국 공부를 해야 한다.
시험이 내일이면 책상에 앉아서 공부해야 하는데 그건 괴롭고 재미가 없어서 하기 싫었습니다. 대신 공부를 하기 위한 준비를 했습니다. 괜히 연필도 깎아보고 책꽂이 정리도 하고 말이죠. 이러면 공부를 많이 한 것 같았거든요. 실제로는 공부는 한 글자도 하지 않았는데 말입니다.

관련 글

댓글 없음:

댓글 쓰기

크리에이티브 커먼즈 라이선스