사회공학

社會工學, social engineering

1 개요

"기업 정보 보안에 있어서 가장 큰 위협은 컴퓨터 바이러스, 패치가 적용되지 않은 중요한 프로그램이나 잘못 설정된 방화벽이 아니다. 가장 큰 위협은 바로 당신이다." - 케빈 미트닉

사회공학이란 보안학적 측면에서 기술적인 방법이 아닌 사람들 간의 기본적인 신뢰를 기반으로 사람을 속여 비밀 정보를 획득하는 기법, 인간 상호 작용의 깊은 신뢰를 바탕으로 사람들을 속여 정상 보안 절차를 깨트리기 위한 비기술적 침입 수단이다. 즉 첩보의 한 분야가 학술적으로 정립된 것이라고도 할 수 있다. 사기꾼들조차도 불법이라는 점을 빼면 사회공학과 유사한 기술을 사용한다.

즉, 인간의 신뢰를 이용하는 방법으로 진화한 해킹의 한 갈래이다. 고도의 컴퓨터 기술을 필요로 하는 다른 해킹의 분야와 달리 사회공학은 인간의 심리를 이용하는 경우가 많다. 필연적으로 사회공학만을 사용하기보다는 다른 해킹의 분야와 같이 사용되는 경우가 많다. 사회공학이라는 단어는 컴퓨터가 존재하기 이전부터 존재했을 정도로 유서가 깊다. 그 특성 상 해킹이 아닌 다른 인간의 심리를 다루는 분야와도 관련이 많은 편이다. 고로 일상생활에서도 유용한 기술이다. 우리가 생활에서 흔히 볼 수 있는 사회공학은 대표적으로 스미싱[1] 해킹을 들 수 있다.

사실 아무리 기술적인 보안을 완벽히 하더라도, 물리적이거나 인간적인 부분까지 완벽히 막기는 어렵다. 제 아무리 서버에 고도의 암호화를 했다고 하더라도, 직원을 속여 직원의 계정과 암호를 빼돌리면 답이 없기 때문[2]이다.

2 기법

사회공학의 기법은 인간의 심리 현상 중에서도 신뢰를 이용하는 것에 초점이 맞춰져 있다.

  • 0. 사회공학의 PLAN 설정[3]
밑에서 소개될 사회공학의 기법을 효과적으로 사용하기 위하여 사전에 설정할 필요가 있는 것이다.
1) 출처: 사회공학자가 전달하는 정보나 의사소통의 출처.
2) 채널: 전달하는 수단을 말한다. (예: 이메일, 전화 등)
3) 메시지: 수신자에게 어떤 말을 하려고 하는지 아는 것이다.
4) 수신자: 목표 대상을 말한다.
5) 피드백: 효과적으로 의사소통을 한 다음 목표물에게서 얻고자 하는 것을 말한다.
  • 1. 정보 수집하기
사회공학자의 사고방식은 모든 정보를 의심하는 것이다. 쓰레기통을 뒤지거나 파쇄된 문서를 짜 맞춘다던지 하는 일반적으로 상상하기 힘든(그렇기 때문에 취약하다.) 모든 방법을 동원해 정보를 수집한다. 이것에는 페이스북, 블로그, 기업의 웹사이트 등에 업로딩된 개인정보를 수집하는 것 또한 포함된다. 예를 들자면 미국의 어떤 웹사이트에서는 이용자가 사진을 올릴 때 사진에 포함된 GPS 위치 정보를 함께 제공하였다. 해커들은 이런 식의 모든 정보를 교묘하게 이용해야만 한다.

한 가지 예를 더 들어보자면 누군가가 회사 근처에서 주인 없는 USB를 주웠다고 가정해보자. 주인을 찾아 주려고 하든 안 하든 보통 열어보려는 심리가 있다. 일반인이라면 이것이 해킹 수법이라는 생각을 안 하기 때문이다. 특히 회사 근처에서 주웠기 때문에 회사 컴퓨터에 꽂아서 열어보려는 심리가 있다. 그런데 만약 이 USB가 해킹 툴로 가득한 USB였다면 어떻게 될까? 당장 그 순간부터 그 컴퓨터는 해커의 노예가 되어서 해커는 회사 네트워크를 해당 컴퓨터를 통해 접근을 할 것이다. 이런 수법을 쓸 경우 회사 앞이나 회사 화장실 등에 해킹 툴을 설치한 USB를 뿌린다. "해커가 겨우 우리 회사 하나 노리려고 가짜 USB를 뿌려 가면서 해킹하려고 노력할 일이 없으니 말이 되지 않는다"라고 할 수 있지만, 상대방이 외국 정보기관 정도 되면 5~10억원 정도 들이면 도청 감청용 소프트웨어를 살 수 있다.

  • 2. 의사소통
의사소통의 목적은 의사소통을 통해 수집한 적은 정보를 더 큰 정보로 바꾸기 위함이다. 우리가 기존에 가지고 있는 정보를 제시함으로서 상대의 신뢰를 얻는 것이다. 이 때 대부분 의사소통을 이용해 상대방의 대한 정보량을 늘리게 된다. 이 때 수집한 정보를 이용해 신뢰성을 주는 것이다.

예를 들어서, 사회공학자가 택배 용지가 붙은 박스에서 타겟의 전화번호와 이름을 알게 되었다고 가정해보자. 상대의 휴대폰 고지서를 통해 통신사를 알게 된 사회공학자는 상대방에게 전화번호로 전화를 걸어서 "고객님 저희는 S통신사 입니다." 하며 전화를 걸어 수집한 정보를 이용해 신뢰를 주고 "죄송하지만 고객님의 정보 오류가 개인정보 수정에 해당되는 사안이라 주민번호를 눌러주세요." 라는 등의 행위를 할 수 있게 되는 것이다. 이렇게 더 많은 정보를 얻어내는 것이 의사소통의 역할이다.

  • 의사소통의 네 가지 원리[4]
1. 상대방이 자신과 같은 사고방식을 가지고 있다고 가정하지 마라.
2. 상대방이 자신의 유도한 방향대로만 해석할 것이라고 생각하지 마라.
3. 의사소통에 참여하는 사람이 많을수록 가치관과 해석하는 방향이 다르다는 것을 기억하라.
4. 의사소통은 몸짓, 문자, 이모티콘 등도 의사소통의 한 분야임으로 말로 전달하는 것만 의사소통이라고 생각하지 말라.
  • 섀넌 위버 모델의 핵심
1. 메시지가 얼마나 정확하게 전송될 수 있는가?
2. 의미가 얼마나 정확하게 전달되는가?
3. 수신 된 의미가 행동에 얼마나 효과적으로 영향을 미치는가?
  • 3. 도출

특정한 결론이나 행동을 이끌어내는 행위를 말한다. 기술적인 내용은 추가바람.

  • 4. 프리텍스팅

목표물을 설득해 정보를 누설하거나 특정한 행위를 하게 만드는 행위를 일컫는다. 단순히 거짓말을 하는 것 이상의 의미를 지닌다. 완전히 새로운 누군가로 위장하는 것 역시 이곳에 포함된다. 기술적인 내용은 추가바람.

2.1 사회공학 사이클

사회공학적 공격으로 유명한 케빈 미트닉(Mitnick, Kevin D)은 사회공학적 공격을 총 4단계로 분류하였다.[5]

  • 1단계(research): 공격자는 목표 기업의 사내 보안 규정에 휴대용 저장 매체(ex: USB 메모리) 보안에 관련된 사항이 없으며 USB 메모리 사용에 대한 규정이 없다는 것을 발견하였다.
  • 2단계(developing trust): 공격자는 최근에 나온 USB 3.0 메모리를 구매한 후 백도어를 생성하는 악성 코드를 삽입한다. 공격자는 USB 3.0 메모리를 퇴근 시간에 목표 회사의 현관에 떨어뜨려 놓는다.
  • 3단계(exploting trust): 보안 교육을 제대로 받지 않은 신입 사원이 마침 업무에 필요한 USB 3.0 메모리를 발견하고 호기심과 함께 자신의 업무용 컴퓨터에 연결을 해 본다. 컴퓨터가 USB 3.0 메모리를 인식함과 동시에 해당 컴퓨터에는 백도어가 자동으로 설치 된다.
  • 4단계(utilizing trust): 공격자는 백도어가 설치된 컴퓨터에 수시로 접속하여 정보를 빼내거나 사내 네트워크에 접속하여 또 다른 취약점이 있는지 확인한다.

3 세부적인 공격 유형

각 숫자의 경우 유형을 말합니다. 예를 들어 Person-Person 항목의 경우 교차하여 6가지의 유형이 됩니다.

  • Person-Person
1. Real Person Impersonation / Fake Person Impersonation
2. Pretexting / Reverse Social or Quid pro quo / Tailgating
  • Person-Person via Media
    • Text
      • Phishing
      • SMSishing
      • CSRF
      • Malware
        • Email
        • Popups
        • SEP
        • Social Networks
    • Voice
      • Vishing
    • Video

4 다른 분야와의 연계

심리학, 사회학, 신경 언어 프로그래밍(NLP), 프레이밍 등 사회공학 기술에 접목하기 쉬운 분야들과의 연계가 활발한 편이다. 또한 이것들이 사회공학 기술에 많은 영향을 주었다고 알려져 있고, 사회공학자들 역시 적극적으로 수용하여 사회공학과 같이 사용하고 있다고 한다.

5 사례

6 인물

  1. 문자메시지(SMS)와 피싱(Phishing)의 합성어로 '무료쿠폰 제공', '돌잔치 초대장' 등을 내용으로 하는 문자 메시지 내 인터넷 주소를 클릭하면 악성 코드가 설치되어 피해자가 모르는 사이에 소액 결제 피해 발생 또는 개인·금융정보를 탈취하는 수법.
  2. 물론 이것도 대처법은 있다.
  3. http://blog.naver.com/nagada2002/120201321937 에서 발췌. 다만 위 블로그 역시 '사회공학과 휴먼 해킹, 크리스토퍼 해드네기 저' 책을 참고한 것으로 보인다. 이 이외에도 사회공학적 기술이 많은 것으로 추정되니 관련 지식이 있는 위키니트께서는 추가 부탁드립니다.
  4. 이 원리는 내가 말한 의도가 상대방에게 왜곡되지 않고 전달되게 하기 위해 필요하다. 불필요한 오해를 방지하기 위한 용도다. 또한 더욱 신뢰감을 줄 수 있기도 하다.
  5. http://blog.naver.com/isacastudent/150187546768 에서 발췌.