보안 제품정보


인공지능, 마케팅 행위에 속지 않기 위한 질문 5 2018.02.02

인공지능, 홍보 마케팅용으로 과도하게 사용되고 있어
확장성과 탐지율, 오탐율 모두 확인할 수 있어야...업데이트 주기도 확인


[보안뉴스 문가용 기자] 인공지능 혹은 머신 러닝과 같은 용어가 새로운 보안 솔루션을 묘사하는 양념처럼 사용된 지가 오래다. 지겨울 정도다. 보안 전문가들이 본질을 추구하는 데에 있어 안개와 같을 뿐이다. 도대체 이 무수한 ‘인공지능 열기’에서 진짜는 무엇일까?

[이미지 = iclickart]


솔직히 말해 현실에서 많은 이들을 눈멀게 만드는 건 과대 광고 메시지들이다. 테슬라가 그렇게 자랑하는 오토파일럿(Autopilot) 기능은 광고 만큼 완전하지 않다. 간단하게 바보로 만들 수 있다. 아이폰X가 그렇게 자랑하던 안면인식은 어떤가? 역시 무력화시키는 방법들이 여럿 등장하고 있다. 애플의 시리는 방향을 말해주는 데에 허술한 모습을 보인다.

머신 러닝은 재귀적 알고리즘과 수학에 기반을 두고 만들어진다. 그래서 개념을 이해한다는 게 그리 쉬운 일만은 아니다. ‘뛰어나다’, ‘선제적으로 조치를 취해준다’ 등의 광고 메시지를 뒷받침해줄 근거 자료를 제시해도 그걸 제대로 해석할 사람이 흔치 않다는 것이다. 그렇다면 소비자들은 어떻게 이 인공지능 열기의 시대를 헤쳐가야 할까? 누군가 인공지능 제품의 뛰어난 성능에 대해 자랑한다면, 다음 다섯 가지 질문으로 탐구해보길 권한다.

1. “방금 보여주신 탐지율이 정말 대단한데요, 그렇다면 오탐율도 멋진 그래프로 보여주실 수 있나요?”
탐지율과 오탐율은 동전의 양면과 같다. 탐지율을 봤으면 오탐율도 함께 봐야 ‘완전한 성능’을 제시받는 것이다. 그래서 시스템 관리자들은 탐지율과 오탐율을 항시 주시하며 환경설정을 ‘튜닝’한다. 해당 조직 및 환경 내에서 허용이 가능한 오탐 비율을 유지하면서 탐지율을 높이는 것이지, 무작정 탐지율만 높일 수는 없는 것이다.

이 두 가지를 한 번에 보여주는 것이 수신자 조작 특성 곡선(ROC curve)이다. 실제의 탐지율과 오탐율을 비교해서 보여주는 시각 자료다. 곡선 중 아무 오탐율 수치를 짚으면, 그에 대응하는 탐지율을 확인할 수 있다. 그러니, ROC 커브를 보여주기 싫어하는 업체라면 솔직히 머신 러닝이란 말을 홍보 마케팅용으로만 사용하고 있을 가능성이 높다.

2. “업데이트 주기는 어떻게 되나요? 업데이트와 업데이트 사이 기간 동안 알고리즘의 정확도는 얼마나 차이가 나나요?”
사람도 그렇지만 알고리즘도 곱게 늙어야 한다. 머신 러닝 알고리즘이라고 천년 만년 영원할 수 없다. 주입된 데이터를 통해 머신 러닝이 일반화시킬 수 있는 능력을 측정하는 수치가 있는데 이를 붕괴율(decay rate)이라고 한다. 붕괴율이란 데이터를 가지고 훈련하는 시간이 늘어남에 따라 퍼포먼스가 얼마나 느려지는지를 알려주는 수치다. 다행히 머신 러닝의 붕괴율은 그리 높지 않아, 실제 업데이트 주기가 짧을 필요는 없다.

비교를 해보자면 기존의 시그니처 기반의 솔루션들은 업데이트를 매일 해야 한다. 머신 러닝은 수개월에 한 번씩만 업데이트 해주면 된다. 머신 러닝 알고리즘의 붕괴율을 높이는 건 훈련용 데이터다. 다양한 데이터를 주입하면 할수록 모델은 안정화되고, 한정적인 훈련 데이터를 주입시키면 붕괴율이 높아진다.

3. “지금 말씀하신 그 머신 러닝 모델은 결정을 실시간으로 내리나요?”
어떤 애플리케이션을 사용하느냐에 따라 머신 러닝은 탐지에 동원될 수도 있고, 포렌식 분석에 사용될 수도 있으며, 멀웨어 침입 차단에 활용될 수도 있다. 특히 공격을 사전에 미리 차단할 수 있다는 것이 머신 러닝이 받고 있는 기대치인데, 그러려면 판단을 실시간으로 내릴 수 있어야 한다. 실시간이라고 하면 밀리세컨드 단위의 이야기다.

그렇기 때문에 온라인에서 자료를 찾아서 대조해보거나 클라우드를 통해 사람과 소통을 하는 건 ‘실시간 결정’을 내리지 못하게 한다. 실시간으로 결정을 할 수 있으려면 기기의 온프레미스 기기 메모리 내에서 알고리즘이 발동될 수 있어야 한다. 그러므로 3번과 같은 질문을 하면 알고리즘이 메모리 내에서 돌아갈 수 있는지, 아니면 무거운 모델인지 알 수 있다.

4. “훈련 데이터로는 어떤 걸 사용합니까?”
머신 러닝이라는 분야에서 가장 간과되는 건 아마도 훈련용 데이터일 것이다. 머신 러닝 알고리즘이 아무리 좋다 한들 양질의 데이터가 뒷받침해주지 않으면 ‘썩어버린다.’ 어떤 훈련 데이터를 주입하느냐에 따라 알고리즘은 뛰어난 분석가가 되기도 하고, 인종차별주의자가 되기도 한다. 그런데 이런 양질의 데이터를 구한다는 게 말처럼 쉽지 않다. 붕괴율을 낮추기 위해 최대한 ‘다양한’ 방면의 데이터를 구한다는 건 더더구나 어려울 수밖에 없다.

그러니 머신 러닝 알고리즘을 팔고자 하는 사람이라면 데이터 수급 문제에 대한 대처법도 가지고 있어야 한다. 또한 회사가 마주한 위협들과도 상관이 있는 데이터여야 한다. 그저 첩보와 공격 사례가 많이 쌓였다고 해서 주입용 데이터가 되는 건 아니다.

5. “머신 러닝 시스템의 확장성은 어떻습니까?”
머신 러닝을 보안에 적용한다고 했을 때 좋은 점은 주입할 데이터가 많다는 것이고, 나쁜 점도 역시 주입할 데이터가 많다는 것이다. 머신 러닝 알고리즘은 당연히 많은 양의 데이터를 주입받고 배워야 한다. 자기가 어떤 것을 탐지해내고 어떤 것을 걸러내야 하는지를 수많은 데이터 속에서 찾아내야 한다. 그러니 데이터가 풍부하다는 건 좋은 점이다.

그러나 데이터를 무궁무진하게 받아들일 수는 없다. 머신 러닝 알고리즘에 따라 받아들일 수 있는 데이터의 양이 제한적인 것들도 존재한다. 특히 ‘온라인의 모든 데이터’를 공부하려면 그만큼 알고리즘의 확장성이 중요해진다. 그러므로 이 점을 반드시 확인해봐야 한다.

결국 좋은 머신 러닝이란 다음과 같은 특징을 가지고 있다고 정리가 가능하다.
1) 탐지율은 높고 오탐율은 낮아야 한다. 이는 알려진 공격과 알려지지 않은 공격 모두에 그래야 한다.
2) 현실을 반영하는 다양한 방면의 데이터를 방대하게 학습할 수 있어야 한다.
3) 업데이트 주기가 그리 짧지 않아야 하며, 그럼에도 안정적인 성능 발휘가 되어야 한다.
4) 시스템 자원을 너무 많이 사용하지 않는 선에서 실시간 판단이 가능해야 한다.
5) 최대한 많은 데이터를 학습해야 하기 때문에 확장성이 양호해야 한다.

글 : 아누스 고시(Anus Ghosh), Sophos
[국제부 문가용 기자(globoan@boannews.com)]

Copyrighted 2015. UBM-Tech. 117153:0515BC
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>