lawfully.kr
한 미국 변호사의 서랍

40일간의 사소한 모험, 그리고 뒤늦은 새해 결심

2017년 01월 19일


이게 다 허베이에 사는 해커 때문이다

이게 다 허베이에 사는 해커 때문이다. 그가 작년 11월경 내 컴퓨터에 침입을 시도했다 (이 글을 쓰기 위해 다시 찾아 보니 내 기억이 틀렸다. 작년 12월 중순경이었다). 어쨌든 이야기는 11월에 시작된다.

11월, 촛불집회가 한창이던 무렵 어느날 자고 일어나니 내 컴퓨터가 꺼져 있었다. 파워 스위치를 눌렀는데, 부팅이 된다는 소리는 나는데 화면에 아무 것도 보이지 않았다. 내 컴퓨터는 2012년형 맥미니이다. 그렇지만, 포스트-스티브잡스 시대의 맥은 사실상 현상유지만 하는 수준이라 업그레이드할 필요를 전혀 느끼지 못하고 있었다. 물론, 그 와중에 2-3차례 작은 업그레이드를 했다. 메모리도 업그레이드했고, SSD도 가져다 끼워 놓았다.

옛날같았으면 가지고 놀 거리가 생겼다고 나름 좋아했겠지만, 이제는 이런 것도 무지 귀찮아졌다. 게다가 하드웨어 고장이라니… 데이터는 어떻게 할 것이며, 또 만약 고장난게 하드디스크라면 그 문제는 어떻게 할 것인가? 이런 문제로 고민하며 약 1주일을 아무 것도 하지 않고 방치해 두었다. 한 두어번 더 켜 보았지만, 여전히 힘있게 “딩”하는 소리는 나지만, 화면에는 아무 것도 보이지 않았다. 아무리 생각해도 비디오카드 문제인 것 같았다. 아니, 적어도 하드디스크 문제는 아니길 희망했다.

사람의 기억이라는 것은 믿을 수 없는 것이다. 지금 이 글을 쓰면서 확인해 보니, 컴퓨터가 죽은 것은 12월 10일 무렵이었다. 왜냐하면, 내가 고치다가 제대로 망가지면 어디로 가져가야 되는지 검색한 것이 12월 14일 경이었기 때문이었다. 여하튼… 어느날 마음을 먹고 제대로 드라이버와 기타 잡다한 것들을 준비하기 위한 마음의 준비를 마치고 컴퓨터를 켜 보았다. 적어도 여기 있는 열 대여섯 가지의 키조합을 다 사용해 볼 결심을 했다. 그리고, 하나씩 해 보는데 부팅이 된다! 희망과 절망이 동시에 찾아왔다. 적어도 비디오카드가 망가지지는 않았다는 희망과 아마도 진짜로 하드디스크 문제일지도 모른다는 절망감. 이 순간을 얼마나 피해왔던가! 마침내 심호흡을 하고, Command (⌘)-R 키를 눌렀다.

⌘ - R의 마법

심호흡을 하고 부팅을 해서 보니, 하드 하나가 보이질 않는다. 원래 있었던 하드디스크는 보이는데, 새로 가져다 붙여 놓은 SSD가 보이지 않는다. 망했다. 망했다는 말만 되뇌이면서 또 4일을 보냈다. 마침내 심호흡을 하고, 맥을 분해하기 시작했다. 긴 말 짧게 하자면, SSD를 끼워 놓았던 케이블이 헐거워져서 생긴 문제였다. 가슴을 쓸어내렸다.

근데 이게 왜 허베이에 사는 해커 때문이냐고?

먹고는 살아야 하는 처지인지라, 그동안도 절망했을지언정 일을 해야 했다. 배신한 맥은 쳐다보기도 싫었으므로, 구석에 쳐박혀 있던 컴퓨터를 꺼내 리눅스를 설치하기 시작했다. 그동안 리눅스를 거의 쓰지 않았지만, 그래도 보고듣는 것은 있어서 요즘은 민트가 뜬다는 정도는 알고 있었다. 그래서, 리눅스 민트로 결심하고 설치를 시작했다. 설치가 끝났다. 요즘 리눅스는 설치라고 할 것도 없다. 그냥 USB 꽂고, 부팅해서 엔터 몇 번만 치면 한 5분만에 끝이다. 윈도우보다도 맥보다도 쉽다. 그리고, 아주 쾌적했다. 그걸로 일을 했다. 그리고, 맥을 되살린 이후 (사실은 그냥 헐거워진 케이블을 다시 꽂은 이후) 이걸 어떻게 할지 고민하기 시작했다. 어차피 전국민이 애국자가 되는 시간인지라 별로 새로 일을 벌이는 사람도 없고, 별로 일도 없었다. 그래서 생긴 일이기도 하다.

일단 리눅스에 있는 그동안 일한 파일을 맥으로 옮겼다. 그리고, 그동안 블로그도 못했고 (모든 자료와 설정파일이 맥에 있었으므로) 여러가지 불편한 점이 있었으므로, 일단 리눅스를 백업용으로 사용할 고민을 하기 시작했다. 일단은 둘 사이에 데이터 교환과 전송이 원활해야 한다. 그래서, 제일 처음으로 고민한 것이 samba를 이용하여 맥과 리눅스를 연결하는 것이었다. 조금 생각해 보고는 피식 하고 웃고 말았다. 내 방에는 맥 컴퓨터와 리눅스 컴퓨터가 있다. 다른 식구가 사용하는 윈도우는 다른 방에 있다. 따라서, 다른 서브넷에 있다. 그런데, 윈도우용 프로그램을 이용해서 연결한다고? 그런 바보같은 생각을 하다니…

그 다음으로 고민한 것이 봉쥬르였다. 일단 맥이 있고, 게다가 리눅스에서 안될 이유가 있겠는가? 리눅스에서는 안되는게 없다. 약 2시간 정도 삽질하고 나서 얻은 결론은 따지고 보면 안될 이유야 없겠지만, 굳이 그걸 할 필요는 없겠다는 것이었다. 역시 최고는 ssh라는 결론을 내렸다. 봉쥬르는 사실 맥에서 할 때는 제법 괜찮았는데 리눅스에서 하니 환상이 깨지는 느낌이랄까… 삼바는 설치라고 할 것도 없이 되긴 했지만, 뭔가 심각한 부담을 주면 너무 부담스러워하면서 움직이질 않았다. 한 1기가 정도 데이터를 보내고 나면 이게 도대체 어디 숨었는지 찾을 수가 없었다. 그래, 구관이 명관이야라고 생각하면서 ssh를 설치하였다. 역시 파일 전송은 scp가 최고였다. 그리고, 당연히 패스워드 로그인은 금지시켜 두었다. 굳이 보안에 크게 신경을 써서라기보다는 계속 키보드로 패스워드를 입력하기가 귀찮아서 RSA 키를 생성하여 이것으로 로그인하게 만들어둔 다음에는 굳이 이걸 열어 둘 필요가 없기 때문이었다. 당연히 지금까지는 굳이 방화벽을 설치한 것은 아니었지만, 어차피 공유기/라우터 뒤에 있는지라 포트 포워딩만 하지 않으면 기본 수준의 보안은 되는 셈 아니겠는가?

그리고, 원래 삽질이라는게 이렇게 한번 손을 대기 시작하면 끊기가 힘든 법이다. 모름지기 안되면 될 때까지 하는게 삽질이고, 또 모든게 다 잘되면 안되는게 나올 때까지 하는게 삽질이다. 일단 손대는 대로 잘 되는 모드이므로, 여기서 조금만 더 해 보기로 했다. 리눅스에 아이폰으로 ssh 연결을 하는 것이었다. 이것도 그냥 너무 쉬웠다. 그냥 애플리케이션 다운로드받고 키파일만 어찌어찌하여 보내고나면 된다. 세 개의 애플리케이션을 사용해서 연결하였다. 첫째는 coda, 두번째는 termius, 그리고 세 번째는 - 이건 좀 이국적인데 - mosh라고 하는 것이다. 뭐, 삽질이랄 것도 없다. 막상 이렇게 해 놓고 나니, 뭐랄까 뿌듯했다. 그래도 삽질한 보람이 있어 보였다.

그리고 내친김에

삽질이란 원래 잘 될 때는 안되는 것에 봉착할 때까지 하는 것이다. 내가 ssh로 내 컴퓨터를 아이폰으로 조작하는 것으로 끝낼 성격이 아니지 않는가? 그래서, 이번에는 컴퓨터에 있는 영화나 음악을 아이폰으로 듣겠다는 결심을 하고, subsonic 그리고 그 다음에는 plex까지 설치를 끝냈다. 사실 문득 여행이나 출장을 가게 되면 “아, 그 음악 미리 가져다 놓을걸” 내지는 “아, 그 비디오를 지금 볼 수 있다면 얼마나 좋을까?”라는 생각을 하게 될 때가 있지 않은가? 떡본 김에 제사지낸다고, 이왕 손댄 김에 제대로 가 보자. 그리고, 제대로 가는데 채 30분도 걸리지 않았다. 그냥 리눅스에서 설치하고, 아이폰에서 연결하면 그걸로 끝이었다. 이러면 안되는데… 요즘 리눅스 좀 건방진거같애… 라는 생각을 하다가 천재적인 생각을 했다. 어차피 집에서 놀면서 하는 것이라 별로 어렵지 않았지만, 그래, 바깥에서도 ssh 연결을 하고, 또 미디어를 연결할 수 있으면 얼마나 쿨하겠는가? 해야 하는 것은 정말 간단하다. 첫째로 라우터에서 방화벽을 풀고, 포트만 포워드하도록 해 주면 되는 것 아니겠는가? 그래서, 그냥 그렇게 했다. 사실 누군가가 해킹이라도 시도해 준다면야 얼마나 짜릿하겠는가, 뭔가 중요한 사람이 된 것 같은 느낌도 들 것 같기도 했다. 또, 나름대로는 긴박한 삽질이라는 매력…

난 왜 이런걸 다 알지?

그리고, 이틀이 지나자 해커가 찾아왔다 (내가 저장해 놓은 파일을 보니 작년 12월 20일경이었다). 소위 말하는 될때까지 두드리는 브루트포스 공격이었다. 첫날은 약간 기분이 좋았다고 할까. 내가 아주 중요한 사람 같아 보였다. 누군가 톰 크루즈같은 사람이 내 정보를 캐내지 못해서 안달하는 것 같은 느낌이랄까. 사실은 알고 있다. 그가 원하는 것은 그저 내 컴퓨터에 신용카드 정보가 있는지나 확인하고 (없다), 좀비로 만들어서 누군가에게 팔려고 하는 것 뿐이라는 것을… 그래도, 아 사람이 상상도 못하냐고?

둘째날은 약간 흥분해서 도대체 이게 어디에서 오는 것인지 따라가 보았다. 중국 허베이에 있는 컴퓨터 몇 대가 번갈아가며 공격을 하고 있었다. 구글에서 허베이가 도대체 어디에 있는지 검색도 해 보았다. 대충 북경과 상해 허베이를 연결하면 삼각형이 된다. 그렇다고 뭔가 이걸 역추적해가서 영웅적으로 나쁜 해커를 잡고 그럴 생각은 애초에 없었지만 (사실 그게 되지도 않을 것이고, 그렇게 해봐야 잡는 것은 저 밑에서 노가다하는 가출청소년 정도일 가능성이 컸다), 아 그래도 사람이 상상도 못하냐고? 어차피 로그인 아이디는 다 막아 두었고, 패스워드 로그인도 막아 놓은 상태이니, 게다가 이 컴퓨터는 얼마전에 고장나서 막 쓰기 시작한거라 별로 손해날 만한 것도 없었다. 그리고, 일주일이 지나니 지겨워졌다. 그래서 포트 번호를 “22”번이 아니라 구글에서 검색해서 어떤 프로그램도 쓰지 않는 이상한 번호로 옮겨 놓고, 방화벽을 올렸다. 그걸로 끝이었다. 어차피 네트워크 케이블의 반대편에 있는 해커도 그냥 가출청소년 정도일 것이고, 심지어는 그가 가지고 있는, 또는 훔친 수십 개의 컴퓨터에서 돌아가는 봇일 뿐일텐데 말이다. 그래도, 어느날은 다시 방화벽을 내리고, 도대체 무슨 짓을 하는지 구경하면서 놀고 싶을 때가 있다. 비도 오고, 좀 그런 날은…

송년회 모임에 가서, 나름대로는 요즘 생긴 일 가운데 가장 짜릿한 일이었으므로, 이런 이야기를 했다. 그가 이야기를 끊고 물었다. “근데, 넌 어떻게 그런걸 다 아니?” 그러게, 난 어떻게 그런걸 다 알지?

이 세상에서 가장 흥분되고, 가장 매력적인 질문

이 세상에서 가장 흥분되고, 가장 매력적인 질문은 바로 이것이다. “난 어떻게 그런걸 다 알지?” 왜냐하면, 자기만족을 주기 때문도 아니고, 교만을 주기 때문도 아니다. 이 질문이 이 세상에서 가장 흥분되고 가장 매력적인 질문인 이유는 바로 그 다음 질문, “그러게, 그럼 이걸로 뭘 할까?”라는 질문 때문이다.

그러고보니, 작년에 미국 로펌에서 가장 심각하게 제기된 문제는 인공지능이 아니라, 해킹 문제였다는 생각이 떠올랐다.랜섬웨어 문제는 로펌 입장에서는 아주 심각한 문제이다. 또, 로펌을 해킹하여 정보를 빼내서 부당거래를 하여 4백만달러를 벌었다는 중국 해커 이야기는 또 어떻고? 한국에서는 아직은 나 몰라라 하는 문제이겠지만, 이것은 아주 심각한 문제이다. 그렇지 않은가? 뭔가 내가 실질적으로 기여할 수 있는 일이 있을 것 같은데? 난 왜 이런걸 다 알지?

난 변호사다. 원래 시험은 잘 본다.

그렇게해서, 크리스마스와 새해가 지나가고, 문득 클라우드에서의 보안 문제에 대해서 조금 알아봐야겠다는 생각이 들었다. 그리고, 내친 김에 AWS Certified Solutions Architect라는 자격증에 관심이 생겼다. 그래서 지난 7일 아마존에서 여기에 대한 책을 한 권 구입하였다. 자그마치 500페이지가 넘는 책이었다. 계획은 이걸 1월에 다 읽고 2월 경에 한 번 시험을 볼 생각이었다. 읽는데 딱 1주일 걸렸다. 한편으로는 여전히 “난 왜 이걸 다 알지?”라는 생각을 하면서, 다른 한편으로는 그래도 열심히 블로그 하면서 남은 것이 있긴 있네라는 생각을 하면서… 대략 15일경에 책을 다 읽었던 것 같다. 그리고, 인터넷에서 예상문제를 찾아서 풀어 보니 합격선이라고 나오는 것 아닌가! 그래서, 시험 날짜를 잡았다. 오늘로. 그리고, 아침에 가서 시험을 봤다. 그리고, 붙었다.

시험에 대한 상세한 정보는 아마존 웹사이트를 참고하라.

앞으로는 아마존 클라우드 솔루션 아키텍트라고 불러다오

Solutions Architect - Associate 이제 고민이 시작되었다. 이제 뭘 할까? 나의 약 40일간에 걸친 삽질과 허베이에 사는 해커와의 (정확히 말하자면 그가 부리는 봇과의) 조우, 그리고 법률산업과 클라우드와 정보보안에 대한 나의 고차원적인 고민의 40일간의 여정은 AWS Certified Solutions Architect - Associate라는 자격증을 손에 쥐는 것으로 끝났다. 이젠 뭘할까? 글쎄, “AWS Certified Solutions Architect - Associate”가 하는 일을 해야겠지? 그게 뭐든 간에…

보너스

그 와중에 또 얻어 걸린게 두세 가지가 더 있다. 첫째는 앞에서도 말한 것처럼 이 모험이 끝나자 내게는 두 대의 컴퓨터가 남았다. 리눅스와 맥. 리눅스와 맥은 비슷한 것 같으면서도 다르다. 가장 크게 다른 것이 보안이다. 리눅스에서는 gufw라는 파이어월을 사용하지만, 맥에서는 BSD의 전통을 따라 pf을 사용한다. pf의 역사는 아주 재미 있다. 이 덕분에 매뉴얼 읽기에 재미를 붙였다.

두번째로 얻어 걸린 것은, 에헴, 새로운 도메인이다. 자그마치 http://hyunkim.lawyer/이다. 아직은 별 것 없지만, 곧 뭔가를 만들 예정이다. 도메인 두 개를 어떻게 운영할 거냐고? 그러게… 그까지는 생각하지 못하고, 그냥… 질렀다. 지금 계획은 이렇다. 사실 여기에 법이나 스타트업이나 이런 내용을 올리다보니 내용은 지저분해지고, 뭔가 재미도 없어지고, 지나치게 심각해지고, 영 별로였다. 사실 위 도메인을 산 진짜 이유는 이메일 때문이었다. hyunkim [at] hyunkim.lawyer 나름 쿨하지 않은가? 일단 샀으니, 뭔가 의미있는 일을 해야 할 것 같아서, 여기에서 하면 재미 없고, 지나치게 진지하고 또 심각해지는 뭔가 장례식장 분위기 나는 이야기들을 주로 거기에 올릴 계획이다. 그리고, 이 사이트는 주로 삽질기 중심으로 올릴까 생각중이다. 좋은 계획 아닌가?

그리고, 내친 김에 - 사실 이렇게 쾌락적인 삽질만 하다가 약간 죄책감이 들어서 - hyunkim.lawyer사이트에는 자료집 페이지를 만들었다. 사실 이 페이지 외에는 지금 이곳과 똑같은 디자인을 가져다 두었기에 별로 바뀐 것이 없다. 이 페이지에 뭐가 좋은게 있냐고? 지금은 별 것 없다. 다만, 미국에서 스타트업을 하려는 사람들에게 도움을 줄 목표로 삽질을 하는 와중에 문서를 하나 만들었다 (삽질과 시험준비만큼 상상력을 자극하고, 딴짓을 하게하고 생산성을 높이는 것은 지금까지 경험으로는 없다). 미국에서 많이 사용되는 NVCA 텀시트 사용 설명서 (pdf)를 만들어서 올려 두었다. 이걸 보면, 여기에서 뭘 하고자 하는 것인지 약간 감이 올 것이다. (저쪽 사이트에서 해야 할 이야기이지만) 많은 피드백 부탁드린다.

새해 계획: 차카게 살자

새해에는 뭔가 의미 있는 일을 많이 해 볼 생각이다. 그게 뭐든 AWS Certified Solutions Architect가 하는 일도 좀 잘 찾아서 열심히 해 보고… 사실 시간만 나면 이런 짓을 하는 것으로 보아 원래 이런 쪽 일을 했었어야 하는 사람 아닌가라는 생각이 들기도 하고… 시험에도 합격한 기념으로 뭔가 의미있는 자원봉사도 좀 해 보고 할 생각이다. 그동안 또 재미나는 삽질도 많이 하고…

사람은 역시 타고 난 대로 살아야 돼. 그리고, 차카게 살자.