개념과 정의
대다수가 컴퓨터를 이용해 일을 하고 네트워크를 통해 서로 연결되었기 때문에 컴퓨터간의 통신을 통해 사람들간의 거래가 현저하게 증가했다. 또, 금융거래 정보 등 민감하고 중요한 개인정보가 컴퓨터나 네트워크를 통해서 수집·보존·전송되는 경우가 많아, 정보 보호를 위한 중요한 연구 분야가 되고 있다.
정보보안을 전기통신 분야로 정의한다면 컴퓨터나 네트워크 위반으로부터 정보를 보호하는 연구다. 그러나 정보를 보호하는 것에 관해서는 사람들은 그것이 누설되지 않도록 하는 것만을 생각하는 경우가 많다. 그러나 정보보호는 그 이상이다. 정보보안이란 보호된 정보의 기밀성, 무결성, 가용성의 3가지 품질을 모두 충족해야 함을 의미합니다.
비밀은 비밀로 해야 하는 것이다. 그것은 정보가 무허가 타깃에 제공되어서는 안 된다는 것을 의미합니다. 일반인이 생각하는 정보보호는 기밀성으로 종종 제한된다. 완전성은 정보가 정확해야 함을 의미한다. 이는 허가 없이 정보가 변경되지 않도록 함으로써 실현될 수 있습니다. 가용성이란 허가된 접근의 경우 정보에 접근할 수 있어야 함을 의미합니다. DoS 공격(서비스 거절 공격)은 가용성에 대한 일반적인 공격입니다.
또한 정보보안의 범위에 인증과 부인방지를 추가할 수도 있다. 인증이란, 신원을 확인하고 접근한 사람이 본인이라고 주장하는 사람임을 증명하는 것입니다. 인증의 가장 일반적인 예는 아이디와 비밀번호를 사용한 로그인입니다. 거부 차단으로도 불리는 거부 방지는 본인이 메시지를 작성하거나 수신한 사실을 부인하거나 디지털 서명을 한 뒤 서명하지 않은 행위를 막기 위한 조치다.
정보보호의 역사
정보 보호의 역사는 고대 그리스와 로마시대로 거슬러 올라간다. 그리스 양피지 암호화와 유명한 로마 시저가, 그 뒤에 세 자리 알파벳으로 메시지를 쓰는 암호화가 포함되어 있습니다. 현대에는 독일이 만들어 제2차 세계대전에서 사용한 것으로 유명한 암호화 장치 에니그마 에니그마의 암호 해독은 연합군이 전쟁에서 우위를 점할 뿐 아니라 나중에는 컴퓨터의 발명과 발전에도 큰 영향을 미쳤다.
컴퓨터 시대에는 암호화가 고도화되면서 대칭키 암호화, 비대칭키(공개키-비밀키 쌍) 암호화, 원타임 패스워드(OTP) 등 다양한 암호화 애플리케이션이 개발돼 활용되고 있다.
1986년, DOS operating system으로 동작하는 퍼스널 컴퓨터에 감염하는 컴퓨터 바이러스(c) brain이 등장했다. 초기 바이러스는, 많은 경우, 큰 손상을 주지 않고 특정의 메시지만 인쇄하지만, 그 후, 컴퓨터의 파일을 파괴하거나 컴퓨터의 시스템을 파괴하는 악의 있는 바이러스가 대량으로 발생했다. 또, 시스템 안에 숨어 있는 트로이 목마나, 스스로 복제한 웜 등, 다양한 종류의 바이러스도 존재했다. 시스템의 원격제어나 패스워드나 키보드 입력값의 감청 등, 시스템이나 사용자에게 막대한 손해를 주는 기능을 갖는 경우가 많다. 이에 따라 바이러스를 제거하고 보호하는 백신 소프트웨어가 적극 개발돼 활용되고 있다.
근년, 네트워크 액세스에 의한 침입이 큰 문제가 되고 있어 파이어 월, 침입 검지 시스템(IDS) 또는 침입 방지 시스템(IPS)이 시큐리티에 대해 중요한 역할을 완수하도록 개발되고 있다.
주요 연구개발 분야
(1) 암호화
암호학은 누구나 읽을 수 있는 평문을 정보를 보호하기 위해 특별한 지식을 가진 사람만이 읽을 수 있는 암호학으로 변환하는 작업과 관련된 수학적 방법론 연구다. 암호문을 치환하는 것을 암호화라 하며, 암호문을 평문으로 치환하는 것을 복호화라고 한다. 암호학은 오랫동안 군사 목적으로 연구되어 왔으나 최근에는 기업 및 개인정보를 보호하기 위해 암호화가 필수적이다.
암호화 과정은 처리되지 않은 평문을 입력으로 받아 암호문을 출력하는 기능으로 이해할 수 있다. 이 함수는 암호화 알고리즘이라 불린다. 이 경우, 함수의 알고리즘을 알면 암호문을 이용해 평문을 추론할 수 있지만, 이것은 암호화의 의미가 없음을 의미한다. 다만, 암호화에는 키라고 불리는 또 다른 입력이 있습니다. 암호 알고리즘은 입력된 평문과 키를 이용해 암호문을 생성하기 때문에, 암호화 결과가 크게 달라, 키 없는 알고리즘을 알고 있어도 암호문으로부터 얻을 수 없다.
암호화에 사용되는 키와 복호화에 사용되는 키가 동일한 경우 대칭 키 암호화라고 부릅니다. 따라서 대칭키 암호화에서는 암호화하는 측과 암호문을 수신해 복호화하는 측이 이미 키를 배포할 필요가 있습니다. 안전한 키 배포 방법을 강구하지 않으면 사전에 공통 비밀키를 가지고 있지 않은 상대와의 대칭키를 이용한 통신은 어렵다. 따라서, 키를 배포하는 보안 프로토콜의 개발은 정보 보호 분야에서 가장 중요한 연구 분야의 하나가 되어, 개발된 프로토콜이 정말로 안전한 것을 확인하는 것이 핵심 연구테마의 하나이다.
비대칭 키 암호화에는 공용 키 암호화가 포함됩니다. 공용 키는 모든 사람에게 공개되는 사용자의 암호 키입니다. 대칭키 방식과는 달리 공개키로 암호화하여 생성한 암호문은 비밀키를 사용해 복호화된다. 반대로, 비밀키로 암호화된 암호문은 공개키를 사용해 복호화할 수 있다. 이용자는 공개키를 모든 사람에게 공개하고 개인키는 비밀로 해 자신만이 알 수 있도록 해야 한다. 공개키의 암호화는 키 배포 문제를 해결하기 위해, 암호화를 이용해 누구와도 통신할 수 있다. 그러나, 공개키 암호화에는 비교적 복잡한 수학 연산이 필요하고, 대칭키 암호화보다 훨씬 긴 시간이 걸린다.
공개키 암호화를 이용해 대칭키를 배포하는 프로토콜을 사용하면 송수신 쌍방이 안전하게 대칭키를 공유할 수 있고 신속한 암호화 통신이 가능해진다. 가장 대표적인 공개키 암호화의 예는 미국에서 3명이 개발한 "Rivest Shamir Adleman" 비밀번호입니다. 로널드 린 리베스트, 아디 샤밀, 레너드 막스 아돌먼. 공개키의 다른 예로는 Rabin 알고리즘과 Elliptic Curve Cryptosystem(ECC)이 있다.
한편, 대부분의 암호화는 특정 크기의 평문에 알고리즘을 적용하여 부호화되는데, 이를 블록 암호화라고 한다. 블록 암호로서의 최초의 표준은 1977년에 미국에서 개발된 DES 암호이다. DES는 56비트길이의 키를 사용해 64비트 평문을 암호화하는 알고리즘이다. 암호화 공격의 전형적인 방법은 개발 당시 안전성이 높은 암호화 방식으로서 인식되고 있었을 가능성이 있는 모든 키를 해독하려고 시도하는 것으로, DES 공격에는 수억 년이 걸린다고 한다.
단지, 컴퓨팅 능력의 개발에 대한 안전성에의 염려로부터, DES를 3중으로 적용했음에도 불구하고, 현재의 PC로 복호화할 수 있다고 한다. 새롭게 개발된 방식은 Advanced Encryption Standard(AES; 고도 암호화 규격)입니다. AES는 128비트길이의 키를 사용하여 128비트의 평문 블록도 암호화한다. 현재의 컴퓨팅 속도에서는 키 없이 AES를 디코딩하는 것은 시간적으로 거의 불가능한 것으로 알려져 있습니다. AES는 현재, 미국연방정보처리표준(FIPS-1997)암호화에 게재되어 있다. 256비트의 암호키길이를 갖는 AES-256도 개발되었다.
(2) 네트워크 보안
네트워크 보안이란, 공격자가 TCPIP 등의 통신 프로토콜에 대해 여러가지 취약성을 이용해, 부정한 네트워크 자원이 액세스, 파괴, 또는 사용 방해받지 않도록 보호하는 행위이다. 근년, 신문에 자주 게재되고 있는 DoS 공격(서비스 거절 공격)이나 DDoS 공격에 대한 방어도 네트워크 시큐리티의 일부이다.
DoS 공격은 네트워크상에서 서비스를 제공하는 서버에 대한 공격으로, 서버가 서비스를 정지하는 원인이 됩니다. 이 공격은 매장 서비스 요청 전송(SYN 플래딩 공격, 메일 폭탄 공격), 정의된 패킷과는 다른 비정상적인 패킷 전송(deas acttack ping), 한 서버로 대량의 패킷을 전송하는 등 네트워크와 서버를 마비시키는 방법을 사용합니다. 이 같은 공격을 막기 위해 연구자들은 서버 운영체제를 개선하고 침입방지시스템(IPS)을 개발해 적용해 피해자와 디도스 공격을 식별 치료하는 등 서비스 거부 공격에 대응하고 있다.
또, 네트워크 시큐리티를 위협하는 공격에는, 타인간의 통신 패킷을 도청하는 저격, IP 주소 2를 속이는 DNS 스푸핑, 또는 DNS 서버 3이 포함되어 있어 정규 유저로서 동작해, 상대로부터 정보를 수신한다. 연구진은 알고리즘과 프로토콜 개선 등 이런 다양한 공격에 대응하기 위한 방어책을 내놓았다.
보안은 기본적으로 공격에 대한 방어이기 때문에 새로운 공격 방법에 대한 방어를 연구·개발하는 것이 연구자의 책임이다. 따라서 보안 분야의 연구자들은 컴퓨터와 네트워크에 대해 누구보다도 광범위하고 깊은 지식을 갖고 있어야 하며, 새로운 공격 방법을 계속 연구하기 위한 진지함과 열정을 가져야 한다.
(3) 시스템 보안
시스템 보안이란 공격자의 무단 접근을 방지하고 시스템에 저장된 정보와 시스템의 정상적인 동작을 보호하는 활동을 말한다. 기본적으로는 시스템 사용자 관리, 파일 시스템 관리, 로그 관리 등의 기본 관리를 철저히 해야 합니다. 악용 방법으로는 패스워드의 해독, 백도어, 버퍼 오버플로 등이 있습니다.
"L0pht Crack"이나 "Johntherripper"등의 프로그램은 프리파일을 사용하여 패스워드를 식별하는 전원 공격을 실시합니다. 고급 사양의 PC를 이용해 공격할 경우 몇 시간 안에 영어 단어를 사용한 비밀번호를 찾아내고 영숫자 기호를 섞어 8자 이상의 비밀번호를 만드는 경우 수개월이 걸린다. 따라서 보안 전문가들은 안전한 비밀번호가 영문 대소문자, 숫자, 기호를 조합한 8자 이상의 비밀번호임을 권장합니다. 단,일반적인단어,생일,전화번호등의사용자관련정보는사용할수없습니다. 그리고 저는 3개월마다 비밀번호를 바꿔야 해요.
뒷문은 공격자가 자신만 알 수 있도록 시스템에 몰래 설치하는 비밀 출입문이다. 백도어는 일반 로그인 절차를 진행하지 않기 때문에 시스템 로그에 기록되지 않습니다. 그 결과, 공격자는 시스템 관리자나 사용자의 지식 없이 시스템에 침입하거나 시스템을 사용할 수 있습니다. 백도어는 컴퓨터 웜이나 운영 체제의 취약성에 의해 설치될 수 있습니다. 연구진은 새로 발견된 뒷문 경로와 운영 원리를 연구하고, 이를 막을 백신 프로그램을 개발해 인터넷을 통해 공개하고, 뒷문 철거 조치를 수동으로 실시하고 있다.
버퍼 오버플로는 컴퓨터의 메모리에서 동작할 때 메모리 관리의 허점을 통해 소프트웨어가 오작동하는 취약성을 악용하는 공격입니다. 원래 운영체제는 하나의 프로세스 4)가 그에게 허용된 메모리 공간에서만 작동함을 보증해야 합니다. 바꿔 말하면 특정 프로세스는 해당 프로세스에 할당되어 사용이 허가된 특정 메모리 영역 내에서만 읽고 쓸 수 있도록 해야 합니다. 그러나 소프트웨어를 작성하기 위해 사용되는 기능의 일부는 이 부분에서 부적절하게 기술되어 있기 때문에 할당된 영역 이외의 메모리 공간에도 쓸 수 있습니다. 이 시점에서 공격자는 이를 능숙하게 사용하여 악의적인 코드를 시스템 관리자의 권한 하에 실행할 수 있도록 하는 등의 공격을 실행할 수 있습니다. 연구자들은 버퍼 오버플로 공격을 방어하기 위한 버퍼 관리를 강화하는 운영 체제의 개발, 버퍼 오버플로 공격으로부터 안전한 라이브러리의 개발·배치, 사용 장려 등의 활동을 통해 시스템을 보호한다.
시스템에 대한 공격의 종류가 상기보다 많을 경우, 안전하게 시스템을 설정하는 방법은 운영체제에 따라 다르고 내용이 매우 복잡하며 시스템 보안의 연구 범위가 매우 크다.
(4) WEB 보안
인터넷을 통해 제공되는 서비스는 매우 다양하다. 그러나 그 가장 큰 부분은 틀림없이 웹 서비스다. 따라서 웹 보안을 정보보호 분야로 설명해도 과언이 아닙니다. 웹 서비스는 그 특성상 불특정 대상에게 널리 제공되며 악의적인 공격자가 접근할 수 있도록 해야 한다. 따라서 웹 서버를 동작시키는 경우는 사용하는 웹 서버 소프트웨어에 따라서 보안 설정을 신중하게 해야 합니다. 인기 있는 Web 서버에는, 마이크로소프트의 IIS(인터넷 정보 서버)와 Apache Software Foundation의 Apache(http://www.apache.org)가 있습니다.이것은 각 웹 서버의 보안 설정 방법에 관한 매우 광범위한 정보이므로 여기서는 건너뛰기를 하시기 바랍니다. 웹서비스에 대한 공격의 예로는 SQL 삽입 공격, Cross Site Scripting(XSSS) 등이 있습니다.
웹 페이지에는 텍스트 필드라고 불리는 영역이 있는데 사용자는 텍스트를 입력하여 서비스를 요구할 수 있습니다. 대부분의 경우 서버는 텍스트 필드에 입력된 텍스트를 키워드로 데이터베이스에 조회합니다. 사용자가 텍스트 필드에 보통 텍스트만 입력한다는 막연한 전제로 Web을 작성하는 경우 SQL 문은 데이터베이스 처리 명령 SQL 문이 텍스트 필드에 삽입되었을 때 그대로 실행될 수 있습니다. 그러면 SQL 삽입공격이 실행됩니다. 권한이 없는 사람이 패스워드를 입력하지 않고 로그인하거나 데이터베이스에 보존되어 있는 모든 데이터를 삭제 또는 인쇄하거나 할 수 있습니다. 웹서비스에서 발생할 수 있는 이러한 위험을 식별하고 이를 방지하는 방법을 모색하는 것도 정보보호 연구의 주요 주제이다.
주요용어와 관련직업
(1) 주요 용어
• 기밀유지: 부정 이용자에게 정보를 제공해서는 안 되는 성질을 말한다.
• 무결성: 권한이 없는 사용자가 변경 또는 변경해서는 안 되는 속성을 의미합니다.
• 가용성: 라이센스된 어프로치의 경우에 정보가 적절히 제공되는 특성을 가리킵니다.
• 인증: 접속 대상자가 청구된 ID와 호환성이 있는지 확인합니다.
• 부인 방지 : 자신이 한 일을 부정할 수 없게 하는 조치.
• 방화벽: 네트워크의 설정에 따라 불필요한 액세스를 차단하고 필요한 액세스만을 허용하는 디바이스.
• 침입 검지 시스템(IDS): 네트워크 또는 시스템으로부터 시스템 관리자에게의 악의가 있는 액세스 또는 의심스러운 액세스를 감시하고, 보고하는 디바이스입니다.
• 침입 방어 시스템(IPS): 네트워크 또는 시스템에 악의가 있는 액세스나 의심스러운 액세스가 발생하는 리스크를 사전에 검출해, 자동적으로 대처하는 장치입니다.
•프로토콜: 통신 상대가 따를 필요가 있는 프로토콜.
• 알고리즘: 문제를 해결하기 위한 절차 또는 방법.
• 보통 텍스트: 누구나 읽을 수 있는 정보
• 암호화: 특수한 지식을 가지는 사람만이 읽을 수 있도록 평문을 번역하는 것을 말한다.
• Ciphertext: 암호화된 정보를 의미합니다.
• 공개 키: 모든 사람에게 공개되고 있는 사용자의 암호 키. 공용 키로 암호화된 정보는 개인 키로 복호화됩니다.
• 개인키: 자신만이 아는 사용자의 암호키. 개인 키로 암호화된 정보는 공용 키로 복호화됩니다.
• 뒷문: 공격자가 몰래 설치한 출입구에서, 통상의 절차를 거치지 않고 로그인할 수 있도록 한다.
(2) 관련 직종
• 정보보안기술자(ICT, 컴퓨터공학 등의 대학교수)
• 정보보안공학연구소(한국전자통신연구원, 기업연구원 등)
• 경비회사 기술자(백신개발사, 경비기기 판매·운용사)
• 정보보안 스페셜리스트
• 컴퓨터 네트워크 관련 기업의 엔지니어