DNS Spoofing

    DNS 스푸핑이란 웹브라우저에 도메인을 입력해서 접속할 떄 DNS서버에 도메인에 대한 IP를 물어보는데, 공격자가 잘못된 IP를 DNS서버보다 먼저 알려주어서 잘못된 주소로 접속하게 하는 공격입니다. 간단히 말하자면 http://www.daum.net/ 똑바로 쳤는데도 불구하고 전혀 엉뚱한 웹사이트로 가지는 거죠.

    이것이 가능한 이유는 클라이언트가 DNS 서버에게 접속하고자 하는 IP 주소를 물어 볼 때 보내는 패킷은 DNS Query 패킷입니다. DNS 패킷은 UDP패킷이므로 세션이 존재하지 않습니다. 또한 먼저 도착한 패킷을 신뢰하며, 다음에 도착한 정보는 버립니다. 때문에 해커에게 스니핑등을 당하고 있다면 DNS스푸핑에 쉽게 당할 수 있습니다.

DNS 스푸핑은 이런 DNS서비스의 특징을 이용한 것입니다.

 

 

DNS 스푸핑 실습

스위칭 환경일 경우에는 클라이언트가 DNS Query 패킷을 보내면 이를 알아야 하므로 ARP 스푸핑과 같은 선행 작업이 필요합니다.

만약 허브만 쓰고 있다면 모든 패킷이 자신에게도 전달되므로 클라이언트가 DNS Query 패킷을 보내는 것을 쉽게 확인할 수 있을 것입니다.

 

ARP스푸핑

ARP스푸핑에 관해서는 http://dolma.tistory.com/28 참조

DNS Query 패킷을 받기 위해 스위치와 클라이언트에 ARP 스푸핑 공격을 합니다.

공격자 IP 192.168.1.5

클라이언트 IP 192.168.1.3

스위치 IP 192.168.1.2

공격자(Linux), 클라이언트(Window)

ARP 스푸핑 공격 당하기 전 클라이언트의 ARP

 

공격자 PC에서 ARP공격을 함(dsniff 설치 필요)

 

 

공격 후 클라이언트 ARP

공격자의 MAC주소가 게이트웨이의 MAC주소와 동일해 졌다.

때문에 클라이언트는 게이트웨이로 가야할 모든 패킷을 공격자에게 보낸다.

 

공격자가 스니핑을 하는 상태에서도 클라이언트의 인터넷 연결에 문제가 없게 공격자에게 오는 패킷을 원래 게이트웨이로 릴레이 시켜준다.

 

이제 DNS 스푸핑을 하기 위한 선행작업이 끝났으므로 hosts파일을 하나 만들고 DNS Query 패킷를 Listen한다.

이제 DNS Query패킷이 오면 Hosts파일에 따라 응답을 해준다.

네이버나 구글을 치면 공격자의 IP를 알려주어 공격자의 웹 서버로 접속하게 한다.

 

 

 

 

 

www.naver.com를 쳤는데 이상한 웹서버로 접속됨.

 

 

DNS 스푸핑 예방법

    이러한 DNS 스푸핑을 막으려면 중요 서버에 대해서 DNS Query를 보내지 않으면 된다.

윈도우와 유닉스 모두 URL에 대한 IP를 확인할 떄 , 처음부터 DNS Query를 보내는 것이 아니라 먼저 시스템 메모리 정보를 확인하고, 그 다음에 hosts 파일에 등록된 정보를 확인한다.

그러므로 미리 hosts파일에 중요 서버에 대한 IP를 등록해 놓으면 위와 같은 피해를 막을 수 있다.

 

APT 공격

사고 경위 : 잉카인터넷 엔프로텍트대응팀은 최근 국내 유명 인터넷 기업 대상 APT 공격에 활용된 한글 이력서 등을 입수, 공개했다.

발견된 APT 공격 이력서 문서파일은 국내 유명 인터넷 기업 그룹 이메일을 사용하는 '김연미'라는 여성이 보낸 이메일로 위장돼 있다. 메일에 첨부된 이력서를 열어보면 남성의 입사지원서가 보인다

지원자 학력이 정보보호관리학과 출신으로 표기돼 있어 의심의 눈초리도 피할 있다. 첨부된 이메일은 마이크로소프트 워드 문서로 작성된 파일로 위장했지만 실은 'exe' 실행파일이다. 수신자가 메일을 여는 순간 악성코드는 PC 저장돼 정보 유출 불법행위에 이용된다.

 

 

 

APT공격

대한민국을 강타할 최고의 보안위협으로 지능형지속위협(APT) 꼽히고 있다.

지난해 3500만명 개인정보를 유출시킨 SK커뮤니케이션즈 해킹사고와 넥슨 1320만명 개인정보 유출 사고, 농협 전산망 마비 굵직한 해킹 사고의 원인도 APT 지목되고 있다. 상반기 역시 수많은 APT 공격 사고가 발생한 것으로 추정된다. 특히 한글파일(HWP) 취약성을 이용한 정부기관, 대기업을 노린 다수의 APT 공격이 발생한 것으로 알려져 국내 정부 기관과 기업들이 APT 공격의 표적이 됐다.

APT 공격은 특수한 목적을 가진 조직이 하나의 표적에 대해 다양한 IT 기술을 이용, 지속적으로 정보를 수집하고 취약점을 파악, 이를 바탕으로 피해를 끼치는 공격이다. 불특정 다수를 대상으로 시도하는 일반 해킹이나 표적공격과 달리 첩보 형태로 장기간 정보를 수집해 공격을 감행한다는 점에서 보다 지능화된 기법이다.

APT 기존 해킹 공격과 가장 차별화된 점은 매우 지능적(Advanced)이라는 것이다. 통상 프로그램에 문제가 발생한 것을 인지하고 이에 대응하기까지는 일정한 시간차가 나타날 수밖에 없다. 이를 악용해 보안벽을 깨는 각종 고급기술을 가하는 방식이다.

 

, 보안에 무방비로 노출되는 일명 제로데이라 불리는 취약점을 파고드는 기술이다. 현재까지 알려진 최악의 APT 공격이자 '사이버 미사일'로도 불리는 스턱스넷은 4개의 제로데이를 공략한 것으로 나타났다.

지적재산권이나 고객정보 등을 빼내는 단순 산업스파이 측면의 해킹을 넘어서, 국가간 첩보활동과 기간시설 파괴 등을 목적으로 한다는 점에서 위험 수준이 높다고 있다. 여기에 배후로 첩보조직이나 반국가 단체 등이 연루되어 조직적인 후원이 뒷받침돼 심각성이 더욱 수밖에 없다.

 

때문에 기존 보안솔루션으로는 방어가 불가능하다는 것이 보안업계의 중론이다. 안철수연구소 설명에 따르면 APT 정상적인 트래픽 경로를 사용하는 경우가 대부분이라 USB 네트워크를 이용하지 않는 침투는 방어가 불가능한 것으로 나타났다.

  1. 악성코드의 역사와 분류

     

    웹 사이트를 방문 할 때 원치 않았는데도 인터넷 익스플로러의 시작 주소가 바뀐다든지, 바탕화면에 이상한 사이트에 접속하는 아이콘이 만들어지거나, 컴퓨터가 이상하게 느려지거나 부팅 과정이 이상해지는 경험을 해봤을 것이다.

     

    그런 상황의 원인은 다양하지만 상당 부분이 악성 프로그램으로부터 공격을 당했기 때문이다.

     

    악성코드의 역사

     

    악성코드란 제작자가 의도적으로 사용자에게 피해를 주고자 만든 모든 악의적 목적을 가진 프로그램 및 매크로, 스크립트 등 컴퓨터상에서 작동하는 모든 실행 가능한 형태를 말한다.

     

     

     

    1972년

    컴퓨터 바이러스의 개념이 처음 등장한 시기다.

    소설가인 데이비드 제럴드의 공상과학소설 "When Harlie was One (Nelson Doubledy, 1972)"에는 다른 컴퓨터에 계속 자신을 복제, 감염된 컴퓨터의 시스템을 마비시키는 장치를 한과학자가 제작해 배포한다는 내용이 소개됐다.

     

     

     

    1984년

    컴퓨터 바이러스라는 용어는 1984년 프레드 코헨(Fred Cohen)에 의해 '컴퓨터 바이러스란 자기 자신을 복제하여 대상 프로그램에 포함시키는 것을 통해 대상 프로그램을 감염시키는 프로그램'이라고 말한다.

     

     

    1986년

    이전에도 바이러스와 유사한 프로그램이 발견된 적 있으나 일반적으로 1986년에 발견된 브레인 바이러스(Brain Virus)를 최초의 바이러스로 칭한다.

    이 바이러스는 파키스탄에서 만들어져 프로그래머로 일하던 알비 형제가 자신들의 소프트웨어가 불법 복제되는 것을 참다 못해 바이러스를 만들어 뿌렸다고 한다.

     

     

    1987년

    1987년 예루살렘 대학에서 13일의 금요일 바이러스가 발견되었다.

    예루살렘 바이러스라고도 불리는데, 13일의 금요일에 시스템내의 파일을 삭제하게 되어 있는 바이러스로 이탈리아에서 제작한 것으로 알려지고 있다.

     

     

    1989년

    최초의 웜으로 알려지고 있는 모리스 웜이 발생하여, 미국의 네트워크를 마비시키는 사건이 일어났다.

     

     

    1991년

    1991년 11월에는 그간의 바이러스와 전혀 다른 특징의 바이러스가 출현하였다.

발견된 DIRⅡ 는 MS도의 FAT(File Allocation Table) 파일시스템의 연결 구조를 이용해 감염시 프로그램의 크기를 증가시키지 않고 기생하는 특징을 가진다.

 

 

1997년

매크로 바이러스가 출현하였다. 매크로(Macro)란 엑셀이나 워드에서 특정한 기능을 자동화 시켜놓은 일종의 프로그램인데, 이 바이러스는 시스템 프로그램과 같은 고난이도의 기술만이 웜/바이러스 제작에 이용될 수 있다는 인식을 바꾸어 놓았다.

 

1999년

1999년 4월 컴퓨터 메인보드의 바이오스(BIOS)를 손상시키고 각종 파일을 삭제하는 CIH바이러스로 인해 컴퓨터를 들고 보안 업체와 수리 업체를 찾는 사람들이 줄을 이었다.

 

2001년

코드 레드 웜에 의해 8시간 만에 25만대 이상의 컴퓨터 감염되었다.

이 웜은 윈도우 2000과 윈도우NT 서버를 경유지로 이용해 미국 백악관을 공격하였는데, 국내도 최소 3만대 이상의 시스템이 피해를 입은 것으로 추정된다.

 

2003년

2003년 1월 25일 인터넷 대란을 일으킨 SQL_Overflow(슬래머) 웜이 등장했다.



   

같은 해 8월에는 1~2분 간격으로 컴퓨터를 강제 재부팅 시킴으로써 국내외적으로 큰 피해를 준 블래스터 웜(Blaster Worm)을 시작으로, 웰치아 웜(Welchia Worm), 그리고 엄청난 양의 스팸 메일을 집중 발송해 전 세계를 깜짝 놀라게 한 소빅.F 웜(sobig.F Worm) 등이 발생했다.

거의 일주일 사이에 세계적인 영향력을 가진 세 종류의 웜이 한꺼번에 등장한 이른바 웜들의 대공습이였다.

 

이러한 웜들 때문에 PC를 재설치해도 웜에서 자유롭지 못한 경우가 많았다.

컴퓨터를 잘 모르는 이들은 PC에 랜선을 꼽아둔 채로 시스템을 재설치하여, 재설치를 하자마자 다시 웜들에 감염되어 버렸다.

 

 

2004년

마이둠 웜(Mydoom Worm)이 1월 26일에 처음 등장해 역대 최고의 전파 속도로 세계적으로 100만대 이상의 PC를 감염시켰다. 이 외에도 넷스카이(Netsky), 베이글(bagle), 새서(Sasser) 웜 등의 변종이 지속적으로 등장했다.

6월에는 자기 복제가 가능하고 네트워크를 통해 전파되는, 최초의 웜의 형태를 지닌 휴대폰 악성코드인 카비르(Cavir) 웜이 등장하여 휴대폰도 악성코드로부터 자유로울 수 없게 되었다.

 

 

2005년

3월에는 블루투스 외에 멀티미디어 메시징 서비스(MMS)를 이용해, 감염된 휴대폰에 저장된 전화번호를 통해 악성 코드를 퍼뜨리는 휴대폰 악성코드 컴워리어(CommWarrior)가 등장하여 전파방법상에서의 지역적 한계를 넘었다.

 

 

악성코드의 분류

 

정의에 따른 악성코드의 분류

이름(코드)

설명

바이러스(virus)

  • 사용자 컴퓨터내에서 사용자 몰래 프로그램이나 실행 가능한 부분을 변형해 자신 또는 자신의 변형을 복사하는 프로그램이다.
  • 가장 큰 특성은 복제와 감염이다. 다른 네트워크의 컴퓨터로 스스로 전파되지는 않는다.

웜(Worm)

  • 인터넷 또는 네트워크를 통해서 컴퓨터에서 컴퓨터로 전파되는 악성 프로그램
  • 윈도우의 취약점등을 이용하거나 이메일이나 공유폴더를 통해 전파되며, 최근에는 공유프로그램(P2P)을 이용하여 전파되기도 한다.
  • 바이러스와 달리 스스로 전파되는 특성이 있다.

트로이 목마

(Trojan Horse)

  • 직접적인 피해는 주지 않지만, 악의적인 공격자가 컴퓨터에 침투하여 사용자의 컴퓨터를 조종할 수 있는 프로그램이다.
  • 고의적으로 만들어졌다는 점에서 버그와는 다르다. 또 자기 자신을 다른 파일에 복사하지 않는다는 점에서 바이러스와 구별된다.

혹스(Hoax)

  • 인터넷 메신저나 이메일 또는 게시판, 문자 메시지 등에 거짓 정보나 괴담 등을 실어 사용자를 속이는 가짜 컴퓨터 바이러스다.
  • 우리나라는 만우절을 전후로 많이 나타난다.
  • 한 예로, 2004년 3월에 나타난 혹스에는 '누군가 munrol@hotmail.com이라는 사람의 추가를 요구하면 추가하지 말고 취소하십시오 바이러스입니다. 지금 MSN 창에 있는 사람들에게도 이 메시지를 돌려 주십시오.' 라는 내용이 담겨 있었지만 확인 결과 가짜 바이러스인 혹스로 판명되었다.

악성 자바 코드

  • 웹 사이트에서 동적인 기능을 구현하기 위해 자바 스크립트나 자바 애플릿을 많이 사용하는데, 이것을 이용해 악의적인 기능을 하는 코드를 말한다.

악성 ActiveX

  • ActiveX는 마이크로소프트에서 만든 객체지향 프로그래밍을 위한 도구 모음이다. 이를 이용해 악의적인 기능을 수행하게 하는 코드를 악성ActiveX라 한다.


'정보보안' 카테고리의 다른 글

DNS스푸핑 실습  (4) 2012.12.09
APT공격 이란?  (0) 2012.12.09
네트워크 보안 – 스푸핑(Spoofing)  (1) 2012.05.16
네트워크 보안 - 스니핑(Sniffing)  (2) 2012.05.15
네트워크 보안 - 서비스거부(DoS) 공격들  (0) 2012.05.11

 

스푸핑(Spoofing)의 사전적 의미는 '속이다.'다. 네트워크에서 스푸핑 대상은 MAC 주소, IP 주소, 포트 등 네트워크 통신과 관련된 모든 것이 될 수 있다.

스푸핑 공격은 시스템 권한얻기, 암호화된 세션 복호화하기, 네트워크 트래픽 흐름 바꾸기 등에 사용된다.

 

  1.ARP 스푸핑

ARP(Address Resolution Protocol) 스푸핑은 MAC 주소를 속이는 것이다.

즉, MAC주소를 속여 랜에서의 통신 흐름을 왜곡 시킨다.

호스트 이름

IP주소

MAC주소

서버

10.0.0.2

AA

클라이언트

10.0.0.3

BB

공격자

10.0.0.4

CC

    

    

 

  1. 공격자가 서버의 클라이언트에게 10.0.0.2에 해당하는 가짜 MAC 주소 CC를, 10.0.0.에 해당하는 가짜 MAC주소 CC를 알린다.
  2. 공격자가 서버와 클라이언트 컴퓨터에게 서로 통신하는 상대방을 공격자 자기 자신으로 알렸기 때문에 서버와 클라이언트가 공격자에게 패킷을 보낸다.
  3. 공격자는 가자에게 받은 패킷을 읽은 후 서버가 클라이언트에 보내고자 하던 패킷을 클라이언트에게 정상적으로 보내주고, 클라이언트가 서버에게 보내고자 하던 패킷을 서버에게 보내준다.

 

 

윈도우에서는arp –a 명령을 이용해 현재 인지하고 있는 IP와 해당 IP를 가지고 있는 시스템의 MAC주소 목록을 확인할 수 있다. 이것을 ARP 테이블 이라고 한다.

 

ARP 스푸핑을 당하기 전 ARP 테이블

Internet Address Physical Address Type

10.0.0.2 AA Dynamic

 

ARP 스푸핑을 당한 후 ARP 테이블

Internet Address Physical Address Type

10.0.0.2 CC Dynamic

 

이러한 ARP 스푸핑에 대한 대응책은 ARP 테이블이 변경되지 않도록 arp –s [IP주소][MAC주소] 명령으로 MAC주소 값을 고정시키는 것이다.

하지만 이 대응책은 시스템이 재부팅될 때마다 수행해주어야 하는 번거로움이 있다.

 

  2.DNS 스푸핑

DNS(Domain Name System) 스푸핑은 웹 스푸핑과 비슷한 의미로 이해되기도 한다.

인터넷 익스플로러에 사이트 주소를 입력하고 엔터키를 눌렀더니 엉뚱한 사이트로 연결된 경험이 있을 것이다.

DNS 서버의 오류로 인해 생길 수도 있는 경우지만 DNS 스푸핑과 같은 공격으로도 이루어진다.

먼저 자신의 웹 서버를 하나 만들고, 공격 대상이 자주 가는 사이트를 하나 골라서 WebZip이나 Webstripper와 같은 프로그램으로 해당 사이트를 그대로 긁어온다.

그리고 ID와 패스워드를 입력받아 원래 사이트로 전달해주는 스크립트를 간단하게 프로그래밍한다.

 

공격 대상은 사이트 주소를 입력하고는 엔터키를 눌러 들어가면 평소랑 똑 같은 화면을 보고 당연히 정상적으로 접속했다고 생각할 것이다.

그리고 ID와 패스워드를 입력한 다음 엔터키를 누른다.

하지만 평소보다 약간 느리게 로그인된다. 해커가 그 ID와 패스워드를 받아 원래 사이트로 넘겨줘야 하기 때문이다.

공격 대상이 '오늘 따라 조금 늦네…'라고 생각하고 잇을 때 접속하고자 하는 사이트의 로그인 화면이 뜨고, 그사이 해커는 당신의 ID와 패스워드를 얻었을 것이다.

 

  1. 클라이언트가 DNS서버로 DNS Query 패킷을 보내는 것을 확인한다.

    스위칭 환경일 경우 ARP 스푸핑과 같은 선행 작업이 필요하다.

     

     

     

    

  1. 공격자는 로컬에 존재하므로 DNS 서버보다 지리적으로 가깝다. 따라서 DNS서버가 올바른 DNS Response 패킷을 보내주기 전에 클라이언트에게 위조된 DNS Response 패킷을 보낼 수 있다.
  2. 클라이언트는 공격자가 보낸 DNS Response 패킷을 올바른 패킷으로 인식하고, 웹에 접속한다.

     

     

     

     

    하지만 꼭 위의 과정처럼 공격 대상을 기다리고 있다가 공격을 수행해야 하는 것은 아니다.

    네트워크의 특정 URL에 거짓 IP 정보를 계속 브로드캐스팅하면 해당 해킷을 받은 클라이언트가 잘못된 IP주소로 찾아간다.

     


스니핑(Sniffing)


스니핑 공격을 수동적 공격이라고도 말하는데, 그 이유는 공격할 때 아무 것도 하지 않고 조용히 있는 것만으로도 충분 하기 때문이다.


스니핑의 개념을 찾을 수 있는 곳은 많다.

드라마에서 주인공이 다른 이의 대화를 엿듣는 것도, 도청도 스니핑 공격의 일종이다.


또 전화선이나 UTP(Unshielded Twisted Pair)에 태핑(Tapping)을 해서 전기적 신호를 분석해 정보를 찾아내는 것도 스니핑 공격의 일종이다.

전기적 신호를 템페스트(Tempest) 장비를 이용해 분석하는 것도 스니핑 공격이다.

이러한 다양한 공격 중에서 오늘 관심을 가질 것은 유선 랜을 통한 스니핑 공격이다.





기본적으로 네트워크에 접속하는 모든 시스템은 설정된 IP와 고유한 MAC 주소값을 가지고 있다. 통신을 할 때 네트워크 카드는 이 두가지 정보를 가지고 2,3계층 정보가 자신의 것과 일치하지 않는 패킷을 무시해 버린다.







그러나 스니핑을 수행하는 공격자는 자신이 가지지 말아야 할 정보까지 모두 볼수 있어야 하기 떄문에 2계층과 3계층 정보를 이용한 필터링은 방해만 될뿐이다.

이럴 때 2,3계층 필터링을 해제하고 모든 패킷을 받아드리는 모드를 프러미큐어스(Promicuous) 모드라고 한다.

프로미큐어스 모드는 간단한 설정 사항이나 스니핑을 위한 드라이버 설치를 통해 바꿀 수 있다.




1. ICMP 리다이렉트


보통의 네트워크는 라우터나 게이트웨이가 하나다.

하지만 하나의 라우터로 이를 감당할 수 없을 때는 어덯게 해야 할까? 라투어나 게이트웨이를 두 개 이상 운영해서 로드밸런싱(Load Balancing)을 해야 할 것이다.

로드 밸런싱을 하는 방법은 다양하다. 시스템의 라우팅 테이블에 라우팅 엔트리를 하나 더 넣어 주는 방법도 있으나 ICMP 리다이렉트를 사용하기도 한다.





1. 호스트 A에 라우터 A가 기본 라우터로 설정되어 있기 때문에, 호스트 A가 원격의 호스트 B로 데이터를 보낼 때 패킷을 라우터 A로 보낸다.

 

2. 라우터 A는 호스트B로 보내는 패킷을 수신하고 라우팅 테이블을 검색하여 호스트A에게 자신을 이용하는 것보다 라우터 B를 이용하는 것이 더 효율적이라고 판단하여 해당 패킷을 라우터B로 보낸다.


3. 라우터 A는 호스트 B로 향하는 패킷을 호스트 A가 자신에게 다시 전달하지 않도록, 호스트 A에게 ICMP리다이렉트 패킷을 보내서 호스트A가 호스트 B로 패킷을 보낼땐 바로 라우터 B로 향하도록 한다.


4. 호스트 A는 라우팅 테이블에 호스트B에 대한 값을 추가하고, 호스트 B로 보내는 패킷은 라우터 B로 전달한다.





ICMP 리다이렉트를 이용한 공격 방법은 간단한다. 공격자가 바로 라우터B가 되는 것이다. ICMP 리다이렉트 패킷도 공격 대상에게 보낸 후 라우터 A에게 다시 릴레이 시켜주면 모든 패킷을 스니핑 할 수 있다.




ICMP 리다이렉트는 2계층 공격이 아니다. 3계층에서 패킷을 주고받기 때문에 잘 응용하면 로컷의 랜이 아니더라도 공격이 가능하다.




2. 스위치 재밍(MACOF)


스위치에는 포트와 MAC주소를 저장한 테이블이 있다.

스위치 재밍(switch jamming)은 이러한 테이블의 기능을 마비시키는 공격이다. MACOF 공격이라고도 한다.

스위치에 랜덤한 형태로 생성한 MAC을 사진 패킷을 무한대로 보내면, 스위치의 MAC테이블은 자연스레 용량을 넘게되고, 이는 스위치의 원래 기능을 읽고 더미 허브처럼 작동하게 된다.

하지만 모든 스위치가 그런 것은 아니다.

일부 스위치는 MAC 테이블의 캐시와 연산자가 쓰는 캐시가 독립적으로 나뉘어져 있어 스위치 재밍공격이 통하지 않는다.



3. SPAN 포트 태핑


SPAN(Switch Port Analyzer)은 포트 미러링(Port Mirroring)을 이용한 것이다.

포트 미러링이란 각 포트에 전송되는 데이터를 미러링하고 있는 포트에도 똑같이 보내주는 것이다. 침입탐지 시스템이나 네트워크 모니터링 또는 로그 시스템을 설치할 때 많이 사용한다.


SPAN 포트는 기본적으로 네트워크 장비에서의 하나의 설정 사항으로 이뤄지지만, 포트 태핑은 하드웨어적인 장비로 제공되고 이를 스플리터(Splitter)라고 부르기도 한다. SPAN포트와 태핑 장비의 구입에 어려움이 있다면 IDS를 설치하고자 하는 곳에 허브를 설치해야 하는 것도 하나의 방법일 수 있지만 네트워크가 느려지는 것을 감수 해야한다.



4. 스니퍼의 탐지 


스니핑 공격은 네트워크에 별다른 이상 현상을 만들지 않기 때문에, 사용자가 이를 인지하는 것이 어렵고 능동적인 탐지를 통해서만 잡아낼 수 있다.


스니퍼에 대한 탐지의 아이디어는 스니퍼가 프러미스큐어스 모드에서 작동한다는 것에서 시작한다.


PING을 이용한 스니퍼 탐지

대부분 스니퍼는 일반 TCP/IP에서 동작하기 때문에 Request를 받으면 Response를 전달한다.

이를 이용해 의심이 가는 호스트에 ping을 보내면 되는데, 네트워크에 존재하지 않는 MAC 주소를 위장하여 보낸다. 왜냐하면 존재하지 않는 MAC 주소를 사용했기 때문에 프러미스큐어스모드가 아니라면 누구도 볼수가 없다.



ARP를 이용한 스니퍼 탐지

ping과 유사한 방법으로, 위조된 ARP Request를 보냈을 떄, ARP Response가 오면 프러미스큐어스 모드로 설정되어 있는 것이다.


유인(Decoy)을 이용한 스니퍼 탐지

스니핑 공격을 하는 공격자의 주요 목적은 ID와 패스워드의 획득에 있다.

보안 관리자가 이 점을 이용하여 가짜 ID와 패스워드를 네트워크에 계속 뿌린다.

공격자는 이 ID와 패스워드를 이용하여 접속을 시도하는데, 이 접속을 시도하는 시스템을 감지함으로써 스니퍼를 탐지할 수 있다.






서비스 거부(DoS, Denial of Service) 공격을 쉽게 얘기하면 일종의 훼방입니다.

서버나 네트워크에서의 서비스 공격은 무척 다양합니다.

이번 글에서는 다양한 서비스 거부 공격 방법과 이에 대한 대응책을 간단히 살펴보겠습니다.


1. Ping of Death


이메일로 10MB 파일을 보낼 떄, 10MB 크기의 데이터 패킷 하나가 퉁 하고 가는 것이 아니고, 수천 개의 패킷으로 나뉘어 전송됩니다.


네트워크는 패킷을 전송하기 적당한 크기로 잘라서 보내는데, Ping of Death는 그러한 특성을 이용한 것입니다.


네트워크 연결 상태에서 Ping 명령을 보낼 때 패킷을 최대한 길게하여(최대 65,500바이트) 공격 대상에게 보내먄 패킷은 네트워크에서 수백 개의 패킷으로 잘게 쪼개져 보내집니다.




2. SYN Flooding


네트워크에서 서비스를 제공하는 시스템에는 동시 사용자 수에 대한 제한이 있습니다. 

동시 사용자 제한은 정해져 있지는 않지만 무한할 수는 없습니다.

SYN Flooding은 존재하지 않는 클라이언트가 서버별로 한정되어 있는 접속 가능한 공간에 접속한 것처럼 속여 다른 사용자가 서버의 서비스를 제공받지 못하게합니다.




이 공격은 TCP의 연결 과정인 쓰리웨이 핸드셰이킹의 문제점을 악용한 것입니다.


최초 연결시 클라이언트가 서버에게 SYN 패킷을 보내고, 이를 받은 서버는 SYN+ACK 패킷을 보내고 포트는 대답을 기다리는 SYN Received상태가 됩니다.

그런데 마지막으로 클라이언트가 서버에 다시 ACK패킷을 보내야 연결이 되는데 클라이언트가 ACK패킷을 보내지 않는다면 SYN Received상태로 일정시간동안 기다리게 될것입니다. 


그리고 공격자는 가상의 클라이언트로 위조한 SYN 패킷을 수없이 만들어서 서버에 보내 서버의 가용 동시 접속사 주를 모두 SYN Received 상태로 만들어 버리는것이

SYN Flooding 공격의 기본입니다.



흔히 사회적이슈로 인해 특정 웹 서버가 접속자 폭주로 마비되어 서버 접속이 되지 않는 경우가 있는데, 이것도 SYN Flooding 공격을 받은 상황이라 할수도 있습니다.



대형 시스템을 제외한 일반적인 서버는 SYN Flooding 공격이 진행 되는 동안 접속이 거의 불가능 합니다. 하지만 공격이 끝난 후 일정시간, 즉 SYN Received 상태에서 자동으로 벗어나는 시간이 지나면 시스템은 회복됩니다.


따라서 이 공격에 대한 대응책은 SYN Received의 대기시간을 줄이는 것이라 할 수 있습니다.

또한 침입차단 시스템(IPS)과 같은 보안 시스템도 쉽게 이러한 공격을 차단할 수 있습니다.




3. Land


Land를 사전에서 찾아보면 착륙하다라는 의미 외에 '(나쁜 상태에)빠지게 하다'라는 의미가 있습니다.


Land공격은 말 그래도 나쁜 상태에 빠지게 하는 것이며, 방법도 아주 간단합니다.


패킷을 보낼 때 출발지 IP주소와 목적지 IP주소를 똑같이 만들어서 공격 대상에게 보내는 것입니다. 이 때 조작된 주소값은 당연히 공격 대상의 IP주소여야 합니다.


이러한 패킷을 공격 대상에 보내면 시스템은 공격자가 처음 보낸 SYN 패킷의 출발지 주소값을 참조하여 그 응답 패킷의 목적지 주소를 SYN패킷의 출발지주소로 설정하여 내보내게 됩니다.. 그런데 SYN 패킷의 출발지 주소는 실제 공격자의 주소가 아닌 공격 대상의 주소값으로 변경되어 있기 때문에 응답 패킷을 보내도 자신에게 다시 돌아옵니다. 그 돌아온 패킷 또한 출발지IP주소와 목적지 IP주소가 기록되어 있고 둘다 자신의 IP로 기록되어 있을 것입니다.


이 공격법은 SYN Flooding처럼 동시 사용자 수를 점유해버리며 CPU부하까지 올리고 시스템은 자기 꼬리를 빙빙 쫓는 강아지처럼 곧 지쳐버리게 될것입니다.



Land 공격에 대한 보안 대책도 운영체제의 패치를 통해서 가능합니다.  또 다른 방법은 방화벽과 같은 보안 솔류선을 이용하는 것입니다. 네트워크 보안 솔루션에는 출발지 주소와 목적지 주소의 적절성을 검증하는 기능이 있습니다.





5. Smurf


Smurf(스머프) 공격은 웜이 네트워크를 공격하는 데 아직도 많이 쓰이는데, Ping of Dead처럼 ICMP 패킷을 이용합니다. 스머프를 이해하려면 우선 다이렉트 브로드캐스트(Direct Broadcast)를 이해해야 합니다.


스머프 공격은 다이렉트 브로드캐스트를 악용한 것으로, 공격 방법은 간단합니다.

공격자가 예를 들어 172.16.0.255로 다이렉트 브로드캐스트를 하면 172.16.0.0 네트워크는 ICMP Request 패킷의 위조된 출발지 IP 주소로 ICMP Reply를 다시 보내게 됩니다. 결국 그 출발지 IP주소의 컴퓨터(공격대상)는 수많은 ICMP Reply를 받게 되고 Ping of Death 처럼 수많은 패킷이 시스템을 과부하 상태로 만듭니다.



Smurf 공격에 대한 대응책은 아주 간단합니다. 라우터에서 다이렉트 브로드캐스트를 막는 것입니다. 그리고 처음부터 다이렉트 브로드캐스트를 지원하지 않는 라우터도 있습니다.



7. DDOS


DDOS(Distributed Denial Of Service)는 1999년 8월 17일 미네소타 대학에서 발생한 것으로 알려졌습니다.


야후, NBC, CNN 서버의 서비스를 중지 시켰습니다. 피해가 상당히 심각하며 이에 대한 확실한 대책 역시 없습니다.  또한 공격자의 위치와 구체적인 발원지를 파악하는 것도 어렵습니다.


DDOS는 특성상 대부분이 자동화된 툴을 이용합니다. 



1. 공격자 (Attacker) : 공격을 주도하는 해커의 컴퓨터


2. 마스터 (Master) : 공격자에게서 직접 명령을 받는 시스템으로, 여러 대의

에이전트를 관리한다.


3. 핸들러 프로그램 : 마스터 시스템의 역할을 수행하는 프로그램이다.


4. 에이전트 (Agent) : 공격 대상에 직접 공격을 가하는 시스템이다. 좀비PC...


5. 데몬 프로그램 : 에이전트 시스템의 역할을 수행하는 프로그램이다.




DDOS 공격에서는 마스터와 에이전트가 중간자로서의 역할을 하지만 피해자이기도 합니다. 때때로 대형 ISP 업체나 정부기관이 이런 역할을 하게 됐을 때는 폭력배에게 주먹을 빌려주는 꼴이 되기도 합니다.







네트워크의 기초 

네트워크와 관련된 보안을 알아보려면 먼저 네트워크를 알아야 합니다.      


응용 프로그램 계층 (Application Layer)

표현 계층 (Presentation Layer)

 세션 계층 (Session Layer)

 전송 계층 (Transport Layer)

 네트워크 계층 (Network Layer)

 데이터 링크 계층 (Data Link Layer)

 물리 계층 (Physical Layer)

OSI(open System Interconnection) 7계층



1970년대 후반부터 IBM과 DEC 같은 회사들이 네트워크 구조를 발표하였는데, 타사의 네트워크 구조를 전혀 고려하지 않은 채 개발되어 상호연동하는 데 어려움이 많았습니다.


이에 ISO(International Organization for Standardization)가 다양한 네트워크가 상호 연동을 할 수 있도록 해주는 표준 네트워크 모델이 필요하다는 인식하에 만든 것이 바로 OSI 7계층 입니다. OSI 7계층은 지금까지도 네트워크의 표준 모델로 쓰이고 있는 만큼 매우 중요합니다.




물리 계층(1계층)


1계층인 물리계층은 시스템간의 연결선입니다.


흔히들 랜(LAN)선을 말하며, 꼭 이것만 의미하지는 않고 전화선이 될 수도 있고, 동축 케이블 또는 광 케이블이 될 수도 있습니다. 또한 무선 랜처럼 물리 계층이 조금 애매할 수도 있지만, 무선 랜도 전자 파장을 전달 하는 공간 자체가 물리 계층입니다.





데이터 링크 계층(2계층)

데이터 링크 계층은 MAC을 이용하여 통신하는 네트워크 계층을 말합니다.

MAC 주소는 사람의 이름처럼 네트워크 카드마다 붙는 고유 이름입니다.


맨 위 물리적 주소 라고 나와 있는 00-05-56-C0-00-01 이 부분이 MAC주소 입니다.


컴퓨터 MAC 주소는 윈도우 명령창에서 ipconfig /all 명령을 실행해 확인 할 수 있습니다.


MAC주소는 총 12개의 16진수 숫자로 구성되고, 앞쪽 6개의 16진수는 네트워크 카드를 제조한 회사를 나타 내고 이 코드를 OUI(Organization Unuque Identifier)라고 하고 뒤쪽 6개는 Host Identifier으로 회사에서 임의로 붙이는 일종의 시리얼 넘버 입니다.


때문에 모든 컴퓨터에 같은 MAC주소를 같는 네트워크 카드는 존재 하지 않습니다.



네트워크 계층(3계층)

네트워크 계층은 IP로 대표됩니다.

이 IP는 흔히 말하는 TCP/IP에서의 IP입니다.


IP는 모두 여러 번 봤을 것이고, ipconfig /all 명령어로도 확인 할 수 있습니다.


IP 주소는 8비트의 수 4개로 구성되어 있습니다

따라서 위의 IP주소 192.168.159.1 을 2진수로 표현하면


11000000 . 10101000 . 10011111 . 00000001

                                           192            168          159           1

이런 식으로 표현 할 수 있습니다.


MAC은 2계층에서 쓰이는 주소라고 한다면

IP는 라우터를 통해 인터넷으로 나갈 때 필요한 컴퓨터의 주소라고 볼 수 있습니다.



전송 계층(4계층)

4계층의 대표적인 프로토콜은 TCP(Trans mission Control Protocol)입니다.

TCP도 주소를 가지고 있는데 이것이 바로 포트입니다.


MAC주소가 네트워크 카드의 고유 식별자이고, IP가 시스템의 주소라면 

포트는 시스템에 도착한 후 시스템에 여러가지 실행되고 있는 여러 응용프로그램들 중에서

자신이 통해야 하는 통로 번호라고 생각할 수 있습니다.


포트는 0번부터 65535번까지 존재하며, IP나 MAC 주소처럼 출발지와 목적지의 응용 프로그램별 포트번호를 가지고 통신을 합니다.


0번부터 1023번 포트까지 1024개의 포트는 Well Known 포트라고 부릅니다.

보통 0번은 쓰지 않으며 1023번까지 대부분 고유의 용도가 있습니다.


주요 포트와 서비스

 포트 번호

서비스 

 설명 

 20

 FTP

File Transfer Protocol-Datagram

FTP 연결시 실제로 데이터를 전송합니다. 

 21

FTP 

File Transfer Protocol-Control

FTP 연결시 인증과 제어를 합니다. 

 23

Telnet 

텔넷 서비스로, 원격지 서버의 실행창을 얻어냅니다. 

 25

SMTP

Simple Message Transfer Protocol

메일을 보낼 때 사용합니다. 

53 

DNS 

Domain Name Service

이름을 해석하는 데 사용합니다. 

69 

TFTP 

Trivial File Transfer Protocol

인증이 존재하지 않는 단순한 파일 전송에 사용합니다. 

 80

HTTP

Hyper Text Transfer Protocol

웹 서비스를 제공합니다.

110 

 POP3

Post Office Protocol

메일 서버로 전송된 메일을 읽을 때 사용합니다.

 111

RPC 

Sun의 Remote Procedure call

원격에서 서버의 프로세스를 실행할 수 있게 합니다. 

138 

NetBIOS 

Network Basic Input output Service

윈도우에서 파일을 공유할 수 있게 합니다. 

143

 IMAP

internet Message Access Protocol

POP3와 기본적으로 같으나, 메일을 읽은 후에도 서버에 남는다는 것이 다릅니다. 

161 

SNMP 

Simple Network Management Protocol

네트워크 관리와 모니터링을 위해 사용합니다.




TCP에서의 연결 설정 과정 (쓰리웨이 핸드 셰이킹(Three way hand shaking))

TCP는 연결 지향성 프로토콜로서 통신을 하기전 연결을 설정하는 과정으로

쓰리웨이 핸드 셰이킹을 합니다.


쓰리웨이 핸드 셰이킹 순서

1단계 : 두 시스템이 통신을 하기 전, 클라이언트는 포트가 닫혀 있고 서버는 해당 포트로 항상 서비스를 제공할 수 있도록 Listen 상태입니다.


2단계 : 클라이언트가 통신을 하고자 하면, SYN 패킷을 서버에 보내고 포트는 SYN sent 상태가 됩니다.


3단계 : 서버는 SYN Received 상태가 되고, 클라이언트에게 연결해도 좋다는 의미로 SYN+ACK 패킷을 보냅니다.


4단계 :  클라이언트는 포트가 오픈되고 서버에 ACK패킷을 보낸다.




세션 계층(5계층)


세션계층의 작동과 의미는 떄론 애매합니다. 기본적으로 두 시스템간의 통신 중 동기화를 유지하고 데이터 교환을 관리 합니다. 연결에 정보 교환을 효과적으로 할 수 있게 추가 서비스를 제공합니다.



표현 계층(6계층)


표현 계층은 데이터의 구조를 하나의 통일된 형식으로 표현합니다.

예를 들어 시스템 A에서는 ASCII 코드를 사용하고 시스템 B에서는 EBCDIC을 사용한다면, 시스템 A의 표현 계층에서는 OSI 표준 표현 방식으로 변경하여 전송하고 시스템 B에서는 이를 자신의 시스템에 맞게 재구성 합니다.


이러한 표현 방식을 ASN.1(Abstract Syntax Notation 1)이라 합니다.

또한 이것은 데이터의 압축과 암호화 기능을 수행합니다. 데이터 압축은 파일의 용량을 줄이고 암호화는 일반 평문을 의미 없는 다른 문자로 만들어 중간에 유출되더라도 원문을 이해할수 없게 합니다.




응용 프로그램 계층(7계층)

응용 프로그램 계층은 사용자나 응용 프로그램 사이에 데이터의 교환이 가능하게 하는 계층입니다.

예를 들어 HTTP, FTP, 터미널 서비스, 여러 메일 프로그램 등등 을 제공합니다.



위에 OSI 7계층을 이해했다면 네트워크와 관련해 상당 부분을 이해 했다고 봐도 됍니다 ㅎ











사이버테러대응센터(http://www.ctrc.go.kr)에서는 범죄를 사이버 테러형 범죄와 일반 사이버 범죄로 구분하고 있습니다.




  • 사이버 테러형 범죄
    정보 통신망 자체를 공격 대상으로 하는 불법 행위로서 해킹, 바이러스 유포, 메일 폭탄, 서비스 거부(DoS) 공격 등 전자기적 침해 장비를 이용해 컴퓨터 시스템과 정보 통신망을 공격하는 행위를 말합니다.


  • 일반 사이버 범죄
    사이버 공간을 이용한 일반적인 불법 행위로서 사이버 도박, 사이버 스토킹과 성폭력, 사이버 명예훼손과 협박, 전자상거래 사기, 개인정보 유출 등의 행위를 말합니다.






사이버 테러형 범죄는 해커 수준의 범죄를, 일반 사이버 범죄는 인터넷을 이용한 일반인의 범죄를 말하는 듯하지만 어느 쪽이든 이미 한 해에 몇 만 건이 넘게 발생하고 있습니다.


해킹은 분명히 해서는 안되는 것이고, 이러한 사실을 인지시키기 위해 여러가지 윤리강령이 발표되고 있는데, 정보통신부에서는 2007년 6월 25일 정보통신 윤리강령을 발표하였습니다.

이것은 1995년에 발표된 것을 12년만에 개정한 것인데, 전문의 내용은 다음과 같습니다.


정보통신 윤리강령

우리는 정보통신 기술의 발달로 시간과 공간을 넘어서 세계가 하나 된 시대에 살고 있다.

정보통신 기술은 우리의 생활을 편리하게 하고 창조적 지식정보의 창출을 도와 새로운 가능성과 밝은 미래를 열어주고 있다.


우리는 그동안 다 함께 뜻을 모으고 힘을 기울여 정보통신 강국으로 우뚝 서게 되었다. 하지만 그 위상에 걸맞지 않게 우리 사회는 불건전 정보유통, 사이버 명예훼손, 개인 정보 침해, 인터넷 중독 등 정보 역기능 현상이 일어나고 있다. 최고의 정보통신 인프라와 함께 건전한 정보이용 문화가 확립될 때에 비로소 세계를 선도하는 진정한 정보통신 강국이 될 것이다.


우리 모두는 지식정보사회의 주인으로서 인류의 행복과 높은 이상이 실현되는 사회를 만들어 나가야 할 사명이 있다.


우리는 정보를 제공하고 이용할 때에 서로의 인권을 존중하고 법과 질서를 준수함으로써 타인에 대한 배려가 넘치는 따뜻한 디지털 공동체를 만들어 나가야 한다. 또한 개인의 사생활과 지적 재산권은 보호하고 유용한 정보는 함께 가꾸고 나누는 건전한 정보이용 문화를 확산해 나가야 한다.


우리는 궁긍적으로 모두의 행복과 자유, 평등을 추구하며 인류가 정보통신 기술의 혜택을 고루 누릴 수 있도록 정보통신윤리를 지켜 나가야 한다는 데 뜻을 모으고 이 뜻이 실현되도록 성실하게 노력할 것을 다짐한다.

      • 우리는 타인의 자유와 권리를 존중한다.
      • 우리는 바른언어를 사용하고 예절을 지킨다.
      • 우리는 건전하고 유익한 정보를 제공하고 올바르게 이용한다.
      • 우리는 청소년 성장과 발전에 도움이 되도록 노력한다.
      • 우리 모두는 따뜻한 디지털 세상을 만들기 위하여 서로 협력한다.







그리고 컴퓨터윤리기관(Computer Ethics Institute)에서 발표한 윤리강령 10계명도 있습니다.


    1. 컴퓨터를 타인을 해치는 데 사용하지 않는다.
    2. 타인의 컴퓨터 작업을 방해하지 않는다.
    3. 타인의 컴퓨터 파일을 염탐하지 않는다.
    4. 컴퓨터를 절도해서 사용하지 않는다.
    5. 거짓 증거로 컴퓨터를 사용하지 않는다.
    6. 소유권 없는 소프트웨어를 사용하거나 불법 복제하지 않는다.
    7. 승인이나 적절한 보상 없이 타인의 컴퓨터를 사용하지 않는다.
    8. 타인의 지적 재산권을 침해하지 않는다.
    9. 자신이 만든 프로그램이나 시스템으로 인한 사회적 결과에 책임을 진다.
    10. 동료를 고려하고 존중하는 방식으로 컴퓨터를 사용한다.


그 외에 인터넷활동협회(IAB, Internet Activities Board)에서 비윤리적 행동을 정의하고 있습니다.


    1. 고의적으로 허가받지 않고 인터넷 자원에 접근하려는 행위
    2. 인터넷의 이용을 막는 행위
    3. 의도적으로 시스템과 네트워크의 자원을 낭비하는 행위
    4. 컴퓨터 기반 정보의 무결성을 파괴하는 행위
    5. 타인의 사생활을 침해하는 행위
    6. 인터넷 전반의 실험에 있어서의 과실








보안 관련


정보통신기반 보호법


연번적용법조범죄사실
1제28조주요정보통신기반시설 교란ㆍ마비ㆍ파괴
2제29조취약점 분석ㆍ평가업무 등의 종사자 비밀누설



전자서명법

연번적용법조범죄사실
1제31조 제1호가입자 동의없이 전자서명생성정보 보관ㆍ이용ㆍ유출
2제31조 제2호타인 전자서명생성정보 도용ㆍ누설
3제31조 제3호타인명의 공인인증서 발급 또는 발급에 협조한 자
4제32조 제1호가입자 인증서 등의 미보관



정보통신망 이용촉진 및 정보보호등에 관한 법률

연번적용법조범죄사실
1제70조 제1항사이버 명예훼손 ( 사실 유포 )
2제70조 제2항사이버 명예훼손 ( 허위사실 유포 )
3제71조 제1호이용자 개인정보 수집
4제71조 제3호개인정보 목적외 이용 및 제 3 자 제공
5제71조 제5호이용자 개인정보 훼손ㆍ침해ㆍ누설
6제71조 제9호악성프로그램 ( 바이러스 ) 유포
7제71조 제10호정보통신망 장애발생
8제71조 제11호타인정보 훼손 및 타인비밀 침해ㆍ도용ㆍ누설
9제72조 제1항 제1호정보통신망 침입
10제72조 제1항 제5호직무상 비밀 누설 및 목적외 사용
11제72조 제1항 제2호속이는 행위에 의한 개인정보수집
12제73조 제1호정보통신 서비스 제공자등의 기술적ㆍ관리적 조치 미이행
13제73조 제2호영리목적 청소년유해매체물 미표시
14제73조 제3호청소년유해매체물 광고 청소년에게 전송
15제74조 제1항 제1호인증기관 인증표시 무단 표시ㆍ 판매ㆍ진열
16제74조 제1항 제2호음란문언ㆍ음향ㆍ영상 등 배포ㆍ판매ㆍ전시
17제74조 제1항 제3호사이버 스토킹 ( 공포불안 말ㆍ음향 등 반복 행위 )
18제74조 제1항 제4호스펨메일 수신거부 회피 관련 기술조치 행위
19제74조 제1항 제5호전자우편주소 무단 수집ㆍ판매ㆍ유통ㆍ정보전송에 이용
20제74조 제1항 제6호불법행위를 위한 광고성 정보 전송



통신비밀보호법

연번적용법조범죄사실
1제16조 제1항 제1호전기통신 감청 및 비공개 타인간 대화 녹음ㆍ청취
2제16조 제1항 제2호지득한 통신 및 대화내용 공개ㆍ누설
3제16조 제2항 제2호통신제한조치집행등 관여 공무원의 비밀 공개누설
4제16조 제3항통신제한조치집행등 관여 통신기관 직원 비밀공개누설
5제16조 제4항사인의 통신제한조치 취득내용의 외부 공개ㆍ누설




형법

연번적용법조범죄사실
1제140조 제3항공무상 비밀장치된 전자기록 등 탐지
2제141조 제1항공용 전자기록 등 손상ㆍ은닉 등
3제227조의 2공무소ㆍ공무원의 전자기록 등 위변작
4제228조공전자기록 등 불실 기재ㆍ기록
5제229조위변작 등 공전자기록 행사
6제232조의 2타인 전자기록 등 위변작
7제234조위변작 타인 전자기록 등 행사
8제246조( 상습 ) 도박
9제247조영리목적 도박개장
10제248조무허가 복표 발매ㆍ중개ㆍ취득
11제309조출판물에 의한 명예훼손
12제314조 제2항컴퓨터 등 장애 ( 손괴 ) 업무방해
13제316조 제2항비밀 장치한 전자기록 등을 기술이용 탐지
14제323조권리행사방해 ( 전자기록 취거ㆍ은닉ㆍ손괴 )
15제347조사 기
16제347조의 2컴퓨터 등 사용사기
17제366조재물손괴 ( 타인 전자기록 손괴 )

[출처 사이버테러대응센터]








정보화 사회에서 보안의 의미


유비쿼터스가 어떤 사회인지 대략 알고 있을 것입니다. 바로 모든 것들이 네트워크화되고, 컴퓨터를 통해 통제가 가능해지는 세상이죠. 이러한 세상에서는 미래의 유비쿼터스 컴퓨터에 의한 통제가 올바를 때만이 행복할 수 있을 것입니다.


올바른 통제가 이루어지지 않는 다면 미래 사회에서 행복은 머나먼 일이 되어비릴지도 모르죠.


첨단 시설과 인공지능의 슈퍼 컴퓨터가 갖춰진 건물 속에서 인간이 싸워나가는 내용의 영화를 본 적이 있을 것입니다. 이 싸움의 대상은 인공지능을 가진 슈퍼 컴퓨터일까요?? 아마 꼭 그렇지는 않을 것 같습니다.


첨단 시설을 갖춘 건물에서 인간을 괴롭히는 이는 아마도 또 다른 인간일 가능성이 높죠.

누군가를 방에 가두기 위해 출입통제 시스템을 해킹하고, 살인을 위해 자동운전 시스템이나 의료 시스템을 해킹하고, 경쟁사를 망하게 하기 위해 전기 공급을 끊을 수도 있습니다. 이렇게 악의를 품은 해커가 할 수 있는 나쁜 짓은 수도 없이 많아, 이것이 현실화된다면 미래 사회는 정말 끔직한 사회가 되어버릴 것입니다.



해킹과 보안의 역사


해킹 (국어사전)

【명사】

[전산컴퓨터 통신망 통해 남의 컴퓨터 무단 침입하여 저장된 정보 프로그램 불법으로 이용하거나 바꾸고 없앰.


hacking  (영어사전)

검색결과

【명사】

 (속어) 컴퓨터 조작 즐기, 해킹; 무엇이나숙고하지 않고 실행하기.


해킹에 대한 사전적 의미는 국어사전과 영영사전의 정의가 조금 다릅니다.

해커가 되려면 국어사전보다 영어사전의 의미를 조금 더 중요하게 생각할 필요가 있습니다.




해킹의 역사


해킹이라는 말은 1960년대 메사추세츠 공과대학(MIT)에서 처음 사용 되었습니다.

MIT대학의 모형 기차 제작 동아리에서 사용한 '전기 기차, 트랙, 스위치들을 보다 빠르게 조작하다.' 라는 말에서 유래했다고 합니다.


1967년에는 미 국방부에서 연구기관과 국방 관련 사업체 등 관련 기관간의 정보 공유를 지원하기 위해 추진한 ARPA(The Advenced Research Project Agency) 프로젝트를 통해 컴퓨터 연동망을 개발 하였습니다. 연동망을 IMPS(Interface Message Processors) 네트워크라 부른 이 개발은 인터넷의 근간망을 이루며 오늘날 인터넷의 중요한 부분이 되었습니다.


1969년에는 프리킹의 아버지로 불리는 조 인그레시아가 2,600Hz의 휘파람을 불면 장거리 전화를 무료로 쓸 수 있다는 사실을 알아 냈습니다.


8살 때 전화를 걸다가 자동응답장치의 목소리를 듣게 되고, 이 때 우연히 휘파람을 불었는데, 이 휘파람 소리에 자동응답장치가 작동을 멈췄습니다. 소년은 다시 전화를 걸어 똑같은 실험을 반복하고, 결국 특정 높이의 휘파람 소리로 자동응답장치의 작동을 멈추게 할 수 있다는 결론을 얻게 됩니다. 


즉시 AT&T에 전화를 걸어 그 이유를 물으니, 다중 주파수 시스템이라 불리는 일련의 소리로 전화 교환기망을 조작할 수 있다는 답변이 돌아왔습니다.


이러한 행위를 프리킹이라고 하고 70년대에 유행하게 되면서 낭만해킹 이라고 불리우죠.



1980년대는 해킹이 컴퓨터와 직접적인 연관을 가지고 발전하는 시기입니다.


1980년에 초는 네트워크 해커라는 개념이 처음 생겨났습니다.

원격의 컴퓨터를 해킹하여 침투하기 시작한 것이죠.


그 대표적인 사건으로는 '414Gang'을 들 수 있는데, 414Gang은 미국 밀워키의 로날드 마크 오스틴(Ronald Mark Austin)을 포함해 6명이 운영했던 '414 Private'라는 BBS의 일원이 만든 해커 그룹입니다.


이들은 암센터와 로스 알라모스 국립 연구소를 포함해 60개의 컴퓨터 시스템에 친입하였고, 우연히 중요 파일을 지우게되고 이러한 임의 삭제는 몇 년간의 연구 결과를 날려버리는 결과를 초래하게 되죠.

1983년에 FBI에 체포될 당시 414Gang 일원들은 10대에 불과 했습니다.


1981년에는 누군가 AT&T의 컴퓨터 시스템에 침입해 전화요금과 관련된 시계를 바꾸어 심야 요금이 대낮에 적용되도록 조치했습니다. 낮에 전화를 건 사람이 낮은 전화요금을, 전화요금 때문에 밤늦게까지 기다렸다가 전화를 사용한 사람들이 높은 전화요금을 부과받게 만든 것입니다.


이 사건의 용의자는 이안 머피(Ian Arthur Murph)라는 인물로, 친구들로부터 Captain Zap이라고 불리었다고 합니다.


이안 머피는 재판을 받고 실형을 산 최초의 크래커로 알려져있습니다.


그는 현재 IAM/Secure Data Systems라는 회사의 사장이며, 스니커즈라는 영화가 이 사건을 바탕으로 만들어 졌다고 합니다.


1981년에는 또한 독일의 전설적인 해커 그룹인 카오스 컴퓨터 클럽(Chaos Computer Club, CCC)이 결성되었습니다. 

소식지 창간호를 통해

 '정보 사회로 발전하기 위해서는 전 세계와 자유로운 커뮤니케이션을 가능케 하는 새로운 인권이 필요하다. 인간 사회 및 개인에게 기술적 영향을 미치는 정보 교류에서 국경은 사라져야 한다. 우리들은 지식과 정보의 창조에 기여할 것이다.'

라고 설립 목표를 규정했다.





영화 워게임즈 포스터


1983년에는 워게임즈(WarGames)라는 영화가 상영됩니다.

해커를 소재로한 최초의 영화가 아닐까 싶습니다.

이 영화에서는 고등학생 매튜 브로데릭은 모뎀에 연결된 컴퓨터를 이용해 비디오 게임 프로그램을 훔치려다 잘못해 미 방공 사령부 컴퓨터에 침입하고, 핵 미사일을 제어하는 프로그램을 게임이라고 생각해 이를 동작시켜, 미국과 러시아간에 핵전쟁이 일어날 뻔한 위기 상황이 발생합니다.


2000년대는 야후, CNN, 아마존(Amazon) 등의 사이트 마비, 2003년 슬래머 웜으로 인한 인터넷 대란, 베이글 웜, 마이둠 웜, 넷스카이 웜, 피싱, 금융 해킹 등의 여러가지 보안사고가 있었습니다.


지금까지 컴퓨터의 발전과 해킹과 보안의 흐름을 살펴 보았습니다.

발전의 과정을 보면, 100년이 안되는 기간 동안 수많은 사람들이 연관되어 수많은 사건들이 일어 났음을 알 수 있습니다. 미래의 세계에 다가갈수록 컴퓨터가 인간의 역사에서 차지하는 비중이 점점 커져 컴퓨터의 역사가 바로 인간의 역사가 되고 있습니다.


+ Recent posts