1. 개요
"기업 정보 보안에 있어서 가장 큰 위협은 컴퓨터 바이러스, 패치가 적용되지 않은 중요한 프로그램이나 잘못 설정된 방화벽이 아니다.
가장 큰 위협은 바로 당신이다."
("The biggest threat to the security of a company is not a computer virus, an unpatched hole in a key program or a badly installed firewall.
In fact, the biggest threat could be you") - 케빈 미트닉[1]
가장 큰 위협은 바로 당신이다."
("The biggest threat to the security of a company is not a computer virus, an unpatched hole in a key program or a badly installed firewall.
In fact, the biggest threat could be you") - 케빈 미트닉[1]
사회공학(社會工學 / social engineering)이란 보안학적 측면에서 기술적인 방법이 아닌 사람들 간의 기본적인 신뢰를 기반으로 사람을 속여 비밀 정보를 획득하는 기법, 인간 상호 작용의 깊은 신뢰를 바탕으로 사람들을 속여 정상 보안 절차를 깨트리기 위한 비기술적 침입 수단이다. 즉 첩보/해킹의 한 분야가 학술적으로 정립된 것이라고도 할 수 있다.
고도의 컴퓨터 기술을 필요로 하는 다른 해킹의 분야와 달리 사회공학은 인간의 심리를 이용하는 경우가 많다. 필연적으로 사회공학만을 사용하기보다는 다른 해킹의 분야와 같이 사용되는 경우가 많다. 사회공학이라는 단어는 컴퓨터가 존재하기 이전부터 존재했을 정도로 유서가 깊다. 그 특성 상 해킹이 아닌 다른 인간의 심리를 다루는 분야와도 관련이 많은 편이다. 고로 일상생활에서도 유용한 기술이다.
사실 아무리 기술적인 보안을 완벽히 하더라도, 물리적이거나 인간적인 부분까지 완벽히 막기는 어렵다. 제아무리 서버에 고도의 암호화를 했다고 하더라도, 직원을 속여 직원의 계정과 암호를 빼돌리면 답이 없기 때문이다. 회사 내의 아이피에서만 서버에 진입 가능하게 바꾸면 쉽게 막을 수 있지만, 보안을 필요로 하는 서버가 만약 게임 서버 등 외부에서도 접근을 할 수 있어야 하는 서버라면 곤란하다.
컴퓨터 해킹이 아닌 분야에서 사람을 속이거나 정보를 얻어내는 방법에 대해서는 사회공학 문서보다는 심리전, 독심술 문서 참조 바람. 기술정보 외에도 휴민트를 수집하는 FBI나 CIA 같은 정보기관들은 밥 먹고 하는 게 사회"공학"이라 하기 민망할 정도로 자주 하는 첩보기술이긴 하다.
참고로 일본에서의 사회공학(社会工学)이란 경영공학, 금융공학, 정치공학 등을 두루 포함하는 완전히 다른 의미로[2] 대학뿐만 아니라 기업에서도 자주 사용하는 용어이므로 주의할 필요가 있다.
약간 비슷한 의미로 암호학에선 '고무호스 암호분석'이란 용어도 있다. 고무호스로 보안 담당자를 족쳐서(...) 암호를 알아낸다는 뜻.
2. 기법
사회공학의 기법은 인간의 심리 현상 중에서도 신뢰를 이용하는 것에 초점이 맞춰져 있다.- 0. 사회공학의 PLAN 설정[3]
밑에서 소개될 사회공학의 기법을 효과적으로 사용하기 위하여 사전에 설정할 필요가 있는 것이다.
1) 출처: 공격자가 전달하는 정보나 의사소통의 출처.
2) 채널: 전달하는 수단을 말한다. (예: 이메일, 전화 등)
3) 메시지: 수신자에게 어떤 말을 하려고 하는지 아는 것이다.
4) 수신자: 목표 대상을 말한다.
5) 피드백: 효과적으로 의사소통을 한 다음 목표물에게서 얻고자 하는 것을 말한다.
- 1. 정보 수집하기
공격자의 사고방식은 모든 정보를 의심하는 것이다. 쓰레기통을 뒤지거나 파쇄된 문서를 짜 맞춘다든지 하는 일반적으로 상상하기 힘든(그렇기 때문에 취약하다.) 모든 방법을 동원해 정보를 수집한다. 이것에는 페이스북, 블로그, 기업의 웹사이트 등에 업로딩된 개인정보를 수집하는 것 또한 포함된다. 예를 들자면 미국의 어떤 웹사이트에서는 이용자가 사진을 올릴 때 사진에 포함된 GPS 위치 정보를 함께 제공하였다. 공격자는 이런 식의 모든 정보를 교묘하게 이용한다.
- 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단계(exploiting trust): 보안 교육을 제대로 받지 않은 신입 사원이 마침 업무에 필요한 USB 3.0 메모리를 발견하고 호기심과 함께 자신의 업무용 컴퓨터에 연결을 해 본다. 컴퓨터가 USB 3.0 메모리를 인식함과 동시에 해당 컴퓨터에는 백도어가 자동으로 설치된다.
- 4단계(utilizing trust): 공격자는 백도어가 설치된 컴퓨터에 수시로 접속하여 정보를 빼내거나 사내 네트워크에 접속하여 또 다른 취약점이 있는지 확인한다.
3. 세부적인 공격 유형
각 숫자의 경우 유형을 말한다. 예를 들어 Person-Person 항목의 경우 교차하여 6가지의 유형이 된다.3.1. 개인 - 개인
3.1.1. Pretexting
신분을 조작하거나 적당한 시나리오를 꾸며내어 피해자가 제 발로 가해자가 원하는 행동을 하게 만들기. 이때 상대가 가상의 인물을 의심할 때 쓰이는 정보들을 최대한 많이 알아내어야 유리하다.- 모델 회사를 창업하는 것으로 가장: 면접을 위한 자기소개서를 홈페이지상에서 단계 별로 요구한다는 식의 방법으로 여성들의 나체 사진을 획득했다.
- 입사지원서를 통한 가상화폐 거래소 해킹: 인사팀으로 입사지원서를 보내고 첨부파일에 악성코드를 심어놓는다. 특히 파일을 열어보게 만들 마음으로 본문에 예쁜 여성의 사진을 첨부하면서 지원자라고 속인다.
- 잘못 보낸 중요한 이메일로 가장: 첨부파일에 송장 (invoice) 등의 이름을 붙여놓는다. 피해자는 모르는 사람이 보낸 이메일이기는 하지만 어떤 중요한 내용이 있을까 궁금해져서 첨부파일을 열어본다. 이를 통해 악성코드에 감염되어 백도어가 열린다.
3.1.2. Tailgating, Piggybacking
직원이 문 열고 들어갈 때 자연스럽게 뒤따라 들어가기.- 공시생 성적조작 사건: 침입자는 외출-외박 복귀하는 청사 경비 의경 3~4명 뒤를 따라 정부서울청사 후문에 아무 제지 받지 않고 침입하는 데 성공하고, 1층 체력단련실의 샤워실 옆 라커룸에서 공무원 출입증을 훔치는 데도 성공했다. 이 출입증으로 침입한 후 정부서울청사 내부의 컴퓨터에 로그인해 성적을 조작했다.
3.1.3. Quid Pro Quo
- IT 지원을 가장하는 경우: 회사의 전화번호마다 수십 번 수백 번 전화를 건다. "여기는 컴퓨터 지원부서인데 IT 도움이 필요하다는 연락을 받고 전화드리게 되었다." 수십 번 전화하다 보면 한 명 정도는 실제로 이런 상황에 처한 사람이 받기도 한다. "프로그램 재설치를 위해서는 회사 전산 시스템에 접속해야 하거든요. 아 이거 잘 안 되네. 아이디랑 패스워드 좀 줘보세요." [6]
3.2. 각종 매체를 이용한 전자적 수법
- Text
- Phishing
- SMSishing
- CSRF
- Malware
- Popups
- SEP
- Social Networks
- Voice
- Vishing
- Video
3.2.1. 피싱
- Phishing
- 이름, 주소, 주민등록번호 등 개인을 식별할 수 있는 개인정보를 요구한다.
- 단축된 도메인을 사용하거나 합법적인 사이트에서 리다이렉트 연결하는 것으로 속인다.
- 공포감이나 위협을 불러올 만한 긴급상황을 가장한다. 그러면 피해자는 어디 물어보지 않고 즉각적으로 행동하기 때문이다.
- 실제 공공기관이나 금융기관 등 믿을만한 홈페이지를 만들 때만큼 예산을 투입하지 않으니만큼 맞춤법 오류가 많은 편이다.
- 휴대폰에 특정 앱을 설치하라고 요구한다. 설치되면 휴대폰 안의 개인정보를 빼갈 수 있다.
- 접근 수법
- 스미싱(SMS + Phishing): '무료쿠폰 제공, 돌잔치 초대장' 등을 내용으로 하는 문자 메시지 내 인터넷 주소를 클릭하면 악성 코드가 설치되어 피해자가 모르는 사이에 소액 결제 피해 발생 또는 개인·금융정보를 탈취하는 수법.
- 보이스피싱: 전화 이용
3.2.1.1. Spear Phishing
불특정 다수에게 무작정 메시지를 뿌리는 것이 아니라 개인, 어떤 조직의 특정인물, 특정 조직만을 찍어 사기를 친다. 과거에는 이런 사기를 당하는 사람들이 정보기관이나 군인이었지만, 오늘날에는 기업체를 크게 털어먹는 것은 물론이고 몇백만원짜리 보이스피싱도 스피어 피싱의 요소를 갖추고 있다.LG화학의 사례가 있다. 사우디아라비아 아람코의 자회사 아람코프로덕트트레이딩의 납품대금 계좌가 변경됐다는 가짜 이메일을 받고, 허위 계좌로 240억원을 보냈다. 거래 계좌가 변경됐다는 이메일을 받은 LG화학의 담당자는 이메일에 나와 있는 전화번호로 통화를 했고, 서류까지 주고받아 확인한 뒤 별다른 의심없이 변경 계좌에 240억원을 송금했다. 이런 사기를 방지하기 위해서 은행에 명의와 계좌가 일치할 때만 송금하도록 조건부 송금요청을 하는데 은행에서 이런 부분이 지켜지지 않았다. 아마도 사우디 아람코, 계좌 송금은행, LG화학 세 군데 중 하나의 보안이 뚫렸을 것으로 생각되고 있다.
3.2.2. Baiting
공짜 영화 다운로드, 공짜 포르노 등을 걸어놓고 프로그램 설치, 금융결제 등을 유도한 뒤 개인정보를 털어먹는 것.3.3. 불특정 다수에 대한 물리적 수법
- Baiting: 회사에 방문객으로 위장해 들어가 USB를 떨어뜨려놓고 직원이 주워가기를 기다리기.
누군가가 회사 근처에서 주인 없는 USB를 주웠다고 가정해보자. 주인을 찾아 주려고 하든 안 하든 보통 열어보려는 심리가 있다. 일반인이라면 이것이 해킹 수법이라는 생각을 안 하기 때문이다. 특히 회사 근처에서 주웠기 때문에 회사 컴퓨터에 꽂아서 열어보려는 심리가 있다. 그런데 만약 이 USB가 해킹 툴로 가득한 USB였다면 어떻게 될까? 당장 그 순간부터 그 컴퓨터는 해커의 노예가 되어서 해커는 회사 네트워크를 해당 컴퓨터를 통해 접근을 할 것이다. 이런 수법을 쓸 경우 회사 앞이나 회사 화장실 등에 해킹 툴을 설치한 USB를 뿌린다. "해커가 겨우 우리 회사 하나 노리려고 가짜 USB를 뿌려가면서 해킹하려고 노력할 일이 없으니 말이 되지 않는다"라고 할 수 있지만, 상대방이 외국 정보기관 정도 되면 10억원 정도 들여서 도청 감청용 소프트웨어를 사기도 하는 세상이다. 그 돈이면 USB를 50만개쯤 뿌리는 것도 자유롭다.
4. 다른 분야와의 연계
심리학, 사회학, 신경 언어 프로그래밍(NLP), 프레이밍 등 사회공학 기술에 접목하기 쉬운 분야들과의 연계가 활발한 편이다. 또한 이것들이 사회공학 기술에 많은 영향을 주었다고 알려져 있고, 공격자들 역시 적극적으로 수용하여 사회공학과 같이 사용하고 있다고 한다. 예를 들어 여자, 어린이, 강아지 등을 사회공학 수법에 접목하면 외모지상주의 면이나 언더독 효과를 이용해 의심을 적게 살 수 있다. 미인계나 연애사기도 그렇고, 위에 설명된 각종 피싱에서 미인 지원자의 입사 자기소개서 같은 수단으로 해킹툴을 설치하는 것도 그렇다.5. 사례
5.1. 실제
- 당신뿐 아니라 은행까지 속인다 - 시사저널 13.04.10.
- 온라인 카페 답글 달렸다고 클릭했다간…'스미싱 주의보' - 매일경제 14.02.18.
- 사회공학적 기법과 악성파일의 꼼수 - 디지털타임스 12.12.19.
- 사회공학 기법의 사용 예와 예방 방법 - 블로그 포스팅. 전문적인 내용이다.
- GTA6 개발 초기 영상 유출 사건
- 러브 바이러스
- 아이클라우드 유명 연예인 사생활 사진 유출 사건
- n번방 사건[7]
5.2. 가상
- 악마판사(드라마): 에피소드 10화에서 강엘리야가 가온과 수현이 건물 안으로 들어가는 것을 돕기 위해, 건물의 보안업체에게 전화를 걸어 건물에 갇힌 사람처럼 직원을 속인 뒤 출입문을 해제하는 장면[8]이 나온다.
6. 인물
[1] http://news.bbc.co.uk/2/hi/technology/2320121.stm[2] 한국의 산업공학과도 전혀 맞아떨어지지 않는다. 사회과학만큼 상당히 포괄적인 개념으로 쓰인다. 공학계의 무인양품[3] 블로그 에서 발췌. 다만 위 블로그 역시 '사회공학과 휴먼 해킹, 크리스토퍼 해드네기 저' 책을 참고한 것으로 보인다.[4] 이 원리는 내가 말한 의도가 상대방에게 왜곡되지 않고 전달되게 하기 위해 필요하다. 불필요한 오해를 방지하기 위한 용도다. 또한 더욱 신뢰감을 줄 수 있기도 하다.[5] http://blog.naver.com/isacastudent/150187546768 에서 발췌.[6] 집에서 따라하진 않는 것을 추천한다. 회사 직원들이 제아무리 멍청해도 확인 한 번 없이 비번을 줄 리가 없다.[7] 문형욱의 n번방의 피해자 정보를 취득히는 방법은 Pishing이며, 박사방은 Pretexting에 가깝다.[8] 가온과 수현은 엘리야가 일반적인 해킹을 통해 문을 연 것으로 착각하지만, 엘리야는 "해킹? 일반인들이란.." 이라는 반응을 보인다. 기존 드라마/영화들과는 달리, 비교적 현실적인 연출에 개발자/관련 종사자들의 반응은 꽤나 긍정적인 편.