한국어
  • 보안
  • 소셜 엔지니어링
  • 피싱

소셜 엔지니어링

소셜 엔지니어링은 사람들이 기밀 정보를 넘겨주도록 조종하는 기술입니다. 모든 사이버 범죄는 소셜 엔지니어링 공격으로 시작됩니다. 소셜 엔지니어링이 어떻게 작동하는지, 그리고 이로부터 자신을 보호하는 방법을 알아봅시다.

Simeng
Simeng
Developer

소개

사이버 보안에 대해 이야기할 때 대부분의 사람들은 SQL 삽입, 크로스 사이트 스크립팅, 중간자 공격 또는 악성 소프트웨어와 같은 기술적 공격을 떠올립니다. 그러나 가장 흔하고 효과적인 공격은 종종 기술적인 것이 전혀 아닙니다. 소셜 엔지니어링은 사람들이 기밀 정보를 넘겨주도록 조종하는 기술입니다. 모든 사이버 범죄는 소셜 엔지니어링 공격으로 시작됩니다.

여기 위키백과에서의 정의를 참고하세요:

정보 보안의 맥락에서 소셜 엔지니어링은 사람들을 심리적으로 조종하여 행동을 수행하거나 기밀 정보를 공개하게 만드는 것입니다. 정보 수집, 사기 또는 시스템 접근을 위한 일종의 신뢰 속임수로, 종종 더 복잡한 사기 계획의 여러 단계 중 하나로서 전통적인 "컨"과는 다릅니다.[1] 또한 "사람을 설득하여 그들의 이익에 반할 수도 있는 행동을 하게 하는 모든 행위"로 정의되기도 합니다."

범죄자들이 찾는 정보의 종류는 다양할 수 있지만, 개인이 대상이 되는 경우 범죄자들은 주로 비밀번호, 개인 정보, 또는 컴퓨터에 대한 접근 권한을 얻어 비밀리에 악성 소프트웨어를 설치하려고 합니다. 이렇게 하면 비밀번호 및 은행 정보에 접근할 수 있고, 컴퓨터를 제어할 수 있게 됩니다.

소셜 엔지니어링은 어떻게 작동하나요?

소셜 엔지니어링 공격은 하나 이상의 단계에서 이루어집니다. 대부분의 소셜 엔지니어링 공격은 공격자와 피해자 간의 실제 소통에 의존합니다. 종종 피해자는 여러 명의 공격자로부터 장기간 동안 표적이 되며, 공격은 탐지를 피하기 위해 신중하게 설계됩니다. 성공적인 공격은 다음의 단계를 포함합니다:

  1. 조사: 공격자는 목표물에 대한 정보, 잠재적인 접근 지점 및 약한 보안 프로토콜과 같은 공격을 수행하기 위해 필요한 정보를 수집합니다. 오늘날 세상에서는 온라인에서 사람에 대한 정보를 찾는 것이 매우 쉽습니다. 예를 들어, 소셜 미디어 프로필에서 사람의 이메일 주소, 전화번호, 그리고 심지어 집 주소까지 찾을 수 있습니다. 또한 그들이 어디서 일하는지, 무슨 일을 하는지, 누구와 일하는지도 알 수 있습니다. 이 정보는 다음 단계에서 매우 설득력 있는 피싱 이메일이나 전화 통화를 만드는 데 사용할 수 있습니다.

  2. 후킹: 공격자는 그 정보를 사용하여 피해자가 공격자가 원하는 일을 하도록 유도하는 믿을 수 있는 시나리오를 만듭니다. 예를 들어, 공격자는 은행의 고객 서비스 직원이라고 주장하며 전화로 피해자에게 계정 정보를 확인해 달라고 요청할 수 있습니다. 또는 회사의 직원에게 전화해서 IT 지원 직원이라고 주장하며 그들의 비밀번호를 재설정해 달라고 요청할 수도 있습니다.

  3. 감정 이용: 공격자는 피해자를 즉각적으로 행동하게끔 유도하기 위해 감정을 이용합니다. 예를 들어 공격자는 피해자가 즉시 요청에 응하지 않으면 벌금, 처벌 또는 기소와 같은 위협을 할 수 있습니다. 또는 피해자의 탐욕을 자극해, 그들이 도움을 주면 큰 돈이나 보상을 받을 것이라고 약속할 수도 있습니다.

  4. 실행: 공격자는 공격을 실행하며, 이는 다양한 형태를 취할 수 있습니다. 예를 들어 그들은:

    • 피해자를 속여 컴퓨터에 악성 소프트웨어를 설치하게 할 수 있습니다.
    • 피해자를 속여 이메일이나 전화로 민감한 정보를 공개하게 할 수 있습니다.
    • 피해자를 속여 공격자에게 돈을 송금하게 할 수 있습니다.
    • 피해자가 이메일이나 문자 메시지에서 악성 링크를 클릭하도록 유도할 수 있습니다.

위의 단계는 매우 짧은 시간 안에 이루어질 수도 있고, 몇 주 또는 몇 달에 걸쳐 이루어질 수도 있습니다. 공격자는 한 사람을 표적으로 할 수도 있고, 다수의 사람들을 표적으로 할 수도 있습니다. 연결은 전화, 이메일, 문자 메시지 또는 소셜 미디어 채팅을 통해 이루어질 수 있습니다. 그러나 궁극적으로는 정보 공유나 악성 소프트웨어에 노출되는 등의 행동을 취하게 됩니다.

소셜 엔지니어링 공격의 유형들

많은 유형의 소셜 엔지니어링 공격이 있으며, 각각의 목적과 목표가 있습니다. 여기 가장 흔한 소셜 엔지니어링 공격의 몇 가지 유형이 있습니다:

스팸 피싱

스팸 피싱은 가장 일반적인 소셜 엔지니어링 공격 유형입니다. 이는 공격자가 무작위로 수백만 개의 이메일을 발송하여 그 중 일부가 사기에 걸리기를 기대하는 피싱 공격의 한 형태입니다. 이메일은 보통 가짜 이메일 주소에서 발송되며, 종종 악성 웹사이트로 연결되거나 악성 첨부파일이 포함되어 있습니다. 공격의 목표는 피해자가 링크를 클릭하거나 첨부파일을 열도록 유도하여 컴퓨터에 악성 소프트웨어를 설치하는 것입니다.

사례

당신이 갑자기 받은 이메일이 “당신이 백만 달러의 당첨금을 받았다”며 지금 당장 상금을 청구하라는 선동적인 제목을 가지고 있다고 상상해 보세요. 이메일 제목에는 “1,000,000 달러를 당첨되었다”고 적혀 있으며, 당신이 즉시 상금을 청구해야 한다고 주장합니다.

이메일을 열면 예상치 못한 복권에 당첨되었다는 축하 메시지를 발견합니다. 메시지에는 인생을 바꿀 큰 돈에 관한 과장된 약속이 포함될 수 있습니다. 이메일에는 상금을 청구하기 위한 링크나 연락처 정보가 포함되어 있습니다.

이 이메일은 스팸 피싱 공격의 전형적인 징후를 보여줍니다:

  1. 고의적인 접근: 당신은 복권이나 콘테스트에 참여한 적이 없기 때문에 어떤 상도 받을 이유가 없습니다.

  2. 너무 좋은 것은 사실이 아니다: 명백한 이유 없이 큰 돈을 약속하는 것은 피해자를 유혹하기 위해 사용되는 일반적인 전술입니다.

  3. 긴급한 행동 요청: 이메일은 상금을 청구하기 위해 빠른 행동을 촉구하며 긴박감을 조성할 수 있습니다.

  4. 개인 정보나 돈 요청: 상금을 "청구"하기 위해, 당신은 개인 정보나 수수료를 지불하거나 처리 비용을 충당하기 위해 돈을 송금하라는 요청을 받을 수도 있습니다.

스피어 피싱

스피어 피싱은 특정한 개인 또는 그룹을 타겟으로 하는 피싱 공격 유형입니다. 공격자는 목표에 대해 조사를 한 후 신뢰할 수 있는 출처에서 온 것처럼 보이는 맞춤형 이메일을 발송합니다. 이메일에는 보통 악성 웹사이트로의 링크 또는 악성 첨부파일이 포함되어 있습니다. 공격의 목표는 피해자가 링크를 클릭하거나 첨부파일을 열도록 유도하여 컴퓨터에 악성 소프트웨어를 설치하는 것입니다. 스팸 피싱과 달리, 스피어 피싱 공격은 매우 정교하고 맞춤형으로 이루어지며 성공률이 훨씬 높습니다.

사례

이 스피어 피싱 시나리오에서는, 당신이 동료로부터 온 것처럼 보이는 이메일을 받는다고 가정해 보세요. 이메일 제목은 중요한 보안 공지임을 암시합니다. 스피어 피싱이 일반적인 피싱과 다른 점은 공격자가 특정 개개인을 타겟으로 하고, 종종 타겟에 대한 일부 정보를 가지고 있다는 점입니다.

이메일을 열면 당신의 IT 고문인 찰스가 보낸 것처럼 보이는 메시지가 있습니다. 메일은 전체 이름으로 시작하여, 작업 계정에 대한 보안 침해가 발생했다고 알립니다. 이메일은 계정을 보호하기 위해 링크를 클릭하거나 첨부파일을 다운로드하라는 요청을 합니다. 당신이 링크를 클릭하면 회사 로그인 페이지와 똑같이 보이는 웹사이트로 이동합니다. 당신이 해당 페이지에 사용자 이름과 비밀번호를 입력하면, 공격자가 지금 당신의 계정에 접근할 수 있게 됩니다.

이 이메일은 스피어 피싱 공격의 전형적인 징후를 보여줍니다:

  1. 개인화: 이메일은 전체 이름으로 당신을 부르며, 그럴듯한 모습을 띠고 있습니다.

  2. 긴급함: 메시지는 보안 문제를 해결하려면 즉각적인 조치가 필요하다는 긴박감을 전달합니다.

  3. 행동 요청: 이메일은 링크를 클릭하거나 첨부파일을 다운로드하도록 요청합니다. 이러한 링크나 첨부파일은 종종 악성 소프트웨어나 피싱 사이트를 포함하고 있습니다.

미끼

미끼는 공격자가 피해자의 개인 정보를 얻기 위해 무엇인가 매력적인 것을 제공하는 소셜 엔지니어링 공격 유형입니다. 예를 들어 공격자는 무료 선물 카드나 무료 영화 다운로드를 제공하며 피해자의 이메일 주소를 획득할 수 있습니다. 공격의 목표는 피해자로부터 개인정보를 수집해 신분 도용이나 사기를 저지르는 것입니다. 이는 피해자의 호기심이나 탐욕을 이용합니다.

사례

이 미끼 시나리오에서 공격자들은 커피숍이나 주차장과 같은 공공장소에 USB 드라이브를 남겨둡니다. USB 드라이브에는 "기밀" 또는 "개인용"이라는 라벨이 붙어 있으며, 이를 컴퓨터에 연결하면 컴퓨터에 악성 소프트웨어를 설치하는 프로그램이 포함되어 있습니다. 공격의 목표는 피해자를 속여 USB 드라이브를 컴퓨터에 연결하게 하여 악성 소프트웨어를 설치하는 것입니다.

당신은 USB 드라이브를 컴퓨터에 연결하고 중요한 정보를 발견하기를 기대합니다. 파일의 이름은 "기밀_프로젝트_데이터.csv"입니다. 파일을 열려고 하면 숨겨진 스크립트로 인해 컴퓨터에 악성 소프트웨어가 설치됩니다.

이 미끼 공격에서:

  1. 미끼는 "기밀" 또는 "개인용"이라는 라벨이 붙은 USB 드라이브로, 특히 직장이나 전문적인 환경에서 이를 발견할 경우 매우 유혹적일 수 있습니다.
  2. 호기심 요소: 인간의 호기심을 취약점으로 활용하여 사람들이 평소에는 피할 행동을 취하도록 유도합니다.

워터 홀링

워터 홀링은 공격자가 특정 그룹의 사람들이 방문할 가능성이 높은 웹사이트를 감염시키는 소셜 엔지니어링 공격 유형입니다. 예를 들어, 공격자는 인기 뉴스 웹사이트나 사회적 미디어 사이트를 감염시킬 수 있습니다. 공격의 목표는 피해자가 감염된 웹사이트를 방문하게 유도하여 컴퓨터에 악성 소프트웨어를 설치하는 것입니다.

사례

공격자들은 사이버 보안 전문가로 구성된 커뮤니티를 대표하는 특정 산업 협회의 보안을 침해하고자 합니다. 공격자들의 목표는 민감한 데이터를 훔치고 사이버 보안 전문가들의 시스템에 침투하는 것입니다.

공격자들은 이 커뮤니티가 사용하는 잘 알려진 신뢰할 수 있는 웹사이트를 식별합니다. 이 경우, 그들은 사이버 보안 산업 협회의 공식 웹사이트를 선택합니다. 공격자들은 기술적인 방법을 사용해 웹사이트의 취약점을 파악하고 이를 악용합니다. 예를 들어, SQL 삽입이나 크로스 사이트 스크립팅(XSS)과 같은 방법으로 사이트의 콘텐츠 관리 시스템에 불법 접근할 수 있습니다.

사이트에 접근한 후, 공격자들은 사이트 페이지에 악성 코드를 주입합니다. 이 코드는 감염된 페이지를 방문하는 사용자들에게 악성 소프트웨어를 전달하도록 설계되었습니다.

그 후 공격자들은 사이버 보안 전문가들이 웹사이트를 방문하기를 기다립니다. 그들은 많은 사이버 보안 전문가들이 업데이트, 뉴스 및 리소스를 확인하기 위해 정기적으로 사이트를 확인한다는 사실을 알고 있습니다.

사이버 보안 전문가들이 산업 협회의 웹사이트를 방문해 기사 읽기, 웨비나 참석, 또는 리소스 다운로드를 하면서 본인도 모르게 주입된 악성 소프트웨어에 노출됩니다. 이 악성 소프트웨어는 로그인 자격 증명 또는 개인 데이터와 같은 민감한 정보를 훔칠 수 있습니다. 또한 공격자들에게 스피어 피싱이나 피해자의 시스템에 알려진 취약점을 공격할 수 있는 발판을 제공하기도 합니다.

이 워터 홀링 공격에서:

  1. 워터 홀: 이는 사이버 보안 전문가들이 많이 찾는 인기 있는 산업 협회 웹사이트입니다.
  2. 대상 그룹: 사이버 보안 전문가와 같은 특정 그룹을 타겟으로 합니다.
  3. 신뢰를 이용함: 공격자들은 사이버 보안 전문가들이 산업 협회 웹사이트에 갖고 있는 신뢰를 악용합니다.
  4. 취약점 악용: 공격자들은 사이트의 콘텐츠 관리 시스템의 취약점을 악용해 페이지에 악성 코드를 주입합니다.

소셜 엔지니어링 공격으로부터 자신을 보호하는 방법

소셜 엔지니어링 공격으로부터 자신을 보호하려면 인식, 의심, 그리고 모범 사례를 결합하는 것이 필요합니다. 다음은 소셜 엔지니어링 공격으로부터 자신을 보호하기 위한 필수적인 조치입니다:

  1. 스스로 교육: 피싱, 프리텍스팅, 미끼, 테일게이팅과 같은 일반적인 소셜 엔지니어링 전술에 대해 배우세요. 최신 소셜 엔지니어링 기법과 트렌드에 대해 지속적으로 정보에 접근하세요.

  2. 신원을 확인하십시오: 개인 정보나 민감한 정보를 요청하는 사람이나 조직의 신원을 항상 확인하세요. 전화번호, 이메일 또는 연락처만을 믿지 말고 신뢰할 수 있는 출처를 통해 독립적으로 얻은 공식적인 연락처 정보를 사용하세요.

  3. 요청 사항을 의심하십시오: 개인 정보, 금융 정보 또는 기밀 정보를 요구하는 고의적인 요청에 대해 의심을 가지세요. 합법적인 조직은 보통 이메일이나 전화로 이러한 정보를 요청하지 않습니다. 누군가가 민감한 정보를 요구한다면, 왜 필요한지, 그리고 어떻게 사용할 것인지 물어보세요.

  4. 긴급성과 압력을 조심하세요: 소셜 엔지니어들은 종종 당신이 생각 없이 결정을 내리도록 압박감을 조성합니다. 요청이나 제안을 신중하게 고려하세요. 상황의 합법성을 확인하세요.

  5. 물리적 접근을 보호하세요: 무단 접근으로부터 물리적 작업 공간을 보호하세요. 컴퓨터와 기기를 사용하지 않을 때 잠급니다. 보안 영역에 낯선 사람을 허용할 때는 주의하세요.

  6. 직원 교육 실시: 조직의 일원이라면, 직원들에게 소셜 엔지니어링 인식 교육을 제공합니다. 직원들에게 의심스러운 행동을 인식하고 보고하는 방법을 가르치세요.

  7. 신뢰할 수 있는 출처 사용: 신뢰할 수 있고 검증된 출처에서 정보를 얻으세요. 비공식 웹사이트나 검증되지 않은 뉴스에 의존하지 마세요.

  8. 데이터 암호화: 저장 중이거나 송신 중인 민감한 데이터를 암호화하여 무단 접근으로부터 보호하세요.

안전한 온라인 행동 실천하기

개발자와 비즈니스 소유자를 위해. 웹 애플리케이션을 개발하는 경우, 사용자를 소셜 엔지니어링 공격으로부터 보호하기 위해 최선의 방침을 따르세요. 사용자 애플리케이션의 추가 보안을 위해 다음과 같은 방법을 사용할 수 있습니다:

  1. 강력한 비밀번호 사용하기. 대부분의 사람들은 개인 정보를 기반으로 쉽게 추측할 수 있는 약한 비밀번호를 사용합니다. 안전하고 신뢰할 수 있는 사용자 신원 관리 시스템을 구현하려면 강력한 비밀번호 정책을 적용하세요. 이는 사용자가 적절한 보안 조치 없이 약한 비밀번호를 사용하는 것을 방지합니다.
  2. 다중 요인 인증 활성화. 다중 요인 인증(MFA)은 사용자가 암호 외에 전화기나 다른 장치에서 코드를 입력하도록 요구하여 계정에 더 강력한 보안 계층을 추가합니다. 이는 공격자들이 귀하의 클라이언트 계정에 접근하는 것을 훨씬 더 어렵게 만듭니다. 귀하의 클라이언트 비밀번호가 손상된 경우에도 공격자가 두 번째 요인이 없이는 계정에 접근할 수 없습니다.
  3. 사용자 데이터 암호화. 사용자의 데이터를 암호화하는 것은 무단 액세스로부터 데이터를 보호하는 좋은 방법입니다. 공격자가 데이터베이스에 접근하더라도 암호화 키 없이는 데이터를 읽을 수 없습니다. 이는 공격자가 클라이언트의 개인 정보를 도용하는 것을 방지합니다.
  4. 액세스 키를 자주 회전시키기. 액세스 키는 애플리케이션의 자원에 접근하는 데 사용됩니다. 공격자가 액세스 키에 접근하면 귀하의 허가 없이 애플리케이션 자원에 접근하게 됩니다. 이를 방지하기 위해 액세스 키를 자주 회전시키세요.
  5. 현대적인 인증 시스템 사용. OAuth 2.0과 OpenID Connect와 같은 현대적인 인증 프로토콜은 SAML 및 WS-Federation과 같은 이전 프로토콜보다 훨씬 안전합니다. 이들은 현대적인 암호화 알고리즘을 사용하며 공격하기가 훨씬 어렵습니다.
  6. 사전 예약된 로그인 리다이렉트 URL 및 장치 사용. OAuth 2.0이나 OpenID Connect를 인증에 사용하는 경우, 로그인 리다이렉트 URL 및 장치를 사전 등록하세요. 이는 공격자가 클라이언트의 계정을 사용하여 애플리케이션에 자신의 장치로 로그인하는 것을 방지합니다.