추석 연휴 기간 동안 미국에서 발생한 아름다운 버그 바운티 사례 하나가 있다. Karan Saini란 보안 연구원이 미국 5대 통신사 중 하나인 T-Mobile 웹사이트의 보안 취약점을 신고해서 1,000달러의 보상금을 받았다고 한다.
재미있는 건 해당 사례가 알려진 후, 익명의 해커들이 해당 취약점을 이미 알고 있었고, 개인정보도 진작에 털었다는 제보를 한 것이다. T-Mobile 측은 ‘그런 사실 없다’는 입장이지만, 친절한 어느 해커(?)가 유튜브에 해킹 시연 동영상까지 올리는 바람에 말이 많아진 상황이다.
대형 정보유출 사고로 이어질지, 해프닝으로 묻힐지는 모르겠지만, CEO 사임에 집단 소송 등으로 시끄러운 에퀴팩스(Equifax) 정보유출 사고 와중에 벌어진 일이라 귀추가 주목된다.
T-Mobile 보안 취약점
동영상을 보면 알 수 있지만 해당 취약점은 우리에게도 매우 친숙한, URL 파라미터값(전화번호) 변조를 통해 이메일 등 타인의 개인정보를 무작위, 무제한으로 조회할 수 있는, 참 생명력도 끈질긴 보안 취약점.
이렇게 케케묵은 취약점 때문에 아직까지도 털리는 사이트가 존재한다는 게 선뜻 이해가 가지 않는다. 창에 찔리면 많이 아프다는 사실을 체험한 후, 방패를 발명해낸 인류 역사를 거스르고 있지 않은가?
뻔히 알려진 공격을 왜 방어하지 못할까? 보안 의식이 무뎌서? 개발 능력이 부족해서? 당연히 여러 문제들이 얼키고 설킨 결과이겠지만, 좀 더 근본적인 원인 파악이 필요해 보인다.
“무언가 잘못됐을 때 사람들은 ‘아래를 보는’ 경향이 있다. 마지막에 관련된 사람을 비난하고 그에게 책임을 묻는 식… 그러나 여러 사람이 동일한 실수를 반복한다면 그 원인은 개인이 아닌 조직에 있을 가능성이 높다. 실수의 많은 부분은 문화의 부산물”
– 우리는 왜 실수를 하는가? (273페이지)
그리고 과거 KT의 반복적인 정보유출 사고 발생 후 내려진 좀 특이한 진단에서 근본적인 원인에 대한 힌트를 얻을 수 있다.
온 국민의 지탄을 받는 인터넷 뱅킹의 문제점을 지적하는 어느 개발자의 글은 IT 업계 전반에 만연한 하도급과 아웃소싱 구조가 개발 환경에 어떤 영향을 끼쳤는지 짐작할 수 있게 해준다.
기능 구현하기에도 빠듯할 만큼 열악해진 개발 환경을 암시하는 글. 이런 환경에서 보안은 사치 아닐까? 싸고 좋은 물건은 없다. ‘garbage in garbage out’이라고, 불편한 기능과 불안한 보안은 복잡한 하도급과 아웃소싱 구조로 인해 (이리저리 나눠 먹느라) 줄어든 input 만큼의 output인 셈이다.
쌓이는 기술 부채
하도급과 아웃소싱은 비용 효율성을 높여 준다는 장점과 함께 ‘기술 부채’가 늘어난다는 단점을 함께 제공한다.
기술 부채의 가장 큰 문제점은 ‘빚을 지는 사람과 갚아야 할 사람이 다를 수도 있다’는 것이다. 빚을 진 이가 얼굴 맞대고 일해야 하는 동료라면? 심지어 상사라면? 내가 갚긴 억울하고, 누군가를 지목해서 적을 만들긴 싫고, 그냥 조용히 묻는 게 사회생활 잘 하는 법. 결정적으로 빚이(문제가) 있다는 사실을 아예 모를 수도 있다(..)
알려진 보안 위협에 대한 대응이 잘 안 되는 이유 중에는 이런 배경도 깔려 있다. 처음엔 낯선 비즈니스를 해결하느라 기술 부채가 쌓이는 줄 몰랐고(혹은 무시했고), 이제는 기술 부채를 해결하려니 일이 너무 커져서(다칠 사람이 많아져서) 그냥 하던 대로 하는 관행이 굳어진 것.
이런 문제를 어떻게 하면 해결할 수 있을까? 미국을 보면 알 수 있지만, 관행을 깨기는 대단히 어려운 일이다. 알게 모르게 모두가 그 관행에 참여하고 있기 때문. 아무려면 미국이 기술력이 딸려서 저러고 있을 리는 없지 않은가? 결국, 오늘도 용두사미다.