인공지능과 사물인터넷의 발달은 의료기기 개발에도 영향을 끼쳤다. 의료기기 및 서비스의 소프트웨어 개발과정에서 취약점이 꾸준히 발견되었으며, 의료기기들이 네트워크에 연결되기 시작하면서 개발자들이 생각하지 못했던 문제들이 꾸준히 발견되어 왔다. 의료기기가 공격당할 때, 이를 사용하는 환자의 생명은 장담할 수 없게 된다.

 

이를 방지하기 위해, 과학기술정보통신부와 한국인터넷진흥원에서는 '디지털 헬스케어 보안모델'을 발간하였다. '디지털 헬스케어 보안모델'은 2개의 파트로 구성되어 있는데, PART I에서는 의료기기를 PART II에서는 서비스 유형별로 보안 모델을 제시하였다.

 

PART I 의료기기편의 주요 내용으로는

배경 및 목적

디지털 헬스케어 서비스 모델에서는 기기의 역할에 따라 분류하였고,

디지털 헬스케어 보안위협에서는 인증 및 허가 유형, 암호유형, 데이터보안 및 안전한 통신 유형, 안전한 기기관리 및 물리적 보호 유형으로 나누어 설명하고 있다.

디지털 헬스케어 기기 보안요구사항에서는 보안요구항목 및 보호대책에 대해 설명하고 있다.

 

PART II 서비스 유형별의 주요내용으로는

배경 및 목적

디지털 헬스케어 구성요소 및 보안모델 개념에서는 의료기기 보안 모델과 서비스 모델 모델 프레임 워크에 대해 설명하고 있고,

디지털 헬스케어 서비스 유형 분류에서는 서비스 유형 분류 프레임워크 및 서비스 그룹 정의, 디지털헬스케어 서비스에 대해 설명하고 있다.

디지털헬스케어 서비스 보안위협에서는 사용자 인증, 암호화, 데이터 보호, 접근통제, 소프트웨어 보안, 보안기능에서의 다양한 보안위협에 대해 설명하고 있다.

디지털 헬스케어 보안 요구사항에서는 디지털 헬스케어 서비스 전체에서 요구하는 보안 요구사항에 대해 나열하고, 각 유형별로 설명하고 있다.

 

해당 파일들은 한국인터넷진흥원의 홈페이지에서 다운로드할 수 있는데, 기존에는 요약본 하나에 설명되어 있던 것을 22.4.26일에 파일 2개로 다시 게시하였다. 이번에 공개된 파일 2개의 디지털 헬스케어 보안모델도 '요약본'으로 표기되어 있어서 좀 더 자세한 디지털 헬스케어 보안모델이 공개될 것으로 전망된다.

 

20201200_디지털헬스케어_보안모델_PART1_요약본.pdf
1.15MB
20201200_디지털헬스케어_보안모델_PART2_요약본.pdf
8.48MB

 

 

 

아래의 파일은 기존에 공개된 요약본 파일이다.

20201200_한국인터넷진흥원_디지털헬스케어_보안모델(요약본).pdf
0.54MB

 

 

 

현대모비스가 이어셋 형태의 장비로 귀주변의 뇌파를 측정하여 운전자의 상태를 실시간으로 측정하고, 졸음 등과 같은 부주의의 가능성이 있으면 시청각, 촉각 등으로 경고해주는 장비를 개발하여 1년간 시범사업을 통해 효과를 입증했다고 합니다. 
이 결과 장비를 장착하지 않았을 때 주의력을 회복하는데 6.7초 걸린 것이 장비를 장착하면 2.3초로 줄어들었다고 하네요. 실시간으로 인간의 뇌파를 모니터링하여 분석, 활용할 수 있고 이상을 감지할 수 있는 기술을 개발하고, 실제 산업에 적용할 수 있다는 것이 놀랍네요.

다만, 이어셋을 지속적으로 착용해야 하는 운전자를 고려하여 인체공학적으로 편하게 만들어야 하고, 뇌파 측정의 안정성을 증대 시켜 장비의 신뢰성을 증대시켜야 할 것으로 생각됩니다.


현대모비스가 2021년 개발한 뇌파 기반의 운전자 모니터링 기술 '엠브레인(M.Brain)'이 졸음운전과 같은 운전 부주의 상황을 1/3 가까이 줄일 수 있는 것으로 나타났다.
경기도 공공버스에 시범 적용해 약 1년 동안 효과를 분석한 결과, 이어셋 형태의 '엠브레인'을 착용하면 귀 주변의 뇌파를 측정해 운전자의 상태를 실시간으로 파악하고, 부주의함이 측정되면 즉시 시청각, 촉각 자극을 통해 주의력을 회복하도록 도와준다.
운전자의 건강상태와 주행환경에 따라 뇌파 신호가 어떻게 변하는지에 대한 유효한 데이터를 확보한 만큼, 앞으로 더욱 정교하게 기술을 업그레이드 해 나간다는 계획이다.

 

현대모비스가 개발한 뇌파 측정 기반 운전자 모니터링 시스템 ‘엠브레인(M.Brain)’의 졸음운전 예방효과가 경기도와의 시범사업으로 입증됐다. 엠브레인은 실시간으로 운전자의 뇌파를 감지해 시각 (운전석 주위의 LED), 청각(헤드레스트 스피커), 촉각(진동시트) 등 다양한 감각기관으로 부주의 운전을 경고해 사고저감에 기여한다.

뇌파를 활용한 운전자 모니터링 기술을 적용하면 졸음운전과 같은 위험한 상황을 최대 1/3 가까이 줄일 수 있는 것으로 나타났다. 생체신호를 활용한 자동차 사고예방 기술이 속속 도입되는 가운데, 앞으로 버스나 상용차의 대형 교통사고 저감에 기여할 것으로 기대된다.
 
현대모비스는 경기연구원과 함께 지난 1년 동안 경기도 공공버스에 시범적용한 ‘엠브레인’의 실질적인 효과에 대한 분석결과를 18일 공개했다. 엠브레인(M.Brain)은 지난해 현대모비스가 세계 최초로 개발한 뇌파 기반 운전자 모니터링 시스템이다.
 
이번 시범사업 결과, 엠브레인을 착용한 운전자는 주행 중 집중력이 향상되고 부주의한 상황에 적게 노출된다는 사실이 입증됐다. 엠브레인은 이어셋을 착용하고 귀 주변의 뇌파를 통해 운전자의 상태를 실시간으로 판단하는 기술이다. 운전자의 주의력이 떨어지면 시각과 청각, 촉각 등의 알림기능을 통해 주의력을 빠르게 회복하도록 도와준다.
 
지난 1년간 운영한 시범사업의 분석결과에 따르면, 엠브레인을 착용한 운전자는 졸음이 가장 많이 발생하는 식후 시간대에 부주의함을 최대 30% 가까이 줄일 수 있었다. 부주의함은 졸음운전이나 전방을 주시하지 못하는 위기상황을 의미한다. 자칫 대형사고로 이어질 수 있는 고속도로에서도 운전자 부주의를 20%가량 감소하는 효과가 나타났다.
 
졸음운전이나 운전자가 한 눈을 파는 상황에서도 빠르게 전방을 주시하도록 돕는 효과도 입증했다. 엠브레인이 운전자의 부주의한 상황을 실시간으로 감지해 목 주변의 스피커나 진동시트 등으로 경고를 주는 방식이다. 엠브레인을 착용하면 최대 2.3초만에 주의력을 회복할 수 있는 것으로 나타났다. 그렇지 않은 경우인 6.7초보다 약 3배 가까이 빠르게 주의력 회복을 도와주는 것으로 나타났다. 안전거리 확보를 통해 비상상황 대응에도 유용할 전망이다.
 
무엇보다 이번 엠브레인 실증사업의 성과는 실제 교통 상황에서 뇌파 신호가 운전자의 건강상태와 주행환경에 따라 어떻게 반응하는지 유효한 데이터를 확보한데 그 의미가 있다. 차량용 헬스케어 분야는 실제 도로를 주행하며 획득한 데이터가 핵심 경쟁력이다. 이를 위해 현대모비스는 올해 말까지 총 300여 대의 공공버스에 엠브레인 적용을 확대한다. 실증범위를 넓히고 딥러닝 기술을 도입해 분석작업에도 속도를 낸다는 방침이다.  
 
현재 차량용 헬스케어 부문에서 글로벌 경쟁사들은 동공이나 맥박처럼 상대적으로 측정하기 쉬운 생체신호 기술을 활용한 자율주행 신기술을 선보이고 있는 단계다. 반면 현대모비스는 이번 시범사업을 통해 한 단계 높은 뇌파 기술 분야에서 세계 최초로 기술개발과 대규모의 데이터까지 확보하게 됐다.
 
한편 현대모비스는 뇌파 신호 해석을 위한 딥러닝 기술을 비롯해 다른 생체신호를 통합한 디지털 헬스케어 기술들도 선제적으로 개발하고 있다. 그리고 지자체와 운송업계 등과 실증사업을 포함한 다양한 협업을 확대할 방침이다. 이를 통해 PBV(목적기반차량) 기반 완전자율주행 단계에서는 탑승객들의 생체신호를 바탕으로 맞춤형 헬스케어나 인포테인먼트 서비스 제공이 가능해질 전망이다.

개인정보보호위원회에서는 개인정보 처리 동의서 '읽지 않고 동의하는' 관행을 방지하기 위해 개인정보 동의 안내서 및 처리 방침 작성지침을 공개하였다. (2022. 3. 3)

 

작성지침 내용중에 처리 방침의 핵심사항을 정보주체가 쉽게 알아볼 수 있도록 기호로 구성한 개인정보 처리 표시제(라벨링)를 도입하여 처리방침의 앞부분에 요약된 형태로 공개하도록 하였다. 개인정보 처리 표시제를 표기하였더라도 개인정보 처리 방침은 라벨링과 상관없이 공개하여야 한다. 

 

개인정보 처리 표시제

위 라벨링 예시를 보면 직관적인 이미지를 통해 알기 쉽고 한 눈에 알아볼 수 있을 것 같다. 개인정보 처리 표시제는 정보 주체로부터 개인정보 처리 동의를 받고자 할 때 알려야 할 사항을 알기 쉽게 안내 할 수 있어 동의제도의 실질화에도 기여할 것으로 개인정보보호위원회는 기대하고 있다.

 

주요 개인정보 처리 표시는 개인정보의 유형, 처리단계, 권리 의무사항 등으로 분류하고 하며, 아래 표와 같은 도형을 활용하여 표시를 구분하고 있다. 

 

개인정보 표시제 테두리 의미

 

 

이러한 개인정보 처리 라벨링을 웹에서 활용하는 예시는 아래와 같다.

 

위 화면에서 아이콘에 마우스를 올리면 아래 그림과 같이 수집하는 상세한 내용(이름, 이메일 주소, 핸드폰번호)이 표시되도록 되어 있다. 

 

웹 페이지 상 표시 예시 1

 

웹 페이지 상 표시 예시 2

[웹 페이지상 표시 예시 2]의 이미지는 각각의 라벨링 밑에 수집하는 내용을 표시하여 정보주체가 쉽게 알아 보게 만들 수도 있다. 사이트의 상황에 맞게 제작하여 활용하면 될 것 같다.

 

개인정보 처리 라벨링을 생활속에서도 활용할 수 있다.

 

생활 속에서 개인정보 처리 라벨링 활용 예시 1

[생활 속에서 개인정보 처리 라벨링 활용 예시 1]에서 보면 회원관리, 고객상담, 통계 분석을 위해(수집목적) 성명, 휴대전화번호, 이메일, 생년월일, 성별 등 5개의 개인정보 항목을 수집(수집항목)해서, 2개사에 맞춤 서비스 및 택배 발송을 위해서 개인정보를 제공(개인정보 제3자제공)하고, 회원탈퇴시 1개월 후에 완전 파기(개인정보 파기)를 한다는 의미이다. 

 

생활 속에서 개인정보 처리 라벨링 활용 예시 2

 

생활 속에서 개인정보 처리 라벨링 활용 예시 3

 

개인정보 처리 표시제를 활용하면 정보주체가 내 개인정보를 어떻게 수집, 활용, 파기하는지 알 수 있게 되어, 개인정보 보호에 도움이 될 것으로 보인다.

 

아래는 개인정보 처리 방침 작성 지침내에 공개된 주요 개인정보 처리 표시(라벨링)의 기호 및 활용방법이다. 개인정보 처리 표시를 곰곰이 살펴보니, 아기자기하게 잘 만들기는 했으나, 일반인 들이 한참을 생각해야 이해할 수 있을 것 같다. 또한, 일상에 지친 현대인이 새로운 표시를 공부해야 하는 것은 아닌가 하는 생각을 잠시 하였다. 

 

개인정보 보호법은 개인정보처리자가 개인정보 처리 내역을 개인정보 처리방침에 작성하여 공개하도록 하여, 정보주체가 자신의 개인정보 처리 내용을 쉽게 알 수 있도록 하고 있다.

그러나 개인정보 처리방침이 형식적으로 작성되고 내용도 복잡해 대다수 정보주체가 읽지 않고 있어, 권리 보장에 한계다는 지적이 있다. 사실 일반인들은 개인정보 처리방침이 어디에 있는지도 잘 모를 것이다.(대부분 홈페이지 제일 하단 footer에 다른 부분과 구별되는 색상으로 표시되어 있다.)

 

이런 상황에 개인정보보호위원회는 개인정보 처리방침에 중요한 내용을 추가하도록 하고, 쉽게 이해할 수 있도록 기호로 보완설명하도록 하는 등 작성지침을 개선하였다.

 

개인정보 처리방침에 포함해야 할 주요 변경내용

 

첫째, 개인정보 처리방침에는 개인정보의 국외이전, 만14세 미만 아동의 동의, 긴급상황 시 개인정보 처리 등 중요한 사항도 포함하도록 하고, 
  - 처리방침을 모호하게 작성하는 등 잘못된 사례와 주의사항을 안내하고, 해외사업자 등도 한글로 작성하여 국내의 정보주체가 쉽게 읽을 수 있도록 명확히 하였다.

개인정보처리방침 오작성 사례

둘째, 처리방침의 핵심사항을 정보주체가 쉽게 알아볼 수 있도록 기호로 구성한 개인정보 처리 표시제(라벨링)를 도입하여 처리방침의 앞부분에 요약된 형태로 공개하도록 하였다.

 

개인정보 처리 표시제(라벨링) 예시

- 이번에 공개한 개인정보 처리 표시제는 정보주체로부터 개인정보 처리 동의를 받고자 할 때 알려야 할 사항을 알기 쉽게 안내할 수 있어 동의제도의 실질화에도 기여할 것으로 기대된다.

아울러, 업종별 특성을 반영한 작성지침을 제시하여 개인정보처리자가 참고할 수 있도록 하였으며, 기호나 인포그래픽 등을 활용하여 작성한 후 다양한 방법으로 공개할 수도 있다.

개인정보보호위원회에서는 개인정보보호 포털(https://privacy.go.kr/)의 개인정보 처리방침 만들기(자동작성 지원도구) 통해 개인정보 처리방침 작성을 지원하고 있다.

 

개인정보 처리방침 만들기
개인정보 처리방침 간단히 만들기

 
개인정보 처리방침 일반형, 의료, 학원, 여행, 공공기관에 맞추어 아래 파일을 다운 받아 작성 할 수 있다.
 

01_개인정보_처리방침 일반형.pdf
2.28MB
02_개인정보_처리방침 의료.pdf
2.42MB
03_개인정보_처리방침 학원.pdf
2.22MB
04_개인정보_처리방침 여행.pdf
2.27MB
05_개인정보_처리방침 공공기관.pdf
2.17MB

 

출처 : 개인정보보호위원회

 

우리는 서비스를 이용하기 위해 개인정보를 제공하기 위한 동의를 자주하게 된다. 잘 생각해보면, 제대로 읽고 동의한 적은 거의 없어 보인다. 시간도 부족하고, 동의하지 않으면 서비스를 이용하지 못할 것이란 생각에서 읽어보지도 않고 동의하고 있다.

 

이런 문제점을 개선하기 위해 개인정보보호위원회에서 '알기 쉬운 개인정보 처리 동의 안내서'를 발간하였다. 앞으로는 개인정보제공 동의서를 충분히 읽고, 이해한 뒤 능동적으로 동의여부를 결정 할 수 있게 개선 될 전망이다.

 

이제까지 개인정보를 활용하는 자(개인정보처리자)가 개인정보를 과도하게 요구하거나, 정보주체인 우리가 내용을 제대로 확인하지 않고 개인정보 제공 동의를 하는 것이 일반적이었다.

 

이를 개선하기 위해 앞으로는 개인정보처리자가 동의를 받을 때 준수해야 할 사항을 4가지로 나누어 제시하였다.

  - 첫째, 개인정보 처리 필요성을 예측하여 포괄적으로 미리 받지 말고, 필요한 시점에, 필요한 최소한의 개인정보만을 처리하여야 한다.

 

  - 둘째, 개인정보 처리주체를 명확히 하고, 홍보 목적의 처리나 민감정보의 처리 등 중요한 내용*은 9포인트 이상으로 다른 내용보다 20% 이상 크게 하는 등 알기 쉽게 표시**하여야 한다.
    * (중요한 내용) 재화나 서비스의 홍보‧판매권유 등 목적으로 정보주체에게 연락할 수 있다는 사실, 민감정보‧고유식별정보의 처리, 보유‧이용기간, 제공받는 자
   ** (표시 방법) ⅰ) 9포인트 이상으로 다른 내용보다 20% 이상 크게, ⅱ) 색깔, 굵기 또는 밑줄 등으로 명확히 표시, ⅲ) 동의 사항이 많은 경우 다른 내용과 구분하여 표시

  - 셋째, 동의 내용은 전문용어가 아닌 쉬운 언어로 누구나 이해할 수 있게 안내*하고, 정보주체의 의사를 능동적인 동작이나 진술을 통해 확인하여야 한다.
     * 음성으로 안내하는 경우에는 일상 대화 속도로 알려야 함

  - 넷째, 필요한 최소한 범위 이외의 개인정보 처리에 동의를 거부한다는 이유로 재화나 서비스 제공을 거부하는 등 불이익을 줘서는 안 된다고 안내하였다.

  앞으로는 동의를 하지 않으면 다음 화면으로 넘어가지 못하도록 하거나, 홍보마케팅에 동의하지 않는다고 서비스 제공을 하지 않을 수 없게 됐다.

부적절한 개인정보 수집 사례



20220303_알기쉬운 개인정보 처리 동의 안내서(2022.3.)(수정).pdf
10.42MB

출처 : 개인정보위원회

 

목차

 

Ⅰ. 개요
1. 추진배경 04
2. 동의 제도 의의 05
3. 국내·외 개인정보 법·제도 현황 06
4. 적용대상 10

Ⅱ. 동의를 받을 때 준수할 사항
1. 필요한 최소한의 개인정보 처리 11
2. 동의내용의 명확한 고지 15
3. 정보주체의 능동적 의사 확인 21
4. 정보주체의 선택권 보장 24

Ⅲ. 동의서 작성 방법 및 조치사항
1. 동의서 작성 전 확인사항 27
2. 동의서 작성 31
3. 동의 후 조치사항 35

■ 부록 
1. 주요 분야별 동의서 작성 예시 38
2. 개인정보처리자가 동의받기 전에 알아야 할 내용 44
■ 참고 정보주체가 동의하기 전에 알아야 할 내용 46

2011년 6월에 최초로 개정된 소프트웨어 개발보안가이드가 2021년 11월에 구현단계 보안약점 기준확대에 따른 내용을 추가하여 개정되었다.
소프트웨어 보안약점 진단하여 제거하는 것은 2011년 전자정부 지원사업을 대상으로 시범사업을 시작으로 현재는 의무화 되어 있다. 설계, 개발단계에서 보안약점을 제거하지 않으면 운영단계에서 제거하기 어려우며 제거 비용도 기하급수적으로 증가하게 된다.

SW개발보안은 SW 개발·변경 시 SW 보안 취약점을 최소화하는 보안 활동이다. 요구사항 분석, 설계, 개발, 테스트, 유지보수 등 SW 개발 생명주기 내 단계별로 요구되는 보안 활동을 수행해 안전한 SW를 개발하는 것이 목표이다. (구현 단계의 보안을 의미하는 시큐어코딩의 넓은 개념)

보안취약점은 SW 실행 시점에 보안약점이 원인이 돼 발생하는 실제적 위협을 가리키며, 보안취약점 근본 원인이 되는 보안약점을 제거하면 해킹 등 보안사고를 원천적으로 차단할 수 있다. 

보안약점을 제거하기 위해서는 발주자, 사업자가 SW 기획, 분석, 설계 단계에서부터 보안을 고려하는 것이 필요하다. 실제 코딩을 하는 구현 단계에서도 SW개발보안 가이드, SW보안약점 진단가이드를 참고하여 안전하게 코딩을 해야 한다. 코딩이 완료되면 소스코드에 혹시 남아 있을지도 모르는 보안약점을 제거하기 위해 소스코드 진단도구를 통해 보안약점을 찾아내고, 보안약점을 제거하기 위해 SW개발보안 가이드, SW보안약점 가이드 등을 참고하여소스코드를 수정해야 한다. 프로젝트 착수시 개발 프로젝트 참여 인력에 대한 SW개발보안 교육도 병행해야 한다.

 

소프트웨어_개발보안_가이드(2021.12.29).pdf
5.57MB

출처 : 인터넷진흥원

 

 

소프트웨어 개발보안 가이드 발간 배경

 

공격자의 초점이 지속적으로 애플리케이션 계층을 향해 이동함에 따라 소프트웨어(SW, Software) 자원 보호가 중요해졌다. 최근 발생되는 사이버공격 시도의 약 75%는 소프트웨어의 보안 취약점을 악용하는 것으로 특히 외부에 공개되어 불특정 다수를 대상으로 사용자의 정보를 처리하는 웹애플리케이션의 취약점으로 인해 중요한 개인정보가 유출되는 침해사고가 빈번하게 발생되고 있다. 보안강화를 위해 구축해놓은 침입차단시스템과 같은 보안장비로는 응용프로그램의 취약점에 대한 공격을 완벽히 방어하는 것은 불가능하다.

‘SW개발보안’은 소프트웨어 개발과정에서 개발자의 실수, 논리적 오류 등으로 인해 발생될 수 있는 보안 취약점, 보안약점들을 최소화하여 사이버 보안 위협에 대응할 수 있는 안전한 소프트웨어를 개발하기 위한 일련의 보안 활동을 의미한다. 즉, SW개발 생명주기(SDLC, Software Development Life Cycle)의 각 단계별로 요구되는 보안활동을 수행함으로써 안전한 소프트웨어를 만들 수 있도록 한다.

SW개발보안의 중요성을 인식한 미국의 경우 국토안보부(DHS)를 중심으로 시큐어코딩(Secure Coding)을 포함한 SW개발 전 과정(설계, 구현, 시험 등)에 대한 보안 활동 연구를 활발히 진행하고 있으며, 이는 2011년 발표한 "안전한 사이버 미래를 위한 청사진(Blueprint for a Secure Cyber Future)"에 나타나 있다.

국내의 경우, 2009년부터 SW개발단계에서 SW보안약점을 진단하여 제거하는 SW개발보안 관련 연구를 진행하면서, 2009년부터 2011년까지 전자정부 지원 사업을 대상으로 SW보안약점 진단 시범사업을 수행하였다. SW보안약점 제거·조치 성과에 따라 2012년 SW개발보안 제도가 도입되어 단계적으로 의무화가 이루어졌다

 

소프트웨어 개발보안 가이드 목적과 구성

 

소프트웨어 보안의 목표는 성공적인 사업을 운영하기 위한 정보 자원의 기밀성, 무결성, 가용성을 유지하는 것이다. 이러한 목표를 달성하기 위해서 보안통제 기능의 구현이 요구되며, 이 가이드에서는 소프트웨어의 취약점을 완화시킬 수 있는 소프트웨어의 각 개발 단계별 기술적 통제 항목에 중점을 두고 있다.
개발자와 공격자의 접근방식은 기본적으로 차이가 있다. 개발자는 애플리케이션의 정상적인 의도에 초점을 맞춰 접근하고, 공격자는 정상적인 의도 외에 허용되는 모든 동작하는 것에 관심을 가진다. 즉 위협을 최소화하는 방법은 소프트웨어를 개발하는 초기단계부터 보안요구사항을 정의하고, 설계단계에서 보안을 적용하여 공격자에게 허용되는 위협들을 최소화해야 하는 것이다.

소프트웨어 보안 취약점은
• 보안 요구사항이 정의되지 않았거나,
• 설계에 논리적인 오류가 있거나,
• 보안에 취약한 코딩 규칙을 적용하였거나,
• 소프트웨어 배치가 적절하지 않았거나,
• 발견된 취약점에 대해 적절한 관리 또는 패치를 하지 않은 경우
발견되며, 이러한 취약점으로 인해 시스템이 처리하는 중요정보가 노출되거나 정상적인 서비스가 불가능한 상황이 발생하게 된다.

목차

 

제1장 개요
제1절 배경 8
제2절 가이드의 목적과 구성 9

제2장 소프트웨어 개발보안
제1절 개요 12
1. 소프트웨어 개발보안 필요성 12
제2절 소프트웨어 개발보안 체계 14
제3절 소프트웨어 개발보안 방법론 16
1. 소프트웨어 개발 생명주기 이해 16
2. 소프트웨어 개발 방법론 이해 17
3. 소프트웨어 개발보안 방법론 이해 20
4. 소프트웨어 개발보안 적용 사례 23
5. 소프트웨어 개발보안 적용 효과 27
제4절 프로젝트 참여 직무별 보안활동 28
1. 역할(Role)별 보안활동 28

제3장 분석∙설계단계 보안강화 활동
제1절 분석·설계단계 주요 보안활동 32
1. 분석·설계단계 개발보안 필요성 32
2. 정보에 대한 보안항목 식별 32
3. 설계단계 보안설계 기준 35
4. 구현단계 기준과의 관계 37
5. 설계단계 개발보안 적용 효과 39
제2절 기능설계 시 보안설계 적용 방법 40
제3절 보안설계 기준 정의 및 설계 시 고려사항 45
1. 입력데이터 검증 및 표현 45
1.1 DBMS 조회 및 결과 검증 45
1.2 XML 조회 및 결과 검증 50
1.3 디렉토리 서비스 조회 및 결과 검증 53
1.4 시스템 자원 접근 및 명령어 수행 입력값 검증 55
1.5 웹 서비스 요청 및 결과 검증 60
1.6 웹 기반 중요기능 수행 요청 유효성 검증 65
1.7 HTTP 프로토콜 유효성 검증 69
1.8 허용된 범위 내 메모리 접근 73
1.9 보안기능 입력값 검증 76
1.10 업로드·다운로드 파일 검증 80
2. 보안기능 86
2.1 인증대상 및 방식 86
2.2 인증수행 제한 91
2.3 비밀번호 관리 94
2.4 중요자원 접근통제 101
2.5 암호키 관리 108
2.6 암호연산 113
2.7 중요정보 저장 119
2.8 중요정보 전송 123
3. 에러처리 126
3.1 예외처리 126
4. 세션통제 131
4.1 세션통제 131

제4장 구현단계 시큐어코딩 가이드
제1절 입력데이터 검증 및 표현 136
1. SQL 삽입 136
2. 코드 삽입 143
3. 경로 조작 및 자원 삽입 146
4. 크로스사이트 스크립트 152
5. 운영체제 명령어 삽입 157
6. 위험한 형식 파일 업로드 162
7. 신뢰되지 않는 URL 주소로 자동접속 연결 166
8. 부적절한 XML 외부 개체 참조 170
9. XML 삽입 174
10. LDAP 삽입 183
11. 크로스사이트 요청 위조 188
12. 서버사이드 요청 위조 191
13. HTTP 응답분할 193
14. 정수형 오버플로우 196
15. 보안기능 결정에 사용되는 부적절한 입력값 200
16. 메모리 버퍼 오버플로우 204
17. 포맷 스트링 삽입 207
제2절 보안기능 211
1. 적절한 인증 없는 중요기능 허용 211
2. 부적절한 인가 214
3. 중요한 자원에 대한 잘못된 권한 설정 218
4. 취약한 암호화 알고리즘 사용 222
5. 암호화되지 않은 중요정보 226
6. 하드코드된 중요정보 235
7. 충분하지 않은 키 길이 사용 243
8. 적절하지 않은 난수값 사용 246
9. 취약한 비밀번호 허용 250
10. 부적절한 전자서명 확인 253
11. 부적절한 인증서 유효성 검증 255
12. 사용자 하드디스크에 저장되는 쿠키를 통한 정보노출 258
13. 주석문 안에 포함된 시스템 주요정보 261
14. 솔트 없이 일방향 해쉬함수 사용 264
15. 무결성 검사 없는 코드 다운로드 268
16. 반복된 인증시도 제한 기능 부재 273
제3절 시간 및 상태 277
1. 경쟁조건: 검사시점과 사용시점(TOCTOU) 277
2. 종료되지 않는 반복문 또는 재귀함수 283
제4절 에러처리 285
1. 오류 메시지 정보노출 285
2. 오류 상황 대응 부재 288
3. 부적절한 예외 처리 291
제5절 코드오류 294
1. Null Pointer 역참조 294
2. 부적절한 자원 해제 299
3. 해제된 자원 사용 304
4. 초기화되지 않은 변수 사용 307
5. 신뢰할 수 없는 데이터의 역직렬화 309
제6절 캡슐화 314
1. 잘못된 세션에 의한 데이터 정보노출 314
2. 제거되지 않고 남은 디버그 코드 319
3. Public 메소드부터 반환된 Private 배열 322
4. Private 배열에 Public 데이터 할당 326
제7절 API 오용 330
1. DNS lookup에 의존한 보안결정 330
2. 취약한 API 사용 334

제5장 부록
제1절 설계단계 보안설계 기준 340
1. 입력데이터 검증 및 표현 340
2. 보안기능 343
3. 에러처리 345
4. 세션통제 345
제2절 구현단계 보안약점 제거 기준 346
1. 입력데이터 검증 및 표현 346
2. 보안기능 347
3. 시간 및 상태 348
4. 에러처리 348
5. 코드오류 348
6. 캡슐화 349
7. API 오용 349
제3절 설계단계 보안설계 적용계획서 350
1. 입력데이터 검증 및 표현(예시) 350
2. 보안기능 (예시) 350
3. 에러처리 (예시) 351
4. 세션통제 (예시) 351
제4절 설계단계 보안설계 적용 산출물 352
1. DB에 데이터를 입력하는 기능(예시) 352
2. 데이터를 조회하는 기능(예시) 355
3. 데이터를 수정/삭제하는 기능(예시) 357
4. 파일을 업로드 하는 기능(예시) 359
5. 파일을 다운로드 하는 기능(예시) 361
6. 웹 에디터를 사용하는 기능(예시) 363
7. 관리자 페이지 기능(예시) 366
제5절 용어정리 368

2012년에 최초로 개정된 소프트웨어 보안약점 진단가이드가 보안약점 기준 변경에 따라 개정되었다.(2021.11)
소프트웨어 보안약점 진단하여 제거하는 것은 2011년 전자정부 지원사업을 대상으로 시범사업을 시작으로 현재는 의무화 되어 있다. 설계, 개발단계에서 보안약점을 제거하지 않으면 운영단계에서 제거하기 어려우며 제거 비용도 기하급수적으로 증가하게 된다.

SW개발보안은 SW 개발·변경 시 SW 보안 취약점을 최소화하는 보안 활동이다. 요구사항 분석, 설계, 개발, 테스트, 유지보수 등 SW 개발 생명주기 내 단계별로 요구되는 보안 활동을 수행해 안전한 SW를 개발하는 것이 목표이다. (구현 단계의 보안을 의미하는 시큐어코딩의 넓은 개념)

보안취약점은 SW 실행 시점에 보안약점이 원인이 돼 발생하는 실제적 위협을 가리키며, 보안취약점 근본 원인이 되는 보안약점을 제거하면 해킹 등 보안사고를 원천적으로 차단할 수 있다. 

보안약점을 제거하기 위해서는 발주자, 사업자가 SW 기획, 분석, 설계 단계에서부터 보안을 고려하는 것이 필요하다. 실제 코딩을 하는 구현 단계에서도 SW개발보안 가이드, SW보안약점 진단가이드를 참고하여 안전하게 코딩을 해야 한다. 코딩이 완료되면 소스코드에 혹시 남아 있을지도 모르는 보안약점을 제거하기 위해 소스코드 진단도구를 통해 보안약점을 찾아내고, 보안약점을 제거하기 위해 SW개발보안 가이드, SW보안약점 가이드 등을 참고하여소스코드를 수정해야 한다. 프로젝트 착수시 개발 프로젝트 참여 인력에 대한 SW개발보안 교육도 병행해야 한다.

 

소프트웨어_보안약점_진단가이드(2021).alz
19.00MB
소프트웨어_보안약점_진단가이드(2021).a00
7.88MB

출처 : 한국인터넷진흥원 (한번에 파일을 다운로드 받을 수 있습니다)

 

 

 

소프트웨어 보안약점 진단가이드 제작 배경


공격자의 초점이 지속적으로 애플리케이션 계층을 향해 이동함에 따라 소프트웨어(SW, Software) 자원보호가 중요 해졌다. 최근 발생되는 인터넷상 공격시도의 약 75%는 소프트웨어의 보안취약점을 악용하는 것으로, 특히 외부에 공개되어 불특정 다수를 대상으로 사용자 정보를 처리하는 웹 애플리케이션의 취약점으로 인해 중요정보가 유출되는 침해사고가 빈번하게 발생되고 있다. 보안강화를 위해 구축해놓은 침입 차단시스템과 같은 보안장비로는 응용프로그램 취약점에 대한 공격을 완벽히 방어하는 것은 불가능하다.

‘SW개발보안’은 SW개발과정에서 개발자의 실수, 논리적 오류 등으로 인해 발생될 수 있는 보안취약점, 보안약점들을 최소화하여 사이버 보안위협에 대응할 수 있는 안전한 SW를 개발하기 위한 일련의 보안활동을 의미한다. 즉, SW개발 생명주기(SDLC, Software Development Life Cycle)의 각 단계별로 요구되는 보안활동을 수행함으로써 안전한 소프트웨어를 만들 수 있도록 한다.

SW개발보안의 중요성을 인식한 미국의 경우 국토안보부(DHS)를 중심으로 시큐어코딩(Secure Coding)을 포함한 SW개발 전 과정(설계, 구현, 시험 등)에 대한 보안 활동 연구를 활발히 진행하고 있으며, 이는 2011년 발표한 “안전한 사이버 미래를 위한 청사진(Blueprint for a Secure Cyber Future)”에 나타나있다.

국내의 경우,2009년부터 SW개발단계에서 SW보안약점을 진단하여 제거하는 SW개발보안 관련 연구를 진행하면서, 2009년부터 2011년까지 전자정부 지원 사업을 대상으로 SW보안약점 진단시범사업을 수행하였다. SW보안약점 제거·조치 성과에 따라 2012년 SW개발보안 제도가 도입되어 단계적으로 의무화가 이루어졌다

 

소프트웨어 보안약점 진단가이드 목적 및 구성

 

소프트웨어 보안의 목표는 성공적인 사업을 운영하기 위한 정보 자원의 기밀성, 무결성, 가용성을 유지하는 것이다. 이러한 목표를 달성하기 위해서 보안통제 기능의 구현이 요구되며, 이 가이드에서는 소프트웨어의 취약점을 완화시킬 수 있는 소프트웨어의 각 개발 단계별 기술적 통제 항목에 중점을 두고 있다.

개발자와 공격자의 접근방식은 기본적으로 차이가 있다. 개발자는 애플리케이션의 정상적인 의도에 초점을 맞춰 접근하고, 공격자는 정상적인 의도 외에 허용되는 모든 동작하는 것에 관심을 가진다. 즉 위협을 최소화하는 방법은 소프트웨어를 개발하는 초기단계부터 보안요구사항을 정의하고, 설계단계에서 보안을 적용하여 공격자에게 허용되는 위협들을 최소화해야 하는 것이다.

소프트웨어 보안 취약점은
• 보안 요구사항이 정의되지 않았거나,
• 설계에 논리적인 오류가 있거나,
• 보안에 취약한 코딩 규칙을 적용하였거나,
• 소프트웨어 배치가 적절하지 않았거나,
• 발견된 취약점에 대해 적절한 관리 또는 패치를 하지 않은 경우

발견되며, 이러한 취약점으로 인해 시스템이 처리하는 중요정보가 노출되거나 정상적인 서비스가 불가능한 상황이 발생하게 된다.

 

목차

 

PART1 제1장 개요
제1절 배경 10
제2절 가이드 목적 및 구성 11

PART2 제2장 소프트웨어 개발보안
제1절 개요 16
제2절 소프트웨어 개발보안 체계 18
제3절 소프트웨어 보안약점 진단 20
1. 개요 20
2. SW보안약점 진단원의 역할 21
3. 분석설계단계 진단절차 21
4. 구현단계 진단절차 28

PART3 제3장 분석설계단계 보안약점 진단
제1절 보안항목 식별 32
1. 정보에 대한 보안항목 식별 32
2. 기능에 대한 보안항목 식별 35
3. 구현단계 기준과의 관계 38
제2절 설계단계 보안설계 적용 방법 40
제3절 설계단계 보안설계 기준 43
1. 입력데이터 검증 및 표현 43
1.1 DBMS 조회 및 결과 검증 43
1.2 XML 조회 및 결과 검증 50
1.3 디렉토리 서비스 조회 및 결과 검증 54
1.4 시스템 자원 접근 및 명령어 수행 입력값 검증 58
1.5 웹 서비스 요청 및 결과 검증 64
1.6 웹 기반 중요 기능 수행 요청 유효성 검증 71
1.7 HTTP 프로토콜 유효성 검증 76
1.8 허용된 범위내 메모리 접근 81
1.9 보안기능 입력값 검증 86
1.10 업로드다운로드 파일 검증 93
2. 보안기능 103
2.1 인증 대상 및 방식 103
2.2 인증 수행 제한 110
2.3 비밀번호 관리 115
2.4 중요자원 접근통제 129
2.5 암호키 관리 138
2.6 암호연산 145
2.7 중요정보 저장 153
2.8 중요정보 전송 159
3. 에러처리 164
3.1 예외처리 164
4. 세션통제 171
4.1 세션 통제 171

PART4 제4장 구현단계 보안약점 진단
제1절 입력데이터 검증 및 표현 180
1. SQL 삽입 180
2. 코드삽입 194
3. 경로 조작 및 자원 삽입 201
4. 크로스사이트 스크립트 211
5. 운영체제 명령어 삽입 223
6. 위험한 형식 파일 업로드 232
7. 신뢰되지 않는 URL 주소로 자동접속 연결 239
8. 부적절한 XML 외부개체 참조 244
9. XML 삽입 251
10. LDAP 삽입 264
11. 크로스사이트 요청 위조 272
12. 서버사이드 요청 위조 276
13. HTTP 응답분할 284
14. 정수형 오버플로우 290
15. 보안기능 결정에 사용되는 부적절한 입력값 297
16. 메모리 버퍼 오버플로우 303
17. 포맷 스트링 삽입 309
제2절 보안기능 314
1. 적절한 인증 없는 중요기능 허용 314
2. 부적절한 인가 319
3. 중요한 자원에 대한 잘못된 권한 설정 325
4. 취약한 암호화 알고리즘 사용 330
5. 암호화되지 않은 중요정보 337
6. 하드코드된 중요정보 350
7. 충분하지 않은 키 길이 사용 360
8. 적절하지 않은 난수 값 사용 364
9. 취약한 비밀번호 허용 370
10. 부적절한 전자서명 확인 375
11. 부적절한 인증서 유효성 검증 379
12. 사용자 하드디스크에 저장되는 쿠키를 통한 정보 노출 383
13. 주석문 안에 포함된 시스템 주요정보 387
14. 솔트 없이 일방향 해쉬 함수 사용 391
15. 무결성 검사 없는 코드 다운로드 395
16. 반복된 인증시도 제한 기능 부재 400
제3절 시간 및 상태 406
1. 경쟁조건: 검사 시점과 사용 시점(TOCTOU) 406
2. 종료되지 않는 반복문 또는 재귀 함수 415
제4절 에러처리 419
1. 오류 메시지 정보노출 419
2. 오류상황 대응 부재 425
3. 부적절한 예외 처리 429
제5절 코드오류 433
1. Null Pointer 역참조 433
2. 부적절한 자원 해제 445
3. 해제된 자원 사용 454
4. 초기화되지 않은 변수 사용 459
5. 신뢰할 수 없는 데이터의 역직렬화 462
제6절 캡슐화 469
1. 잘못된 세션에 의한 데이터 정보 노출 469
2. 제거되지 않고 남은 디버그 코드 476
3. Public 메소드부터 반환된 Private 배열 481
4. Private 배열에 Public 데이터 할당 487
제7절 API 오용 492
1. DNS lookup에 의존한 보안결정 492
2. 취약한 API 사용 497
PART5 제5장 부록
제1절 설계단계 보안설계 기준 506
제2절 구현단계 보안약점 제거 기준 512
제3절 설계단계 보안설계 산출물 적용 예 516
제4절 용어정리 607

 

 

 

Ⅰ. 추진 배경 

Ⅱ. 가이드라인 개요

Ⅲ. 가명처리 
 1. 가명처리 절차
 2. 가명처리 세부절차
 
Ⅳ. 가명정보 결합
 1. 가명정보 결합·반출절차 
 2. 가명정보 결합·반출 세부절차
 
Ⅴ. 가명정보의 안전한 관리 
 1. 가명정보 관리적 보호조치 
 2. 가명정보 기술적 보호조치 
 3. 가명정보 물리적 보호조치
 
<참고 1> 개인정보 가명처리 기술 및 예시
<참고 2> 특이정보 정의 및 처리 사례
<참고 3> 가명정보 내부결합 절차 
<참고 4> 가명정보 시계열 분석 절차 
<참고 5> 결합신청서 작성 예시

 

가명정보 처리 가이드라인.zip
8.36MB

 

제1장 총칙
〔제1조〕 목적 
〔제2조〕 정의 
〔제3조〕 개인정보 보호 원칙 
〔제4조〕 정보주체의 권리 
〔제5조〕 국가 등의 책무 
〔제6조〕 다른 법률과의 관계 


제2장 개인정보 보호정책의 수립 등
〔제7조〕 개인정보 보호위원회 
〔제7조의2〕 보호위원회의 구성 등 
〔제7조의3〕 위원장 
〔제7조의4〕 위원의 임기 
〔제7조의5〕 위원의 신분보장 
〔제7조의6〕 겸직금지 등 
〔제7조의7〕 결격사유 
〔제7조의8〕 보호위원회의 소관 사무 
〔제7조의9〕 보호위원회의 심의의결 사항 등 
〔제7조의10〕 회의 
〔제7조의11〕 위원의 제적기피회피 
〔제7조의12〕 소위원회 
〔제7조의13〕 사무처 
〔제7조의14〕 운영 등 
〔제8조의2〕 개인정보 침해요인 평가 
〔제9조〕 기본계획 
〔제10조〕 시행계획 
〔제11조〕 자료제출 요구 등 
〔제12조〕 개인정보 보호지침 
〔제13조〕 자율규제의 촉진 및 지원 
〔제14조〕 국제협력 


제3장 개인정보의 처리
제1절 개인정보의 수집, 이용, 제공 등
〔제15조〕 개인정보의 수집이용 
〔제16조〕 개인정보의 수집 제한 
〔제17조〕 개인정보의 제공 
〔제18조〕 개인정보의 목적 외 이용제공 제한 
〔제19조〕 개인정보를 제공받은 자의 이용제공 제한 
〔제20조〕 정보주체 이외로부터 수집한 개인정보의 수집 출처 등 고지 
〔제21조〕 개인정보의 파기 
〔제22조〕 동의를 받는 방법 

제2절 개인정보의 처리 제한
〔제23조〕 민감정보의 처리 제한 
〔제24조〕 고유식별정보의 처리 제한 
〔제24조의2〕 주민등록번호 처리의 제한 
〔제25조〕 영상정보처리기기의 설치운영 제한 
〔제26조〕 업무위탁에 따른 개인정보의 처리 제한 
〔제27조〕 영업양도 등에 따른 개인정보의 이전 제한 
〔제28조〕 개인정보취급자에 대한 감독 

제3절 가명정보 처리에 관한 특례
〔제28조의2〕 가명정보의 처리 등 
〔제28조의3〕 가명정보의 결합 제한 
〔제28조의4〕 가명정보에 대한 안전조치의무 등 
〔제28조의5〕 가명정보 처리 시 금지의무 등 
〔제28조의6〕 가명정보 처리에 대한 과징금 부과 등 
〔제28조의7〕 적용범위 

제4장 개인정보의 안전한 관리
〔제29조〕 안전조치의무 
〔제30조〕 개인정보 처리방침의 수립 및 공개 
〔제31조〕 개인정보 보호책임자의 지정 
〔제32조〕 개인정보파일의 등록 및 공개 
〔제32조의2〕 개인정보 보호 인증 
〔제33조〕 개인정보 영향평가 
〔제34조〕 개인정보 유출 통지 등 
〔제34조의2〕 과징금의 부과 등 

제5장 정보주체의 권리 보장
〔제35조〕 개인정보의 열람 
〔제36조〕 개인정보의 정정삭제 
〔제37조〕 개인정보의 처리정지 등 
〔제38조〕 권리행사의 방법 및 절차 등 
〔제39조〕 손해배상책임 
〔제39조의2〕 법정손해배상의 청구 


제6장 정보통신서비스 제공자등의 개인정보 처리 등 특례
  개관 
〔제39조의3〕 개인정보의 수집이용 동의 등에 대한 특례 
〔제39조의4〕 개인정보 유출등의 통지신고에 대한 특례 
〔제29조, 제39조의5〕 개인정보의 보호조치에 대한 특례 
〔제39조의6〕 개인정보의 파기에 대한 특례 
〔제39조의7〕 이용자의 권리 등에 대한 특례 
〔제39조의8〕 개인정보 이용내역의 통지 
〔제39조의9〕 손해배상의 보장 
〔제39조의10〕 노출된 개인정보의 삭제ㆍ차단 
〔제39조의11〕 국내대리인의 지정 
〔제39조의12〕 국외 이전 개인정보의 보호 
〔제39조의13〕 상호주의 
〔제39조의14〕 방송사업자등에 대한 특례 
〔제39조의15〕 과징금의 부과 등에 대한 특례 


제7장 개인정보 분쟁조정위원회
〔제40조〕 설치 및 구성 
〔제41조〕 위원의 신분보장 
〔제42조〕 위원의 제척기피회피 
〔제43조〕 조정의 신청 등 
〔제44조〕 처리기간 
〔제45조〕 자료의 요청 등 
〔제46조〕 조정 전 합의 권고
〔제47조〕 분쟁의 조정 
〔제48조〕 조정의 거부 및 중지
〔제49조〕 집단분쟁조정 
〔제50조〕 조정절차 등


제8장 개인정보 단체소송
〔제51조〕 단체소송의 대상 등
〔제52조〕 전속관할 
〔제53조〕 소송대리인의 선임 
〔제54조〕 소송허가신청 
〔제55조〕 소송허가요건 등 
〔제56조〕 확정판결의 효력 
〔제57조〕 「민사소송법」의 적용 등 


제9장 보칙
〔제58조〕 적용의 일부 제외 
〔제58조의2〕 적용제외 
〔제59조〕 금지행위 
〔제60조〕 비밀유지 등 
〔제61조〕 의견제시 및 개선권고 
〔제62조〕 침해사실의 신고 등 
〔제63조〕 자료제출 요구 및 검사 
〔제64조〕 시정조치 등 
〔제65조〕 고발 및 징계권고 
〔제66조〕 결과의 공표 
〔제67조〕 연차보고 
〔제68조〕 권한의 위임위탁 
〔제69조〕 벌칙 적용 시의 공무원 의제 


제10장 벌칙
〔제70조~제73조〕 벌칙 
〔제74조〕 양벌규정 
〔제74조의2〕 몰수추징 등 
〔제75조〕 과태료 
〔제76조〕 과태료에 관한 규정 적용의 특례 

 

개인정보_보호_법령_및_지침_고시_해설.pdf
6.20MB

 

 

 

< 목차 >

I. 추진배경

II. 개인정보 수집 원칙

III. 개인정보처리자 조치요령
  1. 필요 최소한 개인정보 수집
  2. 정보주체의 실질적 동의권 보장
  3. 고유식별정보 및 민감정보 처리제한
  
<참고> 개인정보 수집 이용 동의서(예시)  
<별첨> 개인정보 수집, 제공 동의서 작성 가이드라인

 

 

개인정보 수집 최소화 가이드라인(2020.12월).pdf
2.42MB

 

 

+ Recent posts