전체 글 144

ARIA 블록 암호화 알고리즘

우리 회사 제품 개발에 참여하고, CC인증을 받으면서 ARIA암호화 알고리즘에 대해 알게 되었다. 공공기관, 기업 등에 들어가고 있는 보안 장비에 적용되는 암호화 알고리즘은 여러 가지가 있는데, 요새는 우리나라에서 개발한 ARIA알고리즘이 거의 필수로 자리잡고 있다. ARIA라고 구글에 치면,, 제대로 나오는게 없어서-_- 첨에 고생했는데,, "ARIA 암호화 알고리즘" 으로 찾아보니 그나마 좀 검색이 된다. 우선 ARIA는 "Academy, Research Institute, Agency"의 약자로 국가 보안 기술 연구소 주도 하에 학계, 연구소 그리고 정부 (학-연-관)가 공동으로 개발한 암호화 알고리즘이라 할 수 있다. ARIA 알고리즘의 주요 특성은 다음과 같다. 블록 크기 : 128비트 키 크기..

서비스 거부 공격, DoS

Dos공격은 가장 흔한 공격 형태로써 정상적인 사용자가 시스템을 사용하지 못하도록 막는 것이다. 이 공격은 어떤 시스템도 처리 용량에 한계가 있다는 사실을 이용한다. 컴퓨터, 웹 서버, 네트워크 등은 제한된 처리 능력을 갖는데 그 한계를 넘어버리면 시스템은 응답하지 못한다. 즉 시스템을 과부하 상태로 만들어 웹 서버에 접근한 정상적인 사용자들에게 응답하지 못하게 하는 것이 DoS공격이다. 1. TCP SYN Flood 공격 - 해커가 서버 접속이 어떻게 이루어지는지 알고 있을 때 할 수 있는 공격 -클라이언트와 서버가 TCP프로토콜을 사용하여 통신하기 위해서 핸드셰이킹을 통해 세션을 설정하는데, 이 세션을 설정하기 위해 메모리에 있는 작은 버퍼공간이 핸드셰이킹 메세지교환용으로 마련됨 -세션 설정 패킷은 ..

CRLF Injection

CRLF Injection CRLF 는 Carrage Return(CR, ASCII 13, \r) Line Feed(LF, ASCII 10, \n) 을 나타낸다. 이 아스키 코드들은 화면에는 보이지 않지만 윈도우에서 라인의 끝을 알려주기 위해 흔히 사용된다. (리눅스/유닉스 시스템에서는 LF만 개행 문자로 사용한다.) CR과 LF의 조합은 키보드에서 "Enter"키를 눌렀을 때 나타나는데, "Enter" 키는 일반적으로 새로운 라인을 시작하라는 명령어로 알좋� 있다. (개행 문자 입력 키) CRLF Injection 공격은 해커가 시스템에 CRLF 명령을 날릴 때 발생한다. 이런 종류의 공격은 일반적인 운영 체제나 서버 소프트웨어에서 보안 홀이라기 보다는, 어떻게 웹 사이트를 개발하느냐에 따른 기술적인 ..

TLS Handshaking - 알기 쉽게 정리

TLS 에서 Server-Client간 연결 수립 과정을 정리하였다. TLS Handshake 프로토콜에서는 다음 단계들을 거친다. 1. 클라이언트는 서버에게 "Client hello" 메시지를 전달한다. 이때, 클라이언트는 Cipher suits에서 지원하는 랜덤 값을 같이 첨부하여 보낸다. 2. 서버는 "Server hello" 메시지를 클라이언트에게 전송해 준다. 이때 서버도 랜덤 값을 같이 보낸다. 3. 서버는 자신의 인증서를 클라이언트에 보내어 클라이언트가 인증할 수 있도록 한다. 또한 이때, 클라이언트에게 인증서 양식을 요청할 수 있다. 4. 만약 서버가 클라이언트에게 인증서를 요청하였다면, 클라이언트는 인증서를 서버에게 전송한다. 5. 클라이언트는 서버가 준 인증서의 공개키를 가지고 임의의 ..

Backend/Network 2011.05.13

가상 사설망, VPN.

VPN (Virtual Private Network, 가상 사설망) 일반 사설 네트워크에서는 외부로부터의 보안적인 위협이 존재하지 않지만, 이 사설망을 외부에 노출시킬 경우 외부로부터 오는 위협에 쉽게 노출될 수 있다. 한 노드에서 외부망을 통해 다른 특정 네트워크에 정보를 전달할 때, 보안성을 높이기 위해 사용하는 것이 바로 VPN이다. 사용자가 VPN을 사용하게 되면, 비록 외부 망을 거친다고 하더라도 그 사용자의 입장에서는 사설 네트워크를 사용하는 것과 같은 서비스를 제공 받을 수 있다. 그럼 VPN과 일반 사설 망의 차이는 무엇일까?? 일반 사설 망을 사용하게 되면 물론 보안성을 보장받을 수 있지만, 이 사설망 설치로 인한 비용이 발생하게 된다. 하지만 VPN을 사용하면 이러한 문제 없이 보안성을..

대칭키 암호화

자신의 데이터를 암호화 해서 상대방에게 전달하는 방법 중 하나가 대칭키 암호화 이다. 이는 "공유 비밀키 암호화" 라고도 하며, 말 그대로 암호화 및 복호화 하는 키가 대칭인(같은) 키를 사용함을 의미한다. 대칭키 암호화 방식을 사용하는 암호화 알고리즘에는 DES, AES, RC4/5, IDEA .. 등등이 있으며 우리나라 에서 개발한 SEED/ARIA 알고리즘도 대표적인 예라 할 수 있다. 대칭키 암호화에는 다음 2가지 방식이 사용된다. 1. 블록 암호화 블록 암호화는 평문을 일정 길이로 분할하여 이 블록을 암호화 해서 전달하는 방법이다. 물론 복호화 시에도 이 블록들을 각각 복호화 하여 합치면 평문이 완성될 것이다. 예를 들어 128Bit 암호화를 한다고 가정하면, 평문을 다음과 같이 128Bit로 ..

네트워크 공격

네트워크 시스템 상에서는 여러 가지 유형의 공격들이 행해지고 있다. 오늘은 일반적으로 사용되는 네트워크 공격들에 대해서 알아보려 한다. 네트워크 서비스에 대한 불법 접근(보안 시스템 우회) - 접근이 금지 또는 제한된 네트워크에 사용자들이 합법적으로 접근할 수 있도록 한다. - Masquerading : 어떤 사용자가 다른 사용자를 가장하는 것을 의미 불법적인 네트워크 사용 - 업무적인 용도가 아닌 부적절한 용도 또는 개인적인 목적으로 네트워크를 사용 도청 - 네트워크 상에서 오가는 데이터를 불법적으로 가로챈다. 위성이나 무선 인터넷, 휴대폰 등은 도청 공격에 취약성을 가지고 있기에 이 방법으로 쉽게 데이터를 가로챌 수 있다. 서비스 거부 및 다른 서비스 방해 - 네트워크 자원을 고갈시킴으로써 다른 사용..

인증하기-HASH

인증하기- HASH 정보보안에서 처음 기본적으로 배우는 개념중 하나가 "인증" 이다. A가 B에게 어떠한 정보를 보낼 때, 그 정보가 변경되지 않았는지(무결성),A가 B에게 보낸 것이 확실한지 등을 검사하기 위한 방법이 바로 "인증"이라 할 수 있다. 인증을 하기 위해서 HASH, MAC, HMAC 등 여러 가지 방법들이 사용되는데, 오늘은 그중 인증의 가장 기본적인 방식인 HASH에 대해 알아보려 한다. Hash는 특정 키 값 없이 MD5나 SHA-1등의 알고리즘을 이용해 해시값을 생성하여 A가 보내고자 하는 메시지에 이 해시값을 붙여 B에게 전송하는 방법이다. 이 때 B는 메시지가 올바르게 왔는지 확인하기 위해 A가 보낸 데이터를 동일한 알고리즘으로 다시 해시하여 A가 붙인 해시값과 자신이 검사한 해..

ARP

* ARP (Address Resolution Protocol) : ARP는 IP 네트워크 상에서 IP 주소를 물리적인 네트워크 주소로 대응시키기 위해 사용되는 프로토콜 특정 IP에 대응되는 MAC주소를 찾아주기 위한 프로토콜 arp -a 명령어 IP - Mac address 목록. ARP 요청이 올 경우 요청 IP에 대한 Mac address를 전송한 후, 다음번 요청에 더욱 빨리 응답하기 위해 ARP 테이블에 다음과 같이 내용을 저장한다. 목록에서 삭제하기 위해서는 arp -d 옵션을 사용한다. 현재 내 IP (192.168.0.1) 의 MAC Address 는 00-08-9f-5c-5a-9b 임을 알 수 있다.

Backend/Network 2011.05.13

Apach Bench - 아파치 서버 성능 검사 툴

Apache Bench, ab는 아파치 서버의 성능을 검사하는 벤치마킹 도구이다. 다음의 옵션들을 적절히(?) 조합하여 아파치 웹서버에 request를 날릴 수 있다. ab [ -A auth-username:password ] 서버에게 BASIC Authentication 정보를 제공한다. :으로 구분한 사용자명과 암호를 base64 인코딩하여 전송한다. 서버가 정보를 요구하는지 (예를 들어, 401 인증 필요를 보내는지) 관계없이 문자열을 전송한다. [ -c concurrency ] 동시에 요청하는 요청수. 기본적으로 한번에 한 요청만을 보낸다. [ -C cookie-name=value ] 요청에 Cookie: 헤더를 추가한다. 아규먼트는 보통 name=value와 같은 쌍이다. 이 옵션은 여러번 사용..

Backend/Network 2011.05.13