‘김치콘’은 보안과 해킹을 주제로 하는 학회로 2015년 시작됐다. 올해는 7월 1~2일 대전 KAIST에서 열렸다. 이름부터 ‘B급’ 냄새가 물씬 풍기는 이 학회에서 가장 눈에 띄는 것은 참가자들이 목에 걸고 있는 배지다. 기판에 디스플레이 화면과 조이스틱까지 달린 배지로, 게임도 하고 공지사항도 전달받을 수 있다. 배지를 해킹하면 다른 사람의 배지를 맘대로 조종할 수도 있다. 이 배지는 김치콘 준비위원들이 직접 제작한 세상에서 단 하나뿐인 배지다. 그들의 좌충우돌, 가내수공업 배지 제작 후기를 들어 봤다.
처음 배지를 제작하자고 아이디어를 낸 것은 필자였다. 해외의 유명 해킹 학회에서는 명찰 대신 기판으로 만든 배지를 주곤 하는데, 여기서 아이디어를 얻었다. 곧장 김치콘 페이스북에 올려 함께 개발할 개발자를 모집했다. 하드웨어 해킹 전문가인 몽이(정구홍 그레이해쉬 연구원) 님이 처음에 지원을 했고, 그 뒤 메인보드 기판을 설계할 수 있는 나스카(이원 그레이해쉬연구원) 님이 합류했다. 미국 시애틀, 서울 등에 흩어져 있었기때문에 주로 인터넷 메신저를 통해 의견을 교환했다. 시애틀 마이크로소프트 본사에서 근무하는 필자는 한국에 있는 두 사람과 이야기를 하느라 밤을 새는 일이 다반사였다.
처음에는 다른 학회에서 사용하는 것처럼 간단한 게임과 공지사항 정도를 안내할 수 있는 배지를 제작하는 것이 목표였다. 단가는 10달러 내외로 저렴하게 책정했다. 하지만 대화를 할수록 욕심이 커졌다. 나중에는 김치콘이 끝난 뒤에도 계속 활용할 수 있는 작은 하드웨어를 만들자는 것으로 의견을 모았다.
자연스레 우리의 관심은 오픈소스 하드웨어인 아두이노로 향했다. 아두이노를 사용하면 원하는 기능을 하나씩 추가해 손쉽게 나만의 하드웨어를 제작할 수 있다. 2005년 처음 공개된 이후 지금까지 여러 종류의 아두이노가 개발됐는데, 현재 가장 널리 쓰이는 것은 아두이노 우노(UNO)다. 우노도 MCU(PC의 CPU같은 존재로, 아두이노의 중앙처리장치)에 따라 여러 종류로 나뉘는데, 그 중에서 USB 연결을 지원하는 최신 MCU를 사용하기로 결정했다(비용은 또 늘었다).
MCU는 외부와 통신할 수 있는 기능이 없어 통신기능을 별도로 추가했다. 이 분야의 전문가인 몽이 님의 제안으로 처음에는 미국산 무선칩을 고려했는데, 인터넷에 직접 연결하는 기능이 없어 결정을 내리지 못했다. 그때 주위의 해커들이 추천해준 것이 ‘ESP8266’이라는 중국산 무선칩이었다. 이미 알 만한 사람은 다 아는 ‘핫’한 아이템이라고 지인이 귀띔을 해줬다. 소문대로 성능만큼은 압도적이었다. 우리가 사용한 MCU보다 명령어 처리 속도가 10배 이상 빠르고, 모든 소프트웨어 코드가 공개돼 사용자들이 직접 제작한 맞춤 소프트웨어도 다양했다. 게다가 가격은 1~2달러 정도로 매우 저렴했다.
완벽한 이 칩의 한 가지 문제점은 안정성이었다. 불과 몇 년 전에 처음 세상에 등장했기 때문에 아직 충분한 검증을 거치지 못했다. 우리가 설계한 환경에서 정상적으로 작동할지 확신이 없다며 몽이님이 특히 반대를 했다. 반대로 필자는 무리를 해서라도 이 칩을 사용하고 싶었다(칩의 성능이 그만큼 뛰어났다). 격렬한 토론 끝에 결국 이 칩을 사용하는 것으로 가닥을 잡았지만, 완성 단계 전까지 문제가 생기지 않을까 마음을 졸여야 했다.
모든 제작 과정은 토론을 통해서 결정됐다. 아무리 작은 일이라도 팀원들과 공유하고 의견을 모았다. 전문가 한 명이 독단적으로 처리하는 게 더 효과적이고 빠르겠지만, 프로젝트에 참가하는 사람이 하드웨어 설계를 이해하고 토론할 수 있는 분위기를 배우는 게 중요하다고 생각했기 때문이다.
기본적인 ‘사양’이 결정되고 나서 몽이 님이 처음으로 보드 위에 필요한 것을 하나씩 배치하는 작업을 시작했다. 나스카 님은 이 부품을 연결하는 회로를 설계했다.
배지 디자인에서는 디스플레이 크기가 문제였다. 처음에는 0.9인치 OLED 디스플레이를 사용하려고 했었는데, 막상 디자인을 해보니 배지 크기에 비해 디스플레이가 너무 작았다. 그래서 크기도 크고 더 다양한 색상을 지원하는 1.8인치 LCD로 디스플레이를 바꿨다. LCD는 처음에는 전력소모가 클 것 같아제외했는데, 막상 연결해보니 별 문제가 없었다. 배터리는 건전지 대신 충전이 가능한 배터리를 사용하기로 결정했다. 마지막으로 디스플레이 하단에 작은 조이스틱과 버튼을 부착해 조작을 하기로 했다.
6월 중순에 처음으로 테스트용 제품을 제작했다. 몽이 님과 나스카 님이 일일이 보드에 부품을 하나씩 연결해 만든 것이다. 테스트에서 중점적으로 살펴본 것은 배터리였다. 계산으로는 8시간 정도는 충전 없이 작동할 수 있었는데, 실제 제품에서도 그렇게 작동하는지 확인하는 게 중요했다. 다행히 테스트 제품도 예측한 시간만큼 작동했다. USB를 통해 충전이 가능한 배터리로 골랐기 때문에, 노트북과 틈틈이 연결하면 불편함 없이 사용할 수 있을 것 같았다.
본격적인 제작은 대부분 외부에 맡겼다. 200개나 되는 배지를 테스트처럼 일일이 조립할 수 없기 때문이다. 다만 비용과 시간을 최대한 줄이기 위해 우리가 할 수 있는 일은 직접 하기로 했다. 그중 하나가 납땜이었다. 비교적 크기가 커 납땜이 쉬운 조이스틱과 버튼 등은 우리가 직접했다. 개발자들만으로는 200개를 모두 납땜할 수 없어 페이스북을 통해 자원봉사자를 모집해 함께 작업을 했다. 다들 컴퓨터라면 한 가닥씩 하지만, 실제로 납땜을 해 본 사람은 많지 않았다. 배지 완성품 중에 유난히 울퉁불퉁한 납땜 자국이 있다면, 그건 아마 그날 납땜을 처음해 본 이의 작품일 것이다. 소프트웨어 설치도 납땜과 함께 동시에 이뤄졌다.
마지막 조립과정에도 문제가 생겼다. 물건을 실물로 보고 주문한 것이 아니기 때문에, 어떤 부품은 온라인에 표시된 크기와 실제 크기가 달랐다. 특히 조이스틱은 조작이 불가능할 정도로 크기가 작았다. 새로운 부품을 주문할 시간이 없었기 때문에 궁여지책으로 3D프린트 전문가를 섭외해 직접 200개의 새로운 조이스틱을 만들어 문제를 해결했다. 하루 전날에는 중국에서 주문한 배터리가 마지막으로 도착했다. 항공배송에서 배터리가 위험물로 분류돼 배송절차가 무척 까다로워 늦어진 것이다. 만약 배터리가 제때에 도착하지 못했다면 조금 더 비싸더라도 국내에서 구매할 계획을 마련해 뒀다.
직접 마무리 작업을 한 것은 제작비용과 시간을 줄이기 위한 방편이었지만, 이 과정을 통해 다른 사람이 만들어준 제품이 아니라 학회 참가자들이 직접 만든 제품으로 탈바꿈할 수 있었다.

7월 1일 아침 10시. KAIST IT융합빌딩 지하 1층에 내로라하는 해킹 전문가들이 속속 모였다. 그들은 배지를 받고는 아이처럼 좋아했다. 가장 인기가 있었던 것은 내장된 게임이었다. 모두들 스마트폰을 잠시 내려놓고 조이스틱과 버튼을 타닥타닥 눌렀다. 플래피버드라는 오픈소스 게임인데, 게임의 결과가 실시간으로 서버에 전송돼 바로 순위가 매겨졌다. 학회 마지막 시간에 점수가 가장 높은 10 명을 무대로 불러내 대결을 펼쳤다.
해킹 학회 본연의 임무도 소홀히 하지 않았다. 우리는 일부러 배지가 원격으로 해킹될 수 있게 만들었다. 만약 이 약점을 알면 다른 사람의 배지에 원하는 메시지를 맘대로 출력할 수 있다. 이번 김치콘에서 사물인터넷(IoT) 보안과 관련된 발표가 많았는데, 배지를 통해서 실전 감각을 키워봤으면 하는 의미에서 준비한 이벤트였다. 우승 상품이 무려 비디오 게임기라는 소식에 모두들 눈에 불을 켜고 달려들었다. 둘째 날 새벽에 승자가 등장했다. 비디오 게임기를 가져간 것은 홈그라운드의 이점(?)을 가진 KAIST팀이었다.
배지가 가장 멋지게 활약을 한 장소는 첫째 날 밤에 벌어진 ‘해커톤(hackerthon)’이었다. 해커톤은 프로그래머들이 아무 제한 없이 마음대로 프로그램을 개발해 실력을 뽐내는 자리다. 김치콘 배지는 오픈소스인 아두이노를 기반으로 제작됐고, 조이스틱, 버튼, 디스플레이, 무선칩 등 기본적인 기능이 모두 탑재돼 있기 때문에 개발 자유도가 높다. 그날 밤 KAIST 모처에서 10여 명의 참가자들이 저마다 준비한 방법으로 배지를 개조하기 시작했다. 일본에서 온 개발자 한 명은 방사능 센서를 달아 방사능을 측정하는 배지를 만들었고, 손뼉을 쳐서 음악을 트는 배지도 등장했다. 밤을 새워 만든 이 해커톤 작품은 둘째 날 폐회식 직전에 모든 참가자들 앞에서 공개됐고, 그 자리에서 바로 심사가 이뤄졌다. 영예의 1등은 알코올 측정기를 연결한 음주측정 배지가 차지했다. 1등 수상자에게는 건담 조립모형이 전달됐다. 시작은 필자, 몽이, 나스카 등 세 명이었지만 배지를 완성시킨 것은 김치콘 참가자들이다. 매캐한 연기를 마다하지 않고 납땜에 도움을 준 자원봉사자, 즐겁게 게임을 즐긴 사람들, 기상천외한 방법으로 배지를 개조한 해커톤 참가자들이 없었다면 배지도 없었을 것이다. 이렇게 아래에서부터 자유롭게 아이디어를 낼 수 있는 분위기가 바로 김치콘이 추구하는 방향이다. 높으신 분들이 내려준 주제로 고상하게 이야기를 나누는 것에서 벗어나 새로운 아이디어를 주고받고자 했던 원래의 취지가 배지를통해 드러나 너무나 즐거웠다. 내년에도 다시 찾아올 김치콘을 기대하시라.
