시만텍 “보안 빨간불, 주범은 APT”
by 이지영 | 2011. 09. 20

트위터나 페이스북 같은 소셜네트워크 서비스(SNS)를 이용하는 직장인 A씨는 어느날 자신이 평소 애용하던 음악 서비스와 관련해 e메일을 받았다. A씨는 자신이 평소 이용하는 서비스였기 때문에 의심없이 e메일을 열었다. 그리고 약 3개월 뒤, A씨가 다니는 회사의 고객 정보가 대규모 유출되는 보안 사고가 발생했다.

해커는 음악 서비스 관련 e메일을 위장해 A씨의 컴퓨터에 침입했다. 잠복하면서 때를 기다리던 해커는 적당한 시점에 고객 정보를 대규모 빼내갔다.

이처럼 다소 황당해 보이는 공격들이 실제로 기업에게 발생하고 있다.

9월20일 한국을 내방한 비욘 엥겔하르트 시만텍 아태‧일본지역 전략 세일즈 그룹 부사장은 “과거 개인의 명예를 위해 대규모로 악성코드를 살포하던 해커들의 움직임이 바뀌었다”라며 “최근 2~3년 들어 해커들이 특정 기업을 목표로 삼아 정보를 빼낸 뒤 이 정보로 수익을 얻는 경우가 늘어나고 있다”라고 경고했다.

유출된 정보를 통해 수익을 얻었는지 확인은 안되지만, 해외에서는 룰즈섹과 어노니머스 등 해커 단체들이 FBI, CIA, 소니 등 특정 목표를 지정해 개인정보나 기밀을 유출했다. 비슷한 시기에 국내에서는 옥션, 농협, 현대캐피탈, SK커뮤니케이션즈 등 기업을 노린 해킹 사고도 일어났다.

시만텍에 따르면 이들 모두 차세대 보안위협으로 주목받고 있는 ‘지능적 지속 위협(APT)’ 공격을 당했다.

APT는 표적 공격 중 하나로 특정 기업이나 조직 네트워크에 악의적으로 침투해 기밀정보를 수집해가는 공격이다. 기존 해킹과 달리 불특정 다수가 아닌 특정한 대상을 지정해 공격하며, 오랜 시간 동안 잠복하면서 들키지 않게 정보를 빼내는 게 특징이다.

엥겔하르트 부사장은 “APT는 굉장히 오랜 시간을 들여 남몰래 잠입하는게 특징이기 때문에 심지어 기업은 APT를 당하고 있는지도 모르는 경우도 있다”며 “이 공격은 목표 대상에 대한 선행조사 끝에 이뤄지는 침투, 침투 이후 프로파일링을 통한 전박전인 기업 정보 검색, 정보를 다운로드할 수 있는 새로운 악성코드를 유포해 기밀 수집, 수집한 정보를 몰래 빼내오는 유출 등 4단계를 거친다”라고 설명했다.

APT는 기존 표적 공격처럼 목표로 삼은 기업 관계자에게 몰래 접근한 뒤, 바로 데이터베이스에 접근해서 정보룰 빼내가지 않는다. 오히려 때를 기다리면서 회사 관련한 모든 정보를 천천히 시간을 들여 살펴본다. 그리고 흔적을 남기지 않고 은밀히 활동하면서 회사내 보안서비스를 무력시키고 유유히 정보를 유출해 달아난다. 정보가 유출되는 시점도 바로 드러나지 않는다. 워낙 조심히 흔적을 지우면서 들키지 않게 공격하기 때문에 기업은 기밀이 유출된 사실을 한참 뒤에 알게 될 수도 있다.

이처럼 APT는 기업 입장에서 상당히 골치아픈 보안 공격이다. 엥겔하르트 부사장은 “안타깝게도 요즘 해킹 공격이 거의 APT 위주로 되어 있다”라며 “시만텍 분석에 따르면 이 공격은 앞으로 더 폭넓게 활용될 것으로 보인다”라고 말했다.

그렇다면 기업이 이런 공격을 방어할 방법은 없을까. 엥겔하르트 부사장은 “시만텍은 ‘정보 중심의 보안 전략’을 통해 APT 같은 공격에 대해 대비하고 있다”라고 소개했다.

시만텍이 소개한 ‘정보 중심의 보안 전략’은 보호해야 할 중요 정보가 어디에 저장돼 있고, 누가 접근을 허락해줘야 하며, 어떤 정보를 더 중요시 생각해서 보호해야 하는지 등을 분석하고 파악해 대비하는 것을 뼈대로 두고 있다. 기존 보안 체계가 서버나 데이터센터 보안 등 물리적인 관점에 치중했다면, 이제는 보호해야 할 대상 자체에 대한 분석을 통해 유기적으로 대응하겠다는 전략인 것이다.

엥겔하르트 부사장은 “물론 인프라 보안도 매우 중요하다”라며 “동시에 이제는 정보가 어디로 어떻게 흘러나가는지, 유출되면 안되는 정보에는 무엇이 있는지 중요도를 정확히 분석해 대응하는 것이 필요한 때”라고 강조했다.

출처 -  http://www.bloter.net/archives/76411

'Security > Common' 카테고리의 다른 글

CISSP에서 도구  (0) 2011.11.10
암호학(Cryptography) 의 모든 것  (0) 2011.10.06
API Gateway 사례로 본 HMAC 인증 이해  (0) 2011.10.01
커버로스 (Kerberos)  (0) 2011.09.23
Hash and MAC  (0) 2011.09.18
Posted by linuxism
,
Java의 두 가지의 데이터 타입(기본 타입, 참조 타입)에 대해 알아보자.


1. 기본 타입(Primitive Type)

   - 기본 타입 int, double 변수에 값이 들어가는 타입이다.

   - 기본 타입의 종류는 byte, short, char, int ,float, double, boolean이 있다.

   - 기본 타입의 크기가 작고 고정적이기 때문에 메모리의 Stack에 저장이 된다.

   - ex : int a = 1

            long = 30L 

            double = 33.14

            float = 20.14F

   - 변수가 사용된 메소드가 종료되거나 사용된 객체가 사라질때 자동으로 파괴된다.


2. 참조 타입(Reference Type)

    - new 키워드를 이용하여 객체를 생성하여 데이터가 생성된 주소를 참조하는 타입이다.

    - 참조 타입의 데이터의 크기가 가변적이고 동적이기 때문에 동적으로 관리되는 Heap영역에 저장이 된다.

    - String과 배열은 참조타입과 달리 new 없이 생성이 가능하지만 기본타입이 아닌 참조타입이다.

    - ex : Object object = new Object();

             Dog dog = new Dog();

    - 더 이상 참조하는 변수가 없을 때 가비지 콜렉션에 의해 파괴된다.


추가적으로 기본 타입과 참조 타입 변환을 도와주는 랩퍼 클래스와 오토박싱에 대해 알아보자.


* 랩퍼 클래스 

  - 기본 타입을 참조 타입으로 바꿔주는 클래스를 랩퍼클래스(wrapper) 클래스라고 한다.

  - 기본 타입을 참조 타입으로 바꾸면 데이터를 가공 하는 있는 메소드를 사용 할 수 있다.

     예를 들어 int를 랩퍼 클래스 Integer로 바꾸면 int 값과 편리한 여러 메소드를 같이 쓸 수 있다.  

  - 자바 1.4버전까지는 랩퍼클래스를 제공했다. 자바 5부터는 Autoboxing(Boxing, Unboxing)을 제공한다.


<기본 타입과 랩퍼 클래스>  

  - ex : int i = 10;

           Integer integer = new Integer(i); //wrapper class 생성

           int j = integer.intValue();

 


 

 * 오토박싱(Autoboxing)

 

   - 자바 5에 추가된 기능이다. 자동으로 기본 타입을 참조 타입으로 만들어준다.

   - 기존 래퍼 클래스를 이용시 형변환 작업을 반복적으로 해주었지만 오토박싱으로 통해 자동으로 형변환을 해준다.

   - ex :  int i = 10;

             Integer integer = i; //Boxing

             int j = integer;      //Unboxing

   

   - ex : 

    public class Autoboxing {

             public static void main(String[] args) { 

                 ArrayList<Integer> list = new ArrayList<Integer>(); 

                 for(int i = 0; i < 10; i++){ 

                     list.add(i);

                 }

             } 

        }




출처 - http://cafe.naver.com/javacircle/58853 


Posted by linuxism
,

커버로스 (Kerberos)

 

커버로스는 사용자의 인증을 위한 대표적인 메커니즘입니다. 현재 네트워크상에서 사용자의 인증을 위해 가장 많이 사용되고 있는 인증 시스템중의 하나라고 할 수 있습니다. 앞으로 더 자세히 살펴 보겠지만, 커버로스 인증 시스템은 앞 절에서 설명한 문구-응답 인증 방법을 부분적으로 사용 하고 있습니다. 그리고 사용자가 서버의 인증을 얻기 위해서 티켓 이라는 인증 값을 사용 합니다.

 

Kerberos MIT에서 네트워크를 기반으로 한 인증시스템을 목적으로 개발 하였습니다. 현재 네트워크의 인증 시스템으로 상용화된 여러 제품 중 많은 수가 이 커버로스를 기반으로 하고 있습니다.

 

Kerberos Project Athena에 의해 개발된 네트워크 인증 시스템입니다.  Kerberos라는 말은 그리스 신화에서 유래한 것으로서 그 뜻은 "Three-headed hound from Hell 지옥에서 온 머리가 3개 달린 경비견 입니다. 만화나 동화책 등에서 자주 나온 괴물? 이죠.

 

 

[그림 6-018.tif] Kerberos 이미지

 

철저하게 네트워크로부터의 여러 가지 위험에서 보안을 지킨다 라는 뜻을 담고 있겠죠.

그럼 이제 커버로스 인증 메커니즘에 관해 알아 보겠습니다.

 

커버로스 인증 메커니즘에는 네 가지 종류의 개체가 등장 합니다. 각 개체와 그 역할은 다음과 같습니다. 일단은 이해하기 어려워도 네 가지 개체가 있다는 것만 알아 두시길 바랍니다. 

 

l        클라이언트 : 인증을 얻길 원하는 사용자의 컴퓨터 입니다.

l        서버 : 클라이언트가 접속 하려고 하는 컴퓨터 입니다. 클라이언트가 서버에 접속 하려면 인증이 필요 합니다.

l        인증 서버 : 클라이언트를 인증 하는 컴퓨터 입니다.

l        티켓 발급 서버 : 인증 값인 티켓을 클라이언트에게 발급 해 주는 컴퓨터입니다.

 

보통의 커버로스 환경은 위에 설명한 네 가지의 개체들로 이루어져 있습니다.  보통 여러 개의 클라이언트와 서버가 존재 하며 한 개의 인증 서버와 티켓 발급 서버로 구성 되어 있습니다.

 

간단히 개체간의 역할을 설명 하면, 클라이언트는 서버에 접속 하기 위해 인증 서버로부터 인증을 얻습니다. 클라이언트는 인증 서버로부터 인증을 얻기 위해 패스워드를 사용하여 인증 서버에 자신을 인증 합니다. 인증 서버는 인증된 클라이언트에게 티켓 발급 서버로부터 티켓을 발행 받는 것을 허락 합니다. 티켓 발급 서버는 인증된 클라이언트에게 티켓을 발급 하고, 클라이언트는 이 티켓을 사용하여 서버에 접속 하게 됩니다. 서버는 티켓을 확인하고 클라이언트를 인증 한 다음 접속을 허락 합니다.

 

 

[그림 6-019.tif] 커버로스 시스템 구조

 

극장의 예를 들어 설명을 해보겠습니다. 요즘에는 인터넷으로 영화 예매가 가능해 졌습니다. 앨리스는 영화를 보기 위해 인터넷으로 영화를 예매 하였습니다. 이때 앨리스가 영화를 예매 했다고 주장 할 수 있는 증거는 인터넷으로 발급된 예매 번호 입니다.  앨리스는 예매 번호를 가지고 극장으로 갑니다. 극장의 매표소 에서는 앨리스의 예매 번호를 보고 앨리스가 인터넷으로 영화를 예매 했다는 인증을 하고, 티켓을 앨리스에게 줍니다. 앨리스는 이 티켓을 가지고 극장 안으로 입장합니다. 극장의 출입구는 티켓을 보고 앨리스를 인증할 수 있으므로 앨리스를 입장 시킵니다.

 

 

[그림 6-020.tif] 극장에 들어 가려면 티켓으로 인증을 받아야 한다

 

위의 예에서 앨리스는 클라이언트로, 예매번호는 앨리스의 패스워드로, 매표소는 인증서버와, 티켓발급 서버로, 극장 티켓은 티켓으로, 극장은 서버로 생각하면 될 것입니다.

 

그럼 티켓에 대해서 좀더 자세히 알아 보도록 하겠습니다.

 

커버로스 시스템의 목적은 인증된 클라이언트 만이 서버에게 접속 할 수 있게 하는 것입니다.  한 커버로스 시스템 에 속해 있는 클라이언트와 서버들의 범위를 영역 (realm) 이라고 합니다.  즉 영역은 커버로스 시스템이 영향력을 가질 수 있는 범위라고 생각 하면 됩니다. 그리고 신임장 (credential) 은 티켓 발급 서버가 클라이언트에게 발급 하는 것으로, 서버에게 제출할 인증 값 입니다. 클라이언트는 이 신임장을 서버에게 보냄으로써 서버에게 인증을 받습니다. 신임장 (credential) 은 티켓 (ticket) 과 인증자 (authenticator)로 구성되어 있습니다. 인증자 (authenticator)는 티켓이 유효 하다는 것을 증명 하기 위해 사용 되는 값으로 부가 정보를 포함 하고 있습니다.

 

티켓에는 다음의 정보들이 들어 있습니다.

 

l        클라이언트가 접속 하기를 원하는 서버의 ID

l        클라이언트의 ID

l        클라이언트의 네트워크 주소

l        티켓의 유효 기간

l        클라이언트와 서버가 서비스 기간 동안 공유하는 세션키

 

영역 안에 있는 클라이언트들은 영역 안의 각 서버에 대하여 권한이 다릅니다. 그리고 클라이언트는 자기의 권한에 따라 서버에 접속할 수 있는 기간이 달라 지게 됩니다. 티켓 에는 유효 기간이 있으므로 서버는 티켓을 접수 한 다음 티켓에 있는 클라이언트의 ID에 해당 하는 클라이언트에 대해서 그 티켓에 있는 유효 기간 동안만 접속을 허용 합니다.

출처 -  http://blog.naver.com/nttkak?Redirect=Log&logNo=20130243666

============================================================================================


커버로스(Kerberos)

 

그리스 신화에서 개의 머리와 뱀의 꼬리를 가진 지옥의 문을 지키는 개의 이름이기도 커버로스(Kerberos)

분산 컴퓨팅 환경에서 대칭키를 이용하여 사용자 인증을 제공하는 중앙 집중형 인증(authentication) 방식으로

원래 MIT Athena 프로젝트에서 개발되었습니다.

 

Kerberos Needham-Schroeder 신뢰할 있는 3 프로토콜에 근거한 모델로서 중앙 인증 서버가 네트워크 상의 모든 실체(entity) 서로 다른 비밀키를 공유하고 비밀키를 알고 있는 것으로 실체의 신원을 증명하며, 특히 패스워드를 네트워크 상에 노출시키지 않도록 합니다.

 

Kerberos 모델

Kerberos 기본 인증 과정

 

Ticket 서버에 서비스를 요청할 사용되며,

Authenticator 서버에 클라이언트를 인증하는 역할과 함께 암호화된 time stamp 재사용 공격(replay attack) 막는 역할.

 

 

■ 커버로스의 장·단점

커버로스의 장·단점은 다음과 같습니다.

장점

► 커버로스는 당사자와 당사자가 인증을 요청하는 서비스 간의 통신 내용을 암호화 키 및 암호 프로세스를 이용하여 보호하기 때문에 데이터의 기밀성과 무결성을 보장할 수 있음

단점

► 커버로스는 모든 당사자와 서비스의 암호화 키를 키 분배 센터에서 가지고 있기 때문에 키 분배 센터가 단일 오류 지점(single point of failure)이 되어 키 분배 센터에 오류가 발생하면 전체 서비스를 사용할 수 없음

► 커버로스 시스템에서는 사용자의 비밀키가 사용자의 워크스테이션에 임시로 저장되기 때문에 사용자의 워크스테이션에 침입하는 침입자에 의하여 유출될 수 있으며, 사용자의 세션키도 사용자의 워크스테이션에 임시로 저장되기 때문에 침입에 취약

► 커버로스는 패스워드 추측(password guessing) 공격에 취약하며, 사용자가 패스워드를 바꾸면 비밀키도 변경해야 하는 번거로움이 있음

 
출처 -  http://blog.naver.com/phishkim?Redirect=Log&logNo=20109109759

==============================================================================================

 

'Security > Common' 카테고리의 다른 글

CISSP에서 도구  (0) 2011.11.10
암호학(Cryptography) 의 모든 것  (0) 2011.10.06
API Gateway 사례로 본 HMAC 인증 이해  (0) 2011.10.01
시만텍 “보안 빨간불, 주범은 APT”  (2) 2011.09.24
Hash and MAC  (0) 2011.09.18
Posted by linuxism
,