1. 보안의 위협
상태바
1. 보안의 위협
  • 승인 2006.06.26 00:00
  • 댓글 0
이 기사를 공유합니다

Tech Guide - 웹보안
웹 애플리케이션 보안 강화로 자체 방어기능 강화
불법 접근·위조·변조·가로막기 등 애플리케이션 공격 다양 … 개인정보 보호 시급

김동주 유니포인트 CTO djkim@unipoint.co.kr

연재순서
1. 보안의 위협(이번호)
2. 웹 애플리케이션 보안 위협에 대응하는 현실
3. 웹 애플리케이션 보안 위협 대응 방안

기업들이 점차 많은 애플리케이션들을 웹과 연결시키면서 보안에 민감한 고객 데이터들이 해커의 공격에 더 많이 노출되고 있는 실정이다. 웹 애플리케이션들은 기업망의 외곽을 둘러싸고 있는 보안 경계선을 통과하기만 하면 사용자들에게 내부 시스템을 무제한 액세스할 수 있도록 한다. 따라서 대부분의 보안 공격이 애플리케이션에 집중되고 있는 것이 당연하다고 볼 수 있다.
이렇게 노출돼 있는 애플리케이션을 어떻게 효과적으로 보호할 수 있는지 웹 애플리케이션 환경에서의 보안을 다각도로 살펴본다. <편집자>

아빠 전화왔어요. 전화 받으세요.” 출근중인 철수씨는 차내에 설치한 핸즈프리를 통해 들려오는 전화 수신음을 듣고는 발신자 번호를 확인했다. 전혀 모르는 번호에서 걸려온 전화였다. 모르는 번호라 받을까 말까 고민하다가 아침부터 걸려온 전화니까 중요한 전화일 것으로 생각하고 전화를 받았다.
“여보세요? 유니포인트 영업부장 김철수입니다.”
“안녕하세요, 희망부동산컨설팅의 이영희라고 하는데요. 요즘 재테크는 어떤 방법으로 하세요?” 30대 초중반의 여자 목소리가 차내 스피커를 통해 경쾌하게 흘러나왔다.
“네? 재테크라니요?” 일과 아이들에 치여서 월급만으로도 빠듯하게 살아가는 철수씨에게 재테크는 신경도 쓰지 못하고 있는 분야다. 이 뜬금없는 소리에 이상하다 생각했지만, “아직 신경쓰지 못하고 있습니다”라고 했다.
“아 네 그러시군요. 강원도 양양쪽에 아주 좋은 땅이 있는데요. 금강산 관광도 활성화 되고 있어 양양지역이 부동산 투자로는 좋은 지역인거 아시죠? 그 지역에 추가로 관광단지가 조성될 예정이고, 국제공항도 문을 열어서 사두시기만 하시면….” 여자의 목소리는 계속됐다.
철수씨 자신만 재테크를 하지 않고 있는 것 같아 이야기를 계속 듣다보니 뭔가 이상했다. ‘아니 이 여자 내 전화번호를 어떻게 알았지?’ 궁금증이 생긴 철수씨는 “재테크는 해야 한다고 생각합니다만 제 전화번호를 어떻게 아셨죠?”라고 물었다.
“아, 전 잘 모르구요. 우리 팀장님이 전화번호를 주셔서요. 불편하셨다면 죄송합니다” 여자는 황급히 전화를 끊었다. 회사에 도착한 철수씨, 어떻게 자신의 전화번호가 부동산업체에 흘러 들어갔는지 궁금했다. PC를 켜고 검색사이트에서 얻은 정보로 주민등록번호가 어떤 사이트에서 사용됐는지를 검색해주는 프로그램을 다운받아 실행해보니 자신이 알지 못하는 여러 곳의 사이트에서 김철수 710331-로 시작하는 자신의 주민번호가 회원으로 등록돼 있었다.
아마도 많은 사람들이 이 같은 경험을 해봤을 것이다. 유명 게임사이트에서 도용된 주민번호를 사용하고 있는 것이 문제가 됐고, 모 시청에서는 알림 광고에 버젓이 주민번호를 게재한 경우도 있었다.

침해사고의 동기
지금까지의 보안은 방화벽, 침입탐지시스템, 침입방지시스템을 통해 외부로부터의 부적절한 접근을 방어하는데 주로 관심을 가져왔다. 그러나 이제는 부적절한 침입과 더불어 각 사이트가 가진 개인정보를 어떻게 보호해야 하는지도 관심을 가져야 한다. 또한 네트워크나 시스템의 취약점을 이용한 침입 및 공격에서 이제는 애플리케이션의 취약점을 이용한 공격으로 공격 방법까지 다양화 되고 있다.
그렇다면 왜 사람들은 다른 사이트에 부적절하게 접근하려 할까? 보안에서 이를 ‘동기’라고 부른다. 동기는 매우 다양하기 때문에 단순하게 이유를 말하기 어려운 점이 있으나, 크게는 다음과 같이 나누어 볼 수 있다.
첫번째로 단순한 호기심을 들 수 있고, 두번째로는 개인적인 성취감, 세번째로는 보복 심리, 네번째로는 경제적 이익이다.
그 동기가 어떠하든 여러 가지 사유들로 인해 네트워크, 하드웨어, 운영체제, 애플리케이션과 데이터 등의 시스템 자원에 대해 불법적인 접근, 위조, 변조, 가로막기를 시도하게 된다. 시스템 자원에 대한 부적절한 여러 가지 시도들이 이뤄질 가능성을 위협이라고 하며, 위협들은 시스템 자원의 취약점에 의해 현실화된다.

침해의 종류
현실화된 침입은 다음과 같은 4가지 부분으로 나눠 볼 수 있다.

- 가로채기(interception) : 데이터나 프로그램의 불법적인 유출이 발생한다. 위의 철수씨 사례에서는 데이터의 불법적인 가로채기가 이뤄 진 것이다. 이런 경우 사용자는 대개 가로채기에 의해 정보가 유출됐다는 사실을 인지하지 못하게 된다. 네트워크 구간에서 전송되는 정보를 얻는 경우가 해당되며, 스파이웨어를 통해 정보를 얻고자 하는 것도 가로채기의 일종이다.
- 가로막기(interruption) : 합법적인 사용자가 시스템 자원을 사용하지 못하도록 하는 것이다. 시스템 자원의 파괴가 대표적인 예다. 바이러스에 감염돼 시스템 부팅이 불가능하거나 데이터 파일이 깨진 경우라면 가로막기 공격을 당한 것이다. 가로막기 공격은 사용자가 즉시 인지하게 되며, 2002년 동계올림픽때 안톤 오노에 대한 분노의 표출로서 올림픽 공식 사이트에 대한 접속방해공격(DOD)이 가로막기의 예로 볼 수 있다.
- 위조(fabrication) : 위조는 네트워크 또는 데이터베이스 내의 정보를 잘못된 정보로 만들어 처리하도록 하는 것이다. 특정한 거래 정보를 네트워크 상에서 다른 데이터로 조작해 보내는 경우를 볼 수 있다. 경제적 동기에 의해 많이 이뤄진다. 만약 이도령이 인터넷 뱅킹으로 춘향이에게 돈을 송금하려고 할 때 이방이 통신 구간에서 거래 데이터 중 수신인 계좌번호를 변사또로 바꿔 변사또에게 송금이 됐다면 이는 변조에 의한 불법적인 거래가 이뤄진 것이다.
- 변조(modification) : 변조는 시스템 자원의 내용을 바꾸는 것이다. 운영체제나 프로그램 자체를 바꾸기도 한다. 보통은 위조와 함께 쓰이면서 위변조로 이야기하기도 한다.
이런 불법적인 활동에 의해 이뤄진 침해사고도 있지만, 합법적인 통로를 통해 정보가 유출되기도 한다. 정당한 사용자가 시스템에 접근해 개인정보를 검색하여 출력한 뒤 이 출력물을 쓰레기통에 버리고, 누군가가 재활용품을 수거하다가 쓰레기통으로부터 출력물을 얻게 돼 개인정보를 불법적인 용도로 사용했다면 최초 사용자는 불법적인 접근을 한 것은 아니지만 결과적으로는 개인정보의 부정 유출이 발생한 것이다. 이런 부주의한 정보의 유출도 보안이라는 관점에서 관리 대상이 돼야 한다.

시스템 자원에 대한 위협은 취약점을 적절하게 제어하고 관리함으로써 예방할 수 있다. 취약점을 가진 자원이 네트워크이든, 하드웨어이든, 소프트웨어이든, 애플리케이션이든 적절한 대응책을 가지고 있다면 예방이 가능하다. 설령 시스템 자원에 대한 침입이 발생했더라도 사후에 이를 추적해 복구할 수 있다.

침해에 대한 대응
지금까지 방화벽, 침입탐지 시스템, 침입방지 시스템을 통해 다양한 공격을 예방하거나 사후에 이를 추적해 왔다. 침해에 대한 대응은 주로 불법적인 시스템에 대한 접근을 시도하는 쪽에 관심을 두고 이뤄져 왔으며, 그 대상도 네트워크, 시스템 하드웨어, 시스템 소프트웨어에 한정돼 이뤄지고 있다.

이런 대응 방식은 다음과 같이 이루어진다.
- 보안정책 설정 : 시스템 자원에 대한 접근권한, 경로, 방법에 대한 정책 설정
- 기기 도입 : 보안 정책을 설정하고 시스템 자원(네트워크 자원, 하드웨어 자원, 소프트웨어 자원)을 고려한 보안 장비 도입
- 환경 구성 : 보안 장비 및 시스템 자원을 보안 정책에 알맞게 구성
- 보안 로그 관리 : 보안 장비 및 운영체제, 애플리케이션에서 만들어진 로그를 통해 시스템 자원에 대한 침입 시도 등 정보를 수집하고 대응
- 복구 : 침입에 의해 시스템 자원에 대한 위협이 현실화됐을 때 이에 대한 사후 조치

이미 우리는 보안을 위해 여러가지 위협에 대한 제어방법을 고려해 왔다. 그리고 이에 대한 대응책이 마련됐지만, 방어 기술이 발전하는 것 이상으로 시스템 자원의 취약점을 찾아 이를 통해 공격하는 기술도 발전하고 있다. 최근 들어 이런 보안의 위협은 애플리케이션이 가진 취약점을 공격하는 쪽으로 발전하고 있다.
시스템 공격에 대한 기존의 방어 방식은 네트워크, 하드웨어, 운영체제를 포함한 시스템 소프트웨어, 데이터베이스 등 그 구조와 취약점 등이 널리 알려진 자원에 대한 공격을 대상으로 이뤄졌기 때문에 새로운 공격 형태인 애플리케이션 취약점을 이용하는 방법에는 잘 대응하지 못하는 것이 현실이다. 또한 애플리케이션 취약점 공격은 다음과 같은 이유로 기존의 방화벽, 침입탐지 시스템, 침입방지 시스템에서 사용하는 정형화된 시그너처 패턴을 이용해 방어하기 어렵다. 또한 애플리케이션은 아주 방대한 규모로 구축되고 있으며, 각 기관이나 개인별로 상이한 모습으로 만들어져 왔으므로 방어하기가 매우 어렵다.
일반적으로 프로젝트 수행과정에서는 각 기관/기업이 가진 보안 표준을 적용한다. 아래 그림은 프로젝트 진행과정에서 보안표준이 적용되는 단계를 보여준다. 프로젝트 진행과정에서 보안 정책은 네트워크, 하드웨어, 시스템 소프트웨어, 애플리케이션 소프트웨어 등 전 분야에 걸쳐 적용 돼야 하지만 현재까지는 네트워크와 하드웨어 시스템 소프트웨어에 대한 보안정책은 잘 정비되고 적용되고 있다. 그러나 애플리케이션 소프트웨어에 대한 보안정책은 그렇지 못한 면들을 보여주고 있다. 애플리케이션 보안 정책 중 인증 및 접근 권한 관리 부분은 지금도 잘 정리돼 업무 개발과정에 적용되고 있다. 그러나 그 이외의 부분들은 간과하고 있는 것이 현실이다.
애플리케이션 취약점이 잘 해소되지 않는 원인은 다양하지만 다음과 같은 10가지를 대표적으로 들 수 있다.
이런 문제들로 인해 해커들이 애플리케이션 취약점을 이용하여 시스템 자원에 대한 공격을 시도하려는 욕구가 발생한다. 해커들이 공격하는 애플리케이션의 취약점은 여러 가지가 있으나 OWASP에서는 대표적인 10가지 종류를 선정해 이에 방어를 강화하도록 권고하고 있다.
OWASP(Open Web Application Security Project)에서는 애플리케이션에 대한 보안 위협을 다음과 같은 10가지로 나눠볼 수 있다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.