일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- network
- 리버싱
- TCP
- 해킹
- 네트워크보안
- WarGame
- 모의해킹
- 시스템
- 소프트웨어
- 드림핵
- System
- 알고리즘
- 소프트웨어보안
- dreamhack
- 웹해킹
- Web
- webhacking
- 시스템해킹
- 워게임
- hacking
- CodeEngn
- Webhaking
- ftz
- bee-box
- 네트워크
- XSS
- 웹
- 순서도
- 비박스
- reversing
- Today
- Total
목록Network/네트워크보안과프로그래밍 (10)
Without a Break
Firewall - 신뢰하지 않는 외부 네트워크 접근/공격으로부터 내부를 보호 - 공격에 대해 각 호스트를 업그레이드/교체하기 보다 방화벽이라는 솔루션을 통해 시스템 전체의 기본적인 방어를 제공 - 로깅을 통한 보안 관리, 추적 등에 용이 정의 1. 방화벽이 유일한 통로가 되어야 함 2. 인증된 트래픽만 통과 3. 공격에 대한 방어 Capabilites 접근 제어 방화벽의 가장 기본적이고 중요한 기능 통과시킬 접근과 차단할 접근을 관리자가 명시하면 방화벽 실행 구현 방법에 따라 패킷 필터링 방식과 프록시 방식으로 나뉨 로깅과 감사 추적 모니터링을 위한 location 제공 로깅: 방화벽을 통과하는 패킷 및 연결에 대한 정보나 관리자의 설정 변경 정보를 저장 감사 추적: 시스템 내에 저장된 로그를 이용해 ..

TCP Client Program Step 1. 소켓 생성 - TCP: SOCK_STREAM 사용 - UDP: SOCK_DGRAM 사용 Step 2. 서버에 연결 - TCP 연결 시작 Step 3. 데이터 전송 TCP Server Program Step 1. 소캣 생성 Step 2. 주소 bind App에서 호스트 컴퓨터에 포트 번호 등록 -> 패킷이 호스트에 도착하면 운영체제가 어떤 앱이 포트 번호에 기반된 수신자인지 알 수 있음. -> 서버는 운영체제에 사용 중인 포트가 무엇인지 알려야 할 필요가 있음. Step 3. connection 대기 (listen) App이 listen()을 호출하여 OS에 App이 클라이언트를 수락할 준비가 되었음을 알림 -> 연결 요청이 수신되면, OS가 3-way ha..

파일 입출력 파일모드 기능 설명 "r" 읽기 전용 파일을 읽기 전용으로 연다. 단, 파일이 반드시 있어야 한다. "w" 쓰기 전용 새 파일을 생성한다. 만약 파일이 있으면 내용을 덮어쓴다. "a" 추가 파일을 열어 파일 끝에 값을 이어 쓴다. 만약 파일이 없으면 파일을 생성한다. "r+" 읽기/쓰기 파일을 읽기/쓰기 용으로 연다. 단, 파일이 반드시 있어야 하며 파일이 없으면 NULL을 반환한다. "w+" 읽기/쓰기 파일을 읽기/쓰기 용으로 연다. 파일이 없으면 파일을 생성하고, 파일이 있으면 내용을 덮어쓴다. "a+" 추가(읽기/쓰기) 파일을 열어 파일 끝에 값을 이어 쓴다. 만약 파일이 없으면 파일을 생성한다. 읽기는 파일의 모든 구간에서 가능하지만, 쓰기는 파일의 끝에서만 가능하다. "t" 텍스트 ..

개요 TCP는 연결형 프로토콜: 종단이 서로 데이터를 송신하기 전에 이들 사이에 연결을 확립 플래그 3문자 약어 설명 S SYN 순서번호의 동기화 F FIN 송신자는 데이터 송신을 종료 R RST 연결의 재설정 (강제 종료) P PSH 수신 프로세스가 가능한 빨리 데이터를 보낸다 . 위의 4개의 플래그가 설정된 것이 없다 연결 확립과 종료 연결 확립 프로토콜 [SYN] 요구 측의 종단은 접속하고자 하는 서버의 포트번호와 클라이언트의 초기순서번호(ISN)를 지정한 SYN 세그먼트를 보낸다. [SYN+ACK] 서버는 서버의 초기순서번호(ISN)를 포함한 자신의 SYN 세그먼트로 응답한다. [ACK] 클라이언트는 서버로부터 보내 온 SYN에 대하여 서버의 ISN+1 ACK로 확인응답을 보내야 한다. => 이와..

TCP가 제공하는 서비스 TCP 서비스 UDP와 같은 네트워크 계층(IP) 이용 UDP와는 완전히 다른 서비스를 응용 계층에 제공 연결지향의 신뢰성있는 바이트스트림 서비스를 제공 => "TCP provides a connection-oriented, reliable, byte stream service" 1. 신뢰성 서비스 1) 정보단위인 세그먼트인 IP로 전송 응용이 보내는 데이터는 TCP가 전송하기 적합한 크기로 나뉘어짐 (반면, UDP는 각 응용이 UDP 데이터그램을 적절한 크기로 만들어 줌) IP 데이터그램 = IP 헤더 + TCP 세그먼트(TCP 헤더+TCP데이터) 2)TCP는 세그먼트를 보낼 때마다 타이머를 설정 수신측으로부터 확인 응답 (ACK) 메세지를 기다림 확인 응답이 오지 않을 경우 ..

UDP Simple, datagram-oriented, transport layer protocol best effort service model : 전송에는 최선을 다하지만 전송 완료는 보장하지 않음 신뢰성 (Reliability)을 전혀 지원하지 않음 : 응용이 쓴 데이터그램은 IP 계층에 전달되지만, 목적지까지 도착한다는 보장은 없음 이로 인해 UDP 응용은 최종 IP 데이터그램의 크기를 고려가 중요하다 => 네트워크의 MTU를 초과하는 UDP/IP 데이터그램이 분할됨 (fragment) IP 데이터그램 = IP 헤더 + UDP 데이터그램(UDP 헤더 + UDP 데이터) UDP Header Port number 필드 sending process와 receiving process 구별에 사용 보통 T..

ARP 개요 전제 : 이더넷 브로드캐스트 네트워크 기본 개념 : 네트워크 인터페이스가 하드웨어 주소를 갖음 응용이나 시스템 관리자에게 인식되지 않은 채 동작 32bit IP 주소 TCP/IP 프로토콜 그룹에서만 동작 물리적 하드웨어 주소 : 독자적 주소체계 데이터 전송 시 목적지 하드웨어 주소를 알아야 함 ARP 기능 IP 주소를 대응하는 물리적 하드웨어 주소로 자동적으로 변환하는 보조적 프로토콜 IP 데이터 그램을 정확한 목적지 호스트로 보냄 여러 가지 형태의 물리적 하드웨어 주소를 처리 점 대 점 접속은 ARP를 사용 안 함 +) ARP, RARP 참고 이미지 ARP 캐시 각 호스트는 매번 ARP를 실행하지 않고 ARP 캐시에 물리적 주소 임시저장 인터넷 주소로부터 하드웨어 주소로 최신 정보 유지, ..
IP 헤더 20byte 16비트 전체 길이(total length) : IP 데이터그램의 총 바이트 길이. 전체길이-헤더길이=데이터 부분의 실제 크기 16비트 식별자(identification) : 한 호스트에 의해 보내지는 각 데이터그램을 식별하기 위해 사용. 데이터 그램을 보내는 순서에 따라 1씩 증가 3비트 플래그 (flags) 13비트 분할 오프셋 : fragment의 시작 위치를 표시 TTL(Time-to live: 8-bit) : 데이터그램의 수명을 제한(라우터 경유 시 1씩 감소) => 패킷이 라우팅 과정에서 루프에 빠지는 것을 방치하기 위한 것 프로토콜(8-bit) : 어느 프로토콜이 IP로 데이터를 보냈는 가를 구분하기 위한 것 => Demultiplexing을 하기 위한 것 header..