본문 바로가기
정보과학/컴퓨터통신망특론

데이터 보안(2)

by J1소프트 2023. 11. 22.
728x90

1. Encryption and Decryption

 

1)   암호화와 암호 해독

암호화(encryption) : 전송중인 메시지가 인가 받지 않은 사람에게 가로채이더라도 무의미한 것이 되도록 메시지를 변형시킴.

암호해독(decryption) : 적법한 수신자가 암호화된 전송 데이터를 이해할 수 있도록 암호화 된 데이터를 원래의 데이터로 변형시킴.

평문(plaintext) : 전송하고자 하는 원래의 메시지

암호문(ciphertext) : 암호화된 메시지

 

2) 암호화를 통한 데이터 전송 과정

송신자는 암호키(encryption key)를 사용하여 평문(P)을 암호문( C = Ek(P) )으로 변경한다.

② 수신자는 암호문 C를 취하고 이를 해독하여 원래의 메시지(P = Dk( C ) )를 얻는다.

 

3)   시저 암호

단일-알파벳 암호(mono-alphabetic cipher)라고도 한다.

 각 평문 문자를 또 다른 문자로 대치함으로써 암호문을 만들고, 해독시는 대치된 문자를 다시 원래의 문자로 변환한다.

③ 원래의 알파벳 문자를 다른 문자로 대치하는 것이므로 문자들에 대한 발생빈도는 동일하게 된다. 이러한 발생빈도는 암호 해독에 대한 빌미를 제공하게 된다.

 

4) 복수-알파벳 암호

단일-알파벳 암호처럼 각 문자를 다른 문자로 대치하지만 주어진 평문 문자가 언제나 같은 암호문 문자로 대치되는 것이 아니라 실제로 평문 문자 만이 아니라 메시지 내의 문자 위치에 따라서 대치할 수 있다.

Vigenere 암호방식 : 각 줄에 알파벳들이 포함된 이차원 문자 배열을 사용한다.

③ Vigenere 암호방식은 반복문제를 줄여주긴 하지만 문자들에 있어서의 반복과 패턴은 여전하다.

vigen ’ere  암호용 키
Vigen’ere  암호용 암호화 알고리즘
Vigen’ere  암호를 이용한 문자 치환

 

5) 위치 전환 암호

메시지의 평문 문자들을 암호문으로 치환하지 않고 재배열한다.

재배열된 평문 문자들을 치환하여 전송한다.

수신측에서는 전송된 문자열을 규칙성에 맞게 저장하여 다시 읽어 들인다.

문자 빈도들이 그대로 보전되므로 그렇게 안전한 편은 아니다.

   - MISS PIGGY KERMIT ANIMAL AND FOZZIE BEAR 전송할 문자열

   - IIKTMNZBSGRAL IASGE ADZEMP IIAO YMN FER 재배열 이후 치환하여 실제 전송된 문자열

 

6) 비트-레벨 암호화

암호키를 비트열로 정의하여 암호키를 표현한 비트열과 같은 크기로 전송될 비트열을 부분열로 분할한다.

이후 각 부분열은 암호키와의 배타적 논리합에 의해 암호화된 후 전송된다.

수신측은 암호해독을 위해 암호키와 암호화된 부분열 사이에 배타적 논리합을 계산한다.

④ 송신측과 수신측에서 사용하는 암호키와 해독키는 같다.

 

7) 데이터 암호화 표준(DES : Data Encryption Standard)

암호화 키는 가급적 짧게 유지하면서 복잡한 암호화 절차를 이용한 방법.

1977년 미국 정부가 모든 상업 정보와 기밀이 아닌 정보를 위한 표준으로 채용하였다.

③ 논리를 훨씬 빠르게 하기 위해서 하드웨어(VLSI )로 만들어졌다.

 

8) 클리퍼 칩

암호화 알고리즘을 마이크로 회로 안에 접어넣음.

수신측과 송신측의 클리퍼 칩이 암호화와 암호해독을 통해 수신측과 송신측은 암호화에 대한 고려 없이 일상적으로 사용할 수 있음.

③ 스킵 잭 알고리즘(Skipjack algorithm)이 알고리즘에 사용됨

 

9) 키의 교부와 보호

▷ 송신측과 수신측이 정확한 암호화와 암호 해독을 위해 암호키를 미리 주고 받아 합의하는 과정에 불법적인 사용자에게 암호키가 누수되는 것을 방지하기 위한 방법들.

 

▷ 머클의 퍼즐(Merkles Puzzles)
  
① 잠정적인 암호키, 식별번호, 그리고 미리 정의된 패턴이 들어 있는 하나의 암호화 된 메시지를 사전에 미리 송신측과 수신측이 주고 받아 암호키에 대해서 동의 하는 방법
  
② 송신자는 각기 분리된 키로 암호화된 n개의 퍼즐을 전송한다.
  
③ 수신자는 퍼즐을 임의로 선택하여 코드를 푼다.
   
④ 수신자는 해당 퍼즐에서 암호키를 추출하여 자기가 푼 퍼즐의 ID를 명기하여 메시지를
돌려 보낸다.

   ⑤ 송신자는 퍼즐 ID를 받으면 수신자가 퍼즐을 풀었다고 간주하고 그 안에서 키를 얻는다.
   
⑥ 수신자와 송신자는 둘 다 동의한 동일한 암호키를 사용하여 통신한다.

 

▷ 샤미르의 방법(Shamirs method) : k 명의 사람이 있어야 암호화 키를 결정한다는 전제 조건을 사용한다.

① 다항식의 보간법에 기초를 두어 각 송.수신자는 자신의 해당 좌표를 유지하고 있는 상태에서 다른 k-1의 사용자들에게 해당 사용자의 좌표를 구해 전체 k개의 좌표를 통해 보간다항식을 구한다.
② 암호화 키는 보간다항식의 특정 계수가 될 수 있다.

 

▷ 디피-헬만(Diffie-Hellman) 키 교환 : 송신측과 수신측이 키 계산에 사용할 수 있는 어떤 계산된 값을 교환함으로써 구성

 

 

2. Public Key Encryption

 

전자서명: 서명 또는 날인의 전자적인 대체물로서 펜 대신에 컴퓨터를 매개로 하여 생성되는 정보. 정보가 송신자의 것임을 보증하고, 내용이 변조되지 않았음을 증명한다. 1024비트의 공개키 방식 암호화 기술이라는 고도의 암호화 기술을 사용해 보안 기능이 가능하다.

 

공개키 방식이란 송신자가 자신의 비밀키로 정보를 암호화하고 수신자는 송신자의 공개키를 이용해서 이를 해독하는 것. 인터넷 뱅킹이나 온라인 주식거래에 필요한 공인인증서는 국가가 지정한 공인인증기관에서 발행하고 공개키를 관리하는 대표적인 전자서명이다.

 

1) 공개키 암호화

공개 키 암호시스템(public key cryptosystem) : 오직 수신자만 알 수 있는 암호 해독키를 사용함으로써 송신측에서 사용되었던 암호화 키나 암호화 알고리즘에 상관없이 수신자가 동일한 동일한 암호화 방법을 사용해서 송신된 암호문을 해독하는 시스템.

 

2) RSA 알고리즘

▷ 모듈로 산술과 매우 큰 수들의 인수분해를 사용하여 암호문은 계산하기 쉬어지고, 혹시 Ek를 알더라도 풀기 어렵게 된다.

 

▷ 암호화 과정
  
A _ Z에 대해 1-26과 같은 간단한 코드를 문자에 할당한다.
  
② 두 개의 큰 소수 p q의 곱이 되는 n을 선택한다.
  
(p-1)*(q-1)에 대해 서로소인 k를 찾는다.
  
④ 메시지를 성분들로 나눈다.
  
⑤ 각 성분에 대해 그 성분 내의 각 문자의 이진 코드들을 모두 접합시키고, 그 비트열을 
하나의 정수로 해석한다.
  
⑥ 각 수를 k 승하여 메시지를 암호화한다.

 

▷ 암호 해독 과정
  
K*k -1 modulo (p -1)*(q -1) = 0 에서 k’을 구한다.
  
② 암호화된 수를 k’승하고 산술 modulo n을 한다.

 

[참고 사이트]

www.rsasecurity.com  

RSA는 알고리즘을 사용하는 인터넷 암호화 및 인증 시스템입니다. 이 회사는 알고리즘 기술들을 라이선스 해주고, 또 개발도구 등을 판매하기도 합니다.

 

3) 디지털 서명(국내 표준 KCDSA)

인증(authentication) : 데이터의 수신 중에 송신자의 신분을 확인하는 것.

② 디지털 서명(digital signature)은 송신자만 알 수 있는 방법으로 메시지를 암호화 하는 것을 의미하며, 암호키는 오로지 송신자만 가지고 있다

 

[참고 사이트]

www.tta.or.kr

국내 정보통신표준의 제정, 국제협력 활동을 하는 국제표준화기구.

홈페이지 메인 화면 Quick Search에서 국내표준 KCDSA를 검색하세요. 

 

4) 해시 기반 구조(Hash Based Schemes)를 이용한 인증

해시 함수 H를 고유한 고정길이 변수로 사용하여 이를 문서와 연결시켜, 전자적인 형태의 문서의 전달시 전송된 문서가 변경되었지 여부를 판별한다.

SSL(Secure Socket Layer) 사례

 

해시 함수 국내 표준(HAS160)

해쉬알고리즘은 데이터 무결성 및 메시지 인증 등에서 사용할 수 있는 함수로써 정보보호의 여러 메커니즘에서 이용되는 핵심 요소기술이다. 해쉬알고리즘이란 임의의 길이의 비트 열을 고정된 길이의 출력값인 해쉬코드로 압축시키는 함수이며, 암호학적 응용에 사용되는 대부분의 해쉬함수는 강한 충돌저항성을 지닐 것이 요구된다.

암호학적 해쉬알고리즘의 충돌 저항성은 디지털 서명에서 송신자외의 제 3자에 의한 문서위조를 방지하는 부인방지 서비스를 제공하기 위한 필수적인 요구조건이 된다.

②  해쉬알고리즘은 크게 DES와 같은 블록암호알고리즘에 기초한 해쉬알고리즘과 전용 해쉬알고리즘으로 나눌 수 있다. 블록암호를 이용한 해쉬알고리즘은 이미 구현되어 사용되고 있는 블록암호를 사용할 수 있다는 이점이 있으나, 대부분의 블록암호알고리즘의 속도가 그리 빠르지 않을뿐더러 이를 기본함수로 이용한 해쉬알고리즘의 경우 블록암호보다도 훨씬 더 속도가 떨어지므로 현재는 대부분의 응용에서 전용 해쉬알고리즘이 주로 이용된다.

HAS-160 구조도

 

5) 암호화에 관련된 세부 주제들

표준(DSS)

DSS NIST에 의해 표준으로 채택되었고 ElGamal이라는 서명 방식에 기초하고 있다.

소수를 사용하는 대신에 ElGamal은 이산 대수(discrete logarithm)의 계산에 기초하고 있다.

, 관계식 y=xk (modulo p)에 기초하고 있다. y,x,p는 공개키이고 k는 개인키이다.

적절한 조건하에서 알고리즘은 보안유지가 잘 되어지는 것으로 간주된다.

 

방화벽(Firewalls)

인터넷의 거대한 성장은 네트워크와 연결된 보안과 그런 네트워크에 연결된 PC 내의 정보에 대한 관심을 증가시켰다.

웹 브라우저는 수많은 자원에 대한 접속을 가능하게 하였고 네트워크 관리자는 그들의 시스템 보안을 유지하여야 했다.

방화벽은 조직 내의 다양한 네트워크 구성을 가능하게 하면서 외부의 침입으로부터 보호하였다.

조직 외부의 어느 지역과의 통신은 보안 소프트웨어를 실행하는 지정된 시스템을 통과하여야 한다.

이를 통해 방화벽을 보안수단으로써 가장 필요로 하는 곳에 즉, 네트워크를 접속하는 지점에 설치하였다.

 

반면에 방화벽의 보안장치가 손상된다면 침입자는 자유로이 내부 시스템에 접근할 수 있을 것이다.

방화벽은 조직 내부에서의 침입으로부터는 정보를 보호하지 못한다.

 

키의 분배와 승인

코드를 암호화하기 위해 개인 키는 고유한 것으로 할당되어야만 한다.

추가적으로 법 집행관은 어떤 조건 하에서는 그런 키를 얻을 수 있는 방법이 있어야만 한다고 주장한다.

결과적으로 어떤 방식으로 개인 키를 저장하고 보호하고 접근하느냐가 중요한 문제이다.

클리퍼 칩에 관한 절에서는 한쪽으로만 접근하였지만 다른 방법도 있다.

인용된 참고문헌에서는 키 부분에 관하여 다루었고 Communications of the ACM 1996 3월 호에는 키 승인에 관한 많은 기사가 실려있다.

 

법률적, 사회적, 도덕적, 정치적 주제들

보안코드를 개발하는 것은 중요한 사업이다. 우리는 NSA를 둘러싼 논쟁과 암호화 기술 개발의 전략을 알아보았다.

사실 상업적인 암호화 상품은 군수용품으로 취급되어져 그것을 F-16 전투기와 같은 방식으로 다루었었다.

만약 당신이 적당한 허가 없이 암호화 상품을 해외로 가지고 나가려 한다면 당신은 국제적인 불법 무기거래상으로 간주될 것이다.

 

1996년에 클린턴 대통령이 국무성에서 통상부로 상업적인 암호화 수출품의 관할권을 양도하는 시행령을 통상부에서 이에 관련된 법률을 제출하였을 때 내렸다.

아직까지도 모든 암호화 알고리즘이 수출이 가능한 것으로 여겨지지는 않고 몇몇 암호의 알고리즘에 관련된 정보는 여전히 기밀로 취급되어지고 있다. 게다가 통상부는 국무성과 다른 정부 부서에 재고를 위해 수출허가 신청서를 회부하고 있는 상태이다.

 

이것은 복잡하고 논쟁의 여지가 있는 문제이다. 사생활에 대한 권리를 주장하는 사람들과 사생활이 법 집행에 방해가 될 경우에 있어 그 권리에 대하여 반대의 입장을 취하는 사람들 간의 논쟁은 계속될 것이다.

게다가 참고문헌을 인용하면 Communication of the ACM 1995 12월호에는 윤리와 컴퓨터의 사용에 관한 내용이 많이 실려있다. 이 내용은 읽어 볼만하다.

 

PGP(Pretty Good Privacy)

PGP Philip Zimmerman이 개발한 무료 전자우편 보안 프로그램이다. 이 프로그램에는 공개키 암호화, 인증, 전자서명과 압축에 관련된 내용이 들어있다.

이 프로그램은 많은 플랫폼에서 실행되고 공개키 암호화를 위한 RSA, 메시지 요약을 위한 MD5, 표준의 압축을 위한 IDEA 알고리즘(참고문헌[Sc94])의 접속성은 다른 나라로의 수출을 가능하게 하기 때문에 안 좋은 평판을 받기도 하였다.

미국 정부는 암호화 소프트웨어가 군사용품으로 간주되기 때문에 이런 상황은 수출법에 위배된다고 주장하고 있다.

 

최근의 버전은 이 문제를 우회하기 위해 미국이 아닌 다른 나라에서 제작되었다.

 

 PEM(Privacy Enhanced Mail)

PEM은 인터넷 상의 보안된 전자우편을 제공하기 위해 만들어진 표준이다.

이것은 암호, 인증, 키 관리 능력을 제공하는 프로토콜 패키지이다. PEM은 다음 4개의 문서에 그 내용이 나와있다. RFC1421, RFC1422, RFC1423, RFC1424, PEM에서는 암호화를 위해 DES를 인증과 전자서명을 위해 RSA MDS를 사용하였다.

 

 

3. Viruses, Worms and Hackers

 

바이러스는 컴퓨터에서 실행되는 프로그램(program)을 변형, 복제하여 컴퓨터의 오동작을 일으키게 하는 프로그램으로 웜과 거의 유사하지만, 가장  큰 차이점은 감염대상을 가진다는 점인데, 예를 들면 응용프로그램에서 제공하는 매크로기능을 이용하여 일반문서를 감염시키는 매크로바이러스(macro virus), 부트(boot-컴퓨터가 기동할 때 제일 먼저 읽는 디스크 장소)영역을 감염시키는 부트 바이러스 (boot virus) 등이 있습니다.

이 특징을 잘 기억하시면 다음페이지부터 살펴볼 개념과 각각의 특징을 이해하시기가 수월해지실 겁니다.

 

1) 바이러스(virus),  벌레(worm)

바이러스(virus):  실행 파일에서 하기로 설계되지 않았던 무언가를 하는, 추가로 실행 파일에 달라붙은 명령들의 집합.

벌레(worm): 바이러스와 매우 비슷하지만 바이러스와 달리 하나의 분리된 프로그램으로 작동

 

2) 파일 감염

 실행파일 찾음

 자신의 복제 명령어 사용

 파일상에 복제물을 남김

④ 파일 감염

 

3) 메모리 상주 바이러스

 메모리에 상주

 인터럽트 테이블 변경

 테이블 주소 변경

 해당 루틴 실행

 

4) 바이러스의 진화

초기에는 단순한 형태의 바이러스가 존재하였지만, 점차 암호화 알고리즘을 이용한 형태로 발전하였다.

이후 파일에 감염될 때마다 자신의 암호화 알고리즘을 위한 코드를 바꾸는 변형엔진을 사용한 다형 바이러스(polymorphic virus)로 발전하였다

 

1 세대

◈ 이름: 원시형 바이러스(Primitive Virus)

◈ 설명

• 실력이 그다지 뛰어나지 않은 아마추어 프로그래머들이 만든 것으로, 프로그램 구조가 단순해 분석하기가 매우 쉬운 바이러스이다.

◈ 사례

• 돌 바이러스(Stoned Virus)

• 예루살렘 바이러스(Jerusalem Virus)

 

2 세대

◈ 이름: 암호형 바이러스(Encryption Virus)

◈ 설명

• 어느 정도 실력이 있는 프로그래머들이 만들었으며, 백신 프로그램이 진단할 수 없게 하기 위해서 바이러스 프로그램의 일부 또는 대부분을 암호화시켜 저장한다.

◈ 사례

• 폭포 바이러스(Cascade Virus)

• 느림보 바이러스(Slow Virus)

 

3 세대

◈ 이름: 은폐형 바이러스(Stealth Virus)

◈ 설명

• 자신을 은폐하고 사용자나 백신 프로그램에 거짓 정보를 제공하기 위해서 다양한 기법을 사용한다.

◈ 사례

• 브레인 바이러스(Brain Virus)

• 조쉬 바이러스(Joshi Virus)

512 바이러스

4096 바이러스

 

4 세대

◈ 이름: 갑옷형 바이러스(Armour Virus)

◈ 설명

• 백신 프로그램을 공격 목표로 삼아 여러 단계의 암호화와 고도의 자체 수정 기법을 동원함으로써, 백신 프로그래머가 바이러스를 분석하고 백신을 제작하는 과정을 어렵게 만드는 작전을 구사하였다.

• 다형성 바이러스(Polymorphic virus), 암호화 바이러스의 일종이지만 암호화를 푸는 부분이 감염될 때마다 달라지는 바이러스.

◈ 사례

• 고래 바이러스(Whale Virus)

 

5 세대

◈ 이름: 매크로 바이러스(Macro Virus)

◈ 설명

• 전 세계적으로 급속히 확산되고 있는 새로운 형태의 바이러스 마이크로소프트사의 오피스 프로그램에 있는 매크로 기능을 이용한 매크로 바이러스가 전세계적으로 계속 발견되고 있다.

◈ 사례

MS Word에 감염된 바이러스

Ms Excel에 감염된 바이러스

 

 

5) (Worm: 인터넷 벌레)

웜은 바이러스와는 달리 다른 파일을 감염시키지 않고 자신을 복제하는 능력을 가진 프로그램을 말한다. 일반적으로 ‘웜 바이러스’, ‘바이러스 웜’, 등의 말을 사용하기도 하지만, 사실 정확한 표현이라고 할 수 없다.

 

웜의 역사

일반적으로 웜은 대형 컴퓨터에만 존재하는 것으로 인식되어 왔다. 그러나 윈도우 이전에 도스(DOS)를 사용하던 시절에도 웜은 존재했었다. 물론 당시 프로그램의 복사가 플로피디스켓과 통신을 통해서 주로 이루지는 것이 고작이었기 때문에 웜은 그리 위험한 존재로 인식되지 못했던 것이 사실이다. , 웜은 존재는 했으되 일반사용자가 실제 감염되는 사례는 극히

드물었다.

 

하지만 1990년대 후반부터 인터넷이 대중화되면서 E-mail 사용이 빈번해 지고, 이는 웜의 유용한 유통경로로 이용되기 시작했다. 또한 개인 사용자의 컴퓨터가 대부분 윈도우로 통일되면서 그 피해가 더욱 심각해 졌다.
1999
1 I-Worm/Happy99 웜이 발견되었으며, 이후 매크로 바이러스 제작에 열을
올리던 많은 바이러스 제작자들이 E-mail로 순식간에 전세계의 컴퓨터를 감염시킬 수 있는 웜에 눈을 돌리게 되었다. 매크로 바이러스 제작에 열중하던 사람들이 웜에 관심을 갖게 된것은 영향력이 크면 클수록 만족감을 느끼는 바이러스 제작자들의 특성을 잘 반영한 것이라

할 수 있다.


웜은 대부분 Visual C++이나 Visual Basic 등의 고급 언어로 작성되었지만, 2000 5
VBS/Love_Letter(러브 버그)의 등장으로 VB 스크립트를 이용한 웜 제작이 일반화되고 있다.

 

웜의 전파방법

윈도우를 기반으로 하는 웜은 대부분 아래와 같은 방법으로 전파된다.

    * WSOCK32.DLL
변형(I-Worm/Happy99, I-Worm/Hybris)
    *
특정 애플리케이션 이용(주로 아웃룩, 아웃룩 익스프레스가 사용된다.)
    * SMTP
서버 내장(I-Worm/Cholera)
    *
윈도우 공유 폴더 감염(I-Worm/Qaz, I-Worm/Msinit, I-Worm/Wininit)

최초로 발견된 윈도우 기반의 인터넷 웜인 I-Worm/Happy99 WINSOCK32.DLL을 변형해서 메일을 보낼 때 웜 파일을 첨부하는 형태를 취한다. 이는 WINSOCK32.DLL이 윈도우에서 인터넷과 관련된 일을 할 때 사용된다는 특성을 이용한 것이다.


이후 나타난 많은 유사 웜들은 아웃룩이나 아웃룩 익스프레스에 한정되고, 메일 클라이언
트와 상관없이 전파된다는 특성으로 엄청난 전파력을 갖지만 제작이 다소 어렵다. 현재 아웃룩과 아웃룩 익스프레스는 윈도우 사용자들이 가장 많이 사용하고 있는 메일 클라이언트 프로그램으로, MAPI라는 메일 관련 기능을 지원하고 일반 애플리케이션, MS 오피스, VB 스크립트 등 다양한 프로그램에서 사용할 수 있다. 사용자가 많고 기능이 편리하기 때문에 바이러스 제작자의 주요 타겟이 되고 있는 실정이다.

 

웜의 대응방법

웜은 앞서 말한대로 다른 파일을 감염시키지 않기 때문에 감염된 파일을 실행시키지만 않는다면 피해를 크게 줄일 수 있다. 특히 오늘날처럼 이메일을 통해 웜이 급속히 전파되는 환경에서는 수상하다고 생각되는 첨부파일은 열어보지 않고 바로 삭제하는 것도 좋은 예방법이 된다.

물론 웜에 대한 주의와 함께 바이러스 백신을 주기적으로 업데이트도 생활화하는 것은 기본이다.

  

6) 컴퓨터 해커

해커 : 일반적으로 운영체제에 있는 보안의 허점을 이용하거나 사용자 패스워드를 알아냄으로써 컴퓨터 시스템에 불법적인 접근을 하고자 하는 사람으로 알고 있으나, 본래 의미는 단순한 재미만으로 해킹 프로그램을 사용하는 사람

 

System Administration, Networking and Security (SANS) 에서는 1년전 hacker들이 주로 활용하는 다음 10가지 Security hole을 발표했다.

 

 BIND - BIND weaknesses: nxt, qinv and in.named allow immediate root compromise.

 CGI Scripts - Vulnerable CGI programs and application extensions (e.g., ColdFusion) installed on web servers.

 원격 접속(RPC) - Remote Procedure Call (RPC) weaknesses in rpc.ttdbserverd (ToolTalk), rpc.cmsd (Calendar Manager), and rpc.statd that allow immediate root compromise

 Microsoft Internet Information Server (IIS)- RDS security hole in the Microsoft Internet Information Server (IIS)

 Sendmail - Sendmail and MIME buffer overflows as well as pipe attacks that allow immediate root compromise.

 sadmind and Mountd - sadmind and mountd

 Global file sharing - Global file sharing and inappropriate information sharing via NetBIOS and Windows NT ports 135->139 (445 in Windows2000), or UNIX NFS exports on port 2049, or Macintosh Web sharing or AppleShare/IP on ports 80, 427, and 548. 

 User Accounts with NO Passwords - User IDs, especially root/administrator with no passwords or weak passwords. 

 IMAP, POP Vulnerabilities- IMAP and POP buffer overflow vulnerabilities or incorrect configuration. 

SNMP Vulnerabilities- Default SNMP community strings set to ‘public’ and ‘private.'

 

 

 세계적인 해커들, 누가 있을까?

국내에서 본격적으로 해커들이 활동하기 시작한 것은 90년도 초반 각 대학들에 해킹 관련 동아리가 결성되면서부터라고 할 수 있다. 국내의 해킹은 그 시발점이 대학 동아리인 것에서 볼 수 있듯이 학습이나 연구를 목적으로 시작되었지만, 불행히도 이들이 해커라는 존재로 대중에게 알려진 것은 시스템 침입이나 자료파괴, 개인정보 도용 등의 범죄 행위가 드러나면서 부터이다. 요즘도 해커와 크래커를 구별하자는 움직임이 계속되고 있듯이 해커라는 말 속에 범죄와 관련된 의미만 있는 것은 아니다.


원래 해커(Hacker)란 단어는 60년대부터 존재했으며, 당시에는 컴퓨터에 지대한 관심을 갖고
몰두하는 일종의 컴퓨터광을 의미했다. 고로 이런 사람들이 컴퓨터 기술 발전에 한 몫을 크게 담당했었다. 그러나 이런 컴퓨터광들의 지식과 기술이 범죄행위에 이용되면서 해킹은 범죄라는 의식이 형성되게 된 것이다. 이런 맥락에서 윤리의식을 가지고 있는 해커(Hacker)와 범죄자인 크래(Cracker)를 구별하자는 의견이 있으나, 일반적으로 해커라는 말로 통칭되고 있다.

 

 리차드 스톨만(Richard Stallman)

해커의 원조격인 리처드 스톨만은 하버드 대학을 졸업한 후, 1971 MIT의 인공 지능 연구소에서 일하게 되었다. 이 때 그는 소프트웨어가 사적 재산으로 인정되는 것을 못마땅하게 여겨 무료 소프트웨어를 개발하는 재단을 창설했다. 스톨만의 꿈은 공개 소프트웨어를 만드는 것이었으며, 오늘날 이 꿈은 어느 정도 실현되고 있다.

1980년대에 리처드 스톨만 새로운 운영체제인 GNU를 만들었으며, 이를 통해 맥아더 장학 재단에서 24만불을 받았다. GNU UNIX와 완전 호환되는 공개 운영체계로 이는 컴퓨터를 가지고 공개 소프트웨어를 완전히 돌릴 수 있도록 만든 것이다.

 

 캐빈 미트닉 (Kevin Mitnick)

고등학교를 중퇴하고 20년이라는 세월을 해킹으로 소일한 천재 해커 미트닉은 감옥에서도 해킹을 시도할 정도로 해킹광이었던 케빈 미트닉은 모토롤라, 선 마이크로시스템즈, NEC 등 미국 주요기업을 해킹한 혐의로 95 2월 구속됐으며, 현재 석방된 상태이다. 석방 후에도 3년간 컴퓨터 사용이나 소유는 물론 휴대폰 등을 통한 인터넷 접속까지도 금지하는 보호관찰 명령을 받았다. 그는 또한 해킹때문에 결혼 생활도 순탄하지 못해 몇 번이고 이혼을 생각했었다고 하며, 많은 컴퓨터 보안과 관련된 직업을 가졌으나 해킹에서 헤어나지 못해 해고되었다고 한다.

 

 존 드래퍼 (John Draper)

존 드래퍼는 과자상자에서 찾아낸 플라스틱 호루라기를 이용해 공짜로 전화 통화를 할 수 있는 방법을 알아낸 사람이다. 이것이 초기 해킹이라 볼 수 있는 ‘프리킹(Phreaking)’으, 이는 ‘어떤 도구나 수단으로 전화 체제를 교란시켜 전화요금을 내지 않는 행위’를 말한다.

프리킹은 당시 아날로그 방식으로 운영되던 구식 교환기들이 2600Hz의 특정 주파수 대역에 해당하는 신호를 가지고 요금을 부과한다는 것이 알려지면서 집중적으로 이루어졌다.

바로 존 드래퍼가 이 특정 주파수 대역을 발견한 것. 이 프리킹은 당시 미국 전역을 휩쓸던 히피 조류를 타고 급속히 퍼져 사회적으로 큰 물의를 일으켰다. 2600이란 숫자는 바로 해킹의 상징으로 오늘까지 이용되고 있다. 대표적인 해커들의 사이트 이름이 2600(http://www.2600.org)이라는 것만 봐도 알 수 있다.

 

 로버트 모리스 (Robert Morris)

로버트 모리스는 미 안보국(NSA) 소속 컴퓨터보안센터 수석 연구원의 아들로 명문 코넬대 학원을 졸업한 수재. 1988년 발표한 해킹 프로그램 ‘인터넷 웜’으로 해커라는 말을 일반인들에게 심어줬으며 네트워크 통신분야에서 최강자로 불렸다. 이 바이러스 프로그램은 전 세계적으로 6천대 이상의 컴퓨터가 일순간에 마비되었으며, 모리스는 컴퓨터 범죄에 대한 법률이 공포된 뒤 최초로 처벌받은 사람으로 기록됐다.

그후 로버트 모리스는 ‘ViewWeb'이라는 인터넷 회사를 만들었으나 이 회사가 야후에 4천900만달러에 합병되면서 백만장자 대열에 합류한 해커로도 유명하다.

  

 마크 애버니 (Mark Abene)

마크 애버니는 전화 프리킹을 미 전역으로 확산시킨 인물이다. 이미 10세 때 ‘PC 탄생 이후 1백대 천재’로 꼽혔다. 애플 컴퓨터와 전화를 도구로 해킹을 시작했으며 무선 통신 소프트웨어 분야의 선구자로 평가된다. 연방 법원은 그를 감옥에 보내기 위해 다른 해커들에게 메시지를 보내는 등 많은 노력을 했지만 별 효과를 거두지 못했다.

 

 케빈 폴센 (Kevin Poulsen)

케빈 폴센은 1990, LA 라디오 방송국 KIIS-FM 을 전화선으로 침투해 자기가 102번째로 전화를 한 사람으로 가장해 포르셰 944 S2를 받았다. 케빈 폴센이 해킹에 이용한 것은 락 스미스(locksmith)라는 장치였다. 17개월 동안 법망을 피할 정도로 대담성을 보였던 케빈 폴센도 결국 전파방해죄로 컴퓨터에 침입했던 죄를 자인하게 된다.

 

 블라디미르 레빈 (Vladimir Levin)

블라디미르 레빈은 러시아 상트 페테르부르크 공대 출신의 수학자다. 미국 시티뱅크에서 1천만 달러를 빼냈던 러시아 해커그룹의 배후 조종자로 지목된 인물. 95년 영국 런던 히드로 공항에서 체포됐다.

 

 

[정리하기]

1. 보안 방법으로서의 암호화의 기법으로는 시저 암호, 복수-알파벳 암호, 배타적 논리합 비트 연산, 데이터 암호화 표준(DES) 알고리즘 등이 있다.

 

2. 암호화 시스템 중 오직 수신자만 해독 방법으로 알고 있음으로 해서, 각각 보내진 데이터의 암호화 해독을 하는 방법을 공개 키 암호 시스템(public key cryptosystems)이라 한다.

 

3. 컴퓨터 바이러스는 자신을 또 다른 프로그램에 부착시키는 프로그램이며, 시스템으로 침입하지만 바이러스처럼 실제로 또 다른 프로그램의 일부가 되는 것은 아니다.

 

4. 대칭키 알고리즘(Symmetric Algorithm)은 암호화 키와 복호화 키가 똑같다. 비밀키 알고리즘이라고도 하며, 수신자와 송신자가 안전하게 통신을 하기 전에 키에 대한 동의가 필요하다.

 

5. 평문의 한 비트 또는 바이트에 대하여 연산하는 스트림 알고리즘(Stream Algorithm)과 비트들의 그룹들에 대하여 연산하는 블록 알고리즘(Block Algorithm)이 있다.

알고리즘 자세히 보기

 

 

 

[참고하기]

RSA 시큐리티 회사 사이트 내의 cryptography 관련 내용 www.rsasecurity.com/rsalabs/faq/ 

한국 정보보호 진흥원 사이트 www.kisa.or.kr

 미국 상무부 산하 국립표준기술연구소(NIST) CSRC 사이트 http://csrc.nist.gov/ 

시만텍 회사의 각종 보안관련 자료를 게시하고 있는 사이트 http://securityresponse.symantec.com/

 

 

 

'정보과학 > 컴퓨터통신망특론' 카테고리의 다른 글

통신 프로토콜(2)  (0) 2023.11.22
통신 프로토콜(1)  (0) 2023.11.22
데이터 보안(1)  (0) 2023.11.18
데이터 통신 기술(2)  (1) 2023.11.18
데이터 통신 기술(1)  (0) 2023.11.12