블로그 이미지
내게 능력 주시는 자 안에서 내가 모든것을 할수 있느니라 - 빌립보서 4 : 13 - happydong

카테고리

Happydong (1363)
프로그래밍 (156)
01.C#기초 (4)
02.C#고급 (13)
03.ASP.NET (28)
04.HTML&Script (17)
05.Silverlight (38)
06.C 언어 기초 (2)
07.iOS (14)
08.Java (5)
09.SQL (8)
10.컴퓨터보안 (10)
11.패턴이야기 (3)
12.유니티3D (1)
13.Ubuntu (7)
14.Node.js (6)
MUSIC (16)
인물 (3)
Utility (10)
세미나 소식&내용 (22)
IT뉴스 (18)
운동 (830)
CAFE (10)
Life (282)
Total
Today
Yesterday

'프로그래밍/10.컴퓨터보안'에 해당되는 글 10건

  1. 2010.04.13 보안 일반론 및 모델
  2. 2010.04.12 TCP/IP(Transmission Control Protocol / Internet Protocol) 4
  3. 2010.04.06 OSI 참조모델(Reference model) 2




ㅁ 보안의 개념

 컴퓨터 혹은 네트워크 환경에서 자원(하드웨어, 소프트웨어, 데이터)을 대상으로 고갈시키거나(Availability), 변형시키거나(Integrity), 탈취(Confidentiality)하는 행위로부터 보호하는 제반의 정책과 행위이다.

 

ㅁ 보안의 3요소

1.     가용성

-       정보시스템은 적절한 방법으로 작동되어야 하며, 정당한 방법으로 권한이 주어진 사용자에게 정보서비스를 거부하여서는 안된다.

-       정보를 필요로 할 때 언제든지 가용 될 수 있어야한다.

-       무결성과 상호 이율 배반적인 면 존재 -> 상호 절충 요구.

2.     비밀성

-       정보는 소유자가 원하는 대로 비밀이 유지되어야 한다.

-       물리적 수준의 접근 통제(열쇠나 잠근 장치)

-       운영체제 수준의 접근 통제(시스템,파일,password )

-       네트웨크 수준의 접근 통제(내부 네트워크 사용을 제한)

3.     무결성

-       비 인가된 자에 의한 정보의 변경, 삭제, 생성 등을 보호하여, 정보의 정확성과 완전성을 보장하여야 한다.
(
물리적 통제, 접근 통제(Access Control), 변경된 정보에 대한 탐지)

 

ㅁ 보안의 위협 - 시스템 공격의 유형

-       중지(Interruption) : 가용성에 대한 공격
.
시스템의 정상적인 동작을 방해하는 행위이며, 하드웨어의 파괴, 시스템 파일 삭제, 주요 특정 파일 삭제 등의 공격을 말한다.

-       도청(Interception) : 비밀성에 대한 공격
.
인가되지 않은 사용자가 전산 자원에 불법 접근하는 해위이며, 파일의 불법적인 복사, 전산망에서의 감청, Wiretapping 등의 공격을 말한다.


 

-       변조(Modification) : 무결성에 대한 공격
.
전산망을 통해 접근하여 전산 자원의 일부분이나 중요한 부분을 불법으로 수정하는 행위이며, 하드웨어 자체를 변경, 시스템 소프트웨어의 구성을 변경하는 공격을 말한다.


 

-       위조(Fabrication) : 무결성에 대한 공격
.
인가되지 않은 사용자가 정상적인 사용자로 위장하거나, 불법 코드 등을 시스템에 삽입하는 행위의 공격을 말한다.


Posted by happydong
, |



TCP/IP(Transmission Control Protocol / Internet Protocol)?

-       네트워크와 네트워크를 연결하기 위한 포로토콜.

. 여러 개의 네트웍을 연결해서 데이터를 서로 주고 받기위해, 서로 상호연결하기위한 프로토콜이다.

-       컴퓨터 네트워크에서 사용되는 메시지 교환규칙 프로토콜.

-       다양한 형태의 물리적 네트워크에 연결된 컴퓨터를 통해 네트워크 상의 다른 컴퓨터와 통신을 하기 위한 절차를 정의.

 

TCP/IP의 생성 과정.

-       ARPANET(Advanced Research Project Agency Network) 미국방성 프로젝트 수행 목적으로 구축.

-       NSFNET(the US National Science Foundation Network)

-       Internet = ARPANET + NSFNET : 1980년대 중반

 

[그림 - 1 TCP/IP OSI -7 Layers(계층) 비교]

  

  TCP/IP – 데이터 캡슐화/ 역 다중화

 

-       데이터 캡슐화(Data Encapsulation)송신 측 입장에서 데이터 생성과정.

                                  [그림 – 2 송신 측 입장에서 데이터 생성과정]


 
순수 사용자의 데이터가 생성 이되면 각각의 계층에서는 각각의 헤더(Header)를 붙이게 된다. 헤더라는 것은 각 계층에서 해야 할 일들을 정의한 오버헤드(Overhead)라고 할 수 있는데, 각 계층을 지나면서 각 계층에서 해야 할 일을 헤더에 붙이는 작업을 데이터 캡슐화(Data Encapsulation)라고 한다.

  

-       역 다중화(Demultiplexing)수신 측 입장에서 데이터 생성과정.

                                   [그림 – 3 수신 측 입장에서 데이터 생성과정]


 .
이더넷 드라이버에서 수신이 되며, 해당 데이터를 어느 쪽(ARP, IP, RARP)을 보낼지 이더넷 헤더의 프레임타입(type)을 확인해서 결정한다
.
 . IP
에서는 TCP, UDP로 보낼지는 결정해야 하는데, 이때 사용되는 프로토콜의 헤더 값을 확인해서 결정한다
.
 .
응용계층에서는 각각의 포토번호를 확인해서 데이터를 보낸다.

 

[그림 - 4 TCP/IP 데이터 요청/응답 흐름]

 

TCP/IP 프로토콜

 각 계층별로 하는 일에 대해서 좀더 자세히 알아 보겠다.

 

-       데이터 링크 계층 프로토콜 :
 .
패킷을 전달하는 물리적 인터페이스와 관련된 하드웨어를 제어하는 기능을 수행한다.
  (NIC, Hub, Connector, Cable
)
 . ARP(Address Resolution Protocol)
 
1 TCP/IP 상에서 데이터 전송을 위해서는
IP주소(32bit)MAC주소(48bit) 주소필요
.
     (
.수진 측 모두 필요
)
 
2 물리적의 IP주소를 사용하여 목적지
MAC주소를 획득하는 프로토콜
.
 
3
ARP request(Broadcast)  / ARP response(Unicast).


                                [그림 – 5 ARP 동작과정]

 ARP request : 목적지 IP주소를 써서 모든 컴퓨터에게 보낸다. , 내가 목적지의 IP주소를 알고 있는데, 그 목적지의 MAC Address을 알고 있으면 응답을 달라 요청함. (boradcast)

 ARP response : 목적지의 컴퓨터가 요청한 컴퓨터에게 바로 직접적으로 응답을 해준다. (nicast)

 

-       네트워크 계층 프로토콜 :
네트워크 상의 패킷 이동의 제어(패킷을 전달하고 경로를 선택)기능을 수행하는 프로토콜이다. (라우팅 기능 수행)
 
1
IP(Internet Protocol) : 사용자의 데이터를 패킷 형태로 전송하는 기능을 수행하는 비 연결형 프로토콜이다. , 전송 요청을 라우터에 보내면, 라우터가 알아서 해당 목적지에 요청을 한다. (라우팅 기능
)


                                           [그림 – 6 라이팅 기능
]

 
2
ICMP(Internet Control Message Protocol) : IP서비스를 이용하여 호스트들이 오류 상황에 대한 정보를 제공한다.

-       전송 계층 프로토콜 :
두 호스트 간에 종단 간 연결을 맺고 데이터를 전달할 수 있는 기능을 수행
.
 
1
UDP(User Datagram Protocol) : 종단 간에 연결을 설정하지 않은 채 데이터를 전송하는 비접속형 전송 서비스를 제공하는 비신뢰성 프로토콜
.
 
2
TCP(Transmisstion Control Protocol) : 종단 간에 연결을 설정한 후 데이터를 전송하는 신뢰성있고, 순서적인 데이터 전달 서비스를 제공하는 접속형 프로토콜
.
신뢰성 서비스 : 신뢰성을 제공하기 위해 수신 데이터에 대한 확인응답, 흐름제어, 세그먼트화 등을 제공.

-       응용 계층 프로토콜 :
TCP/IP
프로토콜의 이용하는 서비스

 
1 Telnet : 사용권한을 가지고 있다는 전제 하(계정)에 다른 사람의 호스트 컴퓨터를 원격지에서 액세스 할 수 있는 프로토콜.
 
2
FTP(File Transfer Protocol) : 여러 시스템간에 파일을 전송하기 위한 프로토콜
.
 
3
SMTP(Simple Mail Transfer Protocol) : 여러 사용자 간에 전자 메일을 주고 받기 위한 프로토콜
.
 
4
HTTP(Hypertext Transfer Protocol) : Web상에서 파일(텍스트, 그래픽 이미지, 사운드, 비디오 그리고 기타 멀티미티어 파일)을 주고받는데 필요한 프로토콜.

 

TCP 연결 설정.

 TCP의 연결설정 방법은 3-way Handshaking방법을 사용한다.

                                   [그림 – 7 TCP 연결설정 흐름]

 

위 그림과 같이 컴퓨터 AB에 연결을 시도하기 위해서 SYN라는 메시지를 보내게된다. 그러면서 코드 1000이라고 같이 붙어여 보내게 되는데, B컴퓨터에서는 A컴퓨터의 SYN(1000)메세지를 확인해서 B컴퓨터가 연결을 시도하려는거라는걸 알게된다. B 컴퓨터는 다시 A 컴퓨터에게 ACK라는 메시지와 함께 1001이라고 코드를 같이 보내게 된다.(응답 받은 코드에서 +1을 더해서 보냄) 그러면서 SYN(4000)이라고 보내게 되는데 B 컴퓨터 또한 A 컴퓨터에 연결을 시도하는 것이기 때문이다. A컴퓨터는 다시 B 컴퓨터에게 ACK(4001) 보내게되므로서 연결이 된다. 이렇게 3단계를 거쳐 연결을 되기 때문에 3-way Handshaking이라 한다.

 

TCP 재전송 타이머

 TCP는 타이머를 통해서 신뢰성 있는 데이터를 주고 받는다. , A 컴퓨터에서 패킷을 보냄과 동시에 타이머가 시작되고, A 컴퓨터에선 B 컴퓨터가 응답을 보낼 시간을 대략적으로 계산해 그 시간까지 응답이 없으면 중단에 패킷이 분실된 줄 알고 타이머가 만료되고, 다시 이전에 보냈던 패킷을 재전송을 하게 된다 

[그림 – 8 TCP 재전송 관련]

 

 

 

Posted by happydong
, |




ㅁ 네트워크 구조의 호환성

 

-à 네트워크 구조간 호환성 요구의 대두

 1. 컴퓨터 보급의 확산으로 인한 분산 기기들간의 상호연결 증대

 2. 컴퓨터 제조업체나 판매 업자들마다 독자적인 네트워크를 형성.

. IBM : SNA(System Network Architecture)

. Digital Equipment Corp. : DNA(Digital Network Architecture)

 

 위와 같은 요구의 대두로 네트워크가 대규모로 증가함에 따라서 지역단위나 국가단위의 통일된 네트워크 구성에 대한 요구가 높아져 이에 대한 표준화 요구가 대두 되었다.

 

-à 개방형 시스템(Open System) :

최소한의 표준화된 소스가 공개됨.(반대 폐쇄형 시스템[Closed System]).

 . 서로 다른 특징을 갖는 기종들과도 접속될 수 있도록 준비가 되어 있는 시스템이라 할 수있다.

 . 이 기종 시스템 간의 연결을 위해서 시스템 상호간에 서로 이해할 수 있는 최소한의 규격에 대한 표준이 필요하다.

 .

 

 OSI 참조모델(Reference model)은 국제 표준 기구인 ISO에서 1983네트워크상에서 서로 다른 이 기종끼리도 호환성 있게 상호접속을 할 수 있도록, 정보교환을 위해 필요한 최소한의 망 구조를 제공하는 기본 참조 모델을 제안.

 

 

OSI 참조모델(Reference model)

 

 통신망을 통한 상호접속에 필요한 제반 통신절차를 통신절차 가운데 기본적으로 비슷한 기능을 갖는 모듈을 동일 계층으로 분할하고, 가능하면 각 계층간의 독립성을 유지할 수 있도록 하여 크게 7개의 계층으로 나누어 정의하였다.


[그림 OSI 7계층]

 

-à1계층 물리계층 :

 상위 계층에서 내려온 비트들이 상대방까지 보내질 수 있도록 근원지와 목적지간의 물리적 링크를 설정, 유지, 해지하기 위한 물리적, 전기적, 기능적 그리고 절차적인 특성을 제공.

1.     아날로그 회선 : RS-232C

2.     디지털회선 : x.21

 

-à 2계층 데이터링크계층 :

 물리적인 링크를 통하여 신뢰성 있는 정보를 전송하는 기능을 제공한다. , 동기화, 오류 제어, 흐름 제어 등을 통하여 데이터 블록(프레임)을 전송한다.

1.     헤더부분 : 데이터 블록의 시작을 나타내는 표시와 목적지로의 주소 등을 포함.

2.     트레일러부분 : 데이터블럭 내에 발생한 전송에러를 검출하기 위한 에러검출코드.

 

-à 3계층 네트워크계층 :

. 개방형 시스템 사이에서 네트워크의 연결을 유지하고 설정하며 해지하는 기능을 담당

1.     이용자들이 자신의 데이터가 어떤 경로를 통해 전달될 것인지 결정.

2.     얼마나 많은 물리적인 회선을 경유할 것인지, , 사용자가 이에 관해 무관하게 네트워크 내에서의 데이터를 다른 노드로 넘겨주는 릴레이(Relay)기능.

3.     상위계층에서 넘겨진 데이터를 일정 크기의 패킷으로 분할 및 재조립.

. 네트워크 계층의 표준

1.     현재 ITU-T(CCITT) X.25의 패킷레벨 프로토콜이 널리 사용되고 있다.

 

-à 4계층 전송계층 :

 End-to-end에 신뢰성 있고, 투명한(transparent)데이터 전송을 제공한다. , 네트워크 계층에서 제공하지 않는 데이터의 에러나 이중 처리 등에 대한 에러제어 기능을 비롯하여 흐름제어를 담당한다.

 

-à 5계층 세션계층 :

 응용 간의 통신에 대한 제어 구조를 제공한다. , 특정한 한 쌍의 프로세스들 사이에서 세션이라 불리는 연결을 확립하고 유지.

1.     다른 쪽의 프로세스와 대화하기 위해 양단간의 연결을 설정.

2.     순차적인 방법으로 대화를 관장하여 대화의 흐름이 원활히 이루어지도록 동기에 대한 기능을 제공.

3.     전이중 혹은 반이중 전송과 같이 데이터 전송방향을 결정하는 등의 기능을 제공.

 

-à 6계층 표현계층 :

 . 이용자가 통신하거나 참조할 수 있도록 정보를 표현하는 기능을 담당.

 . 대표적인 변환 서비스의 예는 데이터 압축, 암호화를 비롯하여, 터미널이나 파일들을 네트워크 표준으로 변형하는 것 등이다.

 

-à 7계층 응용계층 :

 . 최상위 층으로 응용 프로세스가 네트워크 환경에 접근하는 수단을 제공함으로써 응용 프로세스들이 상호간에 유용한 정보교환을 할 수 있는 창구 역할을 담당.

 . 이 계층에서는 네트워크 관리기능을 비롯하여 범용 응용 서비스인 파일전송, 전자우편, 가상터미널 등의 기능이 포함된다.

 

Posted by happydong
, |