
정보 보안의 이해
보안의 3대 요소

기밀성(Confidentiality)
- 인가된 사용자만 정보 자산에 접근할 수 있다는 것
- 일반적인 보안의 의미와 가장 가까움
- 보안과 관련된 여러 소프트웨어는 기밀성과 밀접한 연관이 있음
- 방화벽, 암호, 패스워드 등은 기밀성의 대표적인 예
무결성(Integrity)
- 적절한 권한을 가진 사용자가 인가한 방법으로만 정보를 변경할 수 있도록 하는 것
- 경우에 따라서 기밀성보다 우선시됨
- 지폐의 경우, 정부만이 한국은행을 통해 지폐를 만들거나 바꿀 수 있음
- 위의 조건이 갖추어지지 않은 지폐는 위조지폐로 취급
- 해당 예시와 같이 적절한 권한을 가진 사용자가 인가된 방법으로만 특정 행위를 하는 경우, 이러한 경우를 무결성이 지켜진 경우라고 할 수 있음
가용성(Availability)
- 필요한 시점에 정보 자산에 대한 접근이 가능하도록 하는 것
- 돈도 정보의 형태로 존재하는 정보화 사회에서 가용성은 매우 중요
보안 전문가의 자격 요건
사이버 범죄의 유형

- 사이버 테러형 범죄
- 일반 사이버 범죄
- 사이버 범죄의 검거율은?
- 침해 사고의 유형별로 보자면
- 정보 통신망 침해 범죄 27%
- 정보 통신망 이용 범죄 73%
- 불법 콘텐츠 범죄 67%
- 정보 통신망 침해 범죄의 경우, 해킹이 점점 교묘해져서 추적이 어렵기 때문에 검거율이 낮아지는 추세
윤리 의식
- 허가되지 않은 해킹은 불법이라는 인식을 키우기 위해 방송통신위원회가 2007년에 정보통신 윤리 강령 개정
- 여러 윤리 강령이 전하는 내용은 동일
- 보안이나 해킹과 관련된 기술을 배워 좋은 곳에 활용하는 전문가가 되기를 바란다는 것
- 개인적인 용도로 모의 해킹을 이용하는 경우도 처벌이 가능함
- 잠깐의 실수도 범죄 행위로 이어질 수 있음을 명심
- 개인의 윤리 의식도 중요하지만, 정보 보안 법률도 숙지할 것
다양한 분야의 지식

- 시장에서 흔히 말하는 대략적인 보안 전문 분야
- 시스템
- 운영체제 및 애플리케이션 설정 등과 관련한 분야
- 네트워크
- 네트워크 장비 설정과 네트워크 보안 장비와 관련된 분야
- 웹
- 웹 서비스 및 웹 소스 코드의 취약점과 관련된 분야
- 리버스 엔지니어링
- 애플리케이션 소스 코드와 관련된 취약점과 관련된 분야
- 관리 보안 전문가는 정책, 거버넌스 등과 관련된 사항을 다룸
운영체제
- 윈도우, 유닉스, 리눅스, 맥 OS 등이 있음
- 실무에서 가장 중요한 운영체제는 윈도우
- 클라이언트로서의 윈도우 사용률은 90%에 이르고
- 대부분의 악성 코드도 윈도우를 목표로 하기 때문
- 서버의 경우, 금융권과 공공 기관 등에서는 대부분 중요 시스템에 윈도우 대신 유닉스를 사용
- 게임 회사나 포털 사이트에서는 윈도우 서버를 사용하는 경우도 많음
- 오픈 소스 기반의 서비스를 많이 활용함에 따라 리눅스를 사용하는 예도 많음
- 리눅스는 유닉스와 비슷한 환경을 제공하면서도 쉽게 구할 수 있고, 소스가 공개되어 있어 자유롭게 배우기 좋은 운영체제
- 보안 장비나 안드로이드와 같은 스마트폰 운영체제로 선택되는 경우도 있음
- 맥 OS도 유닉스에서 발전된 형태
- 버전에 따라 설정법이나 운영 방법이 다른 경우가 많기에 표준화 체계를 잘 숙지해야 함
네트워크
- 하나의 시스템에서 데이터를 처리한 뒤 다른 시스템으로 전달하는 길과 같은 역할
- 가장 중요한 개념은 TCP/IP
- 1973년에 구상된 TCP/IP는 지금도 네트워크의 기본이 되는 프로토콜
프로그래밍
- 일반적인 보안 전문가는 기초적인 C 프로그래밍, 객체 지향 프로그래밍에 대한 이해, HTML에 관한 이해 정도만 갖추면 됨
- 웹 해킹의 경우, JAVA와 Backend 관련 프로그램을 이해하는 것도 도움이 됨
- 사실 JavaScript와 HTML을 정확히 이해하는 것이 더욱 실용적
- 수준 높은 보안 전문가가 되기 위해서는 프로그래밍 능력도 중요
- 보안 시스템 개발자
- 방화벽 및 침입 탐지 시스템(IDS)을 다루기 위해 프로그래밍을 깊이 배울 필요가 있음
- 응용 프로그램 취약점 분석 테스터
- 리버스 엔지니어링을 이용한 게임이나 상용 프로그램의 테스터 또는 취약점 분석가는 프로그래밍에 대해 자세히 알아야 함
- 어셈블리어 숙지 필수
- 본인만의 해킹 툴이나 보안 툴을 만들기 위해서는 C 언어를 충분히 알아야 함
서버
- 기본적으로 웹, 데이터베이스, WAS, FTP, SSH, Telnet 등의 서버에 대한 이해는 필수
- 일반적으로 사용하는 서버 프로그램의 설치, 기본 설정, 각 서버별 인증 및 접근 제어, 암호화 수준과 암호화 여부 이해 필요
- 데이터베이스의 경우 기본적인 SQL 지식 필요
보안 시스템
- 방화벽, 침입 탐지 시스템, 침입 방지 시스템, 단일 사용자 승인(SSO), 네트워크 접근 제어 시스템(NAC), 백신과 같은 보안 솔루션
- 시스템마다의 기본 보안 통제와 적용 원리, 네트워크 상의 구성과 목적을 이해해야 함
모니터링 시스템
- 네트워크 관리 시스템(NMS), 네트워크 트래픽 모니터링 시스템(MRTG)과 같은 모니터링 시스템으 기본 개념 숙지
암호
- 암호와 해시의 차이, 대칭 키 알고리즘 및 비대칭 키 알고리즘의 종류와 강도, 공개 키 기반 주고 파악
정책과 절차
- 보안 전문가의 전문성은 기술적인 것만을 의미하지 않음
- 큰 기업의 보안 전문가일수록 보안 정책과 기업의 핵심 업무 프로세스를 잘 이해하고 있어야 함
- 보안 정책에서 가장 핵심적인 요소는 보안 거버넌스(Security Governance)
- 조직의 보안을 달성하기 위한 구성원 간의 지배 구조
- 대규모 보안 사고의 원인은 대부분 이러한 지배 구조의 부재 때문
- 적절한 보안 거버넌스를 확보하지 못한 보안은 실패할 수밖에 없음