사회 공학 기법을 사용하는 공격자는 공격 대상이 되는 특정 인물을 선정하였다면 다음과 같은 흐름으로 사회 공학 기법의 공격을 진행하게 된다.
1) 정보 수집(Information Gathering)
공격자는 제일 먼저 공격 대상과 관련된 가족 관계, 직장 생활 그리고 사회 모임 등의 개인적이거나 사회적인 활동 등과 관련된 다양한 정보들의 수집을 시도하게 된다. 공격자는 이 단계에서 수집한 다양한 정보들을 다음 단계인 관계 형성(Developing Relationship)을 위해서 사용하게 된다. 일반적으로 공격자는 공격 대상과 관련된 정보들을 수집하는 기법들은 다음과 같이 나누어 볼 수 있다.
- 직접적인 접근(Direct Approach)
공격자는 공격 대상 또는 공격 대상과 관련된 사람들에게 직접적으로 접근하여 관련된 정보들을 알아내는 방법을 이야기한다. 이 방법은 공격자가 공격 대상 또는 공격 대상과 관련된 주위 인물들을 직접 방문하여 우회적인 질문을 통하여 공격 대상의 개인적이거나 사회 활동 등과 관련된 다양한 정보들을 파악하는 방식이다.
- 어깨너머로 훔쳐보기(Shoulder Surfing)
공격자는 공격 대상의 주위에서 직접적인 관찰을 통하여 그가 기업 내에서 수행하는 업무 내역과 전화 통화 내역 등을 어깨 너머로 훔쳐보면서 공격 대상과 관련된 정보들을 수집하는 방식이다.
- 휴지통 뒤지기(Dumpster Diving)
공격자는 공격 대상이 가정 또는 직장에서 무심코 버리는 메모지, 영수증 또는 업무 중 생성한 문건 등 공격 대상과 관련된 문서들을 휴지통에서 수거하여 유용한 정보들을 수집하는 방식이다.
- 설문 조사(Mail-outs)
공격자는 공격 대상의 관심을 끌만한 사항을 설문지로 작성한 후 이 설문조사를 통하여 공격 대상의 개인적인 취미, 흥미 사항, 가족 사항과 관련된 개인 정보들과 함께 동호회 활동과 같은 사회적인 활동과 관련된 다양한 정보를 수집하는 방식이다.
- 시스템 분석(Forensic analysis)
공격 대상이 사용하는 컴퓨터 시스템에 공격자는 직접적이거나 간접적인 접근을 통하여 해당 컴퓨터 시스템에 존재하는 공격 대상의 작성한 다양한 문서들 그리고 웹 사이트 방문 기록 등 온라인상에서의 활동과 관련된 다양한 정보들을 수집하는 방식이다.
- 인터넷(Internet)
인터넷에 존재하는 다양한 검색 엔진(Search Engine)을 이용하여 인터넷에 존재하는 공격 대상과 관련된 개인적인 정보 및 사회 활동과 관련된 다양한 정보들을 수집하는 방식이다.
2) 관계 형성(Developing Relationship)
1 단계인 정보 수집 단계에서 공격자는 공격 대상과 관련된 다양한 정보들을 충분히 수집하였다고 판단할 경우, 공격자는 이제 공격 대상과 직접적인 관계를 형성하기 위해 2 단계인 관계 형성(Developing Relationship) 단계로 발전하게 된다.
앞서 이야기한 바와 같이 사회 공학 기법의 인간 기반(Human Based) 또는 컴퓨터 기반(Computer Based)의 수단 들을 공격자는 적절하게 활용하여 공격 대상에게 접근하게 된다. 이 관계 형성 단계에서는 사회 공학 기법에서는 절대 빼놓을 수 없는 가장(假裝, Masquerade)이라는 것이 공격자에 의해 발생하게 된다.
가장(假裝, Masquerade)이라는 의미 자체에서 알 수 있듯이 공격자는 공격 대상에게 자신의 본 모습을 숨기고 다른 누군가로 위장하여 접근하게 된다. 이렇게 다른 누군가로 가장(假裝, Masquerade)하여 공격 대상에게 접근하는 것은 공격 대상이 가질 수 있는 경계심을 없애고 신뢰할 수 있는 사람이라는 신뢰감을 형성하기 위한 것이다. 이 신뢰감을 바탕으로 공격자는 자신이 가진 특수한 목적을 달성하기 위한 사항을 다음 단계인 공격(Exploitation)에서 요청하게 된다.
이 관계 형성 단계에서는 앞서 설명한 바와 같이 공격자는 공격 대상에게 믿을 수 있는 사람이라는 신뢰감을 심어주기 위해서 일반적으로 다음 유형의 인물들로 가장(假裝, Masquerade)하게 된다.
- 중요한 인물(Important User)
공격자는 공격 대상의 직장 상사나 정부 기관의 고위 공무원 등으로 위장한다. 공격 대상은 공격자의 이러한 가장(假裝, Masquerade)으로 인해 그가 요청하는 사항을 쉽게 거부하거나 거절하지 못하게 된다.
- 도움이 필요한 인물(Helpless User)
공격자는 공격 대상의 도움을 절대적으로 필요로 하는 인물로 위장한다. 이로 인해 공격 대상은 자신이 아니면 공격자를 도와 줄 사람이 없음으로 자신이 반듯이 도와주어야만 한다고 생각하게 된다.
- 지원 인물(Support Personnel)
공격자는 공격 대상의 기업 내, 외부의 컴퓨터 시스템 또는 관공서 등의 지원 부서 인물로 위장한다. 이러한 위장으로 인해 공격자는 공격 대상에게 현재 심각한 문제가 있음을 알리고 이를 해결하는데 자신이 도움을 줄 수 있는 인물로 묘사하게 된다.
- 역 사회 공학(Reverse Social Engineering)
앞서 설명한 방식과는 조금 다른 접근 방식인 역 사회 공학이라는 기법이 있다. 가장(假裝, Masquerade)을 이용한 기법에서 공격자는 모두 공격 대상에게 도움을 요청하는 인물들로 위장하는 것이 일반적인 유형이다. 하지만 이 역 사회 공학 기법은 공격자가 공격 대상이 모르게 미리 특정한 문제를 유발시킨 후 공격 대상이 자발적으로 공격자에게 도움을 요청하도록 만드는 기법이다. 이 기법을 통해서 공격자는 공격 대상이 가지고 있는 특정 문제를 해결함으로써 공격 대상에게 공격자 자신을 도움을 준 신뢰할 수 있는 좋은 사람으로 쉽게 판단할 수 있게 만든다.
3) 공격(Exploitation)
세 번째 단계인 공격(Exploitation)은 공격자가 수집한 다양한 정보들을 바탕으로 공격 대상과 충분한 신뢰감을 형성하였다고 판단 할 경우에 진행하게 된다. 특히 이 세 번째 단계로 넘어가기 위해서는 공격자 자신을 공격 대상이 더 이상 의심하지 않는다는 판단이 중요하게 작용하게 된다.
이러한 신뢰 관계가 충분히 형성이 되면 공격자는 자신의 특수한 목적을 이룰 수 있는 사항을 공격이라는 단계에서 공격 대상에게 요청하게 된다. 이 단계에서 공격자는 일반적으로 다음과 같은 형태를 보임으로서 공격 대상으로 하여금 자신이 요청한 사항을 쉽게 거부하지 못하도록 한다.
- 의견 대립 회피
공격자는 공격 대상에게 자신의 특수한 목적을 위한 행동을 요청할 때 공격 대상이 지적하거나 이야기하는 사항 등에 대해서 적절한 동의를 보여 공격 대상과는 다른 의견으로 인해 대립과 충돌이 발생하지 않도록 한다. 그럼으로써 공격자 자신이 요청한 사항에 대해서 공격 대상이 거부를 하지 않고 긍정적으로 수긍할 수 있는 상황을 연출하게 된다.
- 사소한 요청에서 큰 요청으로 발전
공격자는 공격 대상에게 처음부터 자신이 가지고 있는 특수한 목적에 부합하는 사항을 요청하지 않고 공격 대상이 느끼기에 사소한 문제라고 판단되는 작은 사항부터 요청하여 동의를 구하게 된다. 그 이후 점진적으로 큰 요청 사항을 이야기하여 공격 대상이 쉽게 거절하지 못하는 상황을 연출하게 된다.
- 감정에 호소
공격자는 공격 대상에게 자신의 어려운 상황을 이야기함으로써 공격 대상이 측은지심(惻隱之心)과 같은 감정을 느끼도록 만든다. 공격 대상 스스로가 자신이 아니면 공격자의 어려운 문제를 해결 해줄 수 없다는 연민의 감정으로 인해 공격자의 요청 사항을 수락하는 상황을 연출하게 된다.
- 신속한 결정
공격자는 공격 대상에게 자신의 특수한 목적을 수행할 요청 사항을 이야기할 때 의견이 대립되거나 다른 문제가 발생 할 경우, 신속하게 공격 대상과 타협을 하거나 양보를 한다. 공격자는 절대 무리하게 요청 사항을 요구하여 공격 대상과 의견이 대립되는 어려운 상황을 연출하지는 않는다.
4) 실행(Execution)
마지막 실행(Execution) 단계에서 공격 대상은 공격자가 요청한 사항에 대해 직접적인 실행으로 옮김으로써 이로 인해 실질적인 피해가 발생하게 된다. 그리고 공격자는 요청 사항으로 인해 확보한 유형의 또는 무형의 자신을 이용하여 실질적인 목적을 수행할 수 있게 된다. 이렇게 공격자의 요청을 수락하는 공격 대상은 대부분이 다음과 같은 상황으로 기인한다.
- 책임 회피
공격 대상은 공격자의 요청 사항을 수행하지 않을 경우에 자신에게 유형의 또는 무형의 어떠한 책임이 발생하게 될 것으로 생각하게 된다. 이로 인해 공격 대상은 공격자의 요청 사항을 수락하고 실행하게 된다.
- 보상 심리
공격 대상은 공격자의 요청 사항을 수행할 경우 자신에게 유형의 또는 무형의 어떠한 대가를 받게 될 것으로 판단하게 된다. 이로 인해 공격자의 요청 사항을 긍정적으로 수락하고 적극적으로 실행하게 된다.
- 도덕적 의무감
공격 대상은 공격자의 요청 사항을 수행하지 않음으로 인해 스스로의 양심적 가책을 받을 수 있다고 판단하게 된다. 이러한 도덕적 의무감으로 인해 공격자의 요청 사항을 수락하고 도와주게 된다.
- 사소한 문제
공격 대상은 공격자의 요청 사항이 아주 사소한 문제임으로 이를 수락하고 수행하더라도 크게 심각한 문제가 발생하지 않을 것이라고 쉽게 판단하게 된다. 그로 인해 쉽게 공격자의 요청을 수락하고 실행 하게 된다.
[저자] 안철수연구소 ASEC 장영준 주임연구원
[안철수연구소 2007-04-24]
다소 잊고 지냈지만 항상 즐겼던 한마디가 있다..
세상의 모든 일들이 다 이루어지기 위한 전제 조건이 있듯이..
전혀 문제 없는 권한은 치명적 권한을 위한 발판...
'Computer > 속임의 정체' 카테고리의 다른 글
RSA 알고리즘 - 본론 (0) | 2007.02.15 |
---|---|
RSA 알고리즘 - 서론 (10) | 2007.01.11 |