ETC/Security

    [정보보호개론] 웹 주요 취약점

    국제웹보안표준기구에서는 각 분야별 주요 취약점들을 발표하고 있습니다. 그 중 몇 가지 리스트로 작성해보면 아래와 같습니다. 1. Injection클라이언트의 요청을 처리하기 위해 전달받은 인수에 특정 명령을 실행하는 코드를 포함시켜 공격하는 방법입니다. 이런 Injection 공격은 SQL, OS, LDAP 등 웹을 통해 명령을 전달하는 어떠한 경우에도 적용될 수 있습니다. 이를 필터링 하는 방법등을 준비해 놓지 않는다면 문제가 발생할 수 있습니다. 2. 인증 및 세션 관리 취약점 (Broken Authentication and Session Management)인증이나 세션 기능이 미흡하다면 공격자가 허가되지 않은 여러 서비스에 접근하고 사용할 수 있습니다. 가장 대표적인 문제로 패스워드 설정으로서 패..

    [정보보호개론] Session Hijacking 공격

    세션 하이재킹 공격은 세션을 가로채서 공격하는 방법입니다. 세션은 사용자와 컴퓨터 또는 컴퓨터 간 연결상태가 활성화 된 상태를 위해 사용하는 방법입니다. 클라이언트-서버 간 연결되어 있거나 사용자가 특정 컴퓨터에 로그인되어 있는 상태들을 말합니다. 이러한 세션을 가로채서 공격하는 방법입니다. 이 중 TCP 세션 하이재킹의 경우 공격자가 공격대상자의 세션을 하이재킹함으로서 본인이 세션을 유지하고 있도록 하는 방법입니다. TCP 세션 하이재킹은 TCP가 가진 고유한 취약점을 이용하게 됩니다. TCP는 클라이언트-서버간 통신 시 패킷의 연속성을 보장하기 위해 시퀀스 넘버를 사용합니다. 각 패킷에 번호를 붙여 패킷의 순서를 알 수 있도록 하는 것이죠. 클라이언트, 서버에 잘못된 시퀀스 넘버를 전달함으로서 연결된..

    [정보보호개론] 스푸핑 공격 (Spoofing)

    스푸핑 공격 (Spoofing) 스푸핑 공격 방법에 대해 정리해보겠습니다. 스푸핑(Spoofing)은 '속이다'라는 의미를 가지고 있는 단어입니다. 공격자가 공격대상을 속여서 공격하는 방법이겠네요. 시스템이 잘못된 정보를 올바른 정보로 속여서 받아들일 수 있도록 함으로서 공격하는걸까요? 자세한 건 공격 방법들을 살펴보며 정리해보겠습니다. ARP 스푸핑 공격ARP는 IP 주소를 이용해 MAC 주소를 알아내기 위한 프로토콜입니다. 반대로 RARP는 MAC 주소로 IP 주소를 알아내기 위한 프로토콜이구요. ARP 스푸핑 공격은 MAC 주소를 속이는 것으로 공격하는 방법입니다. 로컬에서 통신하는 서버와 클라이언트의 IP 주소에 대한 데이터 링크 계층의 MAC 주소를 공격자의 MAC 주소로 속여 클라이언트에서 서..

    [정보보호개론] 스니핑 (Sniffing)

    스니핑 공격 기법 (Sniffing) 스니핑 공격 기법에 대해 정리해보려 합니다. 스니핑 공격은 공격대상에게 직접적으로 공격을 하지 않고 데이터만 몰래 들여다 보는 수동적 공격기법입니다. 간단히 스니핑 공격의 원리를 설명드리면 네트워크에서 송수신 되는 많은 데이터 중 본인에게 맞는 데이터만 보기 위해서 데이터 링크와 네트워크 레이어에서 필터링을 하고 있습니다. MAC 주소와 IP 주소를 확인해서 내 호스트와 맞지 않는 정보는 위 레이어까지 전달하지 않고 아래에서 필터링하게 되는거죠. 이 필터링을 만약 해제하게 된다면 필터링 되지 않고 위 레이어까지 모든 정보들이 전달되고 확인이 가능 할 것 같습니다. 랜 카드에는 프로미스큐어스(Promiscuous) 모드란 녀석을 지원합니다. 이 모드를 이용해서 필터링을..

    [정보보호개론] SSL / TLS

    SSL (Secure Socket Layer) 와 TLS (Transport Layer Security) SSL / TLS는 네트워크 상에서 전송되는 데이터를 암호화 하기 위한 규약입니다. 넷스케이프에서 개발된 SSL 3.0을 기반으로 TLS가 개발되었습니다. 데이터 암호화를 위한 규약은 많이 논의되고 개발되어 왔습니다. Point to Point로 Encryption 적용한 Link Encryption은 보안성은 좋으나 비효율적인 측면이 있었으며 Application Layer에서 암호화를 하는 End to End Encryption는 어플리케이션에서 직접 데이터를 암호화 복호화 함으로서 데이터는 숨길 수 있으나 보내는 이과 받는 이의 정보가 그대로 노출되는 문제가 있으며 웹 측면에서 웹페이지 HTML..

    [정보보호개론] 인증 (Authentication)

    정보보호에서 Authentication, 즉 인증은 매우 중요한 요소입니다. 인증이란 시스템을 위해 또는 시스템에 의해 요청된 신원을 검증하는 과정입니다. 시스템을 사용하거나 정보를 요청하기 위해 매우 필수적인 요소입니다. 인증에는 크게 2가지 과정을 거칩니다.Identification step 보안 시스템을 위해 식별자를 전달하는 과정입니다. 비밀번호를 입력하거나 지문인식기에 손을 가져다 대어 지문이 인식되도록 하는 과정입니다. Verification step 입력된 정보와 시스템의 정보가 일치하는지 확인하는 과정입니다. 이런 인증은 여러 의미로 나뉠 수 있습니다.Something the individual knows 개인이 알고 있는 정보 입니다. 패스워드나 PIN, 아니면 비밀번호를 찾기 위한 질문..

    [정보보호개론] Dos와 DDos (서비스 거부 공격)

    서비스 거부 공격은 네트워크 보안에서 단순한 공격 기법 중 하나입니다. 서비스 거부 공격의 목적은 정보 탈취가 아니라 서비스 방해에 있습니다. 악의적인 요청으로 시스템의 리소스를 소비하게 하여 서비스를 마비시키는 것이죠. 예를 들어 여러분들이 수업시간에 발표를 하고 있는데 발표 중 큰 소리로 계속 떠듬으로서 여러분들의 발표를 다른 사람들이 듣지 못하도록 하는 방식이나 장사를 하는 곳에서 손님이 들어오지 못하게 난동을 부리는 것도 해당할 것 같습니다. 서비스 거부 공격으로 Dos와 DDos에 대해 정리해보겠습니다. 1. Dos (Denial of Service) 1) 취약점 공격형보잉크, 봉크, 티어드롭 공격 (Boink, Bonk, TearDrop Attack) 프로토콜의 오류 제어를 이용한 공격기법입니..

    [정보보호개론] 정보보안의 3가지 속성

    Confidentiality (기밀성) 비인가된 사용자의 정보 접근은 막고 인증된 사용자만이 정보에 접근할 수 있음을 뜻합니다. Confidentiality와 가까운 예로서 암호, 방화벽, 인증 등이 있습니다. Integrity (무결성) 권한을 가진 사용자만이 정보를 변경할 수 있음을 뜻합니다. 예를 들어 각 나라에서 발행하는 지폐는 해당 국가의 기관이 주관하게 될텐데요, 그와 별개로 다른 기관이나 개인이 지폐의 형태나 위조를 하는건 불법입니다. 또는 나의 인스타그램의 사진을 내가 아닌 누군가가 바꿀 수 있다는건 무결성을 잃게된 경우입니다. Availability (가용성) 필요한 시점에 정보에 대한 접근이 가능하도록 하는 것입니다. 요즘 많이 사용하는 삼성페이의 경우에 나의 카드를 등록해서 내가 결제..

    Level 12

    힌트를 확인해 보자 ! gets() 함수의 취약점을 이용하는 문제다. gets() 함수는 입력받는 길이의 제한없이 입력가능하다. 이 때문에 str[256] 크기를 넘어서 데이터를 덮어 씌울 수 있게 된다. 기본적인 버퍼 오버플로우를 이용한 공격을 하라는 문제이다. gdb를 이용하여 attackme를 확인해보자 ! 위의 힌트에서 256byte만큼 char형 배열을 할당하는데, 확인해보니, 264byte만큼 스택에 공간을 할당한다. gcc 버전에 맞춰 dummy 데이터까지 포함된 공간을 할당하게 된다. 스택공간의 주소를 확인해 보자!! 프로그램을 수행하여 AAAA를 입력하였다. 그리고 esp의 위치부터 확인을 해보니 A(아스키코드로 41)이 할당된 위치가 0xbffffa20 이었다. 거기서 264Byte 만..

});