레이블이 소프트웨어인 게시물을 표시합니다. 모든 게시물 표시
레이블이 소프트웨어인 게시물을 표시합니다. 모든 게시물 표시

2018년 9월 8일 토요일

소프트웨어사업 영향평가 가이드라인 (2018)

 뉴딜코리아 홈페이지 

소프트웨어사업 영향평가 개요

국가기관 등에서 소프트웨어사업의 예산편성, 발주, 소프트웨어 배포 및 서비스 제공을 추진하는 경우 민간시장 침해 등 소프트웨어 산업 생태계에 미치는 영향을 검토하여 사전 조정하는 제도

Ⅰ. 소프트웨어사업 영향평가 개요 5
  1. 소프트웨어사업 영향평가 제도 6
  2. 소프트웨어사업 영향평가 체계 10

Ⅱ. 소프트웨어사업 영향평가 수행 13
  1. 평가 기준 14
  2. 평가 방법 15
  3. 평가 시기 및 절차 17

Ⅲ. 소프트웨어사업 영향평가 검토결과서 작성방법 19
  1. 평가단계 및 활동 20
  2. 단계별 세부 내용 22
   1단계. 기본정보 22
   2단계. 운영계획 26
   3단계. 민간소프트웨어 시장 침해 가능성 확인 28
   4단계. 사업의 필요성·공공성 검토 30
  5단계. 종합의견 작성 33

붙임 35
 1. 소프트웨어사업 영향평가 관련 법령 36
 2. 검토결과서 작성 예시
  (민간시장 침해 가능성 없음) 39
 3. 검토결과서 작성 예시
  (민간시장 침해 가능성 최소화하여 사업 추진) 47

부록 53
질의 및 응답(Q&A) 54




컨설팅 : ISMS, ISO27001  GDPR,PCI-DSS 
취약점 진단 및 모의 침투
보안솔루션 공급
070-7867-3721, ismsbok@gmail.com

 

2017년 9월 17일 일요일

무기체계 소프트웨어 개발 및 관리 매뉴얼 (개정 : 2017.09.11)

무기체계 소프트웨어 개발 및 관리 매뉴얼 (개정 : 2017.09.11)




■ 이 매뉴얼은 방위력개선사업으로 획득되는 소프트웨어의 체계적인 개발 및 관리를 위한 프로세스와 산출물 작성표준 등을 규정함을 목적으로 한다.

■ 관련 문서
   가. 「국방전력발전업무훈령」
   나. 「국방정보화업무훈령」
   다. 「방위사업관리규정」
   라. 「무기체계 소프트웨어 개발 지원에 관한 규정」
   마. 「표준화 업무 지침」
   바. 「국방규격의 서식 및 작성에 관한 지침」
   사. 「국방 아키텍처프레임워크(MND-AF)」
   아. 「국방 CBD방법론」
   자. 「ISO/IEC 12207-2008(E) Systems and software engineering-Software Life Cycle Processes」
   차.「군용항공기 비행안전성 인증에 관한 업무규정」


■ 매뉴얼 구성
이 매뉴얼은 다음과 같이 4개의 장, 부록 및 별책으로 구성되었다.

가. 제1장 「개요」
이 매뉴얼에 대한 총괄적인 설명


나. 제2장 「소프트웨어 개발 프로세스」
소프트웨어 개발단계별 주요 활동, 참여기관의 역할, 업무절차, 산출물, 산출물 검토 시 고려할 사항 등 소프트웨어 개발 활동 정의


다. 제3장 「소프트웨어 지원 프로세스」
개발단계 형상관리, 품질관리 및 감리 세부 절차 정의


라. 제4장 「소프트웨어 관리 프로세스」
 사업추진 준비, 개발 관리, 신뢰성/보안성 확보 활동, 규격화, 목록화, 기술자료 관리 및 재사용, 지식재산권, 국산화, 내장형 소프트웨어 분류체계 식별자 관리 및 활용, 소프트웨어 종합군수지원요소 개발, 구매사업 소프트웨어 관리 등 소프트웨어 관리 활동 정의


마. 「부록」
연구개발사업 제안요청서(안), 구매사업 제안요청서(안), 개발단계별 산출물 점검표, 형상관리 및 품질보증 점검표, 국방규격화 검토용 점검표, 무기체계 소프트웨어 코딩규칙, 소프트웨어 신뢰성/보안성 시험 절차, 국방 아키텍처 필수 작성 산출물, 표준 개발 프로세스와 국방 CBD 개발 프로세스 간 매핑표, 분류체계 식별자 관리, 형상변경 참조 양식, 품질보증 참조 양식, 감리 참조 양식, 공개SW 무기체계 적용 가이드라인, 약어표 등
  

바. 「별책 : 무기체계 소프트웨어 기술문서 작성 가이드」
. 기술문서 표준서식,

. 소프트웨어개발계획서,
. 소프트웨어요구사항명세서,
. 소프트웨어설계기술서,
. 인터페이스설계기술서,
. 데이터베이스설계기술서,
. 소프트웨어통합시험계획서,
. 소프트웨어통합시험절차서,
. 소프트웨어통합시험결과서,
. 소프트웨어설치계획서,
. 펌웨어설치절차서,
. 소프트웨어버전기술서,
. 소프트웨어산출물명세서,
. 소프트웨어목록명세서 등
=>13종 기술문서 작성가이드

▶ 첨부파일 :
o 무기체계 소프트웨어 개발 및 관리 매뉴얼 본문
o 무기체계 소프트웨어 개발 및 관리 매뉴얼 부록
o 무기체계 소프트웨어 개발 및 관리 매뉴얼 신구조문대조표
o 무기체계 소프트웨어 개발 및 관리 매뉴얼 기술문서 작성가이드



뉴딜코리아 컨설팅사업부 (070-7867-3721, ismsbok@gmail.com)



2017년 8월 30일 수요일

소프트웨어 개발보안 가이드(전자정부 SW 개발/운영자를 위한)

소프트웨어 개발보안 가이드
(전자정부 SW 개발/운영자를 위한)


○ SW 개발보안은 해킹 등 사이버공격의 원인인 보안약점을 SW 개발단계에서 사전에 제거하고 SW 개발생명주기의 각 단계별로 수행하는 일련의 보안활동을 통하여 안전한 SW를 개발/운영하기 위한 목적으로 적용하는 개발체계이다.

SW 개발과정 중 소스코드 구현단계에서 보안약점을 배제하기 위한 '시큐어코딩'을 중심으로 발주자, 사업자, 감리법인 등 다양한 참여 주체가 기획 검토 단계부터 개발, 검사/종료에 이르는 다양한 단계에서의 수행해야 할 활동을 포괄적으로 정의한다.


▶ SW 개발보안 적용 대상 및 범위





첨부파일 : 용량문제로 알집 분할 파일 입니다

   - 소프트웨어 개발보안 가이드(전자정부 SW 개발/운영자를 위한) 3_1

    - 소프트웨어 개발보안 가이드(전자정부 SW 개발/운영자를 위한) 3_2

    - 소프트웨어 개발보안 가이드(전자정부 SW 개발/운영자를 위한) 3_3






2017년 3월 13일 월요일

스마트공장을 위한 최소 정보보안 가이드 라인

 뉴딜코리아 홈페이지 

스마트공장을 위한 최소 정보보안 가이드 라인



최근 사이버 취약점을 공격하는 사례가 급증하고 있고 특히 제조, 에너지 등 ICS 산업 시스템의 물리적 공정을 자동화하고 모니터링하는 센서, PLC, 소프트웨어나 네트워크 장비에 대한 공격이 증가하고 있다. 이러한 산업분야의 정보보안 인력은 대부분 ICS가 자산이라고 인식하지 못하여, 알람을 무시하거나 산업환경이 위험에 노출된 채로 취약점을 방치하는 경우 많다는 것이 ICS 산업분야의 정보보안사고의 주요 원인 중 하나로 지적되고 있다.

우리나라도 산업통상자원부 산하‘스마트공장추진단’이 발족한 이래로 2014년 8월 27일에 1차 버전의 스마트공장 참조모델이 개발되었고, 개정작업을 거쳐 2015년 10월 16일 기계부품조립, 전자부품조립, PCB 제작 등 14개 분야에 대한 스마트공장 참조모델 2차 버전이 개발되어 배포되어 스마트공장이 활발히 보급되고 있다.

그러나 사이버범죄가 고도화되고 있는 현재의 환경을 고려한다면, 정보보안이 취약한 산업분야에 스마트공장을 보급 및 확산하는 것은 더욱 지능화된 사이버범죄자들에게 고속도로를 놓아주는 것과 다름없는 위험성을 내포하고 있다. 특히 국가적 차원에서 대규모의 자본과 인력이 투입되어 시도되는 국가 인프라나 주요 산업부문에 대한 사이버공격의 양상을 고려했을 때 스마트공장의 도입과 운영에 있어서 철저한 정보보안 대비책이 시급한 실정이다.

이와 같은 스마트공장 정보보안의 필요성에 따라 현재 스마트공장 도입․운영 하거나 스마트공장 도입을 고려하고 있는 업체가 최소한의 정보보안 대응력을 마련하고 차후 해당 업종과 스마트공장 수준에 맞는 적절한 정보보안대책이 수립 가능한 기초역량을 배양할 수 있도록 하는 것이 본 가이드라인의 목적이다.


목   차

Ⅰ. 서론
1. 스마트공장 정보보안 사고 사례
2. 스마트공장 최소보안가이드라인 적용 효과 분석

Ⅱ. 스마트공장 최소보안가이드라인


1. 공장 보안조직 및 규정
1.1 정보보호 규정 수립
1.2 정보보호책임자와 담당자 지정
1.3 정보보호 서약서
1.4 정보보호 교육
1.5 자산 파악

2. 공장 시설·설비·장비 및 매체 보안
2.1 보호구역 지정
2.2 외부 위탁 시 물리적 보호
2.3 출입통제
2.4 장비 및 매체 반출입

3. 공장시스템 접근권한 관리
3.1 정근통제 절차
3.2 관리자 및 특수 권한 관리
3.3 외부자 권한
3.4 패스워드 관리
3.5 네트워크 접근 통제
3.6 관리자 응용프로그램 접근 통제
3.7 모바일 기기 관리

4. 공장시스템 운영 보안
4.1 보안시스템 접근권한 최소화
4.2 원격 접근 통제
4.3 무선 네트워크 보안
4.4 공개서버 보안
4.5 악성코드 통제
4.6 로그관리 및 모니터링

5. 공장시스템 개발 보안
5.1 개발 시 보안통제 요구사항 요청

6. 공장시스템 침해사고 관리
6.1 침해사고 관리

7. 개인정보보호
7.1 개인정보 수집 제한
7.2 개인정보 암호화
7.3 영상정보처리기기 운영

■ 첨부파일 :
 - 스마트공장 최소보안 체크리스트
 - 스마트공장 최소보안가이드


2017년 3월 2일 목요일

소프트웨어 개발보안(시큐어코딩) 가이드 (2017년 01월 개정)

 뉴딜코리아 홈페이지 

소프트웨어 개발보안(시큐어코딩) 가이드 (2017년 01월 개정)

안전한 SW 개발을 위한 [소프트웨어 개발보안 가이드] 개정본입니다(2017.1월)

「행정기관 및 공공기관 정보시스템 구축ㆍ운영 지침」(2016.12.26) 개정으로,

SW 개발보안 적용범위가  설계단계까지 확대됨에 따라, 전자정부 SW개발자가 참고할 수 있도록
본 가이드를 개정ㆍ배포합니다.

<주요 개정내용>
 ㅇ 소프트웨어 개발보안 방법론 소개
 ㅇ 분석/설계단계 보안 고려사항
 ㅇ 기타 구현단계 개발보안 예제 등 보완




2016년 12월 31일 토요일

소프트웨어 취약점 줄이는 권고사항 (NIST,2016. 12. 11)

 뉴딜코리아 홈페이지 | 뉴딜코리아
http://cafe.naver.com/rapid7/2713
 

소프트웨어 취약점 줄이는 권고사항

미국 국가표준기술연구소(NIST)는 개발자들이 소프트웨어의 취약점 사례를 줄일 수 있도록 하는 권고사항을 제공하는 보고서를 발표하였다.

이 보것는 다섯가지 기술 접근을 제시한다.

즉 코드 기능 검증을 위해 수학기반의 도구 사용, 한 개의 취약한 부분으로 인해 전체 시스템이 영향을 미치지 않도록 프로그램 모듈화, 코드 분석 도구 연결, 적절한 프로그램 언어 사용 및 공격 대상이 되는 코드를 보호하기 위해 혁신적이고, 신기술 적용 등이다.





2016년 5월 22일 일요일

소프트웨어 안전성 분석 방법의 종류와 검증 기법 소개

카페 > 뉴딜코리아 홈페이지 | 뉴딜코리아
http://cafe.naver.com/rapid7/2446

소프트웨어 안전성 분석 방법의 종류와 검증 기법 소개



대부분의 산업계에서 디지털 컨버전스의 추세에 따라, 컴퓨터 소프트웨어의 안전성 확보 중요한 현안으로 부각되고 있다.

이에 따라 소프트웨어 개발공정 단계별 안전성 분석 수행을 인허가 기준으로 의무화 하고 있는데, 소프트웨어 개발공정 단계 요구사항 명세 단계에서 안전성 분석을 수행하기 위한 방법들은 무엇이 있는지 알아보고, 산업에서 실제 적용해본 알아보도록 하자.

1. 소프트웨어 안전성 분석기법의 필요성
2. 시스템 요구 분석 단계에서 안전 요건을 도출하는 기법들의 종류와 특징
3. 시스템 개발 안전성 분석의 성공전략

Q)  소프트웨어   안전성   분석기법은   왜   필요한건가요? 
  소프트웨어의 규모가 커지고 복잡해지면서 소프트웨어의 기능적 실패 (Failure)를 만들어 내는 위험(Hazard)요소들을 분석하기가 어려워지고 있습니다. 
이제는 산업시스템 (원자력,  항공관제,  철도운영 등)에서도 디지털 컨버전스로 인한 소프트웨어의 중요성은 두말하면 잔소리로 여겨질 만큼 중요한데요. 
이런 기능적 실패는 곧 큰 사고로 이어지게 되기 때문에 더더욱 중요하게 생각하지 않을 수 없습니다. 
이러한 소프트웨어의 기능적 실패를 제거하고 안전성과 신뢰성을 높이기 위해 안전성 분석이 필요해지고,  또 안전성 분석을 요구하고 있습니다. 이에 따라 정확한 분석을 위해 다양한 분석기법들이 나오게 되었습니다.   

먼저 안전성을 분석하기 전에 개념에 대해 명확히 해두고 가야할 것 같습니다.
[용어정의]
Error : 설계(design)의 결함 또는 바랐거나 의도했떤 상태로부터 벗어남
Hazard : 시스템 환경에서 다른 상태들과 연관되어 필연적으로 사고를 발생시키게 되는 시스템의 상태나 상태들의 모임
Failure : 특정 환경상태에서 특정 시간동안 시스템 또는 컴포넌트(Component)가 수행하기를 희망했던 기능의 불이행, 불능
Accident : 특정 수준의 손실이라는 결과를 내거나 계획하지 않았던 이벤트

Q) 소프트웨어 안전성 분석 기법이 어떤 것을 뜻하는지   자세히 알고 싶습니다.
  안전성 분석의 목적은 위험식별위험 영향분석위험 원인 분석이며 분석기법에 따라  가지 이상의 목적을 달성할  있기 때문에목적에 따라 기법을 선택해야 합니다
소프트웨어 산출물 (명세서디자인프로그램 코드 )  검토하는 방법도 하나의 방법이  있고, FTA, FMEA, HAZOP. 등과 같은 시스템 요구분석 단계에서 안전요건을 도출하는 방법도 있습니다.
코딩단계에서 적용되는방어적 프로그래밍 방법도 있으며도출된 안전요건의 충족여부를 정형적으로 검증하는 모델 검증방법도 있습니다
 
  시스템 요구 분석 단계에서 안전 요건을 도출하는 기법들의 종류와 특징에 대해 설명드리자면 아래와 같습니다.
 
(1) FHA (Functional Hazard Assessment)
 - failure  유발하는 기능 (function) 찾아내는 기법으로 개발 초기 또는 시스템을 정의하는 단계에서 적용할  있으며하향식(Top-down) 으로 분석을 반복하게 됩니다브레인스토밍을 통해 기능과 관련된 위험을 정의하고 위험이 미칠 영향영향의 심각성등을 정의하게 됩니다
 
(2) PHA(Preliminary Hazard Analysis)
요구사항 분석의 늦은 단계나 설계 과정의 이론 단계에서 사용하기 좋은 방법으로이것도 브레인스토밍 방법을 사용합니다따라서시스템을  이해하고 있는 전문가나 안전성 분석 기법 경험자가 사용하기에 적합하다고   있습니다. PHA 과정에서는 안전성 분석을 위한 체크리스트를 사용합니다체크리스트에 점검되는 항목은 다음과 같습니다.
  
<  1> PHA 과정에서 사용되는 안전성 분석을 위한 체크리스트
이러한 방식으로 테이블 형태의 문서를 제공하고테이블에는 위와 같은 속성들이 있습니다.

(3) FMEA(Failure Mode and Effect Analysis)- 존재하고 있는 잠재적인 고장, 문제, 오류들이 사용자에게 닿기 전에 찾고(identify), 정의하고(define), 제거하는(eliminate) 안전성 분석기법입니다.
FMEA 의 단계는 먼저 모든 컴포넌트를 리스트 형태로 정의하고, 각각의 고장 모드가 영향을 미칠 모든 컴포넌트, 시스템을 정의하고, 각각의 고장 모드의 가능성과 심각성을 개선하는 단계로 진행됩니다.
소프트웨어 개발 생명주기의 이론 단계에 이 분석 기법을 사용하는 것이 비용 측면에서 유리하며, 단계에서의 적용은 경고(warning), 예방(preventive)을 통해 안전성을 위한 설계수정을 최소화 할 수 있습니다.

 <  2>Failure Mode and Effect Analysis


(4) FSD(Failure Sequence Diagram)
  
- 방금 설명한 FMEA  컴포넌트의 고장을 확인하기에 아주 좋은 분석기법이지만컴포넌트의 상호작용에 대해서는 설명하지 못합니다
그래서 이런 FMEA  단점을 보완하기 위해 UML sequence diagram 사용한 FSD 기법이 제시되었습니다.
FSD  FMEA 조사 단계가 끝난  수행되고컴포넌트 간의 상호 작용을 보여주기 위해 UML Sequence diagram  작성합니다
이것을 통해 현재의 제어상태와 참조하고 있는 행동(Action) 대해 기술할  있는데아래 그림을 통해 HazardActor 에서 발생된 입력이 컴포넌트들을 거치면서 사용자에게 어떻게 고장의 형태로 전달되는지  과정을   있습니다

< 그림 1> Example of FSD


(5) HAZOP(HAZard and Operability Analysis)

 

 방법은 이름에서   있듯이 위험과 시스템의 운영상의 위협요소를 조사하는 기법입니다

전통적으로 성공한 널리 알려진 방법중에 하나인데기본적으로 시스템을 검토하고 잠재적인 위험을 찾는 것이 목적이며브레인스토밍 단계에서 Guide word 이용한다는 특징이 있습니다.


Guide word : No, Less, More, Reverse, Also, Other, Function, Early, Late, Before/After, etc

브레인스토밍팀장의 체계적진행, Study Node, Guide Words, 공정변수의 순차적 적용을 통하여 가이드워드 조합이탈의 전개이탈에 대한 원인파악결과 예측안전조치의 강구위험등급을 산정합니다.

(6)FTA(Fault Tree Analysis)
- 다음 기법은 시스템의 기능과 고장에 대한 정보를 그림과 같이 트리구조로 제공합니다

현재 항공전자공학원자력  다양한 분아에서 사용되고 있고개발의 모든단계에서 사용 가능하다는 장점이 있습니다
하지만 지금까지 언급한 기법들과 달리 FTA  위험이발생할 원인들을 분석할 수는 있으나위험을 찾아내는 기법은 아닙니다.
Root  의도하지 않은 이벤트를 두고이를 발생시킬  있는 잠재적인 faulty event 또는 normal mode 노드(node)  표현하고이것을 Booleanlogic(AND,OR) 사용해 조합하여 비쥬얼하게 보여주는 방식입니다.

< 그림 2> FTA(Fault Tree Analysis)


 
 Q) 많은 종류의 안정성 분석기법이 있는데요, 이 중에 가장 많이 사용되는 기법들은 무엇이고, 어떤 차이가 있나요?
3 가지 정도의 대표적인 분석기법을 뽑을 수 있는데요.

FTA(Fault Tree Analysis), FMEA(Failure Mode and Effect Analysis), HAZOP(HAZard and Operability Analysis) 이 세 가지에 대해 간략하게 특징만 요약해 보겠습니다.

-FTA 기법은 특정 사고에 대한 연역적 해석을 하여, 사건사고의 원인파악하며 설비결함 및 작업자의 실수도 포함하여 분석되는 기법입니다.
장치의 이상이나 작업자 실수의 조합까지도 발견할 수 있습니다.

-FMEA 기법은 작업자의 실수는 확인되지 않으나, 중대사고에 영향을 미치는 직접적인 원인이 되는 시스템의 설비등을 파악할 때 주로 사용됩니다.

- 마지막으로 HAZOP 기법은 Guide word 를 사용하여 브레인스토밍 방법으로 진행되기 때문에 위험요소나 조업상의 문제점을 사전에 파악할 수 있다는 장점이 있습니다.

FTA 기법이 결과의 형태가 에러의 집합 목록이라면, FMEA 는 체계적인 참고 목록이 될 수 있고, HAZOP 는 문제점을 도출하여 수정안을 제시하고, 보완방법과 후속조치에 대한 연구제안 등이 분석기법의 산출물로 표현될 수 있습니다.
각 기법에 따라 필요인원을 살펴보면 FTA 기법은 1인 혹은 팀으로 구성되는데 반해, FMEA 는 시스템의 대상의 크기와 수에 따라 다르고, HAZOP 기법은 5~7 팀 또는 더 작은 규모라면, 2~3 명 정도 까지도 가능하다고 볼 수 있습니다.

Q) 안전이 필수인 시스템 개발 안전성 분석의 성공전략이 있다면 무엇일까요?아래 도표와 같은 프로세스를 통해 체계적으로 분석하고 관리하여 소프트웨어에 대한 평가를 수행한다면, 소프트웨어의 품질을 높이고 완성도 있는 개발을 할 수 있을 것입니다.




또한, 시스템의 종류, 목적에 맞는 위험식별, 위험영향 분석, 위험 원인분석 기법선택이 프로세스 내에 녹아있어야 할텐데요.
소프트웨어는 많은 발전을 이루어왔고, 규모가 커지고 복잡해졌으며, 사용분야도 일상과 밀접한 곳으로부터 안전한 필수 시스템까지 다양한 곳에 쓰이게 됐습니다.
특히, 안전 필수 시스템에서는 안전성을 위해 안전성 분석 기법의 적용이 필수적인데요. 현재 다양한 안전성 분석 기법들이 제시되어 왔으며, 새로운 안전성 분석 기법들도 계속해서 제시되고 있습니다.

각 시스템에 적합한 분석기법들을 도입해, 안전한 소프트웨어 개발이 될 수 있도록 해야 할 것입니다. 
< 참고문헌 >
소프트웨어 기반의 안전 시스템을 위한 안정성분석 ( 정보과학회지 2015.7)
차량전장용 운영체제 검증 사례를 통한 소프트웨어 안전성 검증기법 소개 ( 한국 정보처리학회지 2014)
안전 필수 시스템을 위한 안전성 분석기법 ( 중소기업정보기술융합학회 논문지 제 2 권 제 1 호 pp. 11-18,2012)
소프트웨어 요구명세 안전성 분석을 위한 HAZOP 방안 (2003 춘계학술발표회 논문집 한국 원자력학회 )
 

글 : NBP IT 보안개발팀 최원석 과장