본문 바로가기

보안

웹메일 보안취약점 손쉽게 당하는 이유


웹메일 보안취약점 점검 및 보안권고


지난 6월 10일 인터넷침해대응센터(KISA )에서는 웹메일 시스템의 스크립트 실행 보안취약점 점검 및 보완 권고 보안공지를 게시했습니다. 최근 웹메일 시스템의 보안취약점 크로스사이트스크립팅(xss)를 이용, 이메일 열람만으로 악성코드에 감염시키는 방법의 해킹수법이 발견 되고 있기 때문입니다.

기본적으로 웹메일 시스템은 태그 혹은 스크립트의 사용을 차단하기 때문에 공격자는 크로스사이트스크립팅(xss)을 위해 인코딩기법을 사용하여 공격합니다. 



<이미지출처 - http://www.krcert.or.kr/secureNoticeView.do?num=540&seq=-1>

공격자는 위와 같이 <script, <img, <object, 등의 태그 및 스크립트 사용이 제한되기 때문에 인코딩 기법을 사용합니다.





일반적으로 인코딩 기법으로는 16진수(hex)를 이용한 방법, unescape함수를 사용하는 방법, 함수 array 사용방법, unicode를 활용한 unescape, 8진수를 사용하는 방법, %25를 사용하는 방법 등이 있으며 이를 활용하여 다양한 변형 공격이 가능합니다.

웹메일 보안취약점 손쉽게 당하는 이유



<고객센터로 가장한 메일과 정상적인 고객센터 메일의 구별이 어렵다.>

수상한 이메일은 열어보지 않아야 한다는 것은 누구나 다 알고 있는 사실입니다. 그럼에도 지인 또는 업무관계자를 가장한 방법에 당할 수 밖에 없는 이유는 보낸이의 정보를 다른 사람으로 위장할 수 있기 때문입니다.

다른사람으로 가장할 수 있는 이유는 메일발송의 구조가 header를 구성하는 송/수신 관련 명령과 mail의 내용부분이 분리되어 있기 때문입니다. 메일의 헤더(header) 정보를 통해 Received: from 혹은 x-mail-from의 주소를 통해 메일의 출처를 어느정도 확인할 수 있지만 이 역시 메일을 열람해야 알 수 있는 정보입니다.

그렇다면 다른사람으로 가장한 메일이 어느정도 유사하고, 구별이 되지 않는지 테스트를 위해 한줄 코딩으로 간단히 메일 보내는 프로그램을 제작한 후 각각 네이버와 다음 관리자를 사칭하는 이메일을 보내봤습니다. 



동영상을 보시면 아시겠지만 고객센터에서 보내온 메일과 고객센터를 위장한 메일을 외관상으로 구별하기란 불가능합니다. 



네이버와 비교하여 다음에서는 그나마 위와 같이 헤더정보를 통해 Daum에서 발송된 메일이 아님을 명시해 주지만, 이 역시 이메일을 열람한 이후 확인할 수 있는 정보입니다.

이와 같이 공격자가 지인 혹은 업무관리자, 고객센터, 운영진 등을 사칭하는 메일을 통해 크로스사이트스크립트(xss) 기법을 사용할 경우 개인사용자는 당할 수 밖에 없는 방식입니다. 이러한 해킹 기법에 대한 개인 사용자의 대응방법으로는 사용중인 소프트웨어의 정기적인 업데이트라는 최소한의 대응방법 밖에 없기 때문에 각 웹메일 시스템 운영 담당자의 세심한 점검이 요구되며, 믿을 수 있는 웹메일 사용을 권장합니다.