세계 보안 엑스포  전자정부 솔루션 페어  개인정보보호 페어  국제 사이버 시큐리티 컨퍼런스  세계 태양에너지 엑스포  스마트팩토리  INFO-CON
Home > 전체기사
[CBK특집]⑩CISSP는 아는데 CBK를 모르세요?-응용프로그램보안
  |  입력 : 2010-07-12 17:29
페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기
Application Security(응용프로그램 보안)


<게재 순서>

①CBK의 개요

②Domain 1 Information Security and Risk Management(정보보안과 위험관리)

③Domain 2 Access Control(접근통제)

④Domain 3 Cryptography(암호학)

⑤Domain 4 Physical (Environmental) Security(물리적(환경적) 보안)

⑥Domain 5 Security Architecture and Design(보안 아키텍처와 설계)

⑦⑧Domain 6 Business Continuity and Disaster Recovery Planning(기업 연속 및 재난복구계획) Part I, Part II

⑨Domain 7 Telecommunications and Network Security(통신 및 네트워크 보안)

⑩Domain 8 Application Security(응용프로그램 보안)

⑪Domain 9 Operations Security(운영보안)

⑫Domain 10 Legal, Regulations, Compliance and Investigations(법, 규정, 준수 및 조사)


머리말

이번 호에서는 응용프로그램 보안에 대한 칼럼을 다룬다. 응용프로그램, 이른바 애플리케이션이란 것은 IT보안이나 IT를 직업으로 하는 독자들을 물론 사용자들도 자주 접해보는 것이라 할 수 있다. 사용자들은 현업업무를 IT를 이용해 자동화된 애플리케이션을 사용하고 있다. 지금도 기업이나 사용자 대다수는 IT에 투자하는 항목이 응용프로그램 개발이다. 사용자가 달성하고자 하는 업무의 형태를 가장 편리하고 정확하게 그리고 안전하게 IT로 연출해내는 창조적인 것이 응용프로그램이다.


응용프로그램 보안을 얘기할 때 소프트웨어 공학과 데이터베이스가 그 주요 내용이 된다. IT의 하드웨어 역사와 함께 참 오래도록 계승돼 온 분야이기도 하다. 지금도 IT와 정보시스템 분야의 공부를 시작하는 사람들은 데이터베이스와 소프트웨어 공학을 거치게 된다.


정보보안이나 정보시스템 보안을 얘기할 때 ‘보안’이나 ‘보호’라는 용어를 왜 사용하는지를 독자들은 생각해 본적이 있을 것이다. 공격을 당하면 위험하므로 보호해야 한다. 공격은 정보보안에서 얘기할 때 내적 취약성 공격과 외적 취약성 공격으로 나눌 수 있을 것이다. 응용프로그램이나 데이터베이스에 보안의 취약점이 있는 경우를 내적 취약성이 이유이고, DDoS처럼 시스템의 외부에서 자원을 고갈시키는 것은 외적 취약성 때문이다.


내적인 보안의 취약점을 보호해야 하는 이번 호의 주제를 살펴보면서 외유내강을 떠 올려본다. 겉으로 보기에는 부드러우나 마음속은 꿋꿋하고 굳세다는 것을 이르는 한자성어 ‘외유내강(外柔內剛)’과 함께 길을 떠나 보자.

 

▲소프트웨어공학과 데이터베이스 ? 응용프로그램 보안.

 

CBK(Common Body of Knowledge: (정보보안)지식체계)를 이해하는 10번째 시간인 응용프로그램 보안에 대한 도메인에 대해 알아보도록 하겠다.

CISSP(Certified Information System Security Professional: 국제공인 정보시스템 보안 전문가) 자격증을 소지하고 정보보안 분야에서 활발히 활동을 하는 독자나 혹은 CISSP를 지금 도전하는 있는 독자, 또한 CISSP를 처음 들어보는 독자이건 간에 정보보호의 이론적 바탕과 현업을 알기 위한 시간이 되길 바란다.


공부를 열심히 한 학생은 시험 보면 안다. 성숙도 ‘CMMI’

학교에서 학생들은 일정기간 동안 열심히 공부했다고 애기한다. 다들 그렇게 얘기하는데 과연 알 수 있는 방법은 무엇일까? 다른 방법도 있겠지만 시험을 치러보면 우수생과 열등생이 가려진다.


응용프로그램 개발환경의 신뢰성과 정보보안의 강건성을 알기 위해서는 CMMI(Capability Maturity Model Integration, 역량성숙도모델)의 적용을 거쳐보면 된다. 아래와 같은 5단계로 되어 있는데 단계가 높을수록 개발프로세스가 안정되고 지속적으로 개선을 꾀하는 것을 알 수 있다. 성숙도 단계가 낮게 나왔다고 문제 될 건 없다. 비록 지금은 CMMI 레벨이 높지 않다 하더라도 계획된 지속적인 노력으로 레벨을 높여간다면 응용프로그램의 보안이 좋아질 것이다.

 

▲CMMI의 성숙도.

 

시스템의 수명주기에 따른 보안

고대에 테베라는 지방의 산에 살면서 지나가는 사람에게 “아침에는 네 다리로, 낮에는 두 다리로, 밤에는 세 다리로 걷는 짐승이 무엇이냐”라고 묻는 사람의 머리와 사자의 동체를 가진 ‘스핑크스’가 있었다. 이러한 스핑크스의 수수께끼를 풀지 못하는 사람을 잡아먹었다는 신화로 유명하다. 이 수수께끼의 정답은 사람이다. 사람은 어렸을 때 네 다리로 기고, 자라서는 두 발로 걷고, 늙어서는 지팡이를 짚어 세 다리로 걷기 때문이다.


사람에게 쓰이던 이러한 수명주기란 말이 어느덧 시스템에도 쓰이게 되었다. 소프트웨어의 수명주기라고도 한다. 소프트웨어 개발 프로젝트를 계획하고 실행하고 통제하여 마지막 산출물을 완성하기 위해 쓰이는 것이 SDLC(System Development Life Cycle, 시스템 수명주기)이다.


SDLC의 기본적인 단계는 사용자의 요구사항을 정의하는 단계에서 출발한다. 시스템의 기본설계와 상세설계를 거치게 되고 개발작업(코딩)을 하게 된다. 개발작업이 끝난 것은 단위 테스트, 통합 테스트, 시스템 테스트를 거친다. 최종적으로 사용자가 실시하는 테스트와 문서화를 거쳐 고객이 인수하는 수명주기이다. 이러한 수명주기 단계별로 정보보안이 통제 될 때 강건한 코드의 응용소프트웨어가 탄생하게 된다.

 

▲사람의 수명주기.

 

▲시스템의 수명주기.

 

소프트웨어 개발 방법론에 의한 보안

소프트웨어, 응용프로그램 개발을 위해서는 반복적이고 규칙적인 방법론이 있어야 한다. 과거에서부터 이러한 방법론들은 진화를 거듭해 왔다. 이러한 방법론들의 특성을 파악하여야만 정보보안에 대한 기초를 다질 수 있다.


개발 방법론

특성

보안의 특성

폭포수 모델

? 수명주기의 단계별로 순차적으로 개발

? 초기의 요구사항 분석과 설계수립에 시간과 비용이 많이 소요됨

각 단계별로 바로 전 단계의 완료가 끝나야 하므로 보안적으로 안전

구조적 프로그래밍

? 프로세스가 정의되어 있음

? 모듈방식의 개발방법

보안을 구조적이며 구조적인 접근방법으로 적용 가능

나선형 모델

? 폭포수 모델의 발전형

? 폭포수 모델의 단계별로 서브 프로세스 반복

서브 프로세스 별로 위험평가를 기반으로 하여 보안을 적용

클린룸

? 소프트웨어의 결함과 버그를 통제

? 개발 초기부터 결함이 없는 코드를 작성함

위험에 대한 고려사항이 초기 단계부터 수행되어 보안을 통합관리하기 용이함

프로토타이핑

? 폭포수 모델의 단점을 보완

? 시제품으로 사용자 피드백을 받아서 진행

변경관리의 복잡성으로 보안의 적용에 어려움

RAD(Rapid Application Development)

? 각 단계마다 시간 제한을 두어 신속한 개발을 요함

지속적인 변화에 보안성이 유효한지 보장하기 어려움

CBD(Component Based Development)

? 표준화 된 블록들을 조합하는 개발법

컴포넌트들이 사전에 충분히 테스트 됨으로 인해 보안의 강점이 작용

XP(eXtreme Programming)

? 단순성, 의사소통, 피드백에 기반한 개발법

? 제한된 시간과 범위를 가짐

개발 모델 선정 시 보안이 고려되어야 함

▲개발방법론모델과 보안

 

데이터베이스 보안

정보는 데이터에서 시작된다. 지구상의 어느 시스템도 기본적인 데이터가 없으면 계산할 것이 없게 된다. 데이터는 기본 중의 기본이라 하겠다.


데이터들이 모여 있는 데이터베이스는 DBMS(Data Base Management System)의 체계를 갖게 된다. 민감한 데이터에 대한 기밀성과 무결성이 보안의 주 관심사이다.


Aggregation, Bypass Attack, DB view, 동시성, Dead locking 등의 주요 위협으로부터 DBMS는 보호 받아야 한다. ACID, Grant, Revoke 등의 보안 통제를 통하여 위협으로부터 보호 하여야 한다.

 

▲DB의 보안.

 

맺음말

정보(시스템)보안의 ABC, CBK를 이해하는 10번째 시간이면서 CBK의 주제로는 8번째 주제인 응용프로그램 보안에 대해서 알아보았다.


독자들이 하는 일이 잘 안될 때면 주위에 동료들이 ‘기본으로 돌아가라’는 격려를 종종 해 줄 것이다. 정보보안을 정보시스템의 기본이 되는 응용프로그램과 데이터베이스를 들여다  보면서 기본을 다지는 기회가 되기를 바란다.


CISSP으로서 혹은 정보보호 전문가로서의 길은 끝이 없어야 한다. 그 지속되는 길에 힘들 때면 가끔은 초심으로 돌아가 보자. 기본을 생각해보자.


보다 자세한 내용은 www.isc2.org 혹은 www.cisspkorea.or.kr에서 찾아볼 수 있다.


[참고자료 및 출처]

www.isc2.org

www.cisspkorea.or.kr

Official (ISC)2 Guide to the CISSP CBK, Auerbach Publications, 2007~2008

Information Security Governance, ITGI, 2008

InfoSecurity Professional Magazine, ISC2, 2008~2010


[필자(조희준) 약력]

- 현 IT컨설팅/감리법인 ㈜씨에이에스 컨설팅 이사

- (ISC)2 한국정보시스템정보보안협회 임원

- 한국 사이버 포렌식 전문가협회 임원

- ISACA 한국정보시스템감사통제협회 임원

- 기술보호상담센터 전문가 Pool (중소기업기술정보진흥원)

- 한국 정보기술 프로젝트관리 자격검정원 운영위원

- 한국경영기술컨설턴트협회 전문교육강사 Pool

- 한국경영컨설팅협회 전문가 Pool

- 지식경제부 지정 한국정보산업연합회 IT멘토

- 한국생산성본부, 라이지움 강사

- 주 관심사 : IT 감사와 정보보호를 확장하여 비즈니스에 연계하는 분야와 IT 거버넌스와 정보보안 거버넌스, 내부감사, 내부통제

- 저서:  ‘IT 거버넌스 프레임워크 코빗-COBIT 4.1을 중심으로’, ‘ISACA 지식용어집과 FAQ(공저)’

[글·조희준(josephc@chol.com) CISSP, CCFP, CSSLP, ISO 27001(P.A), CISM, CGEIT, CISA, COBIT, ITIL, CIA, IT-PMP, PMP, ISO 20000(P.A), PMS(P.A), (ISC)2 CISSP 공인강사, 정보시스템감리원]

[정리 / 김정완 기자(boan3@boannews.com]

 

<저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지>

  •  
  • 0
  • 페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기


  •  SNS에서도 보안뉴스를 받아보세요!! 
IBM 파워비즈 배너 2019년2월8일~2020년2월7일까지모니터랩 파워비즈 배너 시작 18년9월12일위즈디엔에스 2018파워비즈배너 시작 11월6일 20181105-20200131
설문조사
신기술이 무서운 속도로 등장하고 있습니다. 가장 시급히 보안 장치/정책/규정규정/표준이 도입되어야 하는 분야는 무엇이라고 생각하십니까?
클라우드와 컨테이너
SDN(소프트웨어 정의 네트워크)
인공지능과 자동화
블록체인
소셜 미디어
기타(댓글로)