5. 정보 시스템 구축 관리 - IT 프로젝트 정보 시스템 구축 관리(SW/ 보안 관련 신기술 ~ 소프트웨어 개발 보안 활동 관련 볍령 및 규정)

180. SW / 보안 관련 신기술

1) SW 관련 신기술 용어

  • 인공 지능 (AI; Artifical Intelligence) : 컴퓨터가 스스로 추론, 학습, 판단 등 인간 지능적인 작업을 수행하는 시스템
    • 응용 분야 : 신경망, 퍼지, 패턴 인식, 전문가 시스템, 자연어 인식, 이미지 처리, 컴퓨터 시각, 로봇 공학
  • Neuralink :  작은 전극을 뇌에 이식하여 뇌와 컴퓨터를 결합하는 기술을 개발하기 위한 기업
  • Deep Learning : 인간의 두뇌를 모델로 만들어진 인공 신경망 (ANN; Artifical Neural Network)
    • 스스로 학습하여 많은 데이터를 정형화하지 않고도 필요한 데이터를 수집, 분석하여 고속으로 처리함
  • 전문가 시스템 (Expert System) : 특정 분야의 전문가가 수행하는 고도의 업무를 지원하는 응용 프로그램
    • 지식 베이스(Knowledge + Database)에 기초하여 추론을 실행하는 추론 기구(Inference Engine) 활용
  • 가상 현실 (VR; Virtual Reality) : 컴퓨터 등을 사용하여 실제와 유사한 가상의 환경이나 상황을 구현하는 기술
  • 증강 현실 (AR; Augmented Reality) : 실제 촬영한 화면에 가상의 정보를 부가하여 보여주는 기술
  • 혼합 현실 (MR; Mixed Reality) : 가상 현실과 실제 현실을 합쳐 가상과 현실의 객체가 상호작용할 수 있는 환경을 구현하는 기술
  • Grayware : 사용자 입장에서 유용할 수도, 악의적일 수도 있는 소프트웨어
    • 애드웨어 : 소프트웨어 자체에 광고를 포함하여 이를 보는 대가로 무료로 사용하는 소프트웨어
    • 트랙웨어 : 적절한 사용자 동의 없이 사용자 정보를 수집하는 프로그램 (= 스파이웨어)
    • 기타 악성 코드나 악성 공유웨어
  • Mashup : 웹 상에서 웹서비스 업체들이 제공하는 다양한 컨텐츠와 서비스를 혼합하여 새로운 서비를 개발하는 것
  • RIA (Rich Internet Application) : 플래시 애니메이션 기술과 WAS 기술을 통합해 기존 HTML보다 역동적이고 인터랙티브한 웹페이지를 제공하는 플래시 웹페이지 제작 기술
  • Semantic Web : 컴퓨터가 사람 대신 정보를 이해하고 가공하여 새로운 정보를 만들어낼 수 있도록 이해하기 쉬운 의미를 가진 차세대 지능형 웹
    • 핵심 기술 : 자원 서술 기술, 온톨로지를 통한 지식 서술 기술, 통합 운영을 위한 에이전트 기술
  • OGSA (Open Grid Service Architecture) : 애플리케이션 공유를 위한 웹서비스를 그리드 상에서 제공하는 개방형 표준
    • 웹 서비스 표준을 적극적으로 따름
    • 기존 웹 개발 툴을 그대로 사용 가능
  • 서비스 지향 아키텍처 (SOA; Service Oriented Architecture) : 정보 시스템을 공유와 재사용이 가능한 서비스나 컴포넌트 단위로 구축하는 정보 기술 아키텍처
    • 구성 계층 : 표현 계층 - 업무프로세스 계층 - 서비스 중간 계층 - 애플리케이션 계층 - 데이터 저장 계층
  • 서비스형 소프트웨어 (SaaS; Software as a Service) : 소프트웨어 여러 기능 중 사용자가 필요한 서비스만 이용할 수 있도록 하는 소프트웨어
    • 공급 업체가 플랫폼을 이용해 여러 고객에게 소프트웨어 서비스를 제공
    • 사용자는 사용한 만큼 돈을 지불
  • 복잡 이벤트 처리 (CEP; Complex Event Processing) : 발생하는 이벤트 중 의미가 있는 것만 추출할 수 있도록 사건 발생 조건을 정의하는 방식
    • 다양한 분야의 대용량 데이터 스트림에 대한 요구에 실시간으로 대응하기 위해 개발
  • Digital Twin : 현실의 사물을 소프트웨어로 똑같이 만들어 가상화한 모델
    • 설계, 제조, 서비스 등의 모든 과정의 효율성 향상
    • 주로 현실의 사물을 대신해 다양한 상황을 모의 실험하는 용도로 사용
  • Tensorflow : 구글의 구글 브레인팀이 만든 데이터 흐름 프로그래밍을 위한 오픈소스 소프트웨어 라이브러리
    • C++ 로 제작
    • 다양한 구글 서비스 전반에서 이용

 

2) 보안 관련 신기술 용어

  • Blockchain : P2P 네트워크를 이용해 온라인 금융 거래 정보를 온라인 네트워크 참여자의 디지털 장비에 분산 저장하는 기술
  • 분산 원장 기술 (BLT; Blockchain Ledger Technology) : 중앙 관리자 없이 P2P 망 내의 참여자들에게 모든 거래 목록이 분산 저장되고 갱신되는 디지털 원장
  • 양자 암호키 분배(QKD; Quantum Key Distribution) : 양자 통신을 위해 비밀키를 분배하여 관리하는 기술
    • 두 시스템이 비밀키를 안전하게 공유하기 위해 양자 암호키 분배 시스템을 설치해 운용
  • 프라이버시 강화 기술 (PET; Privacy Enhancing Technology) : 개인 정보 위험 관리 기술
    • 개인 정보 보호 기술 (암호화, 익명화, etc)부터 사용자가 직접 개인 정보를 통제하는 기술까지 다양함
  • 공통 평가 기준 (CC; Common Criteria) : 정보 보호 제품의 평가 기준
    • 시스템 평가 원칙과 평가 모델, 시스템 보안 기능 요구 사항 11개
    • 시스템 7등급 평가를 위한 보증 요구 사항 8개
  • 개인 정보 영향 평가 제도 (PIA; Privacy Impact Assessment) : 개인 정보를 활용하는 정보 시스템의 도입이나 변경 시에 사생활에 미칠 영향에 대해 미리 조사,분석, 평가하는 제도
  • 소프트웨어 임치 (Software Escrow) : 소프트웨어의 소스 프로그램과 기술 정보 등을 제 3 기관에 보관하는 것
    • 소프트웨어 개발자의 지식 재산권 보호
    • 사용자는 저렴한 비용으로 안정적인 소프트웨어 사용 및 유지 보수가 가능
  • 서비스형 블록체인 (BaaS; Blockchain as a Service) : 블록체인 앱의 개발 환경을 클라우드 기반으로 제공하는 서비스
    • 블록체인 네트워크에 노드 추가/제거가 용이
    • 플랫폼 마다 다른 블록체인 기술을 보다 편리하게 사용
  • OWASP (Open Web Application Security Project) : 보안이 취약한 부분을 연구하는 비영리 단체
    • 보안 취약점 중 그 영향이 큰 것들을 기준으로 선정한 10대 웹 애플리케이션 취약점을 3~4년의 한 번씩 발표

181-183. 소프트웨어 개발 보안

: 소프트웨어 개발 과정에서 발생 가능한 보안 취약점을 최소화하여 보안 위협에서 안전한 소프트웨어를 개발하는 일련의 과정

  • 목표 : 기밀성 (Confidentiality), 무결성(Integrity), 가용성(Availability)
  • 보안 취약점이 발생하는 경우
    • 보안 요구 사항이 정의되지 않음
    • 소프트웨어 설계 시 논리적 오류 포함
    • 기술 취약점을 가진 코딩 규칙 적용
    • 소프트웨어 배치가 적절치 않음
    • 보안 취약점 발견 시 적절히 대응하지 않음

 

  • 안전한 소프트웨어 개발을 위한 수행 작업
    • 개발 프로젝트 관련자들의 역할과 책임을 명확히 정의하고 충분한 보안 교육 실시
    • 소프트웨어 개발 생명 주기의 각 단계마다 적절한 보안 활동 수행
    • 개발 보안을 위한 표준 확립
    • 재사용이 가능한 보안 모듈 제작
    • 새로운 소프트웨어 개발 프로젝트를 위해 보안 통제의 효과성 검증 실시

 

1) 소프트웨어 개발 보안 관련 활동 주체

  • 행정 안전부 - 정책 기관
    • 소프트웨어 개발 보안 정책 총괄
    • 보안 관련 법규, 지침, 제도 정비
    • 보안 약점을 진단을 위한 인력 양성 및 관련 업무 수행
  • 발주 기관
    • 소프트웨어 개발 보안의 계획 수립
    • 소프트웨어 개발 보안 사업자, 감리 법인 선정
    • 보안 준수 여부 점검
  • 한국인터넷진흥원(KISA) - 전문 기관
    • 소프트웨어 개발 보안 정책 및 가이드 개발
    • 보안에 대한 기술 지원
    • 보안 교육 과정 및 자격 제도 운영
  • 사업자 - 개발 기관
    • 소프트웨어 개발 보안 관련 기술 수준 및 적용 계획 명시
    • 보안 관련 인력을 대상으로 교육 실시
    • KISA의 보안 가이드를 참조하여 개발 진행
    • 자체적으로 보안 약점을 진단하고 제거
    • 보안 약점과 관련된 요구 사항 이행
  • 감리 법인
    • 감리 계획 수립 및 협의
    • 보안 약점의 제거 여부와 조치 결과 확인

 

2) 소프트웨어 개발 직무별 보안 활동

1. 프로젝트 관리자 (Project Manager)

  • 응용 프로그램에 대한 보안 전략을 조직 구성원들에게 전달
  • 조직 구성원들에게 응용 프로그램 보안 영향을 이해시킴
  • 조직 상태 모니터링

 

2. 요구 사항 분석가 (Requirement Specifier)

  • 아키텍트가 고려해야 할 보안 관련 비즈니스 요구 사항 설명
  • 팀이 고려해야 할 구조 정의, 해당 구조 내의 자원에 대한 보안 요구 사항 정의

 

3. 아키텍트 (Architect)

  • 보안 기술 문제를 충분히 이해
  • 시스템에 사용되는 모든 리소스 정의
  • 각 리소스별 적절한 보안 요구 사항 적용

 

4. 설계자 (Designer)

  • 특정 기술의 보안 요구 사항 만족성 여부 확인
  • 문제 발생 시 최선의 해결 방법 결정
  • 애플리케이션 보안 수준에 대한 품질 측정 지원
  • 요구 사항 수정을 최소화하기 위한 방안 제공
  • 다른 소프트웨어와의 통합 시 발생 가능한 보안 위험 이해
  • 발견된 보안 위협에 적절하게 대응

 

5. 구현 개발자 (Implementer)

  • 시큐어 코딩 표준을 준수하여 프로그램 구현 및 개발
    • 시큐어 코딩 (Secure Coding) : 개발하는 소프트웨어의 보안 취약점을 사전에 보완하면서 프로그래밍하는 것
  • 소프트웨어의 안전 여부를 다른 사람들이 쉽게 확인할 수 있도록 문서화

 

6. 테스트 분석가 (Test Analyst)

  • 소프트웨어 개발 요구 사항과 구현 결과를 반복적으로 확인
  • 보안 위험에 대한 학습이나 도구 사용법 숙지

 

7. 보안 감사자 (Security Auditor)

  • 개발 프로젝트의 전체 단계에서 현재 상태에 대한 보안을 보장
  • 요구 사항 검토 시 요구 사항의 적합성과 완전성 확인
  • 설계 단계에서 보안 문제로 이어질 수 있는 사항 확인
  • 구현 단계에서 보안 문제 확인

 

3) 소프트웨어 개발 보안 활동 관련 법령 및 규정

1. 개인 정보 보호 관련 법령

  • 개인 정보 보호법 : 개인 정보의 처리 및 보호에 관한 사항을 정해 개인의 자유와 권리를 보호하는 법
  • 정보통신망 이용 촉진 및 정보 보호 등에 관한 법률
  • 신용 정보의 이용 및 보호에 관한 법률
  • 위치 정보의 보호 및 이용 등에 관한 법률
  • 표준 개인 정보 보호 지침 : 개인 정보의 처리에 관한 기준, 개인 정보 침해 유형 및 예방 조치 등에 관한 세부사항 규정
  • 개인 정보의 안전성 확보 조치 기준 : 개인 정보 처리 시에 안전성 확보에 필요한 최소한의 기준 규정
  • 개인 정보 영향 평가에 관한 고시

 

2. IT 기술 관련 규정

  • RFID 프라이버시 보호 가이드라인
  • 위치 정보의 보호 및 이용 등에 관한 법률
  • 위치 정보의 관리적, 기술적 보호조치 권고 해설서 : 개인 위치 정보의 누출, 변조, 훼손 등을 방지하기 위해 서비스 사업자가 준수해야 하는 관리적, 기술적 보호조치의 구체적 기준 규정
  • 바이오 정보 보호 가이드라인
    • 바이오 정보 : 지문, 홍채, 음성, 필적 등의 개인을 식별할 수 있는 신체적, 행동적 특징에 관한 정보
  • 뉴미디어 서비스 개인 정보 보호 가이드라인
    • 뉴미디어 서비스 : 클라우드 컴퓨팅, 소셜 네트워크, 소셜 커머스, 스마트폰 활용 등의 서비스