Today : 2024-10-24 Thursday
홈 현재 경제노트 가족은 388,872명 입니다.
당신은 14,355,396번째 방문객 입니다.
경제노트 서가 가족이 쓰는 노트 책밑줄긋기 독서모임
로그인 |
회원가입없이 경제노트를 이메일로 받고 싶으신 분은 이름과 이메일을 입력해 주세요
개인정보 수집및 이용 안내에 동의
(확인하기)
뉴스레터 수정/해지
추천인
이름
메일
추천받는 분
이름
메일
인사말
개인정보 수집및 이용 안내에 동의
(확인하기)
한번에여러명추천하기
IT과학 일반글
2부. ASP 웹 소스 보안 (1/3)
입력 2006-04-04 오전 12:00:00
트위터에 담기 스크랩하기 내모임에담기 이메일추천하기 인쇄하기
오늘은 ASP를 이용한 웹 어플리케이션 제작할 때 보안을 강화하기 위해 해야하는 주요 작업들에 대해 소개하도록 하겠다. 이 칼럼은 XSS, SQL Injection 등 외부 공격을 효과적으로 막을 수 있는 ASP 스크립트의 방어 기법을 소개하는 글이다.

필자가 작년에 코리아인터넷닷컴을 통해 XSS와 SQL Incjection에 대해 소개한 적이 있으나, 이번에는 웹 어플리케이션 보안을 주제로 전반적으로 살펴보는 칼럼이기에 다소 중복되는 부분도 있으나 되짚어 보고 의미를 재확인한다는 차원에서 다시 하나씩 살펴보도록 하겠다.

- 비고 -

이전 칼럼의 IIS 보안 셋팅에서 소개한 내용 중 응용프로그램의 실행권한을 제어하는 내용이 있었다. (내용보기) 그 중요도에 비춰 필자가 너무 간략히 소개한 듯 하여 이 지면을 통해 다시 한번 강조하고자 한다. 또한 이 내용은 ASP 웹 소스 보안과도 일맥상통하는 부분이 있다.

가장 치명적인 보안 사고 중 대부분이 파일 업로드를 이용한 공격이다. 웹쉘 공격이라고도 하는데 쉘스크립트와 같이 서버상에서 특정한 행위를 할 수 있는 소스를 작성하여 웹에서 제공하는 업로드를 통해 소스를 서버에 올려 해킹을 시도하게 된다. 따라서, 반드시 웹 소스가 보관되지 않는 폴더들에 한해서는 “응용 프로그램의 실행권한을 없음”으로 하여 의도되지 않은 행위가 이루어 지지 않도록 하여야 한다. 이것 만으로도 아주 큰 보안 향상 효과를 가져오므로 반드시 설정작업을 하시기 바란다.


1. 사용자 업로드 파일 검증
웹 서버를 해킹하고자 할 때 가장 쉽게 들어오는 경로가 바로 웹사이트 상에 존재하는 파일 업로드 부분이다. 대부분의 웹사이트들이 사용자들에게 파일을 업로드 할 수 있게 허용하고 있다. 하지만, 아쉽게도 업로드되는 파일들을 완벽히 필터링 하는 사이트들은 그리 많지 않아 보인다.

업로드 기능을 우회적으로 접근하여 해커가 원하는 행위를 할 수 있는 스크립트를 포함한 파일을 실행할 수 있는 구조가 많이 노출되어 있다. IIS 보안에서 소개한 내용과 같이 응용프로그램 실행권한을 제어하지 않았다면 쉘스크립트를 가지고 있는 ASP 파일을 올려서 웹서버를 치명적인 상황으로 만들 수 있다는 것이다. 따라서, 업로드 소스에서는 반드시 업로드 되는 파일들에 대해 필터링 작업을 해야만 한다.

필터링 작업을 할 때 반드시 지켜야 할 사항이 있다. 그건 바로 서버스크립트를 통한 필터링이 이루어져야 한다는 것이다. 대부분 파일 필터링을 하는 경우 파일을 업로드 하는 폼이 있는 페이지에서 클라이언트 스크립트(자바스크립트)를 통해 확장자 등을 체크하여 파일 검증을 한다. 하지만, 클라이언트 스크립트로만 제어한다고 할 때 해커의 로컬 PC 에서 파일업로드 폼 페이지를 작성한 후 폼 Submit 의 Target을 실제 파일을 업로드 처리하는 페이지로 설정한다면 외부에서도 충분히 원하는 파일을 마음껏 올리는 것이 가능하다. 따라서, 폼 페이지에서 클라이언트 스크립트를 통해서도 파일 검증작업을 하는 것과 동시에, 반드시 실제 파일을 업로드 처리하는 Process 페이지에서 서버스크립트를 통해 파일 검증 작업을 하여야 한다. 대부분의 파일 업로드 컴포넌트 들이 파일형식을 체크하는 메소드를 제공하기 때문에 쉽게 체크할 수 있다.

그리고, 이미지 소스가 아닌 다른 기타 파일들의 업로드를 허용해야 하는 경우 되도록이면 zip 과 같이 압축된 파일만을 허용하는 것도 좋은 방안이다. 그리고, 파일을 업로드 할 때 파일명을 정해진 규칙에 따라 치환하여 파일을 쉽게 접근하지 못하게 하는것도 도움이 된다.

다시 한번 강조하지만, 서버 보안에서 가장 중요한 부분이므로 반드시 기억하도록 하자. 파일을 업로드 하는 로직이 필요한 경우 “IIS응용프로그램 실행권한을 없음 + ASP 소스 내에서 파일 검증” 작업을 반드시 해야 한다.
예병일의경제노트 추천정보
 
공유하기
덧글(0) 스크랩(0) 이 노트 글을...
예병일의경제노트 노트지기 덧글
덧글 달기
덧글달기
이름     비밀번호
엮인글(트랙백) 쓰기 주소 : http://note.econote.co.kr/tb/smartvb/4401    
시간, 언제나 부족하지만 중요한 일을 하기에는 충분하다
우리는 안정을 추구하지만, 세상은 항상 변화한다
노트 목록으로 이동
필자 예병일 소개 경제노트 소개 1:1문의하기 개인정보 취급방침
예병일의 경제노트    대표자: 예병일    개인정보 관리책임자: 조영동 팀장    전화: 02-566-7616   팩스: 02-566-7619