사회공학이란?
인간은 다른 사람을 돕고 싶어하는 성향이 있다. 그것은 우리의 본성이다. 안내원이나 리셉션에서 근무하는 사람이라면 업무의 일부일 수도 있다.
그렇더라도 사회공학(Social Engineering) 공격을 조심하세요. 사회공학이란? 사회공학은 건물, 시스템 및 데이터에 불법적으로 액세스하기 위해 직원을 교묘하게 조작하는 것을 말다.
사회공학은 해킹이다. 하지만 기술적 취약점을 악용하여 네트워크를 해킹하는 것은 아니다. 소셜 엔지니어링은 방어의 유기적 계층인 사람 또는 직원을 해킹하는 것이다.
테코피디아가 설명하는 사회공학
우리 대부분은 비슷한 특성을 공유한다. 직장에서 문제가 생기는 것을 좋아하는 사람은 아무도 없으며, 그런 사람들을 안타깝게 생각한다. 우리는 규칙을 약간 어기거나 잠시 프로토콜을 위반하더라도 문제와 씨름하는 사람들을 돕고 싶어 한다.
문제를 겪고 있는 사람을 좋아하거나 공감하는 경우에는 더욱 그럴 가능성이 높다. 우리는 또한 권위자에게 복종하도록 학습되어 있다. 우리는 도움을 줄 수 있고 기꺼이 동참할 수 있는 사람으로 보여지기를 원한다.
숙련된 공격자는 이러한 모든 특성을 악용하여 사람들이 원하는 것을 하도록 강요할 수 있다. 사람의 심리를 악용하여 경계하지 않는 사람들이 가해자에게 이득이 되는 행동을 하도록 유도하는 것이다.
사회공학 공격은 단 한 번의 전화 통화로 이루어질 수도 있고, 오랜 기간에 걸쳐 서서히 신뢰와 동의를 얻어낼 수도 있다.
이들의 목표는 보안 조치를 통과하거나 보안 조치를 우회하는 것이다.
사회공학은 오래된 현상?
사회 공학은 사기꾼이 존재해 온 만큼 오래 전부터 존재해 왔다. 효과가 있는 기법이 있기 때문에 사이버 위협 공격자들이 이 기법을 채택하여 사용하는 것은 불가피한 일이었다.
친절함이나 돕고자 하는 마음과 같은 사람들의 훌륭한 특성이나 탐욕이나 두려움과 같은 좋지 않은 특성에도 작용한다.
공격자는 아래의 목적을 가질 수 있다.
- 신용카드 또는 기타 금융 정보 수집.
- 사용자 계정 로그인 정보 탈취.
- 키로거와 같은 멀웨어를 설치하여 피해자의 키 입력이 서버로 전송되도록 한다.
- 컴퓨터에 액세스할 수 있는 원격 액세스 소프트웨어를 설치.
- 기업 대상 갈취를 위한 스파이웨어 설치.
- 건물에 물리적으로 접근하여 장치를 심어 멀웨어를 수동으로 설치하거나 하드웨어 도난.
다른 사이버공격과 달리 소셜 엔지니어링 공격은 피해자를 구체적으로 겨냥한다. 이는 피싱 공격이나 포트 스캐닝과 같은 무작위적 공격과는 대조적이다.
사회공학의 사용법
소셜 엔지니어링 공격에는 전화 대화, 이메일, 직접 방문 등이 포함될 수 있다. 공격의 필요에 따라 이러한 기법을 혼합하여 사용하는 경우가 많다.
정찰
공격자는 회사 내에서 표적에 대한 정보를 수집을 수행한다. 이들은 X(이전의 Twitter)와 LinkedIn을 모니터링하고 우위를 점할 수 있는 정보를 찾는다. 소셜 미디어는 양날의 검이다. 전 세계에 방송한 내용이 쉽게 불리하게 작용할 수 있다.
- “고위 직원이 회의에 참석하기 위해 부재중이라는 사실을 알 고 있다” 이런 종류의 정보를 사용해서 취약점을 알아낸다.
- 전화를 걸어 그 사람의 개인비서와 통화해 달라고 요청한다.실제 회의에 대해 이야기하고 있기 때문에 개인비서는 발신자가 사기꾼이라고 의심할 이유가 없다.
- 발신 번호 ID를 ‘스푸핑‘하여 이벤트의 실제 전화번호에서 발신된 것처럼 보이게 한 경우, 착각은 더욱 강력해진다.
- 문제를 제시하고 해결을 위해 도움을 요청한다. “예약 기록은 있지만 보증금이나 결제 기록이 없습니다. 앞으로 10분 안에 이 문제를 해결하지 못하면 큰일날 것 같아요. 제발 도와주셨으면 좋겠어요. 제가 조회할 수 있도록 예약할 때 사용한 신용카드의 세부 정보를 알려주실 수 있을까요?”
전화 공격
때로는 가장 단순한 공격이 가장 효과적인 경우가 많으며 기술 지원은 일반적인 공격 대상이다. 이들의 임무는 문제를 해결하는 것다. 상담원들의 하루 일과는 발신자의 요구를 만족시키고 문제를 해결하는데 전념한다.
1. 신규 입사사 사칭
- 기업들은 종종 LinkedIn이나 Twitter에 이러한 게시물을 올린다. “회사의 새 식구인 신입사원을 환영합니다. 그는 XYZ 팀 등에 합류하게 될 것입니다.“
- 근무 시간 외 기술 지원 팀에 전화를 걸어 자신이 그 사람인 것처럼 가장할 수 있다. 기술 지원팀에 전화를 걸어 이제 막 근무를 시작했지만 집에서는 사무실 시스템에 접근할 수 없다고 말할 수 있다.
- 이 시나리오는 신입 직원에게 종종 문제가 발생하기 때문에 종종 효과가 있다. 신입 사원은 아직 시스템 사용법을 잘 모르기 때문에 질문에 대답하지 못해도 의심하지 않을 것이다. 또한 근무 시간 외이기 때문에 상호 참조하거나 확인할 수 있는 사람이 없다.
- 일반적으로 기술 지원 담당자가 가장 쉽게 할 수 있는 비밀번호 재설정을 수행하고 발신자에게 새 비밀번호를 알려주는 시점까지 대화를 진행한다.
2. 기술 지원팀 악용
- 또 다른 수법은 기술 지원팀에 전화를 걸어 HR 내부 조사팀의 직원인 것처럼 가장하여 민감한 사안에 대해 최대한의 신중함이 필요한 것처럼 행동하는 것이다. 기술 지원 엔지니어가 분명히 들어본 적이 있을 정도로 비즈니스의 고위급 인물을 언급할 것이다.
- “조사 중이라 이유는 말할 수 없지만, 외부 감사자가 들어갈 수 있도록 계정을 즉시 잠그고 새 비밀번호를 설정해야 하는데 안되네요. 사용할 비밀번호는 다음과 같아요.”
- 물론 공격자는 웹사이트의 팀 소개 페이지에서 이름을 고른 것일 뿐이다. 이 수법은 속는 사람이 중요하고 비밀스러운 “큰 일”의 당사자인 것처럼 느끼게 만드는 방식으로 작동합다.
3. 악성 첨부 파일의 배경 스토리 구축
- 마찬가지로 간단한 수법은 기술 지원팀에 전화를 걸어 이메일에 문제가 있다고 설명하는 것이다. 어떤 방법을 사용하든 문제는 남아 있다.
- 개인 이메일을 통해 개발자에게 스크린샷이나 로그 파일을 보내겠다고 제안한다. 물론 이메일에는 문제가 없지만.
- 이메일을 준비하고 기다리던 지원 엔지니어는 이메일을 받자마자 악성 첨부 파일을 즉시 연다. 네트워크에 멀웨어를 성공적으로 설치되었다.
4. 기술 지원 사칭
기술 지원팀으로 가장하여 다른 직원에게 전화를 거는 것도 인기 있는 사기 수법다. 이 사기에는 다양한 변형이 있다.
- 한 가지 방법은 전화를 거는 것이다. 링크드인이나 다른 곳에서 고른 이름을 물어본다. 전화를 받으면 기술 지원팀이나 원격 데이터 센터 또는 이와 유사한 곳에서 왔다고 설명한다.
- “서버의 하드 드라이브 공간을 많이 차지하는 것 같은데, 데이터를 많이 복사하고 있나요?”
- 물론 그 직원은 아니라고 말한다. 기술 지원 개발자는 몇 가지 질문을 더 하고 정신없이 타이핑한 끝에 직원의 계정이 유출되었다는 결론을 내린다. 누군가 회사 데이터를 비축하고 네트워크에서 복사할 준비를 하고 있는 것 같다. 그는 점점 흥분한 목소리로 직원들에게 로그아웃했다가 다시 로그인하도록 유도한다. “아니, 아무것도 변한 게 없어요. 여전히 진행 중이에요.”
- 기술 지원 담당자는 침착함을 유지하려고 애쓰는 듯한 목소리로 직원에게 해당 계정의 모든 프로세스를 강제로 종료할 것이라고 말한다.
- “네, 그렇지만 로그인을 해야해요, 아이디랑 비밀번호를 알려주시겠어요? 네, 이제 로그아웃하세요.”
- “다행히 계정을 완전 삭제할 필요는 없네요, 이제 문제없을겁니다. 감사합니다.” 이제 네트워크에 액세스하는 데 사용할 수 있는 계정이 생겼으니 공격자는 고마울 따름이다.
성공적인 사회공학 공격 예시:
대면 공격
구내에 물리적으로 접근하면 공격자가 보안을 더욱 취약하게 만드는 다양한 작업을 수행할 수 있는 기회를 얻게 된다.
1. 역방향 SSH 터널
방화벽은 일반적으로 트래픽이 들어오는 것보다 네트워크에서 나가는 트래픽을 훨씬 쉽게 차단한다. 방화벽은 국경 경비대 역할을 하며, 대부분의 관심은 국경을 넘어 들어오는 트래픽에 집중된다. 나가는 트래픽은 종종 부차적인 관심사다.
- 라즈베리 파이와 같은 저렴한 단일 보드 컴퓨터로 장치를 만들어 네트워크에 연결하면 서버에 암호화된 발신 연결을 만들 수 있다. 일반적으로 방화벽은 이를 차단하도록 구성되지 않는다.
- 그런 라즈베리 파이에서 이미 설정된 연결을 사용하여 자신이 심은 디바이스에 암호화된 연결을 다시 설정한다. 이를 통해 사용자의 네트워크에 원격으로 액세스할 수 있다. 이를 리버스 SSH 터널이라고 하는 기술이다.
이러한 은밀한 장치는 오래된 노트북 전원 공급 장치나 기타 무해한 장치 안에 숨겨져 대형 프린터와 같은 장비 뒤에 빠르게 연결할 수 있다.
프린터에는 주 전원과 네트워크 포인트가 필요하다. 네트워크 포인트는 일반적으로 전원 포인트와 마찬가지로 쌍으로 프로비저닝된다. 프린터에는 각각 하나씩만 필요하다. 프린터 뒤에는 장치에 필요한 연결과 멋진 숨은 공간이 있다.
2. USB 장치
공격은 단순한 노트북 하나에서 시작될 수도 있다. USB장치의 멀웨어로 네트워크를 감염시킬 수도 있다.
- 커피 머신 근처, 화장실, 빈 책상 위에 멀웨어가 심어진 USB 메모리 스틱을 놓아둘 수 있다. 일반적으로 USB 메모리 스틱에는 여러 개의 키가 부착되어 있다.
- USB 스틱이 발견되면 직원의 머릿속에는 “누가 열쇠를 잊어버렸나?”라는 질문이 아니라 “여기 익명의 USB 스틱이 있네”라는 질문이 떠오른다.
- 약간의 정신적 자세의 전환이 중요하다. 열쇠를 잃어버리는 것은 큰 문제다. 습득자는 열쇠를 주인에게 돌려주고 싶어 한다. 어떻게 찾을 수 있까? USB 내부에 단서가 있을것이라고 생각한다.
- 메모리 스틱에 파일이 있다. PDF나 Word 문서처럼 보일 수 있지만 위장된 멀웨어다. ‘이중화 계획 1단계’와 같이 눈길을 끄는 제목이 있다면 직원이 클릭하지 않는 것은 거의 불가능하다.
- USB 드라이브를 삽입하자마자 프로그램을 자동 실행할 수 있으므로 직원이 아무것도 클릭할 필요도 없다. 하지만 자동 실행이 꺼져 있는 경우(당연히 꺼져 있어야 하는 경우), 거부할 수 없는 제목의 파일을 갖는 것이 일반적인 대체 전략이다.
3. 건물에 접근하기
공격자들은 다양한 종류의 배달원으로 위장하여 수락을 받아냈다. UPS, 미국 우체국 배달원, 꽃 배달원, 오토바이 배달원, 피자 배달원, 도넛 배달원 등이 그 예다. 해충 방제 요원, 건설 노동자, 엘리베이터 서비스 엔지니어로 위장하기도 했다.
- 사무실에 없는 고위직(X 또는 LinkedIn 덕분에)과 미팅을 갖기 위해 도착하는 것은 놀라울 정도로 효과적이다. 물론 그 사람은 상급자다.
- 접수원이 직원에게 전화를 걸었더니 전화를 받지 않는다고 한다. 공격자는 그럴 줄 알았다고 말한다. 그들은 문자로 대화를 나누고 있었고 직원은 이전 회의가 겹칠 것 같다고 말했다.
- “매점에서 기다리라고 하더군요. 시간이 되면 저를 데리러 올 거예요. 누가 어디 있는지 알려주실 수 있나요?”
- 공격자는 다른 사람의 유효한 건물 출입증을 같은 문을 통과하는 수단으로 사용한다. 한 가지 요령은 외부 흡연 구역에서 기다렸다가 대화를 시작하는 것이다. 공격자가 자신을 소개한다. 그리고 대화 상대방의 이름을 알아낸다. 그들이 원하는 것은 이미 대화를 나누고 있는 동안 다른 사람들이 흡연 구역에 도착하는 것이다. 그들은 첫 번째 직원이 건물로 돌아갈 때까지 기다린다. 그리고 그 직원에게 인사하고 이름을 부른다.
- 새로 도착한 직원들은 이 사람이 직원인지 의심조차 하지 않는다. 그는 흡연 구역에서 다른 직원들과 웃고 떠들며 이름을 부르며 이야기를 나누고 있다.
- 그런 다음 새로 도착한 사람들과 대화를 나눈다. 그들은 방금 떠난 사람을 아느냐고 물어보고 그가 좋은 사람이라고 말한다.
- 두 번째 흡연자가 건물로 돌아오면 동행한다. 직원이 코드를 입력하거나 포브 또는 키를 사용하도록 기다린다.
사회공학 공격 방지 방법
우리는 사람을 상대하기 때문에 당연히 교육, 정책 및 절차를 중심으로 방어가 이루어진다.
- 롤플레이 및 팀 리허설: 팀과 함께 절차를 리허설하고, 경험이 풍부하고 선량한 소셜 엔지니어의 역할극 세션 참여를 고려하기.
- 리보안기업 활용, 모의 침투 테스트: 보안 업체는 여기에 설명된 모든 기법과 그 이상의 기법을 사용하여 사용자의 방어를 뚫기 위해 노력할 수 있다. 공격이 성공한 경우 절차를 개선하거나 기존 절차에 더 많은 제어를 적용하여 보안을 더욱 강화하도록 안내할 것이다. 기술적 방어를 조사하는 모의 침투 테스트와 마찬가지로, 사회공학 취약성도 주기적으로 테스트해야 한다. 이를 양성 피싱 캠페인과 결합할 수도 있다.
- USB 보안 조치: USB 장치에 대한 자동 실행을 끄기. 익명의 USB 메모리 스틱은 판도라의 상자처럼 취급하자.
- 네트워크 스캔 및 새 디바이스 식별: 네트워크 스캔을 수행하고 네트워크에 연결된 새 장치를 식별하고 검사한다.
- 로그인 정보: 기술 지원팀이나 다른 사람에게 로그인 자격 증명을 절대 알려주지 말자. 기술 지원팀은 이러한 정보를 절대로 요청하지 않는다. 이러한 유형의 정보를 요구하는 경우 사기일 가능성이 높다.
- 전화 보안: 이전에 제공한 민감한 정보를 묻는 전화를 받으면 전화를 끊고 다시 전화를 거는 것이 가장 안전하다다.
- 방문자 에스코트 정책: 방문객을 혼자 두지 말고 항상 에스코트 하기. 불가할 경우 방문객이 리셉션에서 담당자를 기다리게 하기.
비즈니스에서 보안을 중시하는 문화를 조성하면 큰 성과를 거둘 수 있으며, 이는 다중 보안 접근 방식의 기초가 된다.