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
번호 분류 제목 글쓴이 날짜 조회 수
1173 Develop [ios] 아이폰용 앱 오픈 소스들 hooni 2013.04.23 464972
1172 Develop [ios] 언어, 지역, 국가 설정 가져오기 hooni 2014.05.12 268576
1171 Develop 자주 쓰는 Docker 명령어 alias hooni 2020.01.10 267052
1170 Etc 베지어 곡선 (Bezier curve) file hooni 2013.08.18 219311
1169 Develop [ios] Start developing your navigation app for CarPlay without enrollment file hooni 2020.02.22 124370
1168 Develop [android] 만화 어플 소스코드 file hooni 2013.04.23 92832
1167 Develop 레고 마인드스톰 NXT 수도쿠, 큐브 소스코드.. 20 file hooni 2013.04.23 81369
1166 Algorithm 디피헬만(Diffie-Hellman) 초간단 개념.. hooni 2013.04.23 81003
1165 Develop [c#] Hashtable <-> Json (dll 포함) file hooni 2013.04.23 80644
1164 Develop [C#] MD5, SHA1 해시 & 인코딩 hooni 2013.04.23 77849
1163 Develop [android] 점심 해결 앱 소스 코드 ㅋㅋ file hooni 2013.04.23 76390
1162 PPT [android] XML파서(XMLParser)의 종류와 성능 비교에 대한 발표 자료 file hooni 2013.04.23 75631
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 98 Next
/ 98