정보보안의 정의
보안이라는 분야는 인간사회의 여러 분야 중에서 가장 중요한 것 중의 하나이다. '보안'하면 떠오르는 여러 가지 행위가 있을 것이다.
내 재산을 지키는 행위, 강도로부터 내 가족을 지키는 행위, 은행 강도로부터 은행금고를 지키는 행위, 기밀문서를 적으로부터 지키는 행위 등 인간이 직립보행을 하고, 지능이 발달하고, 도구를 만들 줄 알게 되고, 무리지어 생활을 하고, 부족과 국가라는 사회를 만들게 될때부터, 보안이라는 분야는 최우선으로 생각해야할 분야였을 것이다. 인간이 만든 최초의 도구도 자신을 방어하고 자기 무리를 지킬 수 있는 용도의 도구였다.
정보화 사회가 도래하고 의사소통과 정보의 저장 등 일상의 모든 것이 컴퓨터라는 도구를 사용하게 되면서 컴퓨터 정보보안이라는 말이 자연스러워졌고, 누구나 그 중요성을 인정하게 되었다. 여러 가지 정워를 찾아볼 수 있지만, 위키백과에서는 정보보안을 다음과 같이 정의하고 있다. "정보보안이란 정보의 수집, 가공, 저장, 검색, 송신, 수신 도중에 정보의 훼손, 변조, 유출 등을 방지하기 위한 관리적, 기술적 방법을 말한다." ISO/IEC 27000은 다음과 같이 정의하기도 한다. "정보의 비밀성, 무결성, 가용성의 보존, 추가적으로 진정성, 책임성, 부인방지 그리고 신뢰성과 관계가 있을 수 있다. 여기서 비밀성, 무결성, 가용성이 나오는데 이 세 가지 요소를 정보보안의 세 가지 목표로 부른다." 비밀성, 무결성, 가용성 이 세 가지 요소는 상호 보완 또는 충돌되면서 정보보안의 목표가 되고 있다. 특히 비밀성과 가용성은 상충된다.
보안의 세 가지 목표
1. 비밀성(Secret)
사전적 정의에 의하면 비밀성은 허락되지 않은 사용자 혹은 장비가 정보의 내용을 알 수 없도록 하는 것이다. 비밀 보장이라고도 할 수 있다. 원치 않는 정보의 공개를 막는다는 의미에서 프라이버시 보호와 밀접한 관계가 있다.
2. 가용성(Easy of Use)
가용성은 다른 말로 사용 용이성으로 불리우기도 한다. 가용성은 허락된 사용자 혹은 장비가 정보에 접근하려 하고자 할 때 사용하기가 편리해야 하는 것이다. 비밀성을 강조하다보면 가용성이 떨어지는 것은 당연한 일이다. 즉, 비밀성과 가용성은 상충된다.
보안의 비밀성만 강조하면 인가된 사용자도 비밀을 사용할 수 없게 된다. 그러한 정보보안은 의미가 없다. 즉, 보안은 비밀이 지켜져야 하지만 필요시에는 사용하기에 편리해야 한다.
3. 무결성(Integrity)
무결성은 허락되지 않은 사용자 혹은 장비가 정보를 함부로 수정할 수 없도록 하는 것이다. 다시 말하면, 수신자가 정보를 수신했을 때, 또는 보관돼 있던 정보를 꺼내 보았을 때, 그 정보가 중간에 수정 또는 첨삭되지 않았음을 확인할 수 있도록 하는 것이다.
정보보안과 해킹의 역사
위에서 정의한 정보보안의 정의와 3가지 목표에 반하는 존재가 해커 또는 크래커이다. 이들은 건전한 목적 또는 사악한 목적으로 타인의 컴퓨터 시스템에 침투하여 데이터를 삭제, 변조, 추가, 수정하는 일을 저지르고 있다.
정보보안의 역사는 이러한 해킹과 보안이 서로 대립하는 과정이라고 보아도 과언이 아니다.
1. 정보보안의 역사
고대 그리스나 로마 시대부터 정보보호의 역사는 나타난다. 스파르타인의 막대기와 양피지를 이용한 암호장치, 알파벳에서 몇 자리 뒤의 문자로 이동시키는 기법을 사용했다는 로마 시저의 암호문 등이 그것이다.
동양도 예외가 아니어서 중국 삼국시대 관우가 유비에게 보내는 관제시죽과 같은, 약간은 예술적인 암호를 고전소설을 통하여 보기도 했다.
근대에 들어서서는 독일이 만들어 제2차 세계대전에 사용했던 것으로 유명한 에니그마(enigma)라는 암호화 장치가 있었다.
앨런 튜링과 연합군측 과학자들에 의한 이 에니그마 암호의 해독은 연합군이 전쟁에서 유리한 위치를 점하는데 크게 도움이 되었을 뿐 아니라 이 때의 연구가 나중에 컴퓨터의 발명 및 발전에도 큰 영향을 주었다는 것이 정설이다.
컴퓨터의 시대가 되면서 암호학은 더욱 발달하여 현재는 대칭키 암호화, 비대칭키 암호화와 일회용 비밀번호(OTP) 등 다양한 암호화 방식 및 암호화 응용 서비스들이 개발되어 사용되고 있다.
1986년에는 DOS운영체제에서 동작하는 개인용 컴퓨터를 감염시키는 (c)브레인이라고하는 컴퓨터 바이러스의 등장으로 새로운 시대가 열리게 되었다. 초기의 바이러스는 시스템에 별다른 피해를 주지 않고 특정한 메시지를 출력하는 정도에 그치는 경우가 많았으나 이후 컴퓨터의 파일들을 삭제하거나 아예 컴퓨터의 파일 시스템을 파괴하여 시스템을 못 쓰게 만들어 버리는 악성 바이러스들이 대량으로 출현하게 되었다.
또한 바이러스의 종류도 다양하게 분화하여 시스템에 숨어 있다가 동작하는 트로이 목마나 자기 스스로를 복제하는 웜과 같은 종류도 출현하게 되었다. 이에 따라 바이러스를 제거하고 나아가 방어하는 백신 소프트웨어들이 활발하게 개발, 사용되고 있다.
최근에는 네트워크를 통한 접속에 의한 침입이 큰 문제가 되므로 이를 막는 방화벽(firewall)이나 침입탐지 시스템(IDS) 또는 침입방지 시스템(IPS) 등이 개발되어 보안에 큰 역할을 하고 있다.
2. 해킹의 정의
해킹이란 무엇이고 해커란 무엇일까? 해커라는 말은 1950년대 말 미국 MIT의 Hack라는 동아리 모임에서 처음 등장했다고 알려진다. 당시의 의미는 '컴퓨터 작업간 느끼는 순수한 즐거움'이란 뜻이었다고 한다.
즉, 해킹이란 "컴퓨터 네트워크의 보안 취약점을 찾아내어 그 문제를 해결하고 이를 악의적으로 이용하는 것을 방지하는 행위"이며 이런 행위를 하는 사람을 해커라고 한다.
하지만 각종 언론과 서적에서 보안망을 악의적으로 침투하거나 데이터를 삭제, 위조하는 사람들을 해커라고 호칭하면서 해커는 악의적인 시스템 침입자를 뜻하는 말로 사용되고 있다. 정확히 말하면 이런 해커는 블랙해커 또는 크래커라고 불리우는 것이 맞다.
법률적으로는 "시스템의 관리자가 구축해 놓은 보안망을 어떤 목적에서 무력화 시켰을 경우 이에 따른 모든 행동"으로 정의하고 잇다.
해커의 공격을 방어하기 위해서는 해커에 관한 지식이 필요하다. 해커를 분류하는 방법도 그들의 행동이나 지식에 따라 차별하기도 한다.
3. 해커의 단계별 분류 및 명칭
전 세계적으로 해커의 분류는 길버트 아라베디언(Gilbert Alaverdian)방식을 사용한다. 이 방식은 해커의 행동하는 모습과 그 지식 정도에 따라 5가지 레벨로 분류한다.
(1) 레이머 (Lamer)
해커가 되고 싶지만 경험도 기술도 없다. 다만 인터넷을 통해 해킹 혹은 크래킹 툴을 다운받아 자신의 시스템에서 실행해 볼 뿐이다. 이들은 스스로 뛰어난 해커라고 착각하는 경우가 많으며, 사용하는 기술은 트로이 목마, Dos 공격 툴, 카인과 아벨 정도에 지나지 않는 경우가 많다. 해커의 분류 기준 중 가장 낮아서 해커라기보다는 해킹지망생 이라고 보는 것이 맞다.
(2) 스크립트 키드 (Script Kid)
네크워크와 운영체제에 대한 약간의 지식을 가지고 있다. 이들은 인터넷의 파일 공유 사이트에서 GUI로 되어 있는 해킹 툴을 다운받아 사용한다. 스크립트 키드와 레이머의 차이점은 약간의 지식을 더 가지고 있다는 것 뿐이며 잘 알려진 툴을 이용하여 보안을 알지 못하는 사용자를 괴롭히기도 한다.
(3) 디벨롭트 키드 (Developed Kid)
이들은 해킹 기법에 관한 책들을 많이 읽었고 대부분의 해킹 기법에 대해 알 고 있으며 그 기법을 어디에 사용할 것인지도 알고 있다. 취약점을 발견할 때까지 여러 번 시도해 일단 시스템 침투에 성공하는 경우 보통은 시스템을 파괴한다. 이미 알려진 취약점을 이용할 수는 있지만 새로운 취약점을 발견하거나 최신의 최약점을 주어진 상황에 맞게 응용하지는 못한다. 이들은 대부분 범죄와 연관되어 있고 대부분 법의 심판을 받게 된다.
(4) 세미 엘리트 (Semi Elite)
컴퓨터에 대한 포괄적인 지식이 있고, 운영체제 시스템을 이해하고 있으며, 운영체제에 존재하는 특정한 취약점을 알고, 그 취약점을 공격할 수 있는 해킹코드를 만들 정도의 지식을 소유하고 있다. 그러나 이들은 스스로의 재능을 내보이고 싶어 하기 때문에 언론에 쉽게 노출된다. 크래킹 후 많은 양의 로그와 흔적을 남겨 시스템 관리자들에게 추적당하게 된다.
(5) 엘리트 (Elite)
최고수준의 해커를 말한다. 컴퓨터, 네트워크, 프로그래밍, 운영체제 등 매우 포괄적인 지식을 갖추고 있으며 시스템이 가지고 있는 문제점을 찾아내고 해결책을 찾을 때까지 끈질기게 노력한다. 운영체제나 소프트웨어에서 취약점을 발견하면 그 자리에 취약점의 근원과 원인을 밝혀내고, 시스템을 흔적도 없이 해킹하기 때문에 실제 해킹을 당해도 알지 못하는 경우가 많다.
4. 연대별 주 해킹 기법
(1) 1980년대 : 사용자 패스워드 추측, 인터넷을 기반으로 한 최초 웜 발생, 사용자 계정 DB를 획득하여 사용자 패스워드 크래킹, 백도어
(2) 1990년대 : 스니핑, 세션하이제킹, 스푸핑, CGI공격, 버퍼 오버플로우 공격, 트로이 목자, 서비스 거부 공격
(3) 2000년대 : 분산 서비스 거부 공격, 본산 반사 서비스 거부 공격, 웹 해킹
출처 : "정보보안 및 인터넷해킹과 방어기술"
'99. 기타' 카테고리의 다른 글
국내 대표적인 해킹 사례 (0) | 2016.11.11 |
---|---|
세계 10대 해킹 사건 (0) | 2016.11.10 |
안드로이드의 특징과 4가지 구성요소 (0) | 2016.09.23 |
엘라스틱서치(elasticsearch)의 특징에 대해 알아보기 (0) | 2016.09.01 |
언프리티랩스타 시즌3 5회까지 개인적인 순위 및 후기 (1) | 2016.08.30 |