티스토리 뷰

컴퓨터활용

어플리케이션보안 체크리스트

호주 멜번초이 2011.12.02 15:35

어플리케이션보안 체크리스트


기본설정

운영체제

Hostname

도메인(URL / IP)

개발언어

보안솔루션 적용현황

 

 

 

 

 

 

1.      계정관리

점검 항목

상세 점검 항목

해당

시스템

보안성검토

확인

보안성심의

확인

Y/N/NA

세부설명

Y/N/NA

세부설명

개발을 위해 사용하는 상용 어플리케이션의 default ID를 제거하는가?

개발을 위해 사용하는 상용 어플리케이션의 default ID는 반드시 삭제하며, 부득이한 경우에는 패스워드를 보다 강화하여 사용

 

NA

JEUS상용어플리케이션의 ID가 없음

 

 

 

 

개발을 위해 사용한 ID는 운영 이관 시 모두 제거해야 한다.

개발을 위해 사용한 ID는 목록을 관리하고 운영 이관 시 누락 없이 제거

 

NA

개발에 사용하는 ID는 없음

 

 

 

 

일정기간 동안 사용하지 않은 계정에 대해 사용 권한을 일시적으로 중단할 수 있는 기능이 구현되어 있는가?

2개월 이상 계정 미사용자 삭제 및 사용권한 중지

 

Y

최종로그인 시간 관리함.

 

 

 

 

세션이 종료되지 않는 한, 사용자 ID는 별도의 단말기로부터 동시 로그인이 되지 않도록 설계되었는가?

동시 로그인 접속 제한 및 최종 접속기록 표기

(최종접속기록 : 날짜, 시간, IP )  

 

Y

로그인 이력 관리함

 

 

 

 

일정 횟수 이상 연속으로 잘못된 패스워드를 입력할 경우 사용자 ID 사용 권한을 일시 정지되도록 어플리케이션이 설계/구현되어 있는가?

5회 이상 입력 실패 시 일시적으로 계정사용을 중지시키거나 세션을 종료시키도록 함

 

Y

일정회수이상 오류시 계정잠금처리함

 

 

 

 

계정 또는 비밀번호가 잘못 입력되어 로그인 실패 시 메시지를 적절하게 표시하는가?

잘못 입력된 계정 또는 비밀번호를 지정하는 메시지는 피한다. (적절한 예시 : 아이디 또는 비밀번호가 틀렸습니다.)

 

Y

비밀번호가 일치하지 않습니다라고 출력함

 

 

 

 

페이지의 인증실패 시 불필요한 정보를 제공하지 않는가?

인증실패 메시지에 아이디나 패스워드 오류를 구분하여 표현 금지

 

Y

비밀번호가 일치하지 않습니다라고만 출력함

 

 

 

 

관리자 페이지를 유추하기 어려운 이름으로 지정하였는가?

유추하기 쉬운 디렉토리 명 지양

(admin, manager, master, system )

 

Y

웹접근 경로명은 실제디렉토리 구조와 다른 가상명칭 사용함

 

 

 

 

 


2.      세션 관리 (Cookie Injection)

점검 항목

상세 점검 항목

해당

시스템

보안성검토

확인

보안성심의

확인

Y/N/NA

세부설명

Y/N/NA

세부설명

보안성이 강한 Server Side Session을 사용하였는가?

서버 측에 사용자의 IP정보를 함께 저장하여 유효성 여부 확인

 

NA

 

 

 

 

 

Cookie에 사용자와 관련된 주요정보를 암호화 하였는가?

로그인 후 아래와 같이 쿠키정보 확인

javascript:document.cookie

 

 

 

 

 

 

 

로그인 후 사용 가능한 모든 페이지에 대해 사용자 세션 값을 적절히 체크하고 있는가?

인증 페이지를 우회 접근하여 권한 없는 페이지를 이용하지 못하도록 확인

 

 

 

 

 

 

 

사용자로부터 일정시간 동안 어떤 입력도 일어나지 않는 경우 자동 로그오프 시키거나 세션을 종료하는가?

대외 고객서비스 관련 사이트 : 20분 이내

내부 업무관련 사이트 : 1시간 이내

 

 

 

 

 

 

 

 

3.      입력 검증 (SQL Injection, XSS)

점검 항목

상세 점검 항목

해당

시스템

보안성검토

확인

보안성심의

확인

Y/N/NA

세부설명

Y/N/NA

세부설명

검색어 필드 및 로그인 아이디/패스워드 필드에 테스트 문자열을 입력하면 로그인 되거나 DB error가 발생되지 않는가?

사용자가 직접 입력 가능하고 데이터베이스로

질의되는 파라미터에 아래와 같은 문자가 포함될 경우 필터링하여 에러가 발생하지 않도록 처리함

‘ “ / \ ; : -- + Space

 

 

 

 

 

 

 

게시판의 글쓰기와 같이 단문입력이 가능한 곳에 <script> 태그가 실행되지 않도록 특수문자를 변경하고 있는가?

아래와 같이 입력하여 alert창이 팝업 될 경우

< > ( ) # & 등 특수문자 치환

<script>alert(document.cookie)</script>

(

)

#

&

&lt ;

&gt ;

&#40

&#41

&#35

&#38

 

 

 

 

 

 

 

 


 

4.      파일 업로드 / 다운로드

점검 항목

상세 점검 항목

해당

시스템

보안성검토

확인

보안성심의

확인

Y/N/NA

세부설명

Y/N/NA

세부설명

파일 업로드를 처리하는 프로그램에서 업로드되는 파일에 대한 확장자 점검을 수행하고 있는가?

모든 확장자를 제한하고 필요한 확장자만 허용해야 한다

- 서버에서 실행 가능한 확장자의 파일을 반드시 체크하며 검사루틴은 서버단에서 구현

(jsp, asp, cgi, php, php3, inc, pl 등 금지)

 

 

 

 

 

 

 

파일 다운받기 주소에서 파일명과 위치의 조작을 통해 시스템상의 임의의 파일을 다운로드 하는 것을 금지하는가?

url 파라미터 값 중  ..  /  .  \  필터링

 

 

 

 

 

 

 

 

5.      패스워드 보안 관리 분야

점검 항목

상세 점검 항목

해당

시스템

보안성검토

확인

보안성심의

확인

Y/N/NA

세부설명

Y/N/NA

세부설명

문자 또는 숫자만으로 구성될 수 없도록 하고 영.숫자를 혼용하여 구성되도록 하는가?

패스워드는 문자/숫자를 혼합하여 6 자리 이상으로 함

 

 

 

 

 

 

 

패스워드를 주기적으로 자동 변경할 수 있는 Module이 구현 되어 있는가?

패스워드는 분기 1회 이상 변경

 

 

 

 

 

 

 

DB에 저장되는 어플리케이션 패스워드는 단방향으로 암호화 저장을 하는가?

패스워드 암호화 시 복호화 되지 않는 단 방향 암호방식을 사용함

128bit 이상 암호화 알고리즘 사용

 

 

 

 

 

 

 

사용자 패스워드는 화면 및 출력물에 노출되지 않는가?

화면을 통한 사용자 패스워드 입력은 '*'로 표시 되도록 처리하고, 조회 및 출력물 등에서는 사용자 패스워드를 표시하지 않는다

 

 

 

 

 

 

 

사용자에게 전달되는 페이지 및 컴포넌트(Applet, ActiveX )에 패스워드 및 중요 연결정보가 포함되지 않는가?

소스상에 어떠한 패스워드 및 중요 연결정보도 하드코딩 될 수 없음

 

 

 

 

 

 

 

 

6.      고객정보 보호 분야

점검 항목

상세 점검 항목

해당

시스템

보안성검토

확인

보안성심의

확인

Y/N/NA

세부설명

Y/N/NA

세부설명

고객정보에 접근하는 ID는 책임 추적성을 위하여 개별 계정을 부여하고 접근기록은 5년 이상 보관하는가?

고객정보에 접근하는 ID는 개별계정을 부여함

고객정보 접근권한 부여, 변경, 말소기록 5년 이상 보관

 

 

 

 

 

 

 

주민등록번호, 패스워드 등 이용자가 공개에 동의하지 않은 개인정보를 PC에 저장 시 암호화하는가?

주민등록번호, 패스워드 등을 PC에 저장할 경우 암호화 한다.

 

 

 

 

 

 

 

중요 고객정보는 조회, 출력, 다운로드 시 표시제한(‘*’표시)를 적용하는가?

현업부서와 ‘*’ 등으로 표시 제한이 가능한 고객정보를 협의,선정하여 표시제한을 구현한다.

,‘*’표시제한방식은 타 어플리케이션의 표시 제한방식과 일관성을 유지하도록 한다.

- 대량으로 고객정보를 표시하는 다운로드, 출력, multi row 조회 등에 우선 적용

 

 

 

 

 

 

 

중요 고객정보 조회화면에 고객정보

취급 유의사항 메시지를 표시하는가?

사용자의 고객정보 취급 주의를 환기하기 위하여 고객정보 취급 유의사항을 표시한다

표시시점은 현업부서와 협의하여 로그인 후 1회 표시 또는 중요 고객정보 취급 화면마다 표시 등으로 선정할 수 있다.

고객정보 취급 유의사항의 예시는 다음과 같다.

고객정보유출은 범죄행위이며, 모든 고객정보에 대한 접근은 전산 기록되고 있습니다.’

 

 

 

 

 

 

 

사용자가 중요 고객정보를 불법 유통하거나 사용하지 못하도록 인쇄금지, 화면 잠금 기능 등을 제공하는가?.

요구되는 기능 예시는 다음과 같다

HTML소스 보기/소스 저장 금지 기능

②클립보드를 이용한 웹 컨텐츠 복사 금지

③마우스/키보드 제어

④화면캡쳐 프로그램 및 Print Screen 기능으로부터 화면 복사 방지 등

 

 

 

 

 

 

 

고객정보 조회/수정/출력 시 처리이력은 5년 이상 보관하는가?

고객정보 조회, 수정, 삭제 등의 처리 이력 자료는 5년 이상 보관하는 것을 원칙으로 한다.

 

 

 

 

 

 

 

고객정보 전송 시 고객데이터를 암호화 하여 전송하는가?

고객데이터를 외부로 전송 시 전송구간 암호화 또는 공인된 암호화 알고리즘을 사용하여 암호화해야 함 (3DES, SEED, AES, MD5 )

 

 

 

 

 

 

 

 

댓글
댓글쓰기 폼