금융권 디도스 공격방어, 지금이 '골든타임'
[IT동아]
"아침에 출근하면 메일을 열어보기가 두렵습니다. 오늘도 디도스 공격을 하겠다는 협박 메일이 와있을 테니까요."
한 은행사에 근무하고 있는 전산담당자는 출근하자마자 스트레스가 시작된다. 지난 주부터 영문의 협박 메일에 시달리고 있기 때문이다. 최근 국내 금융업계가 디도스 공격으로 비상이 걸렸다. 신한은행, KB국민은행, 우리은행, KEB하나은행, NH농협은행 등 시중은행 7곳과 한국거래소, 증권사 2곳 등 금융사를 대상으로 디도스 공격 협박 메일을 날라 들었다.
협박 메일의 내용은, "6월 26일부터 한국 모든 금융권에 대해 디도스 공격을 선포한다. 우리는 1TB bps 공격이 가능하다. 만약에 10비트코인(약 3,000만 원)을 지불하지 않으면 모든 서비스는 마비될 것이다"로, 말그대로 테러 수준이다.
몇 주 전엔 국내 호스팅 업체 서버를 공격해 연관된 모든 사이트를 줄줄이 마비시키더니, 이번엔 전국민의 돈이 묶여있는 금융권을 '타겟'으로 삼았다. 해킹 테러단이 한국 지도를 펼쳐놓고, 산업별로 금을 그어 한 구역씩 전멸시킬 작정인가 보다. 공격 D-day였던 26일, 피해는 어느 정도였을까?
일부 언론 보도에 따르면, 4곳 정도만 디도스 공격을 받았고 자체 방어력으로 모두 막아 피해는 없었다. 하지만 실제로는 모든 금융사에 디도스 공격이 행해졌고, 상대적으로 규모가 작은 일부 저축은행은 사이트 끊김과 일시적 네트워크 오류 등 피해가 있었다. 7월에도 추가 공격은 예고되어 있다.
이에 금감원은 모든 금융사를 대상으로 디도스 공격자의 부당한 요구(비트코인 지불)에 절대 응하지 않아야 한다고 공문을 내린 바있다.
현재 국내 금융권을 공격하고 있는 해킹 조직단인 '아마다 콜렉티브(Armada Collective)'는 한국 공격보다 며칠 앞선 15일, 중국 금융기관을 대상으로 디도스 공격 협박 메일을 보냈고, 이중 4개 기업이 대규모 디도스 공격을 당했다. 게다가 일부 기관은 데이터베이스 인젝션 공격까지 당해 민감한 데이터 정보가 해커의 손에 넘어갔다.
이 조직은 2015년부터 2년 연속 전세계 140여 개 이상의 금융기관을 대상으로 코드명 'Opicarus2017' 공격을 감행한 것으로 알려져 있다. 이 때문에 홍콩 상해은행을 비롯, 터키, 그리스, 멕시코, 방글라데시 등의 중앙은행과 미국연방준비은행, 세계은행, 국제통화기금, 뉴욕증권거래소 등 세계 주요 금융기관이 심각한 영향을 받았다. 게다가 올해부터는 공격 방식을 바꿔 디도스 공격과 함께 SQL 인젝션 공격을 진행하고 있다.
SQL 인젝션 공격이란, 클라이언트 입력 값을 조작해 서버의 데이터베이스를 공격하는 방식이다. 대게 해커는 이 방식으로 데이터 정보를 열람, 조작, 절취한다. 우리 금융권이 현재 가장 우려해야 할 부분이다. 인젝션 공격으로 금융기관의 중요 데이터가 유출된다면 그 결과는 절망적이고 치명적이다. 온 국민의 개인정보와 자산정보가 순식간에 날아갈 수 있다.
지난 번 인터넷나야나 사태처럼 백업과 복구에 문제가 발생하면, 한국은 그야말로 대공황상태에 빠져버린다. 아직 발생하진 않았지만 이대로 있을 수 없다. 디도스 공격뿐만 아니라 데이터 유출 공격에도 철저한 대비가 필요하다.
우선, 정부기관이나 대기업은 디도스 공격에 대응하기 위한 기본 시스템은 갖추고 있다. 금융권은 각자 자금을 부담해 공동으로 사이버 대피소도 운영하고 있다. 사이버 대피소는 특정 사이트에 대량의 트래픽을 발생시켜 접속 불능 상태로 만드는 디도스 공격을 당했을 때, 트래픽을 우회하여 분석 및 차단함으로써 정상 서비스 운영이 가능케 하는 디도스 방어 서비스를 말한다.
현재 금융 사이버 대피소에서 감당할 수 있는 용량은 40GB 정도다. 하지만 이번 사태는 1회성 트래픽 공격량이 기본 10GB~20GB로, 자체 시스템이나 사이버 대피소로는 온전히 대응하기가 벅차다. 게다가 향후 1TB(1024GB)급 공격을 예고한 상황이라 명확한 대책이 필요하다.
이에 주요 금융사들은 임시방편으로 디도스 방어에 탁월하다고 알려진, 통신서비스사업자가 운영하는 민간 사이버 대피소를 이용하고 있다. 이는 월 600만 원 이상이 드는 고가의 서비스고, 이번 사태로 매일 공격량이 증가하고 있어 서비스 비용도 계속 올라가고 있는 추세다. 비용 문제로 이용 여부를 고민할 겨를도 없이, 이 시점에서는 금융사들에겐 선택권이 없는 듯하다.
심각한 건 중소기업 및 영세사업자다. 이들은 고가의 장비와 서비스 이용료 때문에 시스템 구축이나 민간 사이버 대피소 이용을 엄두조차 내지 못한다. 한국인터넷진흥원(KISA)에서 중소기업, 영세사업자, 비영리단체를 위해 디도스 공격 예방과 대응 서비스를 무료로 이용하도록 디도스 사이버 대피소를 운영하고 있지만, 무료다 보니 제공 기능에는 한계가 있을 수 밖에 없다. 어쩔 수 없이 사이버 보안은 비용을 투자한 만큼 체계화되고 고도화된 기술력을 발휘한다.
수요와 공급이 만나 가격이 책정되는 경제 논리에 따르면 지금 시점에서는 서비스 비용이 올라가는 게 당연하다. 하지만 민간 사이버 대피소에게 당부하고 싶은 점은, 잠깐이나마 서비스 비용을 낮추고 금융권 전체가 모두 이용할 수 있는 풀을 만드는 것이다.
정부에게는, 민간이 투자하고 정부가 관리하는 형태로 사이버 대피소를 크게 확충해 주길 요청한다. 일방적인 민간 사이버 대피소의 희생을 강요하지 않으면서, 사이버 테러가 예고되고 발생할 때마다 즉시 대응할 수 있는 체계를 구축하자는 것이다. 물론 초기 비용과 시간은 다소 소요되겠지만, 이런 시스템만 잘 구축하면 금융권뿐만 아니라 모든 산업 분야의 사이버 테러에도 적용할 수 있는 좋은 방안이 되리라 기대한다.
아울러, 향후 큰 위협이 될 인젝션 방어에도 대응책이 필요하다. 인젝션 공격에 대응하는 방법에는 크게 두 가지가 있다. 보안 솔루션(웹 방화벽 WAF)으로 대응하는 방법과 시큐어 코딩(Secure Coding)으로 대응하는 방법이다.
전자의 경우, 대부분 시그내처(Signture) 방식으로 우회하는 꼼수를 당할 가능성이 크다. 이에 대한 차선책으로 웹나이트(WebKnight, 윈도우 서버용 IIS 웹서버), 모드시큐리티(ModSecurity, 아파치 웹서버) 등 소프트웨어 방식의 제품을 제시하고 있지만, 이 또한 우회 기법이 동영상으로 많이 공개되어 있어 결코 안전하지 못하다.
결론적으로 후자의 방법이 핵심일 텐데, 시큐어 코딩은 웹 프로그래밍 언어, 즉 웹 소스 상에서 문제가 되는 부분을 원천적으로 안전하게 처리토록 개발하는 것이다. 전체 소스코드에서 데이터베이스와 연동된 페이지를 목록화한 후, 데이터베이스 쿼리문에 들어가는 입력 데이터에 대해 검증을 수행하는지 체크하고, SQL 쿼리문(select, from, union, where, substr 등) 및 특수문자(',--,/*)가 있을 경우 이를 필터링 및 치환하도록 적용하는 것이 가장 좋다.
시큐어 코딩은 좋긴 하지만 개발 이후 유지보수 측면에서 시간과 인력에 많이 투입돼야 하기 때문에 부담이 되는 것이 사실이다. 그래서 이를 국가가 지원하는 것이다. 시큐어 코딩에만 전념하는 보안인력 조직을 만들어 집중 연구하고 발 빠르게 대응토록 하는 전략이다. 장기적으로는 보안전문가를 양성함과 동시에 국가의 보안 위상을 높일 수 있는 발판이 되리라 생각한다.
글 / 안광해 (가비아 정보보안실 실장)
정리 / IT동아 이문규 (munch@itdonga.com)