보안이 허술해 보이는 이유

조회수 2017. 8. 14. 17:35 수정
번역beta Translated by kaka i
번역중 Now in translation
글자크기 설정 파란원을 좌우로 움직이시면 글자크기가 변경 됩니다.

이 글자크기로 변경됩니다.

(예시) 다양한 분야의 재밌고 유익한 콘텐츠를 카카오 플랫폼 곳곳에서 발견하고, 공감하고, 공유해보세요.

"안 좋은 기술은 없다. 악용하는 인간이 있을 뿐이다."

난 단지 치킨을 주문했을 뿐인데 범죄의 대상이 될 수 있다니」란 글을 읽고 놀란 분이 많을 듯하다. 보안 위협이 어제오늘 일은 아니지만 이렇게 생활 가까이에서 벌어질 거라는 생각을 하는 사람은 많지 않으니까. 그런데 여러 논란의 결론이 주로 사이트를 개발한 사람의 무능력, 비윤리를 질타하는 쪽으로 모이는 듯해서 보안 분야에 종사한 죄로 변명을 좀 해볼까 한다.


때는 2000년으로 거슬러 올라간다. 당시 한풀 꺾인 벤처 열풍에도 불구하고 꽤 많은 IT 벤처들이 있었는데, 그중에서도 확실한 수익 모델을 자랑하던 것이 인터넷 자키(Internet Jockey, IJ)란 신종 직업으로 이슈가 됐던 인터넷 성인방송국.


당시 나는 유료 성인 만화를 공짜로 보는 재미에 빠져 있었다. 무슨 대단한 해킹씩이나 한 건 아니고, 맛보기 후 뜨는 결제 페이지 무시하고 URL 파라미터를 ‘bla.com/bla.asp?name=bla&page=10’에서 ‘bla.com/bla.asp?name=bla&page=11’로 고치는 식이었다. 배달 앱 고발 글에서 지적한 바로 그 취약점.


사실 URL의 구조를 알면 누구나 시도할 수 있는, 해킹이라고 하기에도 민망한 꼼수라고 할 수 있다. 그런데 10여 년을 훌쩍 뛰어넘은 2014-2015년 KT아이핀이 연달아 털릴 때도 이런 구닥다리 방식이 사용됐다. 해당 보안사고를 바라보면서 과거 성인 만화에 흥미를 잃게 해준 당시 여자친구에게 새삼 고마움을 느끼기도 했다. 안 그랬으면 지금쯤 국가의 보살핌을 받는 신세가 됐을 수도 있으니까.

출처: 연합뉴스

솔직히 부끄러운 과거고, 업계에서 매장당해도 할 말이 없을 경험을 떠벌리는 이유는 (어차피 4년 전 책에서 이미 떠벌린 내용이기도 하고) 보안에 대한 사소한 오해를 풀고 싶어서다. 



왜 이리 허술할까?


2000년대 초까지 보안에 대한 IT 업계의 인식은 대충 이랬다. 내가 다니던 회사에서는 마이크로소프트의 MS-SQL 데이터베이스 6.5 버전을 사용했는데 설치할 때 관리자 패스워드를 요구하지 않았다. 7.0 버전 넘어와서 패스워드를 설정할지 물어보기는 했으나 디폴트는 그냥 패스. 설치 후 별도 설정하지 않으면 패스워드 없이 관리자 접속이 가능했다는 얘기다.


데이터베이스에 대한 망 분리 개념도 없던 때라 맘만 먹으면 누구나 관리자 권한으로 데이터베이스에 접근할 수 있었다는 뜻. 그리고 당시 인터넷 성인방송국들이 MS-SQL을 많이 사용했었다(…) 지금은 귀찮을 만큼 보안 업데이트를 챙기는 IT 공룡 마이크로소프트도 그땐 그랬다. 왜 그랬을까? 악용될지 몰랐으니까.

출처: 영화 〈암살〉
알면 그랬겠나!

1990년대에 완성된 HTTP는 원래 읽기만이 아니라 쓰기도 자유로웠다. ㅍㅍㅅㅅ의 게시물을 관리자 아닌 누구라도 수정하고 삭제할 수 있었다는 얘기. 지금은 다 막혔지만 그땐 그랬다. 왜 그랬을까? 악용될지 몰랐으니까. 누가 알았겠나, 몰랐지. 

안 좋은 기술은 없다. 악용하는 인간이 있을 뿐이다.

- 『 IDS와 보안관제의 완성』, 17쪽

제도건 기술이건 허점을 악용하려는 창의적 인간의 도전과 그에 대한 응전은 역사에서 부지기수였고 그 덕에 세상은 조금씩 나아졌다. 배달 앱 취약점 고발 글 역시 응전의 하나라고 생각한다. 병은 알려야 낫는다고, 문제는 까발려질수록 해결 가능성이 높아지니까.


다만 글 말미의 ‘사이트 이따위로 만든 너, 혹은 너희들’ 식의 표현은 문제 해결에 별로 도움이 안 될 것 같다. 생선 살 알뜰하게 도려내라고 만든 사시미칼이 형님(?)들이 애용하는 연장 됐다고 칼 만든 사람 비난해서 문제가 해결될까(물론 구조 문제를 개인 문제로 희석하는 게 간편하긴 하지만)?

이렇게 쓸 줄 몰랐다니까 ㅡ_ㅡ

일단 개발자가 일부러, 타인의 정보를 널리 공유할 목적으로 이따위로 만들지는 않았을 것이다. 그런데 결과가 왜 이럴까? 우리가 좋아하는 ‘효율’ 때문이다. ‘최소 비용, 최대 이익’이란 경제법칙이 지배하는 세상에서 우리는 종종 효율을 위해 안전을 무시한다. 

기계에는 작업 중 손이 끼이지 않도록 하는 안전 센서가 존재한다. 그러나 A 씨는 동료들과 마찬가지로 센서를 ‘가리고’ 작업을 했다. 작업 물량을 맞추려면 그래야 했다.

- 「 노동자는 왜 안전수칙을 지킬 수 없나?

이런 세상에서 이익은커녕 돈만 까먹기 십상인 보안이 설 자리는 매우 좁다. 그리고 ‘이따위 사이트’는 갑이 쥐여준 최소의 자원으로 을이 뽑아낸 최대의 아웃풋일 가능성이 높다. 인정하자. 우리는 대부분 돈 주는 사람이 원하는 일을 잘하려고 노력한다.


결국 돈 문제. 그래서 보통 보안에 대한 투자가 적극적으로 이루어지는 곳은 금융권이나 게임 업계 등등 캐시를 향한 직접 해킹이 가능한 곳, 해킹당하면 돈 잃는 게 쉽게 눈에 띄는 그런 곳이다. 그리고 소프트웨어는 원래 버그투성이다.

연방 사이버시큐리티 파트너십의 소프트웨어 라이프사이클 워킹 그룹의 4월 보고서에 따르면, 상업적인 코드는 일반적으로 코드 1,000줄당 하나에서 일곱 개 정도의 버그를 가지고 있다고 한다.

- 「 마이SQL 코드「97가지 버그」 발견

사람은 실수하는 존재이기 때문. 그런데 버그가 꼭 실수의 결과만은 아니다. 사실 ‘이따위 사이트’의 버그는 ‘주문 확인’에 충실한 기능 관점에서 전혀 버그가 아니다. 지나치게 창의적인 인간이 엉뚱한 용도를 발견한 것뿐.

예술을 해킹한 마르셀 뒤샹의 작품(?)들

이제 버그가 알려졌으니 새로운 코드가 새로운 버그의 가능성과 함께 덧씌워질 것이다. 알려진 버그는 사라지고 사람들은 마음의 위안을 얻을 것이다. 창의적인 인간이 더 엉뚱한 용도를 발견할 때까지



사람의 문제로 접근했으면 좋겠다

난 앞만 보고 운전했는데도 졸음운전의 피해자가 될 수 있으니 예비 졸음 운전자를 모두 없애자.
묻지 마 살인의 피해자가 될 수도 있으니 예비 살인자를 모조리 잡아넣자.

가능 여부를 떠나 모든 문제의 해결책으로 인류 제거를 선택하는 인공지능의 전 단계를 보는 것만 같아 섬찟하다. 하지만 완벽한 보안을 위해 모든 기술적 취약점을 찾아서 없애야 한다는 주장을 들으면 이상하게 고개가 끄덕여진다.

출처: 영화 〈마이너리티 리포트〉

사회가 보안을 편향된 시선으로 바라보는 이유는 그 문제를 사람이 아닌, 기술의 문제로 바라보기 때문이다. 마치 모든 취약점을 한 번에 없앨 수 있는 버튼이 있는데 기술자들이 안 누르고 있다고 생각하는 듯. 예전엔 나도 ‘이거 할 수 있는데 왜 안 하지?’란 생각을 많이 했었다. 


하지만 아무리 찾아봐도 그런 버튼은 없더라. 배달 앱, KT와 아이핀, 그리고 수많은 온라인 세상을 설계한 기술자들이 몰라서, 게으르고, 도덕적으로 해이해서 보안이 허술해지는 게 아니다. 안 그런 사람이 더 많다. 결국 우리 모두 환경에 지배받고 실수하게 마련인 사람이기 때문이다.


농담이 아니라 이불 밖 세상은 원래 위험하다. 전쟁이나 범죄와 같은 사회병리 현상은 인류 문명과 불가분의 관계이며, 인류가 생존하는 한, 문명이 유지되는 한 사라지지 않는다. 보안 위협도 마찬가지. 우리가 효율을 추구한 덕에 세상은 더할 나위 없이 편리해졌고 앞으로 더 편리해질 것이다. 그리고 딱 그만큼 더 불안해질 것이다.

기계는 삶을 더 여유 있게 만들어줄 것이라고 예상되었다. (중략) 하지만 내가 좀 더 느긋한 삶을 살고 있는가? (중략) 우리는 시간을 절약한다고 생각했지만, 실은 인생이 돌아가는 속도를 과거보다 열 배 빠르게 만들었다. 그래서 우리의 일상에는 불안과 걱정이 넘쳐난다.

- 『 사피엔스』, 136쪽

물론 우리는 세상을 더 안전하게 만들 수도 있다. 효율을 조금만 포기한다면. 하지만 아마 힘들 것이다. 그렇다면 차선은 서로 (친절하게) 문제를 알려주면서 조금씩 나아지는 세상에 적응하는 것 아닐까?


이 콘텐츠에 대해 어떻게 생각하시나요?