2015년 12월 23일 수요일

보안 제품의 한계

보안 분야 취업을 준비 중이라는 분이 이런 질문을 보내왔다.


아마 5월 경에 올렸던 '제 값 못받는 보안관제'란 글을 보고 최신 기술로 다 해결 가능하다는 업체들이 많은데 왜 엄살인가? 라는 의문을 가지게 된 듯하다. 보안 업계를 바라보는 일반 대중의 시각을 잘 보여주는 질문인 듯. 질문에 언급된 보안 서비스를 찾아봤다.


다음은 질문에 대한 내 답.


여기서부터는 오해 없이 읽어줬으면 좋겠다

해당 서비스가 홍보하는 기술은 기존 기술과 뭔가 다르다는 어필을 하고 있다. 하지만 찬찬히 뜯어보면 결국 기존 기술과 마찬가지로 로그 분석을 한다는 것. 뭐가 다른 걸까? 기존 기술은 사후 대응인데 홍보하는 기술은 사전 대응?

'로그 분석을 초기에 실시'한다는 부분이 차별화 포인트인 것 같은데, '초기 실시'의 주체는 보안장비다. 기존 장비는 초기에 분석하지 못하고 쌓아놨다가 나중에 분석하나? 사람의 최종 판단이 느려서 미처 판단하지 못한 로그가 차곡차곡 쌓이는 문제가 있을 뿐, 장비는 다 실시간이다.

빅데이터 등을 이용해서 발생 추이를 보여주고, 분석을 자동으로 해준다는 뉘앙스도 있는데 사람의 최종 판단이 필요 없는 수준이라면 세계 정복은 시간 문제겠지만 그럴리는 없을 테고, 기존 기술과 마찬가지로 당연히 사람의 판단이 필요할 것이다.

특정 업체를 비난할 생각은 없다. 보안 제품 대부분 비슷한 (자동화, 인공지능 느낌의) 컨셉이고 홍보 방식 역시 다 비슷하니까. 왜 보안 업계의 제품 홍보 방식은 하나같이 다 비슷비슷할까? 광고는 원래  다 그런 거니까?

전에 'Lemons Market'이란 글에서 보안 시장이 재화나 서비스의 품질을 알 수 없기 때문에 불량품만 나돌아다니는 '레몬 시장'보다 상황이 더 안 좋을 것이란 얘기를 했었다. 그 이유는 생산자의 전문성이 소비자의 전문성에 비해 그리 높아보이지 않기 때문(..)

차를 만드는 것과 운전하는 것은 다른 문제

해당 서비스를 출시한 업체의 인적 구성을 보자. 8명의 팀원 중 7명이 개발자. 나머지 1명은 무엇을 할까? 분석?


개발자는 보안을 잘 모른다는 얘기를 하고 있다. 개발자분들에겐 죄송하지만 비난하는 것이 아니라 사실을 얘기하는 것 뿐이다. 좀 더 정확히 얘기하면 개발자 포함, 어떤 이에게도 난해한 분야가 보안이다.

면허 없어도 자동차를 만들고, 또 살 수 있다 보니 정작 어떻게 목적지로 가는지는 잘 모르는 상황이라고나 할까? 그래 너 잘났다(..) 소리를 들을 수도 있고, 사실 나도 정리가 잘 안 되지만 억지로 풀어보자면 이렇다.

대부분의 분야에서 개발은 기능이 동작하느냐, 마느냐의 문제다. 그래서 기능이 동작하면 모두가 해피엔딩. 기능이 동작하고 나면 더 빨리, 더 많이 할 수 있느냐, 없느냐의 문제로 확장되겠지만 결론은 마찬가지.

그런데 보안은 여기에 해결해야 할 문제가 하나 더 추가된다. 기능이 동작한 결과가 보안 관점에서 이로운가? 해로운가? 로그를 빠르고, 정확하게 수집하는 기능 덕에 쌓인 빅데이터의 의미가 안전인가? 위험인가?

여기에 대한 판단이 어렵다. 제품이 해주지 못한다. 사람의 개입이 필요한 영역. 대부분의 분야에서 제품은 기능과 성능만 받쳐주면 맡은 역할을 다 할 수 있지만, 보안 제품의 기능과 성능은 본연의 역할을 시작할 조건이 겨우 갖춰졌을 뿐이라는 얘기.

하지만 '패턴매칭' 기능 개발자에겐 기능에 문제가 없다면 탐지 결과가 오탐이든 정탐이든 문제가 없는 것이다. 입장 바꿔서 내가 개발자라면 왜 오탐이 생기냐는 지적에 내 잘못이란 생각을 하게 될까? 

엉뚱한 목적지로 차를 몰아 놓고 자동차 메이커에게 따지면 그들이 사과해야 할까? 제품만으로 보안을 할 수 없는 이유. 
정보보호 기술은 관리자의 판단을 도와주는 제한적 전문가 시스템(Expert System)만을 제공... 정보보호는 제품이 아닌 전문가와 잘 구성된 절차에 의해 수행된다 - 네트워크 보안 실무 (20 페이지)

또 다른 차이는 사용자 경험의 부족

사진앱을 만들어보자. 사진앱은 누구나 목적과 사용 결과를 예상할 수 있고, 예상을 벗어나면 실망이란 걸 해볼 수 있다. (실망을 해야 개선해야겠다는 생각도 하게 됨) 개발자가 사용자 관점에서 접근할 수 있다는, 개발자와 사용자의 간극이 크지 않다는 얘기.

불편해서 직접 만들었어요
뭔가를 만들려면 그걸 만들고 싶어하는 개발자와 일을 해야 한다

반면 보안은? 보안 분야에 대한 사용자 경험을 보유한 개발자가 얼마나 될까? 보안 제품에서 발생하는 로그를 분석하면서 제품의 한계를 경험해본 개발자가 얼마나 될까? 결국 제품 개발자와 실제 사용자 사이의 간극이 벌어질 수 밖에 없다.

그 간극은 어느 정도일까? 

보통 보안관제 하면 사장님 눈요기용 커다란 모니터에 갑자기 해킹 경보가 뜨고, 사람들이 일사불란하게 대응하고, 뭐 이런 그림을 상상하기 쉽다.


하지만 현실은 IDS, IPS 등 보안장비에서 발생하는 수많은 해킹 경보를 일일이, 눈이 빠져라 읽어가면서 진짜 해킹인지, 아니면 해킹으로 오인된 것인지를 확인하는 작업이 이루어진다. 물밑에서 쉴 새 없이 발을 놀리는 우아한 백조인 셈.

그런데 이런 현실을 정작 보안 제품을 기획, 개발하는 파트에서 잘 모른다. 어느 개발/기획 관계자의 ESM/WAF 소개 글은 사람이 아닌 장비가 자동으로 알아서 다 해준다는 뉘앙스를 진하게 풍긴다.

분석 누가 하는데?
그러니까 사람은 가만히 있어도 되냐구(..)

분석하고 대응하는 이런저런 기능이 있으니 그렇게 해석할 수도 있겠다. 그런데 그런 기능들은 현장에서 잘 활용되지 않는다. 좋은 기능이 있는데 왜 안 쓰냐며 의아해 하려나?

그런 기능의 셋팅이 얼마나 복잡한지, 얼마나 많은 경험과 노력이 필요한지에 대한 노하우가 쌓이지 않았거나 공유되지 않은 결과. 물론 제품이 인공지능도, 만능도 아니며, 제 기능을 발휘하려면 빡센 노가다가 필요하다는 사실을 알고 있을 수도 있다.

하지만 그런 설명은 복잡하고 어렵기만 할 뿐더러, 결정적으로 제품 판매에는 별 도움이 안 된다. 슈마허급 스킬 없으만 자동차 사지 말라고 하는 꼴이라 오히려 방해가 됨(..)

기존 문제를 인정하는 경우는 

그 문제를 해결할 수 있다는 새로운 기술, 새로운 제품을 홍보할 때뿐이다.


결국 ESM(요샌 SIEM이라 부르더라)의 목적은 IDS, IPS, WAF 등 핵심 보안장비의 로그를 수집해서 분석에 도움이 되는 방향으로 처리하는 것. 그런데 'garbage in garbage out' 이라고, 수집한 로그가 부정확하면 그 로그로 뭘 해도 결과는 부정확해진다.

그래서 IDS 등 핵심 보안장비의 정확도가 중요. (그 정확도를 높이기 위해서는 또 어마어마한 노가다가 필요) 이렇다 보니 현실에선 IDS 등 보안장비 로그를 한 곳으로 모은 후, 중복된 로그를 제거하는 샘플링 정도만 해도 ESM을 잘 활용하고 있다고 볼 수 있다.

그런데 이런 현실이 개발자와 실무자간에 잘 공유되지 않는다. 현재 제품의 활용 수준이 어느 정도인지, 목표에 도달하기 위해서는 어떤 기능이 필요하고 어떤 기능의 개선이 필요한지에 대한 의견 교환이 안 되고 있는 것.

왜 그럴까? 

여러 이유가 있겠지만 서로 따로 논다고 해야 할까? 제품이 있어야 사업을 할 수 있으니 회사가 (영업과) 개발자 위주이기도 하고.

결국 제품이 있어야 돈을 벌 수 있다. 분석 분야는 아무리 결과물이 좋아도 경력/등급 따라 산정된 인건비 따먹기 수준을 못 벗어난다. 이러니 보안관제 분야가 발전을 못하지(..)

그럼 어떻게 해야 할까? 개발자가 보안 업무도 해봐야 하는 걸까? 좋은 해결책이지만 비효율적인 해결책이기도 하다. 가장 효율적인 방법은 보안 제품 개발 시 실무자의 자문과 테스트를 거치는 것.

이때 경영진의 역할이 중요하다. 보안 실무자가 적극적으로 제품 개발에 참여하고, 개발자가 실무자의 경험을 제품에 반영할 수 있는 환경을 만들어줘야 한다.

서로 간의 충분한 의사 소통 및 제품 개선을 위해 난상 토론이 가능한 문화를 만들어줘야 하는 것. 근데 보통은 알아서 으쌰으쌰 하기를 바라더라. (구조적인 문제를 개인 노력으로 해결해라?)

실무자를 배제한 채, 이런 그림을 보여주면 좋아하겠지? 고객이 저런 걸 보여달라고 하던데? 식으로 만들어진 제품은 장미빛 희망사항만을 잔뜩 나열하다가 목적을 잃게 되고, 결과를 예상할 수 없게 되며, 결국 실망할 기회와 함께 개선할 기회조차 잃어버린다.

하지만

그런 상황은 실무자 외에는 아무도 알아채지 못한다. 그래서 문제가 안 됨 아직까지 사람의 분석 속도를 넘어서는 로그 발생 속도 때문에 분석하지 못한 로그가 차곡차곡 쌓이는 문제에 실망한 보안 제품은 보이지 않는다.

실무자의 발언권이 없어서일 수도 있고, 미국도 똑같은 상황인 걸로 봐서는 이미 해결 불가능한 문제 또는 해결해봐야 돈이 안 되는 문제로 낙인 찍힌 걸 수도 있고.

'인텔리전스', '빅데이터', '머신러닝' 등의 단어를 나열하면서 언제까지 IDS, IPS 만 붙들고 있을거냐, 시대도 바뀌고 기술도 좋아졌으니 다른 관점의 접근이 필요하다 등등의 반론이 있을 수 있겠다.

그런 주장을 하는 이들에게 그럼 IDS, IPS 다 버려도 되느냐 물어보면 아마 대답을 못할 것이다. 기존 보안장비 로그를 공짜로 가져다 쓰는 컨셉이 대부분이라 뒷감당이 안 되기 때문.

새로운 기술과 전략을 제안하고 싶다면 고객이 수용할 수 있는지, 수용하려면 어떤 체계와 지원이 필요한지도 고민하는 업계를 기대해본다.

관련 글

댓글 없음:

댓글 쓰기

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