Contents

조회 수 1256 댓글 0
Atachment
첨부 '1'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

security.jpg

분석 및 설계 보안관리

8.1.1 보안 요구사항 정의

신규 정보시스템 개발 및 기존 시스템 변경 시 정보보호 관련 법적 요구사항, 최신 보안취약점, 정보보호 기본요소(기밀성, 무결성, 가용성) 등을 고려하여 보안요구사항을 명확히 정의하고 이를 적용하여야 한다.

  • 신규 정보시스템 개발 및 기존 시스템 변경 시 법적 요구사항을 포함한 보안 요구사항을 정의하고 설계 단계에서부터 반영하고 있는가?
ㅇ 신규 정보시스템 개발 및 기존 시스템 변경 시 (개인)정보 영향 평가 결과, 정보보호 기본요소, 최신 보안취약점 등을 고려하여 다음과 같은 항목이 포함된 보안 요구사항을 정의하여 설계 단계에서부터 구현, 시험, 이관까지 일관성있게 적용될 수 있도록 하여야 한다.

– 개인정보처리에 관련된 법적 요구사항 (예 : 개인정보 취급자 권한 부여 기록, 접속기록, 암호화 대상 정보 등)
– 사용자 부서 및 기관의 정보보호 요구사항 (예 : 접근권한 정의 및 통제 원칙, 암호화 대상 선정 등)
– 정보보호 관련 기술적인 요구사항 등 (예 : 개발보안, 인증, 암호화 등)

※ 참고 ※
– 홈페이지 SW(웹) 개발보안 가이드 (KISA)
– 웹서버구축 보안점검 안내서 (KISA)
– 웹어플리케이션 보안 안내서 (KISA)
– 홈페이지 개발보안 안내서 (KISA)
– 소프트웨어 개발보안(시큐어 코딩) 관련 가이드 (JAVA, C, Android-JAVA) (안전행정부)

8.1.2 인증 및 암호화 기능

정보시스템 설계 시 사용자 인증에 관한 보안요구사항을 반드시 고려하여야 하며 중요정보의 입 ∙ 출력 및 송수신 과정에서 무결성, 기밀성이 요구될 경우 법적 요구사항을 고려하여야 한다.

  • 정보시스템 설계 시 사용자 인증에 대한 보안 요구사항을 정의하여 반영하고 있는가?
ㅇ 정보시스템 설계 시 사용자 인증에 대해 다음과 같은 사항을 고려하여야 한다. (인증기준 10. 접근통제 참고)

– 패스워드 관련 : 패스워드 잠김 임계치 설정, 패스워드 암호화
– 접근관련 : 동일사용자 동시세션 제한 등
– 추가적인 사용자 인증 절차 : 중요한 정보시스템(예 : 개인정보처리스시템)의 경우 추가적인 인증(예 : OTP, 공인 인증서 등) 요구

※ 참고 ※
– 정보통신 이용촉진 및 정보보호 등에 관한 법률 ‘개인정보의 기술적 ∙ 관리적 보호조치 기준(고시)’ 제4조(접근통제)
– 정보통신 이용촉진 및 정보보호 등에 관한 법률 제23조의2(주민등록번호의 사용 제한)

  • 중요정보에 대하여 암호화가 요구되는 경우 법적 요구사항을 고려한 적절한 암호화 방법을 사용하고 있는가?
“ㅇ 법적 요구사항을 고려하여 중요정보에 대해 안전성이 입증된 알고리즘과 키 길이를 사용하여 암호화하여야 한다. (인증기준 9.1.1 암호 정책 수립 참고)

– 법적 요구사항이외에 조직에 특성에 따라 암호화 대상을 정의한 경우 암호화를 고려하여야 한다.

※ 참고 ※
ㅇ 정보통신망 이용촉진 및 정보보호 등에 관한 법률 시행령 제15조(개인정보의 보호조치)
– 비밀번호 일방향 암호화 저장
– 주민등록번호 및 계좌번호 등 금융정보의 암호화 저장
ㅇ 정보통신망 이용촉진 및 정보보호 등에 관한 법률 ‘개인정보의 기술적 ∙ 관리적 보호조치 기준(고시)’ 제6조(개인정보의 암호화)
– 주민등록번호, 신용카드번호, 계좌번호의 암호화 저장
– 정보통신서비스 제공자의 개인용컴퓨터(PC)상에 저장된 이용자의 개인정보 암호화
ㅇ 개인정보보호법 ‘개인정보의 안전성 확보조치 기준(고시)’ 제7조(개인정보의 암호화)
– 고유식별정보(주민등록번호, 여권번호, 운전면허번호, 외국인등록증번호) 암호화
– 비밀번호 및 바이오정보 암호화 (비밀번호는 일방향 암호화)
– 개인정보처리자 개인용컴퓨터(PC)상에 저장된 고유식별번호
ㅇ KISA 안내서
– 암호기술 구현 안내서 (http://seed.kisa.or.kr)
– 암호이용 안내서
– 암호정책 수립기준 안내서 등

  • 개인정보 및 인증정보 등의 중요한 정보 전송 시 SSL보안서버 구축 등을 통하여 암호화하고 있는가?
ㅇ 정보통신망을 통해 중요정보를 송 ∙ 수신하는 경우, 법적 요구사항을 고려하여 보안서버 구축 등의 조치를 통한 암호화 통신이 이루어져야 한다. (인증기준 9.1.1 암호 정책 수립 참고)

※ 참고 ※
ㅇ 정보통신망 이용촉진 및 정보보호 등에 관한 법률 ‘개인정보의 기술적 ∙ 관리적 보호조치 기준(고시)’ 제6조(개인정보의 암호화)
– 정보통신서비스 제공자등은 정보통신망을 통해 이용자의 개인정보 및 인증정보를 송수신할때에 안전한 보안서버 구축 등의 조치 필요 (예 : SSL, 암호화 응용프로그램을 설치하여 전송정보 암호화)
ㅇ 개인정보보호법 ‘개인정보의 안전성 확보조치 기준 고시 및 해설서’ 제7조(개인정보의 암호화)
– 개인정보처리자는 주민등록번호, 비밀번호, 바이오정보 등 정보통신망을 통하여 송수신하거나 보조저장매체 등을 통하여 전달하는 경우에는 암호화 필요(보안서버 활용가능)
ㅇ 보안서버구축 안내서 (KISA)

8.1.3 보안로그 기능

정보시스템 설계 시 사용자의 인증, 권한 변경, 중요정보 이용 및 유출 등에 대한 감사증적을 확보할 수 있도록 하여야 한다.

  • 정보시스템 설계 시 보안관련 로그, 감사증적 등을 확보할 수 있는 기능을 반영하고 있는가?
ㅇ 보안사고 발생 시 책임 추적을 위하여 정보시스템에 다음과 같은 감사증적(로그)을 확보할 수 있도록 설계하여야 한다. (인증기준 11.6 로그관리 및 모니터링 참고)

– 사용자 및 관리자의 접속기록 (로그인 및 로그아웃)
– 사용자 권한 부여, 변경, 말소 기록
– 정보시스템 시작 및 중지
– 특수 권한으로의 접근 기록
– 주요업무관련 행위에 대한 로그 등

  • 정보시스템 설계 시 보안로그를 보호하기 위한 대책을 마련하고 있는가?
ㅇ 정보시스템 설계 시 보안로그의 비인가된 변조 및 삭제를 방지하기 위한 대책을 마련하여야 한다. (예 : 로그에 대한 접근통제 등)

8.1.4 접근권한 기능

정보시스템 설계 시 업무의 목적 및 중요도에 따라 접근권한을 부여할 수 있도록 하여야 한다.

  • 정보시스템 설계 시 시스템 사용자의 업무 목적, 기능, 중요도에 따라 접근권한이 부여될 수 있도록 접근권한 부여 기능을 보안 요구사항 및 설계에 반영하고 있는가?
ㅇ 정보시스템 설계 시 업무 성격, 프로세스, 보안 요구사항에 따라 다음과 같은 기준을 고려하여 접근권한 부여 기능을 마련하여야 한다. (인증기준 10.2.1 사용자 등록 및 권한 부여, 10.2.3 접근권한 검토 참고)

– 사용자별
– 사용자 업무역할별
– 기능별
– 메뉴별 등

구현 및 이관 보안

8.2.1 구현 및 시험

안전한 코딩방법에 따라 정보시스템을 구현 하고, 분석 및 설계 과정에서 도출한 보안요구사항이 정보시스템에 적용되었는지 확인하기 위하여 시험을 수행하여야 한다. 또한 알려진 기술적 보안 취약성에 대한 노출여부를 점검하고 이에 대한 보안대책을 수립하여야 한다.

  • 정보시스템의 안전한 구현을 위한 코딩 표준이 마련되어야 하며 이에 따라 구현하고 있는가?
ㅇ 정보시스템에서 알려진 기술적 보안 취약점으로 인한 위협을 최소화하기 위하여 안전한 코딩 표준 및 규약을 마련하여야 하며 이에 따라 정보시스템을 구현하여야 한다.
  • 기술적 보안취약점 점검을 하고 있는가?
ㅇ 코딩 완료 후 안전한 코딩 표준 및 규약 준수 여부를 점검하고 기술적 보안 취약점이 존재하는 지 확인하여 취약점 발견 시 재코딩을 하여야 한다.

– 시스템이 안전한 코딩표준에 따라 구현하는 지 소스코드 검증 (소스코드 검증도구 활용 등)
– 코딩이 완료된 프로그램은 운영환경과 동일한 환경에서 취약점 점검도구 또는 모의진단을 통한 취약점 노출 여부를 점검

  • 구현된 기능이 사전 정의된 보안 요구사항을 충족하는 지 시험을 수행하고 있는가?
ㅇ 정보시스템 구현 완료 후 사전 정의된 보안 요구사항(인증기준 8.1.1 보안 요구사항 정의 참고)을 충족하는 지 확인하기 위하여 시험 시나리오, 체크리스트 등을 작성하여 시험을 수행하여야 한다.

8.2.2 개발과 운영 환경 분리

개발 및 시험 시스템은 운영시스템에 대한 비인가 접근 및 변경의 위험을 감소하기 위해 원칙적으로 분리하여야 한다.

  • 정보시스템의 개발 및 시험 시스템을 운영시스템과 분리하고 있는가?
ㅇ 개발과 운영 환경을 분리하지 않은 경우 개발로 인해 운영환경의 성능 및 용량에 영향을 미칠 수 있고 개발자의 비인가된 운영환경으로의 접근이 발생할 수 있다.

– 조직 규모가 작거나 인적 자원 부족 등의 사유로 인해 불가피하게 개발과 운영 직무 분리가 어려운 경우, 직무자간의 상호 검토, 상위관리자의 주기적인 직무수행 모니터링 및 변경 사항 검토/승인, 직무자의 책임추적성 확보 등의 보완통제를 마련하여야 한다. (인증기준 6.1.2 직무분리 참고)

8.2.3 운영환경 이관

운영환경으로의 이관은 통제된 절차에 따라 이루어져야 하고 실행코드는 시험과 사용자 인수 후 실행하여야 한다.

  • 운영환경으로의 이관 절차를 수립 ∙ 이행하고 있는가?
ㅇ 다음과 같은 내용을 고려하여 운영환경으로의 이관 절차를 수립하고 이행하여야 한다.

– 개발자 이외의 이관담당자 지정
– 시험완료여부 확인
– 이관 전략 (단계적 이관, 일괄적 이관 등)
– 이관 시 문제 대응 방안
– 이관에 대한 책임자 승인

  • 운영환경으로의 이관 시 발생할 수 있는 문제 대응 방안을 마련하고 있는가?
ㅇ 운영환경으로의 정보시스템 이관이 원활하게 이루어지지 않았을 경우 복귀(rollback) 방안, 이전 버전의 시스템 보관 방안(소프트웨어, 소프트웨어정보, 부가적인 관련 프로그램, 구성파일, 절차, 파라미터 등) 등을 마련하여야 한다.
  • 운영환경에는 서비스 실행에 필요한 파일만을 설치하고 있는가?
ㅇ 운영환경에는 승인되지 않은 개발도구(컴파일러, 편집기 등)와 소스코드(백업본 포함)가 있어서는 안되며 승인된 실행파일만 설치하여야 한다.

8.2.4 시험데이터보안

시스템 시험 과정에서 운영데이터 유출을 예방하기 위해 시험데이터 생성, 이용 및 관리, 파기, 기술적 보호조치에 관한 절차를 수립하여 이행하여야 한다.

  • 시스템 시험 과정에서 실제 운영 데이터 사용을 제한하고 있는가?
ㅇ 개인정보를 포함한 회사의 중요한 정보가 시스템 시험과정에서 유출되는 것을 방지하기 위하여 시험데이터는 임의의 데이터를 생성하거나 운영데이터를 가공하여 사용하여야 한다.
  • 불가피하게 운영데이터를 시험 환경에서 사용할 경우 책임자 승인 등의 인가 절차를 수립 · 이행하고 있는가?
ㅇ 실제 운영 데이터가 시험 환경에서 사용될 경우, 다음과 같은 절차를 수립하고 이행하여야 한다.

– 운영 데이터 사용 승인 절차 : 데이터 중요도에 따른 보고 및 승인체계 정의
– 시험용 운영 데이터 사용 기한 및 기한 만료 후 폐기 절차 (예 : 사용 만료 후 즉시 폐기 확인)
– 중요 데이터 사용에 대한 시험 환경에서의 접근 권한 및 통제 수립 (예 : 운영환경과 동일한 접근 통제 권고)
– 운영데이터 복제 및 사용에 대한 모니터링 및 감사

8.2.5 소스 프로그램 보안

소스 프로그램에 대한 변경관리를 수행하고 인가된 사용자만이 소스 프로그램에 접근할 수 있도록 통제절차를 수립하여 이행하여야 한다. 또한 소스 프로그램은 운영환경에 보관하지 않는 것을 원칙으로 한다.

  • 소스 프로그램에 대한 변경이력을 관리하고 있는가?
ㅇ 소스 프로그램의 변경(예 : 변경 ∙ 구현 ∙ 이관 일자, 변경 요청 사유 등)을 통제하고 변경된 소스 프로그램에 맞춰서 시스템 관련 문서(예 : 요구사항정의서, 설계서 등)에 대한 변경통제도 함께 수행하여야 한다.
  • 시스템 운영 장애 등 비상시를 대비하여 이전 시스템의 소스 프로그램을 보관하고 있는가?
ㅇ 신규 시스템 개발 및 기존 시스템 개선 완료 후 시스템 운영 장애 등 비상시를 대비하여 이전 시스템 소스 프로그램을 다음 항목과 함께 보관하여야 한다.

– 이전 시스템 환경에 필요한 운영 소프트웨어 (OS)
– 이전 시스템 지원 소프트웨어
– 이전 시스템 관련 문서 (예 : 기능적, 기술적 설계서, DB 설계 및 데이터 정의서 등)

  • 비인가된 자의 소스프로그램의 접근을 통제하기 위하여 절차를 수립 ∙ 이행하고 있는가?
ㅇ 소스 프로그램은 운영 환경이 아닌 별도의 환경에 저장하여야 하며 인가된 담당자에게만 접근을 허용하여야 한다.

외주개발 보안

8.3.1 외주개발보안

정보시스템 개발을 외주 위탁하는 경우 분석 및 설계단계에서 구현 및 이관까지의 준수해야 할 보안요구사항을 계약서에 명시하고 이행여부를 관리 ∙ 감독하여야 한다.

  • 정보시스템 개발을 외주 위탁하는 경우 개발 시 준수해야할 보안 요구사항을 제안요청서에 기재하고 계약시에 반영하고 있는가?
ㅇ 정보시스템을 외주 위탁하는 경우 SW 개발보안을 위한 적절한 개발절차 방법, SW 보안 취약점 진단도구 사용여부 확인에 대하여 제안요청서에 기재하여야 한다.

ㅇ 정보시스템을 외주 위탁하여 개발하는 경우 분석부터 설계, 구현에 이르기까지 보안 요구사항을 계약서 상에 분명히 명시하여야 한다.

  • 외주 위탁업체가 계약서에 명시된 보안요구사항을 준수하는 지 여부를 관리 ∙ 감독하고 있는가?
ㅇ 정보시스템 개발주기(분석-설계-구현-시험)별로 보안요구사항 준수여부를 관리하고 감독하여야 한다.

– 기능적, 기술적 요구사항의 반영 여부
– 개발 보안 가이드 준수 여부(시큐어 코딩 등)
– 테스트 시 보안요구사항 준수여부 확인 절차 포함
– 개발완료된 시스템에 대한 취약점 점검 등
– 개발인력 대상 SW개발보안 관련교육

  • 정보시스템 개발 완료 후 SW 보안취약점 제거여부 진단, SW 보안취약점 발견사항 조치 여부 등을 확인 후 검수 · 인수하고 있는가?
ㅇ 정보시스템 개발 완료 후 보안 요구사항 반영 여부, SW 보안취약점 제거 여부, SW 보안취약점 발견사항 조치여부, 개발자 계정 및 권한 삭제 여부 등을 확인한 후 검수 또는 인수하여야 한다.

[출처] http://philosymbol.net/?p=751
TAG •

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
1089 System/OS 무료로 HTTPS 적용하기 (Let's Encrypt) file hooni 2017.10.28 1376
1088 Etc How to completely Uninstall Coda hooni 2017.10.24 1873
1087 Etc 영어. 불규칙 동사 정리 file hooni 2017.10.04 3431
1086 System/OS [linux] iptables 초간단 세팅 스크립트 hooni 2017.09.26 1209
1085 Develop [ios] VIN Scanner (VIN barcode) 스캐너 file hooni 2017.09.16 616
1084 System/OS [mac] Homebrew/rvm/cocoapod setting hooni 2017.07.29 973
1083 Etc 캘리포니아 운전면허 문제 file hooni 2017.07.22 941
1082 Develop [android] 안드로이드 앱 문서 샘플 file hooni 2017.07.11 2045
1081 Develop [coding] 공부해야 하는거 ㅋㅋ secret hooni 2017.06.27 0
1080 Develop [coding] Find all anagrams in a string hooni 2017.06.27 1110
1079 Etc IT감사 기법 시험 file hooni 2017.06.14 1375
1078 Develop [android] SQLiteOpenHelper를 이용한 DBManager hooni 2017.06.14 2012
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 ... 98 Next
/ 98