'분류 전체보기'에 해당되는 글 128건

  1. 2020.09.17 TCP/UDP(수정중)
  2. 2020.09.16 Ethernet Header
  3. 2020.09.15 OSI 7계층(수정중)
  4. 2020.09.15 네트워크(OSI 7계층 TCP/IP 5계층)
  5. 2020.09.02 Blind in jection
반응형

TCP

 

TCP(Transmission Control Protocol)

-3Way-Heandshake 과정을 거쳐 세션을 성립하고 패킷을 전송하는 연결지향형 프로토콜이다.

-패킷전송중 발생하는 손실과 중복 오류를 검출하고 해결하는 기능을 가지고 있다.

-전송계층에 정의되어있다. 응용계층과 네트워크 계층의 동작사이의 매개체로 사용이 된다.

-프로세스간의 통신을 위해서 별도의 주소 포트(Port)를 가진다.

-웹(HTTP)과 같은 신뢰성을 요구하는 통신에 사용된다.

-세션을 가지고 통신을 한다.

 

 

 

 

TCP 3Way-Heandshake 과정

1. 클라이언트는 서버에 접속을 요청하는 SYN패킷을 보낸다. 이때 클라이언트는 SYN/ACK 응답을 기달리는 SYS_SENT 상태가 된다.

2. 이때 서버는 Listen 상태로 포트 서비스가 가능한 상태이다.(Closed:닫힌상태) 서버는 SYN요청을 받고 클라언트에게 요청을 수락하는 ACK와 SYN flag가 설정한 패킷을 발송하고 클라이언트는 다시 ACK로 응답을 기다린다. 이때 서버는 SYN_RECEIVED상태가 된다.

3. 클라이언트는 서버에게 ACK를 보내고 이후부터 연결이 이루어지고 데이터가 오고가게 된다. 이떄 서버의 상태는 ESTABLISHD이다.

 

세션연결
세션 해제

 

TCP 헤더

TCP 헤더의 최소크기는 20 바이트이며 최대 40 바이트이다.

 

# 필드

Source Port : 패킷을 송신하는 출발지의 포트번호

Destination Port : 패킷을 수신할 도착지의 포트번호

Sequence Number : 세그먼트(패킷)의 순서 표기

Acknowledgment Number : 수신한 데이터에 대한 응답으로 SEQ+1값을 전송

Data Offset : TCP헤더와 데이터를 포함한 전체 길이

Reserved: 미래를 위해 예약된 필드 - 항상 0

Window Size : 도착지에서 한번에 수신 가능한 버퍼의 크기

Checksum : 데이터가 전송 중 손상되지 않는지 검사

Urgent Pointer : Urgent데이터의 마지막 비트(Urgent Flag가 1로 설정시 동작)

Options and Padding : 최대 40바이트, TCP 헤더 외에 추가적인 정보를 송신할때 사용

 

# Flags

CWR : 송신자가 자신의 sindow size를 줄임

ECE : 혼잡 감지 시 ECE 플래그 설정후 송신자에게 알림

URG : Urgent pointer 사용

ACK : SYN에 대한 확인

PSH : 수신측은 버퍼의 데이터를 즉시 응용계층에 전송

RST : 강제 세션 종료

SYN : 세션 시작

FIN : 세션 종료

 

UDP

UDP비연결지향형 프로토콜로서 단순 오류 검출 기능만을 가지고 있다.

따라서 TCP보다 패킷의 구조가 단순하고 오버헤드가 적다

DNS와 같은 소량의 데이터 전송 시 이용한다.

 

UDP 헤더

 

Source Port : 패킷을 송신하는 출발지의 포트번호

Destination Port : 패킷을 수신할 도착지의 포트번호

Total Length : UDP헤더와 데이터를 포함한 전체 길이

Checksum : 데이터가 전송중 손상되지 않았는지 검사

 

 

포트가 닫힌경우 ICMP unreachable 응답을 받는다.

 

 

TCPUDP 보안상의 차이점

인증 권한 > ID,PW>유지>Session / UDP Session X Pass Phrase(SNMP)

검증 : UDP=> Spoofing(DNS spoofing, DHC Pspoofing)

암호화: KEY=> 대칭키(네트워크)/ 비대칭키(사용자 인증, 키동기화) => Session Key / UDP Session X

-상태확인: Stateful(4계층이상) VS Stateless(2,3계층)

 

1.     TCP

-       높은 신뢰성

-       가상 회선 연결 방식

-       연결의 설정과 해제

-       데이터 체크섬 (데이터 재전송 여부 판단)

-       시간 초과와 재전송

-       데이터 흐름 제어

 

2.     UDP

-       비연결 지향형

-       네트워크 부하 감소

-       비신뢰성

-       전송된 데이터의 일부가 손실

 

3.     차이점

기본적으로 TCP의 신뢰성을 보장하는 여러 패킷들로 인하여 DOS 공격 예상 가능, 연결 과정 중 중간자 공격 등 다양한 시나리오 존재하나 반면, UDP는 데이터 자원으로 인한 공격은 원천적 불가능 (데이터 손실 시 복구 불가능한 단점 존재)

 

 

#세그먼트

IP는 패킷의 형태로 데이터를 전달한다. 전송계층에서 TCP는 일련의 바이트를 세그먼트라고 하는 패킷으로 그룹화 하낟.

TCP는 전송을 위해 각 세그먼트에  헤더를 붙이고 IP계층에 세그먼트를 IP데이터 그램으로 캡슐화되어 전송이 된다. 

 

네트워크 계층에서 IP는 서버와 클라이언트간의 데이터 전송을 담당하한다. 이때 데이터링크 계층에서 올바른 응용프로그램으로 포트를 지정하는 역활을 한다.

 

반응형
Posted by 53C
,

Ethernet Header

정보보안 2020. 9. 16. 22:47
반응형

이더넷에는 3가지 종류의 주소가 있다.

유니캐스트 주소(unicast address) 첫 바이트의 최하위 비트가 0이다.

멀티캐스트 주소(multicast address) 첫 바이트의 최하위 비트가 1이다.

브로드캐스트 주소(broadcast address) 48개의 1이다.(11-11-11-11)

발신지 주소는 항상 유니캐스트이다.

 

preemble

-10101010이 반복되는 7바이트 길이의 필드

-동기 신호 제공

-이더넷은 동기를 위한 별도의 클락을 사용하지 않는다.

 

SFD(Start Frame Delimiter)

-11의 값을 가진다. 프레임의 시작을 알리는데 사용된다.

-MAC주소 필드를 알린다.

-이더넷 프레임 크기를 나타낼 때 프리엠블과 MAC주소 필드는 제외한다.

#SOF(Start Of Frame)

-이더넷 헤더에서 preemble 과 SFD 필드를 합쳐서 SOF로 표기를 하기도 한다.

-이때 SOF는 10101011 8바이트의 크기를 가진다.

 

DA(Destination MAC Address)

-목적지 MAC 주소 (24dit) = OUI(24bit) + 각회사의 고유번호(24bit)

 

SA(Source MAC Address)

-출발지 MAC 주소 (24dit) = OUI(24bit) + 각회사의 고유번호(24bit)

-항상 유니캐스트 주소이다.

 

길이/유형

(2byte)

값이 1500 이하이다. 프레임의 데이터 필드 길이를 표시한다.

값이 1536 이상이다. 현재 프레임이 실어나르는 MAC 클라이언트 프로토콜의 종류를 표시한다.(이때 MAC 클라이언트 프로토콜의 고유 번호도 IEEE에서 부여)

 

데이터

46~1500바이트이다.

46이하일 경우 패딩(padding)하여 46 바이트로 만든다.

 

FCS(Frame Check Sequence)

-DA~Data필드까지의 에러 발생 여부 확인 필드

 

 

반응형

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

OSI 7계층(수정중)  (0) 2020.09.15
네트워크(OSI 7계층 TCP/IP 5계층)  (0) 2020.09.15
Blind in jection  (0) 2020.09.02
SQL Injection  (0) 2020.09.02
CSRF 란  (0) 2020.09.01
Posted by 53C
,
반응형

-TCP/IP

응용계층: 응용 표현 세션 계층

네크워크 통신을 하기 위해 사용되는 응용 프로그램이 구동하는 계층

 

-OSI 7 Layer

응용계층: 이 계층에서는 헤더가 추가되지 않는다.

소프트웨어에서 네트워크에 접속을 할수 있게 해준다.

 

표현계층: 변환,암호화,압축 과정이 이루어진다. 헤더가 붙는다.

변환: 사용자의 인터페이스에 맞게 변환 또는 공통 형식으로 변환을 한다.

암호화: 비밀성보장/암복호화가 이루어진다.

압축: 데이터 압축

 

세션계층: 네트워크 대화 제어기(Dialog Controller)

대화제어: 반이중/전이중 상태에서 일어나는 프로세서간의 통신을 허용한다.

동기화: 검사접(동기점)을 추가하는 프로세서를 허용한다.

무결점을 검사한다.

 

#주요 기능

FTP(File Transfer Porotocol) : 파일 전송을 위해 사용되는 프로토콜

HTTP(Hypertext Transfer Protocol) : 웹 통신을 하기 위해 사용되는 프로토콜

Telnet : 원격 접속 서비스를 위해 사용되는 프로토콜

SMTP(Simple Mail Transfer Protocol) : 메일서비스를 위해 사용되는 프로토콜

FTAM(file transfer,assess,and managment) : 이 응용은 사용자에세 원격 호스트에 들어있는 파일에 대한 접근 과 로컬 컴퓨터에 들어있는 파일의 검색, 로컬 컴퓨터에서 원격 컴퓨터에 들어있는 파일을 관리하거나 제어하게 해준다.

 

전송계층: 통신의 양 끝단(Host to Host)사용자들이 신뢰성 있는 데이터를 주고 받을 수 있도록 한다.

발신지에서 목적지까지 오류제어와 흐름제어를 제공하며 올바른 순서로 도착하는 것을 보장한다

 

서비스 지점 주소 지정(service point addressing): 포트주소 지정

분활과 재조립(segmentation and reassembly): 메시지를 전송할수 있는 세그먼트 단위로 나눈다. 각 세그먼트는 순서번호를 가진다. => 도착시 전송계층이 재조립을 할 수 있게한다. and 전송 중에 손실된 패킷을 발견하고 대체한다.

연결제어: 전송계층은 비연결과 연결-지향이 될수 있다.

-비연결형(UDP) : 각 세그먼트를 독립된 패킷으로 나누고 목적지 시스템의 전송계층에 전달한다.

ㄴUDP(User Datagram Protocol)는 신뢰성 있는 전송을 보장하지 않는다.

-연결-지향형(TCP): 패킷을 전달하기 전에 먼저 목적지 시스템의 전송계층과 연결을 설정한다. 모든 데이터 전송후 연결을 종료한다.

ㄴTCP(Trnsmission Control Protocol)

별도의 주소를 가지는데 이를 포트(Port)라고한다.

포트는 시스템에 도착한후 패킷이 찾아갈 응용프로그램과 통하는 통로의 번호이다.

흐름제어(flow control): 단일 종단에서 종간까지 제어한다.

오류제어(error control): 호스트에서 호스트까지 오류를 교정한다.

 

네트워크 계층:

여러 개의 노드를 거칠떄 마다 경로를 찾아주는 역할을 수행

-다양한 길이의 데이터를 네트워크를 통해 전달하며 그 과정에서 라우팅, 흐름제어,세그멘테이션(segmaentation/desegmentation), 오류제어등을 수행

-네트워크 계층에서 여러개의 노드를 거쳐 결로를 팢기위한 주소는 IP로 대표됨

윈도우:ipconfig 명령어 /유닉스/리눅스/MacOs:ifconfig명령어로 확인

-IP

인터넷에 연결된 기기의 주소

-현재는 IPv4를 사용(8bit의 수 4개로 구성 = 32bit)

-0.0.0.0 ~255.255.255.255(0.0.0.0은 모든 IP를 의미)

-네트워크 주소와 호스트 주소로 구성

-서브넷 마스크를 이용해서 수분

-Prefix 표기법을 이용해서 서브넷 마스크 표기 가능

-라우터

네트워크 계층의 대표적인 장비는 라우터(또는 게이트웨이 라고한다.)

=라우터의 가장 중요한 기능은 패킷이 최적의 경로를 찾기위한 라우팅 테이블을 구성

=라우팅 테이블에 따라 패킷을 목적지까지 가장 빠르게 보네는 길잡이 역할을 수행

 

데이터 링크 계층:

end to End 상호통신을 위해 MAC주소를 할당

-MAC(Media Access Control) 주소는 ipconfig / all 명령어을 실행해 확인이 가능

#인터페이스 카드(NIC,Network Interface card)를 제조할떄 할당

-물리적인 주소

-16진수로 표현

#고유의 주소이므로 세상에 한 개 밖에 없음

=but, MAC주소는 논리적으로 변경이 가능

-스위치

데이터링크 계층의 대표적인 장비로는 스위치가 있다,

패킷의 흐름을 제어하는데 사용이 된다.

 

물리계층

=랜 케이블, 동축케이블, 광케이블 등 시스템간의 물리적 연결을 위한 계층

반응형

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

Ethernet Header  (0) 2020.09.16
네트워크(OSI 7계층 TCP/IP 5계층)  (0) 2020.09.15
Blind in jection  (0) 2020.09.02
SQL Injection  (0) 2020.09.02
CSRF 란  (0) 2020.09.01
Posted by 53C
,
반응형

네트워크 = 인터넷망

네트워크 해킹의 단계에는 정찰 -> 스캐닝 -> 침투단계를 거치게 된다.

 

프로토콜 이란

컴퓨터 사이에 메시지를 주고받기 위한 통신방법에 대한 규칙과 약속

RFCEditor:https://www.rfc-editor.org/standards

 

Official Internet Protocol Standards » RFC Editor

 

www.rfc-editor.org

 모델 OSI

OSI 7 Layer

국제 표준화 기구(IOS)는 다양한 네트워크의 호환을 위해 OSI 7 Layer 이라는 표준 네트워크 모델을 설계했다.

OSI 모델은 하드웨어나 소프트웨어 기반의 논리적 변화에 대한 요구 없이 서로 다른 시스템간의 통신을 원활하세 하는데 그목적이 있다.

OSI 모델은 프로토콜이 아닌 유연하고 안전하며 상호 연동이 가능한 네트워크 구조를 이해하고 설계하기 위한 모델이다.

(2003TCP/IP 프로토콜 Behrouz A. Forouzan)

TCP/IP프로토콜은 OSI모델보다 먼저 개발이되었다.

TCP/IP프로토콜은 다섯 개의 계층으로 구성되어있다.

물리계층,데이터링크계층,네트쿼크계층,전송계층,응용계층

처음 네개층은 OSI모델의 네계층과 일치하는 물리적인 표준 네크워크 인터페이스,네트워크간 상호연결,전송계층 기능을 제공한다. 그러나 OSI 모델 최상위 세 계층은 TCP/IP에서 응용계층이라는 하나의 계층으로 표현된다.

 

 

 

네크워크 통신시 각 계층을 내려오면서 헤더가 붙게 되고 최종적으로 다시 각계층을 올라오면서 통신이 이루어진다.

이때 3계층에는 IP가 4계층에서는 MAC주소가 존재한다.

 

 

반응형

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

Ethernet Header  (0) 2020.09.16
OSI 7계층(수정중)  (0) 2020.09.15
Blind in jection  (0) 2020.09.02
SQL Injection  (0) 2020.09.02
CSRF 란  (0) 2020.09.01
Posted by 53C
,

Blind in jection

정보보안 2020. 9. 2. 00:06
반응형

Blind in jection

오류메세지가 보이지 않는 사이트에서 SQL 쿼리의 참/거짓 동작만으로 DB 구조를 파악하는 공격기법이다.

 

SQL Injection 공격의 경우 조작된 쿼리를 입력해서 원하는 데이터를 얻을수 있지만

Blind SQL Injction은 쿼리 결과에 따른 서버의 참과 거짓 반응을 통해서 공격을 수행한다.

 

, 쿼리에 대한 결과가 참일때와 거짓일 때 서버에 반응이 나타나야 하며 이를 구분할 수 있어야 한다.

 

Blind SQL injection 은 위 두 함수를 이용하여 쿼리의 결과를 얻어 한 글자씩 끌어온 값을 아스키코드로 변환시키고 임의의 숫자에 대해서 참과 거짓을 비교하는 과정을 반복하여 일치하는 아스키 코드를 찾아낸다.

최종 결과들을 조합하여 원하는 정보를 얻어낸다.

 

반복과정이 이루어지기 때문에 자동화된 툴을 제작하거나 이용한다.

 

SQL Injection공격전 SQL 쿼리에 사용되는 변수를 찾을 때 Paros툴을 이용하면 자동으로 찾을수 있다.

 

 

Blind SQL Injection의 기본 함수

 

1. sudstr

sudstr은 문자열을 자를 때 사용하는 함수이다.

sudstr(자를 문자열, 자를 문자의 시작점, 자를 문자 개수)
ex) str = substr(“HelloWorld”,1,3)

str = Hel

2. ascil

ascil 함수는 문자의 아스키 코드 값을 반환해주는 함수이다.

ascii(아스키코드로 반환 할 문자)
ex) ascii(a)

=97
반응형

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

OSI 7계층(수정중)  (0) 2020.09.15
네트워크(OSI 7계층 TCP/IP 5계층)  (0) 2020.09.15
SQL Injection  (0) 2020.09.02
CSRF 란  (0) 2020.09.01
윈도우 시스템  (3) 2020.08.31
Posted by 53C
,