Technote

Security Intro

Series Before your first security incident Part 1 of 8

방문자가 적은 사이트가 왜 해킹당하나

"우리는 작아서 표적이 안 된다" 가 가장 흔한 오해입니다. 시도의 대부분은 사람이 고르는 것이 아니라 자동으로 훑는 것이라, 애초에 규모를 보지 않습니다.

사이트를 연 지 얼마 되지 않았고 방문자는 하루 몇 명뿐인데, 로그인 실패 알림이 밤새 쌓입니다. 이 화면을 처음 본 대부분의 사업자는 “우리 사이트에 훔쳐 갈 것이 뭐가 있다고” 라고 생각합니다. 그 감각은 자연스럽지만, 시도가 실제로 벌어지는 방식과는 어긋나 있습니다.

대상을 고르는 사람이 없습니다

누군가 앉아서 “이 회사를 노려야겠다” 고 정하는 종류의 공격은 대기업이나 금융권을 상대로 할 때의 이야기입니다. 소규모 사이트에 도착하는 시도는 거의 전부 자동화된 프로그램이 만듭니다. 프로그램은 주소 목록을 순서대로 훑으면서 같은 점검을 기계적으로 반복할 뿐이고, 그 사이트의 매출이나 방문자 수를 확인하는 단계 자체가 없습니다.

자동화된 시도의 흐름 — 어느 단계에도 "이 사이트가 클까" 를 판단하는 자리가 없다

훑는 비용이 거의 들지 않기 때문에 대상을 좁힐 이유도 없습니다. 주소 만 개를 확인하는 비용과 열 개를 확인하는 비용이 크게 다르지 않다면, 프로그램 입장에서 합리적인 선택은 전부 확인하는 것입니다. 규모가 작다는 것은 방어의 조건이지 면제의 조건이 아닙니다.

노리는 것이 우리 데이터가 아닐 때가 많습니다

“훔쳐 갈 것이 없다” 는 감각이 어긋나는 두 번째 이유가 여기 있습니다. 침해된 소규모 사이트는 대개 그 사이트의 정보 때문에 쓰이는 것이 아니라, 사이트가 가진 자원 때문에 쓰입니다.

침해된 사이트가 실제로 쓰이는 방식 — 대부분 우리 데이터를 노린 것이 아니다

피해가 조용하다는 점이 특히 곤란합니다. 화면은 멀쩡히 열리고 관리자 화면도 평소와 같은데, 검색 결과에만 우리가 만든 적 없는 페이지가 나오거나, 어느 날 메일이 전부 스팸으로 분류되기 시작합니다. 발견이 늦어질수록 되돌리는 비용이 커집니다.

워드프레스가 약해서가 아닙니다

이 이야기를 하면 “워드프레스가 원래 위험한 것 아니냐” 는 질문이 따라옵니다. 그렇지 않습니다. 워드프레스 코어는 전 세계에서 가장 많이 검토되는 웹 소프트웨어 중 하나이고, 보안 문제가 확인되면 빠르게 수정판이 나옵니다. 자동화된 시도가 워드프레스를 향하는 이유는 약해서가 아니라 널리 쓰이기 때문입니다 — 같은 점검 한 벌로 아주 많은 주소를 훑을 수 있으니까요.

그래서 실제 사고의 원인은 거의 언제나 도구가 아니라 방치입니다. 수정판이 나왔는데 적용하지 않은 코어, 개발이 멈춘 플러그인, 오래 전에 만들고 잊은 관리자 계정. 이 연재는 그 방치를 하나씩 걷어 내는 순서를 다룹니다.

오늘 확인할 수 있는 세 가지

첫 회차이니 도구 없이 지금 볼 수 있는 것만 적습니다. 첫째, 관리자 목록을 열어 모르는 계정이나 더 이상 쓰지 않는 계정이 있는지 봅니다. 둘째, 플러그인 목록에서 업데이트 알림이 몇 개나 밀려 있는지 셉니다. 셋째, 검색창에 site:내도메인.com 을 넣어 내가 만든 적 없는 페이지가 색인되어 있지 않은지 확인합니다.

세 가지 모두 깨끗하다면 좋은 출발입니다. 하나라도 걸린다면 그것이 이 연재에서 가장 먼저 손볼 지점입니다. 보안 주제를 더 넓게 보려면 보안 아카이브를, 사이트가 밖에서 어떻게 보이는지 점검받고 싶다면 InfraGuard 지속 관제를 참고하세요.

다음 회차

가장 먼저 닫을 문은 로그인입니다. 다음 회차는 관리자 계정 하나를 제대로 만드는 것만으로 막히는 것들 — 아이디 · 비밀번호 · 2단계 인증을 순서대로 다룹니다.

More on this topic

All technotes

Security Practical

The first hour after you discover a compromise

The most common mistake in this moment is deleting things in a hurry. Here is what to stop first, what to preserve, and in what order to recover…

Founders 8 min read

₩270,000 · Join the program