2학기 수강신청 첫날이었던 지난 8월 1일, 수강신청 접속장애로 많은 학생들이 불편을 겪었다. 일부 접속자들은 수강신청 대기자 수가 줄어들지 않는 문제가 발생해 원하는 과목을 수강하지 못하는 등의 피해를 입었다. 중앙전산원은 문제의 원인을 수강신청 과정에서 일부 학생들이 매크로 프로그램을 사용하여 서버에 과부하가 걸린 것으로 봤다. 중앙전산원은 매크로 사용으로 보이는 접속자의 요청을 지연하고, 수강신청 매크로 사용에 대한 경고문을 게시했다. 이후 접속 문제는 없었으나 학생들 사이에서 수강신청 매크로 사용이 크게 논란이 됐으며, 수강신청 방식의 근본적 변경 등의 대안도 논의됐다.
수강신청 매크로란 무엇인가
매크로 프로그램은 주로 사용자가 설정해놓은 일련의 작업들을 자동으로 처리하는 프로그램을 말한다. 매크로 기능을 지원하는 엑셀이나 한글 등의 상용 프로그램에서도 버튼 하나에 자주 사용하는 반복작업을 지정해 놓고 편리하게 사용할 수 있다. 수강신청 매크로도 이와 같은 프로그램의 일종이다. 수강할 과목을 선택하고 수강신청 요청을 서버로 보내는 작업을 프로그램이 대신하는 것이다.
학생들이 매크로 프로그램을 사용하는 이유는 크게 두 가지다. 첫째로 사람의 손이 아닌 컴퓨터가 직접 작업을 수행하기 때문에 분초를 다투는 수강신청 경쟁에서 우위를 점할 수 있다. 매크로 프로그램은 보통 수강신청을 한다는 정보를 초당 수십 회씩 보내기 때문에 이번 사건과 같이 수강신청 시작 직후에 서버에 요청이 폭주하는 원인이 된다.
둘째는 수강신청 기간에 원하는 강좌에 자리가 비었을 때 바로 신청을 하기 위함이다. 대부분의 인기강좌의 경우 수강신청 시작 직후 수 분 안에 마감되는데 이때 수강신청을 놓치면 몇 시간씩 수강신청 사이트를 지켜보며 결원이 비기를 기다릴 수밖에 없다. 이 지루하고 고된 작업을 하는 대신 매크로 프로그램을 켜놓으면 몇 시간 후에 결과를 확인하는 것으로 충분하다. 이 과정에서도 역시 사람의 반응보다 초당 수십 회씩 수강신청 요청을 보내는 매크로가 우위에 있기 때문에 간혹 강의 교환이나 거래 목적으로 강좌에 빈자리가 생긴 몇 초 사이에 매크로가 그 자리를 차지하는 해프닝이 벌어진다.
매크로 문제, 이번이 처음인가
이번 사건을 통해 화제가 되긴 했지만 학생들의 매크로 사용은 이번이 처음이 아니다. 이전부터 만연했던 매크로 사용을 방지하기 위해 본부는 3학기 전부터 보안문자를 도입했다. 보안문자 도입 후 매크로로 인한 접속 장애가 발생한 것은 이번이 처음이다. <대학신문>의 8월 11일자 보도에 따르면 작년에도 수강신청 시 매크로를 쓰는 정황이 포착됐다. 즉 보안문자 도입으로 매크로 사용이 줄었으나 보안문자를 통과하는 신종 매크로가 다시 유포되면서 이번 접속장애가 발생한 것이다.
‘캡차 코드(Captcha code)’로 불리기도 하는 보안문자란, 이미지 형태의 문자를 보여주고 여기에 쓰인 문자를 입력하게 하는 방식으로 컴퓨터는 이미지 형태의 문자를 인식하기 어렵다는 점에 착안한 보안 대책이다. 보안문자를 입력하기 위해서는 사람이 직접 이미지를 보고 문자를 기입해야 하기 때문에 매크로 방지책으로 차용된 것이다. 주로 웹사이트에서 프로그램에 의한 자동가입 방지 등을 위해 사용하며, 서울대 수강신청 체계에는 수강신청을 할 때 2자리 숫자를 입력하도록 돼 있다.
문제는 수강신청 체계의 보안 문자가 2자리 숫자로 경우의 수가 00~99까지의 100건에 불과하며 왜곡이 없어 보안이 허술하다는 점이다. 실제로 서울대 수강신청 매크로를 개발한 A씨는 “보안문자에 쓰이는 각 숫자들의 이미지가 등장할 때마다 매번 동일하다. 이 이미지를 분석해 이미 파악된 00부터 99까지의 이미지 정보와 대조하는 방식으로 숫자를 인식할 수 있으며 이 인식된 숫자를 자동으로 입력란에 기입하는 식으로 매크로를 개발할 수 있었다”고 밝혔다. 실제로 근래에 사용되는 보안문자들은 글자들이 임의의 위치에 비틀리거나 삭선이 그어진 등의 복잡한 형태로 나타나는데 이러한 보안문자들 중에서도 프로그램에 의해 파훼된 것들이 있다. 서울대 수강신청의 보안문자는 매우 단순한 형태였기 때문에 매크로 등장은 예견된 일이었다.
매크로 사용, 학생들의 의견은
총학생회가 학내 인터넷 커뮤니티 ‘스누라이프’를 통해 이번 접속장애 사건의 원인이 매크로에 있음을 밝히자 매크로 사용에 대한 뜨거운 논의가 벌어졌다. 매크로, 혹은 이로 인한 접속장애로 피해를 보았다는 글들이 많았으며, 몇몇 게시물에는 매크로 사용에 대한 비판과 이에 맞서 매크로 사용을 옹호하는 의견이 충돌하며 수십 개의 댓글이 달렸다.
‘매크로 사용으로 인해 이번 접속장애 사건이 초래돼 정상적으로 수강신청을 하던 학생들이 피해를 봤다’는 문제제기에 대해, 매크로 사용을 옹호하는 측에서는 ‘서버에 초당 수십, 수백 건의 과도한 수강신청 요청을 보내는 매크로는 그러한 문제를 초래하지만, 사람이 손으로 할 수 있는 수준을 컴퓨터가 대신해 주는 매크로는 문제가 되지 않는다’고 주장했다. 이를 비판하는 측에서는 ‘매크로를 사용할 수 있는 학생과 그렇지 않은 학생 사이의 형평성에 문제가 된다’며 반박했다.
수강신청 매크로를 개발한 A씨는 “은행을 터는 강도가 내일 카드값 50만 원을 갚아야 하니까 그것만 훔치려 할 리가 없듯, 매크로를 사용하면서 사람이 손으로 할 수 있는 수준으로 제한해놓고 사용하는 사람은 없을 것 같다”고 말했다. 그는 “수강신청이 매크로 사용이나 일부 사용자가 과도한 트래픽을 유발할 수 있는 취약점으로 인해 일부 전공자들이 보안상의 문턱을 쉽게 넘어 편법을 사용할 수 있는 것은 형평성에 어긋난다”고 지적했다.
선착순 제도, 대안은 없는가
학생들의 매크로 관련 논의에서 현재 수강신청 방식인 선착순 제도에 대한 대안이 종종 언급됐다. 매크로 사용의 동기 중 하나가 신청이 몰리는 인기강좌에 남들보다 빠르게 신청을 하기 위함이므로 그 근본적 원인은 선착순 제도에 있는 지적이 있었다. 또 선착순 제도에 대해 남들보다 인터넷 환경이 나쁘거나 컴퓨터 사용 미숙, 순발력 등으로 수강신청이 느린 학생과 그렇지 않은 학생 간의 형평성 문제도 제기됐다. 때문에 이에 대한 개선책으로 카이스트에서 시행 중인 추첨제와 서울대 MBA에서 시행 중인 비딩(입찰)제 등이 제시됐다.
그러나 이러한 대안들에도 문제가 없는 것은 아니다. 추첨 제도는 신청인원이 수강정원을 초과하는 강의에 한해 수강인원을 신청인원 중 추첨으로 선발하는 제도다. 이 경우 추첨에서 운이 따르지 않아 필요한 과목을 계속 듣지 못하는 학생이 생기거나 졸업을 앞둔 학생이 곤란을 겪을 수 있다. <카이스트신문> 보도에 의하면, 추첨제를 시행 중인 카이스트에서도 몇몇 학생들이 교양과목을 과다하게 신청해 문제가 되는 것으로 드러났다.
비딩 제도는 학생들에게 매 학기 수강신청마다 일정 포인트를 부여한다. 학생들은 신청한 과목에 자신의 포인트 한도 내에서 포인트를 투자하고, 신청인원이 수강정원을 초과하는 강의는 투자한 포인트가 높은 순으로 수강자격을 부여한다. 이 경우 학생들이 눈치보기로 인해 수강신청에 지나치게 많은 시간을 쏟을 수 있으며, 현재 컴퓨터 관련 전공자들이 타 학생들에 비해 매크로에 대한 접근성이 좋은 것처럼 경제, 경영 관련 전공자들이 이점을 누릴 가능성이 있다. 실제로 비딩제를 실시하는 곳은 서울대 MBA, 와튼스쿨 MBA 등 MBA 과정이 대부분이다.
이외에 현 선착순 제도에 대한 보완책으로 제시된 방안으로는 수강신청 대기자 제도가 있다. 수강신청 인원이 초과된 후 신청하는 학생들에게 대기번호를 부여해 수강신청 취소로 자리가 생길 경우 대기번호 순으로 수강신청권을 부여하는 방식이다. 선착순으로 인한 경쟁은 마찬가지지만 수강신청 양도 및 매매, 결원을 노린 매크로 사용 등에 대한 해결책으로 평가받고 있다. 학사과는 아직 수강신청 방식의 변경에 대한 계획을 갖고 있지 않다. 학사과 박정해 주무관은 “해당 대안들도 문제가 없지는 않은 방식인 만큼, 수강신청 방식이 변경된다면 총학생회를 통해 학생들의 의견을 충분히 수렴하여 변경할 계획”이라 밝혔다.
매크로 문제, 앞으로의 전망은
매크로 사용으로 인한 과부하 문제를 막기 위해 짝수학번 신청일인 수강신청 둘째 날부터 전산원에서는 사용자의 접속 요청 사이의 표준편차가 일정 수준 이하인 경우 매크로 사용으로 판단하고 접속 요청을 10초간 지연하는 방식으로 대응했다. 반복적인 수강신청 요청주기가 매우 일정하거나 혹은 전체적인 요청주기가 매우 짧으면 매크로로 판단하는 것이다. 11월 4일 시작될 겨울학기 수강신청부터는 차세대 통합행정정보시스템 도입으로 수강신청 체계도 변경될 예정이다. 현재의 취약한 보안문자가 개선되며, 수강신청 서버의 초당 트래픽 처리량이 2만 건에서 3만 건으로 증가한다.
그러나 매크로 사용을 근본적으로 차단하기는 어려운 실정이다. 보안문자가 강화돼도 이를 파훼하는 매크로 프로그램이 나오기 마련이다. 그런데 일반 인터넷 사이트처럼 보안문자를 너무 어렵게 만들면 사람도 틀릴 여지가 많아져 시간을 다투는 수강신청에는 적절하지 않다. 매크로 개발자 A씨는 “보안문자가 강화되더라도 보안문자를 인식하는 알고리즘이 많이 공개돼있고, 기존 매크로 프로그램에서 보안문자 인식 부분만 변경하면 되기 때문에 한 시간이면 새로운 매크로가 만들어지리라 본다”고 전망했다. 그는 “초당 요청 횟수 등 매크로 단속 기준을 만들더라도 그 기준에 맞춰 새로 매크로를 만들 수 있고, 처벌 규정이 신설되면 개발자들이 혼자, 혹은 지인 몇 명과만 사용하면 되므로 매크로 사용 자체는 없어지지 않을 것”이라며 수강신청 방식이 바뀌지 않는 한 매크로가 근본적으로 없어지지는 않을 것이라 내다봤다.
총학생회에서는 앞으로 있을 49차 교육환경개선협의회 안건지에서 매크로 사용과 학번 대여, 강의 매매 등의 문제에 대한 대안으로 매크로 처벌 학칙 신설과 수강신청 대기자 제도를 제시했다. 학사과 측은 매크로의 제작·배포·사용에 대한 처벌에 대해 논의 중에 있으나 아직 처벌 규정 등을 도입할 계획은 없다는 입장이다. 박정해 주무관은 “매크로 사용자를 특정하기 어렵고, 학교는 학생들을 처벌하기 위한 곳이 아니”라며 “학생들이 자발적으로 매크로를 사용하지 않는 분위기를 만들었으면 한다”고 당부했다.