“동아리명인 ‘CYKOR(CYber security club at KORea university)’는 남들이 생각하는 방식과 조금 다르게 생각해 정보보호 분야를 연구하겠다는 의지의 표현입니다” 정보보호대학원 동아리로 시작한 CYKOR는 현재 정보보호학부생도 참여하는 연구 동아리로 성장했다. 주 1회 모임에서 발표자로 지정된 2명은 자신이 해킹 방어 대회 문제를 어떻게 풀었는지, 자신이 분석한 해킹 사례 등을 회원들과 공유한다. 10월 30일 열린 세미나에 참여해 어떤 논의가 오가는지 들어봤다.

본교 해킹동아리  'CYKOR'  세미나가 진행 중이다.

  세미나는 과학도서관 2층에 위치한 정보보호학부생 실습실 ‘워룸(War Room)’에서 진행됐다. 워룸은 여러 대의 컴퓨터가 동그랗게 그룹을 이룬 쌍이 4개 있는 구조였다. 측면에는 7대 정도의 대형 TV가 일렬로 배치돼 PPT 자료를 띄우면 사방에서 볼 수 있었다. 10여 명의 학생은 각자의 위치에서 보기 편한 TV를 보면서 발표자의 말에 경청하고 때론 색다른 의견을 제시하기도 했다.

  최영철(정보보호12) 씨는 이날 ‘POS(Point of Sales System) 공격’에 관해 발표했다. POS는 팔린 상품에 대한 정보를 판매 시점에 즉시 기록해 판매 정보를 관리하는 체계다. 최영철 씨는 자신의 결제 내역과 카드 내역을 조작한 사례를 설명했다. POS 공격의 첫 단계는 카페의 무선 네트워크에 접속해 네트워크의 주소결정 프로토콜(Address Resolution Protocol)을 공격하는 것이다. 공격 시 두 네트워크 간 통신에서 공유되는 정보를 가로채 변조하는 기술인 ‘중간자 공격(MIMT, Man In The Middle attack)’ 기술 중 ARP 스푸핑(Spoofing)을 이용한다. 이는 특정 컴퓨터의 고유 번호인 ‘맥(MAC) 주소’가 적히는 목록을 위조해 해커 PC가 수신자 PC인 척 정보를 빼내는 기술이다. 발표 도중 한 학생이 불쑥 ‘공격 시 IP 주소도 고려해야 하지 않냐’는 의견을 제시했다. 이에 최영철 씨는 “IP 주소는 사람이 임의로 지정한 사용자 중심의 주소인 반면 맥 주소는 네트워크 상 고정된 컴퓨터 중심의 주소라는 점에서 공격 시 더 정확하다”고 말했다.

  두 번째 단계는 컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록인 패킷을 분석하는 프로그램 ‘와이어샤크(WIRESHARK)’를 이용해 ‘패킷’을 수집하는 것이다. 카드 정보를 보내는 형식은 은행마다 다르지만 많은 패킷을 수집해 분석하면 특정 정보 값을 유추할 수 있기 때문이다. 마지막 단계는 유추된 특정 정보 값을 원하는 값으로 변조해 무선 네트워크 상에 내보내는 것이다. 분석 사례로 최영철 씨는 우리은행에서 1,020원을 결제했지만 정보 값을 바꿈으로써 결제 내역을 100원으로 변조했고 하나은행의 다른 계좌에서 1,020원을 결제했다는 카드 내역을 조작했다. ‘POS기가 유선으로 잡히는 경우엔 ARP 공격이 불가하냐’는 질문에 최영철 씨는 “무선 네트워크를 이용할 시 같은 공유기를 지나 감염되기 쉽다”며 “랜 선을 같은 공유기에 뽑으면 유선 네트워크 상 공격도 가능하다”고 답했다.

  주현준(정보보호13) 씨는 ‘2013 해킹방어대회’의 기출문제인 ‘SQL 인젝션(Structured Query Language injection)을 이용해 서버의 특정 폴더에 접근해 정답 파일을 찾아라’를 자신의 방법으로 풀어냈다. SQL 인젝션은 데이터베이스가 이해하는 용어인 SQL로 구성된 명령문장인 SQL 쿼리(Query)를 조작하는 해킹 기술이다. 주현준 씨는 ‘http://118.107.172.213:3889/kisaHdconWeb1/students.do?show=11’에서 show구절을 변형하는 방법을 이용해 서버를 만든 사람만 아는 데이터베이스의 저장 구조를 파악했다. 주현준 씨는 “'show=1#', 'show=1), 'show1)and(2', 'show=1+1'을 입력할 때 오류가 나거나 0개의 화면이 출력됐지만 ‘show=1’을 넣으면 1개의 행이 출력됐다”며 “이후 ‘show=7’을 넣으면 7개의 행이 출력되나 ‘show=8’을 넣으면 오류가 났기 때문에 서버의 구조가 총 7개의 행으로 구성됨을 알게 됐다”고 말했다. 서버의 구조를 알아낸 후 ‘key’라는 이름의 의심되는 행이 존재했고 이를 SQL 인젝션을 이용해 알아내 정답 파일을 찾을 수 있었다. “명령문 ‘orderby=7’이면 행이 출력되지만 ‘orderby=8’을 입력하면 오류가 난다는 점에서 행이 7개 임을 알았다”며 다른 풀이를 제시하는 학생도 있었다. 김보겸(정보보호12) 씨는 “입학 당시 컴퓨터가 낯설었는데 세미나를 통해 많이 공부하고 학문적으로 성장하는 발판이 됐다”며 “스스로 분석한 사례를 공유하면서 정보보안에 대한 색다른 시각을 갖는 장점이 있다”고 말했다.

* 주소결정 프로토콜   : IP 주소를 물리적 네트워크 주소로 대응시키기 위해 사용되는 프로토콜
* MAC(Media Access Control) 주소   : 인터넷 인터페이스의 물리적 주소

저작권자 © 고대신문 무단전재 및 재배포 금지