전체 글184 컴퓨터 네트워크 25장 - 전송 계층의 기능 - 컴퓨터 네트워크 25장- 전송 계층의 기능 - 전송 계층은 네트워크 양 끝단에서 통신을 수행하는 당사자 간의 단대단 연결을 제공한다. 전송 계층은 데이터 링크 계층과 유사하다. 오류 제어, 흐름 제어, 데이터 순서화 등을 제공하는 면에서 비슷하다고 할 수 있다. 하지만 데이터 링크 계층은 물리적으로 1:1 연결된 호스트 사이의 전송을 의미한다면 전송 계층은 논리적으로 1:1 연결된 호스트 사이의 전송을 의미한다. 이제 전송 계층의 주요 기능에 대해 알아보겠다. 흐름 제어는 송수신 호스트의 전송 과정의 속도 차이를 제어해주는 기능을 한다. 데이터링크 계층에서도 같은 기능을 수행하여 기본 목적을 비롯해 유사한 점이 많지만 다른 버퍼 관리 방법이 필요하다. 수신자가 송신자의 전송 속도보다 느리게 수신을 하므로.. 2017. 4. 29. 컴퓨터 네트워크 24장 - 기타 네트워크 계층 프로토콜 - 컴퓨터 네트워크 24장- 기타 네트워크 계층 프로토콜 - 인터넷 환경에서 데이터 전송 과정이 올바르게 이루어지려면 전송 프로토콜 외에도 다양한 제어 프로토콜이 필요하다. 대표적으로 전송 과정에서 오류를 제어하는 ICMP, IP주소와 MAC 주소에 대한 변환을 담당하는 ARP/RARP 프로토콜이 있을 수 있다. ARP 프로토콜은 Address Resolution Protocol의 약자로 IP주소를 MAC 주소로 바꾸어 주는 작용을 한다. 실제로 통신이 이루어지기 위해선 데이터링크 계층의 MAC 주소를 알아야 가능하다. 송신의 MAC 주소는 송신 호스트의 LAN 카드에 저장이 되어 있으므로 얻을 수 있지만 수신 호스트의 MAC 주소는 알 수가 없다. 따라서 ARP 프로토콜을 이용하게 된다. ARP 프로토콜의.. 2017. 4. 29. 운영체제 15장 - 메모리 관리(2) : 메모리 낭비 방지 - 운영체제 15장- 메모리 낭비 방지 - 하드디스크에 존재하는 프로그램들은 메모리의 특정 부분에 적재되어 실행이 된다. 프로그램이 만들어지기 까지 소스 파일, 목적 파일, 실행 파일을 거쳐 로더에 의해 메모리에 올려 지게 되는데 적절한 위치에 적재를 해야 실행을 시킬 수 있다. 앞 장에서 MMU의 재배치 레지스터를 이용하면 부분적으로 적절한 위치에 프로그램을 올릴 수 있다. 이번 장에는 이를 더 넘어가서 어떻게 하면 더 효율적으로 프로그램을 올릴 수 있는지, 메모리 보호를 위해서 메모리를 낭비하는 것을 방지하는 어떤 방법을 사용해야 하는지에 대해 학습 할 것이다. MMU가 메모리 관리를 하는 방법에 대해서 조금 더 상세히 들어가 보자. MMU는 프로그램이 동작할 때 필요한 데이터나 동작들을 메모리의 특정 .. 2017. 4. 29. 버퍼 오버플로 & 포맷 스트링 공격 버퍼 오버플로 & 포맷 스트링 공격 버퍼 오버플로는 프로그램이 실행될 때 입력받는 값이 버퍼를 가득 채우다 못해 넘쳐흘러 버퍼 이후의 공간을 침범하는 현상을 말한다. 메모리를 다루는 데에 오류가 발생하여 잘못된 동작을 하는 프로그램 취약점이다. 데이터의 길이에 대한 불명확한 정의를 악용한 덮어쓰기로 인해 발생한다. 컴퓨터 보안과 프로그래밍에서 이는 프로세스가 데이터를 버퍼에 저장할 때 프로그래머가 지정한 곳 바깥에 저장하여 벗어난 데이터는 인접 메모리를 덮어 쓰게 되는데 손상 받은 데이터가 중요한 데이터일 경우 프로그램에 큰 영향을 미치게 된다. 버퍼 오버플로를 일으키는 기본적인 예시는 문자열에 할당된 메모리 용량보다 더 큰 공간을 할당했을 때이다. 예를 들면 8바이트 문자열을 넣을 수 있는 버퍼가 존재.. 2017. 4. 29. 블록체인 블록체인 블록체인은 첫 번째 암호 화폐였던 비트코인에서 처음 나타난 개념으로, 모든 암호 화폐는 각각의 블록체인을 가지고 있다. 블록체인은 공공 거래 장부이며 가상 화폐로 거래할 때 발생할 수 있는 해킹을 막는 기술이다. 분산 데이터베이스의 한 형태로 지속적으로 성장하는 데이터 기록 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가능하도록 고안되었다. 거래 장부는 금융 거래에서 핵심적인 요소이다. 돈이 오고간 내역을 기록하기 때문에 이를 바탕으로 금융거래가 이루어진다. 이런 거래 장부가 인터넷을 통해 사용되면 안전하게 보관하는 일이 매우 중요하게 된다. 거래 장부를 조작함으로써 직접적으로 돈을 뺏을 수 있기 때문이다. 예전에는 거래 장부를 서버에 저장한 후 다양한 보안 장비와 프로그램을 설치하고 보.. 2017. 4. 28. 컴퓨터 네트워크 23장 - 이동 IP 프로토콜 - 컴퓨터 네트워크 23장- 이동 IP 프로토콜 - 현재 진행되는 인터넷 환경 변화와 관련해 가장 많이 연구되는 분야 중 하나는 이동하는 사용자가 서비스 중단 없이 인터넷에 접속할 수 있는 이동 환경 서비스를 수용하는 문제이다. 기존의 고정통신망에서 유무선이 복합된 이동 광대역 통신망으로 진화하고 있다. 이동 호스트가 자신의 고유 주소를 유지하면서 인터넷 서비스를 계속 받으려면 계속 이동하는 송수신 호스트 간의 데이터 라우팅 처리가 가장 중요하다. 이동 IP 프로토콜을 이해하려면 먼저 터널링의 원리에 대해 알아야 한다. 두 가지의 예시를 통해 터널링의 원리에 대해 이해를 해보도록 하자. 홍길동이라는 데이터가 a위치에서 d라는 위치로 이동을 하는데 버스와 배라는 전송 프로토콜을 이용하여 데이터가 움직인다고 가.. 2017. 4. 28. 컴퓨터 네트워크 22장 - IPv6 프로토콜 - 컴퓨터 네트워크 22장- IPv6 프로토콜 - IPv4 프로토콜은 32비트의 주소 공간을 지원하는 프로토콜로 이론상 최대 2의 32승 개의 호스트를 사용할 수 있다. 하지만 인터넷이 급성장함에 따라 이 정도의 주소 크기만으로 엄청나게 많은 호스트를 수용하는 것에는 한계가 생겼다. 따라서 이를 대체하기 위해 호스트의 주소 공간을 대폭 확장한 IPv6 프로토콜이 차세대 프로토콜로 사용되고 있다. IPv6는 IPv4에 비해 다양한 변경이 있었다. 우선 제일 중요한 부분인 주소 공간의 확장이다. 128비트(16바이트)로 확장된 형태이다. 최대 2의 128승 개의 호스트를 지원할 수 있어 확장되는 인터네 접속자를 수용 가능하게 되었다.헤더 구조 또한 단순화 되었다. 불필요한 필드를 제외시키고 옵션에 해당하는 부분.. 2017. 4. 28. 운영체제 14장 - 메모리 관리(1) : 주기억장치(메인 메모리) 개요 - 운영체제 14장- 메모리 관리(1) : 주기억장치(메인 메모리) 개요 - 운영체제의 역할 중에 제일 큰 비중을 차지하는 부분이 프로세스 관리와 메모리 관리이다. 앞의 장들로 프로세스 관리에 대해서 배웠다. 이번 장부터는 메모리 관리에 대해서 학습을 할 것이다. 지금 메모리를 생각하면 반도체인 집적회로 메모리를 생각하게 된다. SRAM은 캐시 메모리에 사용되고 DRAM이 메인 메모리에 사용이 된다. 하지만 이전의 메모리는 한 칩 안에 넣는 것이 아니라 개별적으로 메모리를 가지고 있어서 하나의 메모리에 많은 용량을 넣을 수 없었다. 이러한 형태가 트랜지스터 메모리의 형태이다. 이보다 전의 형태는 진공관 메모리 형태로 크기는 크지만 데이터를 넣을 용량은 더 적은 메모리의 형태이다. 70년대에서는 8bit PC.. 2017. 4. 28. FIDO (생체 인식) FIDO (생체 인식) 요즘 스마트폰을 사용하면서 홍채 인식과 지문 인식을 통해 잠금 화면을 해제하는 모습을 많이 볼 수 있다. 비밀번호를 사용하는 것보다 매우 편리하게 사용할 수 있다. 비밀번호를 사용하면 오래된 번호는 잊어버릴 수도 있다. 비밀번호 찾기를 통해 비밀번호를 찾지만 또 시간이 지나면 잊어버릴 수도 있다. 매우 귀찮은 일이다. 그래서 절대 잊을 수도 없고 타자를 사용하지 않고 쉽게 할 수 있도록 생체 인증을 만들었다. 그게 바로 FIDO 인증 프레임워크이다. FIDO(Fast Identity Online)는 아이디와 비밀번호 조합 대신 지문, 홍채, 얼굴 인식, 목소리, 정맥 등을 활용한 새로운 인증 시스템이다. 사용자를 증명할 수 있고 사용자가 사용하기 편한 도구가 바로 사용자 그 자체의.. 2017. 4. 25. SQL 인젝션 & XSS SQL 인젝션 & XSS SQL 인젝션은 코드 인젝션의 한 기법으로 클라이언트의 입력 값을 조작하여 서버의 데이터베이스를 공격할 수 있는 공격방식을 말한다. 글로벌 콘텐츠 전송 서비스 기업 씨디네트윅스가 발표한 2016년 4분기 웹 공격 분석 보고서에 따르면, 2016년 4분기 웹 공격 취약점 유형에서 26%가 SQL 인젝션으로 나타날 정도로 웹 공격에서 흔하게 발생함을 나타내고 있다. 또한 OWASP에 의한 취약점 Top 10 중에서도 보안 위협 1순위로 SQL 인젝션이 있을 정도로 웹 분야에서 취약적이 부분으로 들어나고 있다. SQL이라고 하는 것은 데이터베이스를 만들고 유지하는 데 사용하는 프로그래밍 언어로 DB를 구축하고 조작하기 위해 사용하는 명령어이다. SQL 질의문을 통해 데이터를 정의, 조.. 2017. 4. 24. 이전 1 ··· 9 10 11 12 13 14 15 ··· 19 다음